git.iko.soy/rowtype-yoga/purescript-graphql-fundeps
on main help sign in
15 files changed+2293−823
since splitsnapshots
unifiedsplit
.envrc+1 .github/workflows/unit-tests.yml+19 .gitignore+7 .psc-ide-port+1 LICENSE+201 README.md+41−4 flake.lock+61 flake.nix+51 package-lock.json+1763−687 package.json+5−4 packages.dhall+3−102 spago.dhall+3−1 src/GraphQL.purs+126−18 test.dhall+6−4 test/Main.purs+5−3
.envrcnew file+1
@@ -0,0 +1 @@
1+use flake
.github/workflows/unit-tests.ymlnew file+19
@@ -0,0 +1,19 @@
1+name: Unit tests
2+on: push
3+jobs:
4+ container-job:
5+ runs-on: ubuntu-latest
6+ strategy:
7+ matrix:
8+ node-version: [14.x]
9+ steps:
10+ - name: Check out repository code
11+ uses: actions/checkout@v2
12+ - name: Install dependencies
13+ run: npm ci
14+ - name: Spago install
15+ run: npx spago -x test.dhall install
16+ - name: Spago build
17+ run: npx spago -x test.dhall build
18+ - name: Spago test
19+ run: npm t
.gitignorenew file+7
@@ -0,0 +1,7 @@
1+.spago/
2+output/
3+node_modules/
4+.psci_modules
5+
6+# Nix
7+.direnv/
.psc-ide-portnew file+1
@@ -0,0 +1 @@
1+15162
LICENSEnew file+201
@@ -0,0 +1,201 @@
1+ Apache License
2+ Version 2.0, January 2004
3+ http://www.apache.org/licenses/
4+
5+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6+
7+ 1. Definitions.
8+
9+ "License" shall mean the terms and conditions for use, reproduction,
10+ and distribution as defined by Sections 1 through 9 of this document.
11+
12+ "Licensor" shall mean the copyright owner or entity authorized by
13+ the copyright owner that is granting the License.
14+
15+ "Legal Entity" shall mean the union of the acting entity and all
16+ other entities that control, are controlled by, or are under common
17+ control with that entity. For the purposes of this definition,
18+ "control" means (i) the power, direct or indirect, to cause the
19+ direction or management of such entity, whether by contract or
20+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
21+ outstanding shares, or (iii) beneficial ownership of such entity.
22+
23+ "You" (or "Your") shall mean an individual or Legal Entity
24+ exercising permissions granted by this License.
25+
26+ "Source" form shall mean the preferred form for making modifications,
27+ including but not limited to software source code, documentation
28+ source, and configuration files.
29+
30+ "Object" form shall mean any form resulting from mechanical
31+ transformation or translation of a Source form, including but
32+ not limited to compiled object code, generated documentation,
33+ and conversions to other media types.
34+
35+ "Work" shall mean the work of authorship, whether in Source or
36+ Object form, made available under the License, as indicated by a
37+ copyright notice that is included in or attached to the work
38+ (an example is provided in the Appendix below).
39+
40+ "Derivative Works" shall mean any work, whether in Source or Object
41+ form, that is based on (or derived from) the Work and for which the
42+ editorial revisions, annotations, elaborations, or other modifications
43+ represent, as a whole, an original work of authorship. For the purposes
44+ of this License, Derivative Works shall not include works that remain
45+ separable from, or merely link (or bind by name) to the interfaces of,
46+ the Work and Derivative Works thereof.
47+
48+ "Contribution" shall mean any work of authorship, including
49+ the original version of the Work and any modifications or additions
50+ to that Work or Derivative Works thereof, that is intentionally
51+ submitted to Licensor for inclusion in the Work by the copyright owner
52+ or by an individual or Legal Entity authorized to submit on behalf of
53+ the copyright owner. For the purposes of this definition, "submitted"
54+ means any form of electronic, verbal, or written communication sent
55+ to the Licensor or its representatives, including but not limited to
56+ communication on electronic mailing lists, source code control systems,
57+ and issue tracking systems that are managed by, or on behalf of, the
58+ Licensor for the purpose of discussing and improving the Work, but
59+ excluding communication that is conspicuously marked or otherwise
60+ designated in writing by the copyright owner as "Not a Contribution."
61+
62+ "Contributor" shall mean Licensor and any individual or Legal Entity
63+ on behalf of whom a Contribution has been received by Licensor and
64+ subsequently incorporated within the Work.
65+
66+ 2. Grant of Copyright License. Subject to the terms and conditions of
67+ this License, each Contributor hereby grants to You a perpetual,
68+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69+ copyright license to reproduce, prepare Derivative Works of,
70+ publicly display, publicly perform, sublicense, and distribute the
71+ Work and such Derivative Works in Source or Object form.
72+
73+ 3. Grant of Patent License. Subject to the terms and conditions of
74+ this License, each Contributor hereby grants to You a perpetual,
75+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76+ (except as stated in this section) patent license to make, have made,
77+ use, offer to sell, sell, import, and otherwise transfer the Work,
78+ where such license applies only to those patent claims licensable
79+ by such Contributor that are necessarily infringed by their
80+ Contribution(s) alone or by combination of their Contribution(s)
81+ with the Work to which such Contribution(s) was submitted. If You
82+ institute patent litigation against any entity (including a
83+ cross-claim or counterclaim in a lawsuit) alleging that the Work
84+ or a Contribution incorporated within the Work constitutes direct
85+ or contributory patent infringement, then any patent licenses
86+ granted to You under this License for that Work shall terminate
87+ as of the date such litigation is filed.
88+
89+ 4. Redistribution. You may reproduce and distribute copies of the
90+ Work or Derivative Works thereof in any medium, with or without
91+ modifications, and in Source or Object form, provided that You
92+ meet the following conditions:
93+
94+ (a) You must give any other recipients of the Work or
95+ Derivative Works a copy of this License; and
96+
97+ (b) You must cause any modified files to carry prominent notices
98+ stating that You changed the files; and
99+
100+ (c) You must retain, in the Source form of any Derivative Works
101+ that You distribute, all copyright, patent, trademark, and
102+ attribution notices from the Source form of the Work,
103+ excluding those notices that do not pertain to any part of
104+ the Derivative Works; and
105+
106+ (d) If the Work includes a "NOTICE" text file as part of its
107+ distribution, then any Derivative Works that You distribute must
108+ include a readable copy of the attribution notices contained
109+ within such NOTICE file, excluding those notices that do not
110+ pertain to any part of the Derivative Works, in at least one
111+ of the following places: within a NOTICE text file distributed
112+ as part of the Derivative Works; within the Source form or
113+ documentation, if provided along with the Derivative Works; or,
114+ within a display generated by the Derivative Works, if and
115+ wherever such third-party notices normally appear. The contents
116+ of the NOTICE file are for informational purposes only and
117+ do not modify the License. You may add Your own attribution
118+ notices within Derivative Works that You distribute, alongside
119+ or as an addendum to the NOTICE text from the Work, provided
120+ that such additional attribution notices cannot be construed
121+ as modifying the License.
122+
123+ You may add Your own copyright statement to Your modifications and
124+ may provide additional or different license terms and conditions
125+ for use, reproduction, or distribution of Your modifications, or
126+ for any such Derivative Works as a whole, provided Your use,
127+ reproduction, and distribution of the Work otherwise complies with
128+ the conditions stated in this License.
129+
130+ 5. Submission of Contributions. Unless You explicitly state otherwise,
131+ any Contribution intentionally submitted for inclusion in the Work
132+ by You to the Licensor shall be under the terms and conditions of
133+ this License, without any additional terms or conditions.
134+ Notwithstanding the above, nothing herein shall supersede or modify
135+ the terms of any separate license agreement you may have executed
136+ with Licensor regarding such Contributions.
137+
138+ 6. Trademarks. This License does not grant permission to use the trade
139+ names, trademarks, service marks, or product names of the Licensor,
140+ except as required for reasonable and customary use in describing the
141+ origin of the Work and reproducing the content of the NOTICE file.
142+
143+ 7. Disclaimer of Warranty. Unless required by applicable law or
144+ agreed to in writing, Licensor provides the Work (and each
145+ Contributor provides its Contributions) on an "AS IS" BASIS,
146+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147+ implied, including, without limitation, any warranties or conditions
148+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149+ PARTICULAR PURPOSE. You are solely responsible for determining the
150+ appropriateness of using or redistributing the Work and assume any
151+ risks associated with Your exercise of permissions under this License.
152+
153+ 8. Limitation of Liability. In no event and under no legal theory,
154+ whether in tort (including negligence), contract, or otherwise,
155+ unless required by applicable law (such as deliberate and grossly
156+ negligent acts) or agreed to in writing, shall any Contributor be
157+ liable to You for damages, including any direct, indirect, special,
158+ incidental, or consequential damages of any character arising as a
159+ result of this License or out of the use or inability to use the
160+ Work (including but not limited to damages for loss of goodwill,
161+ work stoppage, computer failure or malfunction, or any and all
162+ other commercial damages or losses), even if such Contributor
163+ has been advised of the possibility of such damages.
164+
165+ 9. Accepting Warranty or Additional Liability. While redistributing
166+ the Work or Derivative Works thereof, You may choose to offer,
167+ and charge a fee for, acceptance of support, warranty, indemnity,
168+ or other liability obligations and/or rights consistent with this
169+ License. However, in accepting such obligations, You may act only
170+ on Your own behalf and on Your sole responsibility, not on behalf
171+ of any other Contributor, and only if You agree to indemnify,
172+ defend, and hold each Contributor harmless for any liability
173+ incurred by, or claims asserted against, such Contributor by reason
174+ of your accepting any such warranty or additional liability.
175+
176+ END OF TERMS AND CONDITIONS
177+
178+ APPENDIX: How to apply the Apache License to your work.
179+
180+ To apply the Apache License to your work, attach the following
181+ boilerplate notice, with the fields enclosed by brackets "[]"
182+ replaced with your own identifying information. (Don't include
183+ the brackets!) The text should be enclosed in the appropriate
184+ comment syntax for the file format. We also recommend that a
185+ file or class name and description of purpose be included on the
186+ same "printed page" as the copyright notice for easier
187+ identification within third-party archives.
188+
189+ Copyright [yyyy] [name of copyright owner]
190+
191+ Licensed under the Apache License, Version 2.0 (the "License");
192+ you may not use this file except in compliance with the License.
193+ You may obtain a copy of the License at
194+
195+ http://www.apache.org/licenses/LICENSE-2.0
196+
197+ Unless required by applicable law or agreed to in writing, software
198+ distributed under the License is distributed on an "AS IS" BASIS,
199+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200+ See the License for the specific language governing permissions and
201+ limitations under the License.
README.md+41−4
@@ -3,7 +3,7 @@
33Type-safe graphql queries using functional dependencies.
44
55Use the `GraphQLReqRes` class to define expected input and output.
6−Then, create a `client` and use it to interact with your API.
6+Then, create a `client` and use it to interact with your API.
77
88```purescript
99endpoint = "https://api.react-finland.fi/graphql" :: String
@@ -43,8 +43,8 @@ instance graphqlReactFinlandConference ::
4343 }
4444 )
4545
46−client :: GraphQLClient
47−client = graphQL "https://api.react-finland.fi/graphql" []
46+client :: GraphQLClientAff
47+client = graphQL "https://api.react-finland.fi/graphql" [] driver
4848
4949main ∷ Effect Unit
5050main =
@@ -56,4 +56,41 @@ main =
5656 Log.info $ show speakers
5757```
5858
59−You can check out the [test](./test/Main.purs) for a full example.
59+You can check out the [test](./test/Main.purs) for a full example.
60+
61+## Development
62+
63+You can either use the nix shell, or the npm package.
64+
65+### Nix shell
66+
67+Having set up [flakes](https://nixos.wiki/wiki/Flakes), either using [direnv](https://direnv.net/) (`direnv allow`) or `nix develop`
68+
69+Buliding:
70+
71+```
72+spago build
73+```
74+
75+Testing:
76+
77+```
78+spago -x test.dhall test
79+```
80+
81+
82+### Npm
83+
84+Just run `npm i` and then:
85+
86+Building:
87+
88+```
89+spago build
90+```
91+
92+Testing:
93+
94+```
95+npm run test
96+```
flake.locknew file+61
@@ -0,0 +1,61 @@
1+{
2+ "nodes": {
3+ "easy-purescript-nix": {
4+ "flake": false,
5+ "locked": {
6+ "lastModified": 1686900973,
7+ "narHash": "sha256-9whTjp8BYy8ZzyghhgbawS06/dVESduME3wsdNH/mpk=",
8+ "owner": "justinwoo",
9+ "repo": "easy-purescript-nix",
10+ "rev": "8cf400656945b2f2bacfd6a8775792aa701f60e9",
11+ "type": "github"
12+ },
13+ "original": {
14+ "owner": "justinwoo",
15+ "repo": "easy-purescript-nix",
16+ "type": "github"
17+ }
18+ },
19+ "flake-compat": {
20+ "flake": false,
21+ "locked": {
22+ "lastModified": 1673956053,
23+ "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
24+ "owner": "edolstra",
25+ "repo": "flake-compat",
26+ "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
27+ "type": "github"
28+ },
29+ "original": {
30+ "owner": "edolstra",
31+ "repo": "flake-compat",
32+ "type": "github"
33+ }
34+ },
35+ "nixpkgs": {
36+ "locked": {
37+ "lastModified": 1687829761,
38+ "narHash": "sha256-QRe1Y8SS3M4GeC58F/6ajz6V0ZLUVWX3ZAMgov2N3/g=",
39+ "owner": "nixos",
40+ "repo": "nixpkgs",
41+ "rev": "9790f3242da2152d5aa1976e3e4b8b414f4dd206",
42+ "type": "github"
43+ },
44+ "original": {
45+ "owner": "nixos",
46+ "ref": "nixos-23.05",
47+ "repo": "nixpkgs",
48+ "type": "github"
49+ }
50+ },
51+ "root": {
52+ "inputs": {
53+ "easy-purescript-nix": "easy-purescript-nix",
54+ "flake-compat": "flake-compat",
55+ "nixpkgs": "nixpkgs"
56+ }
57+ }
58+ },
59+ "root": "root",
60+ "version": 7
61+}
flake.nixnew file+51
@@ -0,0 +1,51 @@
1+{
2+ inputs = {
3+ nixpkgs.url = "github:nixos/nixpkgs/nixos-23.05";
4+ easy-purescript-nix = {
5+ url = "github:justinwoo/easy-purescript-nix";
6+ flake = false;
7+ };
8+ flake-compat = {
9+ url = "github:edolstra/flake-compat";
10+ flake = false;
11+ };
12+ };
13+
14+ outputs = { self, nixpkgs, easy-purescript-nix, ... }@inputs:
15+ let
16+ name = "purescript-graphql-fundeps";
17+
18+ supportedSystems = [
19+ "aarch64-darwin"
20+ "x86_64-darwin"
21+ "x86_64-linux"
22+ ];
23+
24+ forAllSystems = f: nixpkgs.lib.genAttrs supportedSystems (system: f system);
25+ in
26+ {
27+ devShell = forAllSystems (system:
28+ let
29+ pkgs = import nixpkgs { inherit system; };
30+
31+ easy-ps = import easy-purescript-nix { inherit pkgs; };
32+ in
33+ pkgs.mkShell {
34+ inherit name;
35+ buildInputs = (with pkgs; [
36+ nodejs_20
37+ nixpkgs-fmt
38+ ]) ++ (with easy-ps; [
39+ purs
40+ purs-tidy
41+ psa
42+ spago
43+ purescript-language-server
44+ ]) ++ (pkgs.lib.optionals (system == "aarch64-darwin")
45+ (with pkgs.darwin.apple_sdk.frameworks; [
46+ Cocoa
47+ CoreServices
48+ ]));
49+ });
50+ };
51+}
package-lock.json+1763−687
@@ -1,136 +1,329 @@
11{
22 "name": "purescript-graphql-fundeps",
3− "version": "1.0.0",
4− "lockfileVersion": 1,
3+ "version": "0.1.0",
4+ "lockfileVersion": 3,
55 "requires": true,
6− "dependencies": {
7− "ajv": {
8− "version": "6.12.6",
9− "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
10− "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
11− "dev": true,
12− "requires": {
13− "fast-deep-equal": "^3.1.1",
14− "fast-json-stable-stringify": "^2.0.0",
15− "json-schema-traverse": "^0.4.1",
16− "uri-js": "^4.2.2"
17− }
18− },
19− "ansi-escapes": {
20− "version": "3.2.0",
21− "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz",
22− "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==",
6+ "packages": {
7+ "": {
8+ "name": "purescript-graphql-fundeps",
9+ "version": "0.1.0",
10+ "hasInstallScript": true,
11+ "license": "ISC",
12+ "devDependencies": {
13+ "purescript": "^0.15.9",
14+ "purs-tidy": "^0.10.0",
15+ "spago": "^0.21.0",
16+ "xhr2": "^0.2.1"
17+ }
18+ },
19+ "node_modules/@gar/promisify": {
20+ "version": "1.1.3",
21+ "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz",
22+ "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==",
2323 "dev": true
2424 },
25− "ansi-regex": {
26− "version": "4.1.0",
27− "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
28− "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
25+ "node_modules/@isaacs/cliui": {
26+ "version": "8.0.2",
27+ "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
28+ "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==",
29+ "dev": true,
30+ "dependencies": {
31+ "string-width": "^5.1.2",
32+ "string-width-cjs": "npm:string-width@^4.2.0",
33+ "strip-ansi": "^7.0.1",
34+ "strip-ansi-cjs": "npm:strip-ansi@^6.0.1",
35+ "wrap-ansi": "^8.1.0",
36+ "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0"
37+ },
38+ "engines": {
39+ "node": ">=12"
40+ }
41+ },
42+ "node_modules/@isaacs/cliui/node_modules/ansi-regex": {
43+ "version": "6.0.1",
44+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
45+ "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
46+ "dev": true,
47+ "engines": {
48+ "node": ">=12"
49+ },
50+ "funding": {
51+ "url": "https://github.com/chalk/ansi-regex?sponsor=1"
52+ }
53+ },
54+ "node_modules/@isaacs/cliui/node_modules/ansi-styles": {
55+ "version": "6.2.1",
56+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
57+ "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
58+ "dev": true,
59+ "engines": {
60+ "node": ">=12"
61+ },
62+ "funding": {
63+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
64+ }
65+ },
66+ "node_modules/@isaacs/cliui/node_modules/emoji-regex": {
67+ "version": "9.2.2",
68+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
69+ "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
2970 "dev": true
3071 },
31− "ansi-styles": {
72+ "node_modules/@isaacs/cliui/node_modules/string-width": {
73+ "version": "5.1.2",
74+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
75+ "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
76+ "dev": true,
77+ "dependencies": {
78+ "eastasianwidth": "^0.2.0",
79+ "emoji-regex": "^9.2.2",
80+ "strip-ansi": "^7.0.1"
81+ },
82+ "engines": {
83+ "node": ">=12"
84+ },
85+ "funding": {
86+ "url": "https://github.com/sponsors/sindresorhus"
87+ }
88+ },
89+ "node_modules/@isaacs/cliui/node_modules/strip-ansi": {
90+ "version": "7.1.0",
91+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
92+ "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
93+ "dev": true,
94+ "dependencies": {
95+ "ansi-regex": "^6.0.1"
96+ },
97+ "engines": {
98+ "node": ">=12"
99+ },
100+ "funding": {
101+ "url": "https://github.com/chalk/strip-ansi?sponsor=1"
102+ }
103+ },
104+ "node_modules/@isaacs/cliui/node_modules/wrap-ansi": {
105+ "version": "8.1.0",
106+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
107+ "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
108+ "dev": true,
109+ "dependencies": {
110+ "ansi-styles": "^6.1.0",
111+ "string-width": "^5.0.1",
112+ "strip-ansi": "^7.0.1"
113+ },
114+ "engines": {
115+ "node": ">=12"
116+ },
117+ "funding": {
118+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
119+ }
120+ },
121+ "node_modules/@npmcli/fs": {
122+ "version": "2.1.2",
123+ "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.2.tgz",
124+ "integrity": "sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==",
125+ "dev": true,
126+ "dependencies": {
127+ "@gar/promisify": "^1.1.3",
128+ "semver": "^7.3.5"
129+ },
130+ "engines": {
131+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
132+ }
133+ },
134+ "node_modules/@npmcli/move-file": {
135+ "version": "2.0.1",
136+ "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.1.tgz",
137+ "integrity": "sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==",
138+ "deprecated": "This functionality has been moved to @npmcli/fs",
139+ "dev": true,
140+ "dependencies": {
141+ "mkdirp": "^1.0.4",
142+ "rimraf": "^3.0.2"
143+ },
144+ "engines": {
145+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
146+ }
147+ },
148+ "node_modules/@npmcli/move-file/node_modules/mkdirp": {
149+ "version": "1.0.4",
150+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
151+ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
152+ "dev": true,
153+ "bin": {
154+ "mkdirp": "bin/cmd.js"
155+ },
156+ "engines": {
157+ "node": ">=10"
158+ }
159+ },
160+ "node_modules/@npmcli/move-file/node_modules/rimraf": {
161+ "version": "3.0.2",
162+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
163+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
164+ "dev": true,
165+ "dependencies": {
166+ "glob": "^7.1.3"
167+ },
168+ "bin": {
169+ "rimraf": "bin.js"
170+ },
171+ "funding": {
172+ "url": "https://github.com/sponsors/isaacs"
173+ }
174+ },
175+ "node_modules/@pkgjs/parseargs": {
176+ "version": "0.11.0",
177+ "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
178+ "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==",
179+ "dev": true,
180+ "optional": true,
181+ "engines": {
182+ "node": ">=14"
183+ }
184+ },
185+ "node_modules/@tootallnate/once": {
186+ "version": "2.0.0",
187+ "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz",
188+ "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==",
189+ "dev": true,
190+ "engines": {
191+ "node": ">= 10"
192+ }
193+ },
194+ "node_modules/agent-base": {
195+ "version": "6.0.2",
196+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
197+ "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
198+ "dev": true,
199+ "dependencies": {
200+ "debug": "4"
201+ },
202+ "engines": {
203+ "node": ">= 6.0.0"
204+ }
205+ },
206+ "node_modules/agentkeepalive": {
207+ "version": "4.3.0",
208+ "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.3.0.tgz",
209+ "integrity": "sha512-7Epl1Blf4Sy37j4v9f9FjICCh4+KAQOyXgHEwlyBiAQLbhKdq/i2QQU3amQalS/wPhdPzDXPL5DMR5bkn+YeWg==",
210+ "dev": true,
211+ "dependencies": {
212+ "debug": "^4.1.0",
213+ "depd": "^2.0.0",
214+ "humanize-ms": "^1.2.1"
215+ },
216+ "engines": {
217+ "node": ">= 8.0.0"
218+ }
219+ },
220+ "node_modules/aggregate-error": {
221+ "version": "3.1.0",
222+ "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
223+ "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==",
224+ "dev": true,
225+ "dependencies": {
226+ "clean-stack": "^2.0.0",
227+ "indent-string": "^4.0.0"
228+ },
229+ "engines": {
230+ "node": ">=8"
231+ }
232+ },
233+ "node_modules/ansi-escapes": {
234+ "version": "4.3.2",
235+ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
236+ "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==",
237+ "dev": true,
238+ "dependencies": {
239+ "type-fest": "^0.21.3"
240+ },
241+ "engines": {
242+ "node": ">=8"
243+ },
244+ "funding": {
245+ "url": "https://github.com/sponsors/sindresorhus"
246+ }
247+ },
248+ "node_modules/ansi-regex": {
249+ "version": "5.0.1",
250+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
251+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
252+ "dev": true,
253+ "engines": {
254+ "node": ">=8"
255+ }
256+ },
257+ "node_modules/ansi-styles": {
32258 "version": "3.2.1",
33259 "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
34260 "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
35261 "dev": true,
36− "requires": {
262+ "dependencies": {
37263 "color-convert": "^1.9.0"
264+ },
265+ "engines": {
266+ "node": ">=4"
38267 }
39268 },
40− "aproba": {
269+ "node_modules/aproba": {
41270 "version": "1.2.0",
42271 "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
43272 "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
44273 "dev": true
45274 },
46− "arch": {
47− "version": "2.2.0",
48− "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz",
49− "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==",
50− "dev": true
51− },
52− "asn1": {
53− "version": "0.2.4",
54− "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
55− "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
275+ "node_modules/astral-regex": {
276+ "version": "2.0.0",
277+ "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
278+ "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
56279 "dev": true,
57− "requires": {
58− "safer-buffer": "~2.1.0"
280+ "engines": {
281+ "node": ">=8"
59282 }
60283 },
61− "assert-plus": {
62− "version": "1.0.0",
63− "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
64− "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
65− "dev": true
66− },
67− "asynckit": {
68− "version": "0.4.0",
69− "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
70− "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
71− "dev": true
72− },
73− "aws-sign2": {
74− "version": "0.7.0",
75− "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
76− "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
77− "dev": true
78− },
79− "aws4": {
80− "version": "1.11.0",
81− "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz",
82− "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==",
83− "dev": true
84− },
85− "balanced-match": {
284+ "node_modules/balanced-match": {
86285 "version": "1.0.2",
87286 "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
88287 "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
89288 "dev": true
90289 },
91− "bcrypt-pbkdf": {
92− "version": "1.0.2",
93− "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
94− "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
95− "dev": true,
96− "requires": {
97− "tweetnacl": "^0.14.3"
98− }
99− },
100− "bluebird": {
290+ "node_modules/bluebird": {
101291 "version": "3.7.2",
102292 "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
103293 "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==",
104294 "dev": true
105295 },
106− "brace-expansion": {
296+ "node_modules/brace-expansion": {
107297 "version": "1.1.11",
108298 "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
109299 "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
110300 "dev": true,
111− "requires": {
301+ "dependencies": {
112302 "balanced-match": "^1.0.0",
113303 "concat-map": "0.0.1"
114304 }
115305 },
116− "buffer-from": {
117− "version": "1.1.1",
118− "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
119− "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
306+ "node_modules/buffer-from": {
307+ "version": "1.1.2",
308+ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
309+ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
120310 "dev": true
121311 },
122− "byline": {
312+ "node_modules/byline": {
123313 "version": "5.0.0",
124314 "resolved": "https://registry.npmjs.org/byline/-/byline-5.0.0.tgz",
125− "integrity": "sha1-dBxSFkaOrcRXsDQQEYrXfejB3bE=",
126− "dev": true
315+ "integrity": "sha512-s6webAy+R4SR8XVuJWt2V2rGvhnrhxN+9S15GNuTK3wKPOXFF6RNc+8ug2XhH+2s4f+uudG4kUVYmYOQWL2g0Q==",
316+ "dev": true,
317+ "engines": {
318+ "node": ">=0.10.0"
319+ }
127320 },
128− "cacache": {
321+ "node_modules/cacache": {
129322 "version": "11.3.3",
130323 "resolved": "https://registry.npmjs.org/cacache/-/cacache-11.3.3.tgz",
131324 "integrity": "sha512-p8WcneCytvzPxhDvYp31PD039vi77I12W+/KfR9S8AZbaiARFBCpsPJS+9uhWfeBfeAtW7o/4vt3MUqLkbY6nA==",
132325 "dev": true,
133− "requires": {
326+ "dependencies": {
134327 "bluebird": "^3.5.5",
135328 "chownr": "^1.1.1",
136329 "figgy-pudding": "^3.5.1",
@@ -147,86 +340,89 @@
147340 "y18n": "^4.0.0"
148341 }
149342 },
150− "caseless": {
151− "version": "0.12.0",
152− "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
153− "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
154− "dev": true
155− },
156− "chalk": {
343+ "node_modules/chalk": {
157344 "version": "2.4.2",
158345 "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
159346 "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
160347 "dev": true,
161− "requires": {
348+ "dependencies": {
162349 "ansi-styles": "^3.2.1",
163350 "escape-string-regexp": "^1.0.5",
164351 "supports-color": "^5.3.0"
352+ },
353+ "engines": {
354+ "node": ">=4"
165355 }
166356 },
167− "chownr": {
357+ "node_modules/chownr": {
168358 "version": "1.1.4",
169359 "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
170360 "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
171361 "dev": true
172362 },
173− "cli-cursor": {
174− "version": "2.1.0",
175− "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
176− "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
363+ "node_modules/clean-stack": {
364+ "version": "2.2.0",
365+ "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
366+ "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
367+ "dev": true,
368+ "engines": {
369+ "node": ">=6"
370+ }
371+ },
372+ "node_modules/cli-cursor": {
373+ "version": "3.1.0",
374+ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
375+ "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
177376 "dev": true,
178− "requires": {
179− "restore-cursor": "^2.0.0"
377+ "dependencies": {
378+ "restore-cursor": "^3.1.0"
379+ },
380+ "engines": {
381+ "node": ">=8"
180382 }
181383 },
182− "color-convert": {
384+ "node_modules/color-convert": {
183385 "version": "1.9.3",
184386 "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
185387 "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
186388 "dev": true,
187− "requires": {
389+ "dependencies": {
188390 "color-name": "1.1.3"
189391 }
190392 },
191− "color-name": {
393+ "node_modules/color-name": {
192394 "version": "1.1.3",
193395 "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
194− "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
396+ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
195397 "dev": true
196398 },
197− "combined-stream": {
198− "version": "1.0.8",
199− "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
200− "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
201− "dev": true,
202− "requires": {
203− "delayed-stream": "~1.0.0"
204− }
205− },
206− "concat-map": {
399+ "node_modules/concat-map": {
207400 "version": "0.0.1",
208401 "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
209− "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
402+ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
210403 "dev": true
211404 },
212− "concat-stream": {
405+ "node_modules/concat-stream": {
213406 "version": "1.6.2",
214407 "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
215408 "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
216409 "dev": true,
217− "requires": {
410+ "engines": [
411+ "node >= 0.8"
412+ ],
413+ "dependencies": {
218414 "buffer-from": "^1.0.0",
219415 "inherits": "^2.0.3",
220416 "readable-stream": "^2.2.2",
221417 "typedarray": "^0.0.6"
222418 }
223419 },
224− "copy-concurrently": {
420+ "node_modules/copy-concurrently": {
225421 "version": "1.0.5",
226422 "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz",
227423 "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==",
228424 "dev": true,
229− "requires": {
425+ "dependencies": {
230426 "aproba": "^1.1.1",
231427 "fs-write-stream-atomic": "^1.0.8",
232428 "iferr": "^0.1.5",
@@ -235,110 +431,152 @@
235431 "run-queue": "^1.0.0"
236432 }
237433 },
238− "core-util-is": {
239− "version": "1.0.2",
240− "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
241− "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
434+ "node_modules/core-util-is": {
435+ "version": "1.0.3",
436+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
437+ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==",
242438 "dev": true
243439 },
244− "cross-spawn": {
440+ "node_modules/cross-spawn": {
245441 "version": "7.0.3",
246442 "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
247443 "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
248444 "dev": true,
249− "requires": {
445+ "dependencies": {
250446 "path-key": "^3.1.0",
251447 "shebang-command": "^2.0.0",
252448 "which": "^2.0.1"
253449 },
450+ "engines": {
451+ "node": ">= 8"
452+ }
453+ },
454+ "node_modules/cross-spawn/node_modules/which": {
455+ "version": "2.0.2",
456+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
457+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
458+ "dev": true,
254459 "dependencies": {
255− "which": {
256− "version": "2.0.2",
257− "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
258− "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
259− "dev": true,
260− "requires": {
261− "isexe": "^2.0.0"
262− }
263− }
460+ "isexe": "^2.0.0"
461+ },
462+ "bin": {
463+ "node-which": "bin/node-which"
464+ },
465+ "engines": {
466+ "node": ">= 8"
264467 }
265468 },
266− "cyclist": {
267− "version": "1.0.1",
268− "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz",
269− "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=",
469+ "node_modules/cyclist": {
470+ "version": "1.0.2",
471+ "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.2.tgz",
472+ "integrity": "sha512-0sVXIohTfLqVIW3kb/0n6IiWF3Ifj5nm2XaSrLq2DI6fKIGa2fYAZdk917rUneaeLVpYfFcyXE2ft0fe3remsA==",
270473 "dev": true
271474 },
272− "dashdash": {
273− "version": "1.14.1",
274− "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
275− "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
475+ "node_modules/debug": {
476+ "version": "4.3.4",
477+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
478+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
276479 "dev": true,
277− "requires": {
278− "assert-plus": "^1.0.0"
480+ "dependencies": {
481+ "ms": "2.1.2"
482+ },
483+ "engines": {
484+ "node": ">=6.0"
485+ },
486+ "peerDependenciesMeta": {
487+ "supports-color": {
488+ "optional": true
489+ }
279490 }
280491 },
281− "delayed-stream": {
282− "version": "1.0.0",
283− "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
284− "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
492+ "node_modules/debug/node_modules/ms": {
493+ "version": "2.1.2",
494+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
495+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
285496 "dev": true
286497 },
287− "duplexify": {
498+ "node_modules/depd": {
499+ "version": "2.0.0",
500+ "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
501+ "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
502+ "dev": true,
503+ "engines": {
504+ "node": ">= 0.8"
505+ }
506+ },
507+ "node_modules/duplexify": {
288508 "version": "3.7.1",
289509 "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz",
290510 "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==",
291511 "dev": true,
292− "requires": {
512+ "dependencies": {
293513 "end-of-stream": "^1.0.0",
294514 "inherits": "^2.0.1",
295515 "readable-stream": "^2.0.0",
296516 "stream-shift": "^1.0.0"
297517 }
298518 },
299− "ecc-jsbn": {
300− "version": "0.1.2",
301− "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
302− "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
303− "dev": true,
304− "requires": {
305− "jsbn": "~0.1.0",
306− "safer-buffer": "^2.1.0"
307− }
519+ "node_modules/eastasianwidth": {
520+ "version": "0.2.0",
521+ "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
522+ "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==",
523+ "dev": true
308524 },
309− "emoji-regex": {
310− "version": "7.0.3",
311− "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
312− "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
525+ "node_modules/emoji-regex": {
526+ "version": "8.0.0",
527+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
528+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
313529 "dev": true
314530 },
315− "end-of-stream": {
531+ "node_modules/encoding": {
532+ "version": "0.1.13",
533+ "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz",
534+ "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==",
535+ "dev": true,
536+ "optional": true,
537+ "dependencies": {
538+ "iconv-lite": "^0.6.2"
539+ }
540+ },
541+ "node_modules/end-of-stream": {
316542 "version": "1.4.4",
317543 "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
318544 "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
319545 "dev": true,
320− "requires": {
546+ "dependencies": {
321547 "once": "^1.4.0"
322548 }
323549 },
324− "env-paths": {
550+ "node_modules/env-paths": {
325551 "version": "2.2.1",
326552 "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz",
327553 "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==",
554+ "dev": true,
555+ "engines": {
556+ "node": ">=6"
557+ }
558+ },
559+ "node_modules/err-code": {
560+ "version": "2.0.3",
561+ "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz",
562+ "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==",
328563 "dev": true
329564 },
330− "escape-string-regexp": {
565+ "node_modules/escape-string-regexp": {
331566 "version": "1.0.5",
332567 "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
333− "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
334− "dev": true
568+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
569+ "dev": true,
570+ "engines": {
571+ "node": ">=0.8.0"
572+ }
335573 },
336− "execa": {
574+ "node_modules/execa": {
337575 "version": "2.1.0",
338576 "resolved": "https://registry.npmjs.org/execa/-/execa-2.1.0.tgz",
339577 "integrity": "sha512-Y/URAVapfbYy2Xp/gb6A0E7iR8xeqOCXsuuaoMn7A5PzrXUK84E1gyiEfq0wQd/GHA6GsoHWwhNq8anb0mleIw==",
340578 "dev": true,
341− "requires": {
579+ "dependencies": {
342580 "cross-spawn": "^7.0.0",
343581 "get-stream": "^5.0.0",
344582 "is-stream": "^2.0.0",
@@ -348,381 +586,729 @@
348586 "p-finally": "^2.0.0",
349587 "signal-exit": "^3.0.2",
350588 "strip-final-newline": "^2.0.0"
589+ },
590+ "engines": {
591+ "node": "^8.12.0 || >=9.7.0"
351592 }
352593 },
353− "extend": {
354− "version": "3.0.2",
355− "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
356− "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
357− "dev": true
358− },
359− "extsprintf": {
360− "version": "1.3.0",
361− "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
362− "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
363− "dev": true
364− },
365− "fast-deep-equal": {
366− "version": "3.1.3",
367− "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
368− "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
369− "dev": true
370− },
371− "fast-json-stable-stringify": {
372− "version": "2.1.0",
373− "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
374− "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
375− "dev": true
376− },
377− "figgy-pudding": {
594+ "node_modules/figgy-pudding": {
378595 "version": "3.5.2",
379596 "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz",
380597 "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==",
381598 "dev": true
382599 },
383− "filesize": {
600+ "node_modules/filesize": {
384601 "version": "4.2.1",
385602 "resolved": "https://registry.npmjs.org/filesize/-/filesize-4.2.1.tgz",
386603 "integrity": "sha512-bP82Hi8VRZX/TUBKfE24iiUGsB/sfm2WUrwTQyAzQrhO3V9IhcBBNBXMyzLY5orACxRyYJ3d2HeRVX+eFv4lmA==",
387− "dev": true
604+ "dev": true,
605+ "engines": {
606+ "node": ">= 0.4.0"
607+ }
388608 },
389− "flush-write-stream": {
609+ "node_modules/flush-write-stream": {
390610 "version": "1.1.1",
391611 "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz",
392612 "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==",
393613 "dev": true,
394− "requires": {
614+ "dependencies": {
395615 "inherits": "^2.0.3",
396616 "readable-stream": "^2.3.6"
397617 }
398618 },
399− "forever-agent": {
400− "version": "0.6.1",
401− "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
402− "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
403− "dev": true
619+ "node_modules/foreground-child": {
620+ "version": "3.1.1",
621+ "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz",
622+ "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==",
623+ "dev": true,
624+ "dependencies": {
625+ "cross-spawn": "^7.0.0",
626+ "signal-exit": "^4.0.1"
627+ },
628+ "engines": {
629+ "node": ">=14"
630+ },
631+ "funding": {
632+ "url": "https://github.com/sponsors/isaacs"
633+ }
404634 },
405− "form-data": {
406− "version": "2.3.3",
407− "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
408− "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
635+ "node_modules/foreground-child/node_modules/signal-exit": {
636+ "version": "4.0.2",
637+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.0.2.tgz",
638+ "integrity": "sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==",
409639 "dev": true,
410− "requires": {
411− "asynckit": "^0.4.0",
412− "combined-stream": "^1.0.6",
413− "mime-types": "^2.1.12"
640+ "engines": {
641+ "node": ">=14"
642+ },
643+ "funding": {
644+ "url": "https://github.com/sponsors/isaacs"
414645 }
415646 },
416− "from2": {
647+ "node_modules/from2": {
417648 "version": "2.3.0",
418649 "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
419− "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
650+ "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==",
420651 "dev": true,
421− "requires": {
652+ "dependencies": {
422653 "inherits": "^2.0.1",
423654 "readable-stream": "^2.0.0"
424655 }
425656 },
426− "fs-minipass": {
427− "version": "1.2.7",
428− "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz",
429− "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==",
657+ "node_modules/fs-minipass": {
658+ "version": "2.1.0",
659+ "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
660+ "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
430661 "dev": true,
431− "requires": {
432− "minipass": "^2.6.0"
662+ "dependencies": {
663+ "minipass": "^3.0.0"
664+ },
665+ "engines": {
666+ "node": ">= 8"
433667 }
434668 },
435− "fs-write-stream-atomic": {
669+ "node_modules/fs-write-stream-atomic": {
436670 "version": "1.0.10",
437671 "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz",
438− "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=",
672+ "integrity": "sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==",
439673 "dev": true,
440− "requires": {
674+ "dependencies": {
441675 "graceful-fs": "^4.1.2",
442676 "iferr": "^0.1.5",
443677 "imurmurhash": "^0.1.4",
444678 "readable-stream": "1 || 2"
445679 }
446680 },
447− "fs.realpath": {
681+ "node_modules/fs.realpath": {
448682 "version": "1.0.0",
449683 "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
450− "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
684+ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
451685 "dev": true
452686 },
453− "get-stream": {
687+ "node_modules/get-stream": {
454688 "version": "5.2.0",
455689 "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
456690 "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
457691 "dev": true,
458− "requires": {
692+ "dependencies": {
459693 "pump": "^3.0.0"
694+ },
695+ "engines": {
696+ "node": ">=8"
697+ },
698+ "funding": {
699+ "url": "https://github.com/sponsors/sindresorhus"
460700 }
461701 },
462− "getpass": {
463− "version": "0.1.7",
464− "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
465− "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
466− "dev": true,
467− "requires": {
468− "assert-plus": "^1.0.0"
469− }
470− },
471− "glob": {
472− "version": "7.1.7",
473− "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
474− "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
702+ "node_modules/glob": {
703+ "version": "7.2.3",
704+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
705+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
475706 "dev": true,
476− "requires": {
707+ "dependencies": {
477708 "fs.realpath": "^1.0.0",
478709 "inflight": "^1.0.4",
479710 "inherits": "2",
480− "minimatch": "^3.0.4",
711+ "minimatch": "^3.1.1",
481712 "once": "^1.3.0",
482713 "path-is-absolute": "^1.0.0"
714+ },
715+ "engines": {
716+ "node": "*"
717+ },
718+ "funding": {
719+ "url": "https://github.com/sponsors/isaacs"
483720 }
484721 },
485− "graceful-fs": {
486− "version": "4.2.6",
487− "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz",
488− "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==",
722+ "node_modules/graceful-fs": {
723+ "version": "4.2.11",
724+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
725+ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
489726 "dev": true
490727 },
491− "har-schema": {
492− "version": "2.0.0",
493− "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
494− "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
728+ "node_modules/has-flag": {
729+ "version": "3.0.0",
730+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
731+ "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
732+ "dev": true,
733+ "engines": {
734+ "node": ">=4"
735+ }
736+ },
737+ "node_modules/http-cache-semantics": {
738+ "version": "4.1.1",
739+ "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz",
740+ "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==",
495741 "dev": true
496742 },
497− "har-validator": {
498− "version": "5.1.5",
499− "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz",
500− "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
743+ "node_modules/http-proxy-agent": {
744+ "version": "5.0.0",
745+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz",
746+ "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==",
501747 "dev": true,
502− "requires": {
503− "ajv": "^6.12.3",
504− "har-schema": "^2.0.0"
748+ "dependencies": {
749+ "@tootallnate/once": "2",
750+ "agent-base": "6",
751+ "debug": "4"
752+ },
753+ "engines": {
754+ "node": ">= 6"
505755 }
506756 },
507− "has-flag": {
508− "version": "3.0.0",
509− "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
510− "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
511− "dev": true
757+ "node_modules/https-proxy-agent": {
758+ "version": "5.0.1",
759+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
760+ "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
761+ "dev": true,
762+ "dependencies": {
763+ "agent-base": "6",
764+ "debug": "4"
765+ },
766+ "engines": {
767+ "node": ">= 6"
768+ }
512769 },
513− "http-signature": {
514− "version": "1.2.0",
515− "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
516− "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
770+ "node_modules/humanize-ms": {
771+ "version": "1.2.1",
772+ "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz",
773+ "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==",
517774 "dev": true,
518− "requires": {
519− "assert-plus": "^1.0.0",
520− "jsprim": "^1.2.2",
521− "sshpk": "^1.7.0"
775+ "dependencies": {
776+ "ms": "^2.0.0"
777+ }
778+ },
779+ "node_modules/iconv-lite": {
780+ "version": "0.6.3",
781+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
782+ "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
783+ "dev": true,
784+ "optional": true,
785+ "dependencies": {
786+ "safer-buffer": ">= 2.1.2 < 3.0.0"
787+ },
788+ "engines": {
789+ "node": ">=0.10.0"
522790 }
523791 },
524− "iferr": {
792+ "node_modules/iferr": {
525793 "version": "0.1.5",
526794 "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz",
527− "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=",
795+ "integrity": "sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==",
528796 "dev": true
529797 },
530− "imurmurhash": {
798+ "node_modules/imurmurhash": {
531799 "version": "0.1.4",
532800 "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
533− "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
801+ "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
802+ "dev": true,
803+ "engines": {
804+ "node": ">=0.8.19"
805+ }
806+ },
807+ "node_modules/indent-string": {
808+ "version": "4.0.0",
809+ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
810+ "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
811+ "dev": true,
812+ "engines": {
813+ "node": ">=8"
814+ }
815+ },
816+ "node_modules/infer-owner": {
817+ "version": "1.0.4",
818+ "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz",
819+ "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==",
534820 "dev": true
535821 },
536− "inflight": {
822+ "node_modules/inflight": {
537823 "version": "1.0.6",
538824 "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
539− "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
825+ "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
540826 "dev": true,
541− "requires": {
827+ "dependencies": {
542828 "once": "^1.3.0",
543829 "wrappy": "1"
544830 }
545831 },
546− "inherits": {
832+ "node_modules/inherits": {
547833 "version": "2.0.4",
548834 "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
549835 "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
550836 "dev": true
551837 },
552− "is-fullwidth-code-point": {
838+ "node_modules/ip": {
553839 "version": "2.0.0",
554− "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
555− "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
840+ "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz",
841+ "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==",
842+ "dev": true
843+ },
844+ "node_modules/is-fullwidth-code-point": {
845+ "version": "3.0.0",
846+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
847+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
848+ "dev": true,
849+ "engines": {
850+ "node": ">=8"
851+ }
852+ },
853+ "node_modules/is-lambda": {
854+ "version": "1.0.1",
855+ "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz",
856+ "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==",
556857 "dev": true
557858 },
558− "is-plain-obj": {
859+ "node_modules/is-plain-obj": {
559860 "version": "2.1.0",
560861 "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
561862 "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
562− "dev": true
863+ "dev": true,
864+ "engines": {
865+ "node": ">=8"
866+ }
563867 },
564− "is-stream": {
565− "version": "2.0.0",
566− "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz",
567− "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==",
568− "dev": true
569− },
570− "is-typedarray": {
571− "version": "1.0.0",
572− "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
573− "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
574− "dev": true
868+ "node_modules/is-stream": {
869+ "version": "2.0.1",
870+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
871+ "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
872+ "dev": true,
873+ "engines": {
874+ "node": ">=8"
875+ },
876+ "funding": {
877+ "url": "https://github.com/sponsors/sindresorhus"
878+ }
575879 },
576− "isarray": {
880+ "node_modules/isarray": {
577881 "version": "1.0.0",
578882 "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
579− "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
883+ "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
580884 "dev": true
581885 },
582− "isexe": {
886+ "node_modules/isexe": {
583887 "version": "2.0.0",
584888 "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
585− "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
586− "dev": true
587− },
588− "isstream": {
589− "version": "0.1.2",
590− "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
591− "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
592− "dev": true
593− },
594− "jsbn": {
595− "version": "0.1.1",
596− "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
597− "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
598− "dev": true
599− },
600− "json-schema": {
601− "version": "0.2.3",
602− "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
603− "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
604− "dev": true
605− },
606− "json-schema-traverse": {
607− "version": "0.4.1",
608− "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
609− "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
889+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
610890 "dev": true
611891 },
612− "json-stringify-safe": {
613− "version": "5.0.1",
614− "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
615− "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
616− "dev": true
617− },
618− "jsprim": {
619− "version": "1.4.1",
620− "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
621− "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
892+ "node_modules/jackspeak": {
893+ "version": "2.2.1",
894+ "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.2.1.tgz",
895+ "integrity": "sha512-MXbxovZ/Pm42f6cDIDkl3xpwv1AGwObKwfmjs2nQePiy85tP3fatofl3FC1aBsOtP/6fq5SbtgHwWcMsLP+bDw==",
622896 "dev": true,
623− "requires": {
624− "assert-plus": "1.0.0",
625− "extsprintf": "1.3.0",
626− "json-schema": "0.2.3",
627− "verror": "1.10.0"
897+ "dependencies": {
898+ "@isaacs/cliui": "^8.0.2"
899+ },
900+ "engines": {
901+ "node": ">=14"
902+ },
903+ "funding": {
904+ "url": "https://github.com/sponsors/isaacs"
905+ },
906+ "optionalDependencies": {
907+ "@pkgjs/parseargs": "^0.11.0"
628908 }
629909 },
630− "log-symbols": {
910+ "node_modules/log-symbols": {
631911 "version": "3.0.0",
632912 "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz",
633913 "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==",
634914 "dev": true,
635− "requires": {
915+ "dependencies": {
636916 "chalk": "^2.4.2"
917+ },
918+ "engines": {
919+ "node": ">=8"
637920 }
638921 },
639− "log-update": {
640− "version": "3.4.0",
641− "resolved": "https://registry.npmjs.org/log-update/-/log-update-3.4.0.tgz",
642− "integrity": "sha512-ILKe88NeMt4gmDvk/eb615U/IVn7K9KWGkoYbdatQ69Z65nj1ZzjM6fHXfcs0Uge+e+EGnMW7DY4T9yko8vWFg==",
922+ "node_modules/log-update": {
923+ "version": "4.0.0",
924+ "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz",
925+ "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==",
643926 "dev": true,
644− "requires": {
645− "ansi-escapes": "^3.2.0",
646− "cli-cursor": "^2.1.0",
647− "wrap-ansi": "^5.0.0"
927+ "dependencies": {
928+ "ansi-escapes": "^4.3.0",
929+ "cli-cursor": "^3.1.0",
930+ "slice-ansi": "^4.0.0",
931+ "wrap-ansi": "^6.2.0"
932+ },
933+ "engines": {
934+ "node": ">=10"
935+ },
936+ "funding": {
937+ "url": "https://github.com/sponsors/sindresorhus"
648938 }
649939 },
650− "lru-cache": {
940+ "node_modules/lru-cache": {
651941 "version": "5.1.1",
652942 "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
653943 "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
654944 "dev": true,
655− "requires": {
945+ "dependencies": {
656946 "yallist": "^3.0.2"
657947 }
658948 },
659− "merge-stream": {
949+ "node_modules/make-fetch-happen": {
950+ "version": "10.2.1",
951+ "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz",
952+ "integrity": "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==",
953+ "dev": true,
954+ "dependencies": {
955+ "agentkeepalive": "^4.2.1",
956+ "cacache": "^16.1.0",
957+ "http-cache-semantics": "^4.1.0",
958+ "http-proxy-agent": "^5.0.0",
959+ "https-proxy-agent": "^5.0.0",
960+ "is-lambda": "^1.0.1",
961+ "lru-cache": "^7.7.1",
962+ "minipass": "^3.1.6",
963+ "minipass-collect": "^1.0.2",
964+ "minipass-fetch": "^2.0.3",
965+ "minipass-flush": "^1.0.5",
966+ "minipass-pipeline": "^1.2.4",
967+ "negotiator": "^0.6.3",
968+ "promise-retry": "^2.0.1",
969+ "socks-proxy-agent": "^7.0.0",
970+ "ssri": "^9.0.0"
971+ },
972+ "engines": {
973+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
974+ }
975+ },
976+ "node_modules/make-fetch-happen/node_modules/brace-expansion": {
977+ "version": "2.0.1",
978+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
979+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
980+ "dev": true,
981+ "dependencies": {
982+ "balanced-match": "^1.0.0"
983+ }
984+ },
985+ "node_modules/make-fetch-happen/node_modules/cacache": {
986+ "version": "16.1.3",
987+ "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.3.tgz",
988+ "integrity": "sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==",
989+ "dev": true,
990+ "dependencies": {
991+ "@npmcli/fs": "^2.1.0",
992+ "@npmcli/move-file": "^2.0.0",
993+ "chownr": "^2.0.0",
994+ "fs-minipass": "^2.1.0",
995+ "glob": "^8.0.1",
996+ "infer-owner": "^1.0.4",
997+ "lru-cache": "^7.7.1",
998+ "minipass": "^3.1.6",
999+ "minipass-collect": "^1.0.2",
1000+ "minipass-flush": "^1.0.5",
1001+ "minipass-pipeline": "^1.2.4",
1002+ "mkdirp": "^1.0.4",
1003+ "p-map": "^4.0.0",
1004+ "promise-inflight": "^1.0.1",
1005+ "rimraf": "^3.0.2",
1006+ "ssri": "^9.0.0",
1007+ "tar": "^6.1.11",
1008+ "unique-filename": "^2.0.0"
1009+ },
1010+ "engines": {
1011+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
1012+ }
1013+ },
1014+ "node_modules/make-fetch-happen/node_modules/chownr": {
6601015 "version": "2.0.0",
661− "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
662− "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
663− "dev": true
1016+ "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
1017+ "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
1018+ "dev": true,
1019+ "engines": {
1020+ "node": ">=10"
1021+ }
6641022 },
665− "mime-db": {
666− "version": "1.47.0",
667− "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.47.0.tgz",
668− "integrity": "sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw==",
669− "dev": true
1023+ "node_modules/make-fetch-happen/node_modules/glob": {
1024+ "version": "8.1.0",
1025+ "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
1026+ "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
1027+ "dev": true,
1028+ "dependencies": {
1029+ "fs.realpath": "^1.0.0",
1030+ "inflight": "^1.0.4",
1031+ "inherits": "2",
1032+ "minimatch": "^5.0.1",
1033+ "once": "^1.3.0"
1034+ },
1035+ "engines": {
1036+ "node": ">=12"
1037+ },
1038+ "funding": {
1039+ "url": "https://github.com/sponsors/isaacs"
1040+ }
1041+ },
1042+ "node_modules/make-fetch-happen/node_modules/lru-cache": {
1043+ "version": "7.18.3",
1044+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
1045+ "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
1046+ "dev": true,
1047+ "engines": {
1048+ "node": ">=12"
1049+ }
1050+ },
1051+ "node_modules/make-fetch-happen/node_modules/minimatch": {
1052+ "version": "5.1.6",
1053+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
1054+ "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
1055+ "dev": true,
1056+ "dependencies": {
1057+ "brace-expansion": "^2.0.1"
1058+ },
1059+ "engines": {
1060+ "node": ">=10"
1061+ }
1062+ },
1063+ "node_modules/make-fetch-happen/node_modules/mkdirp": {
1064+ "version": "1.0.4",
1065+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
1066+ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
1067+ "dev": true,
1068+ "bin": {
1069+ "mkdirp": "bin/cmd.js"
1070+ },
1071+ "engines": {
1072+ "node": ">=10"
1073+ }
1074+ },
1075+ "node_modules/make-fetch-happen/node_modules/rimraf": {
1076+ "version": "3.0.2",
1077+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
1078+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
1079+ "dev": true,
1080+ "dependencies": {
1081+ "glob": "^7.1.3"
1082+ },
1083+ "bin": {
1084+ "rimraf": "bin.js"
1085+ },
1086+ "funding": {
1087+ "url": "https://github.com/sponsors/isaacs"
1088+ }
1089+ },
1090+ "node_modules/make-fetch-happen/node_modules/rimraf/node_modules/brace-expansion": {
1091+ "version": "1.1.11",
1092+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
1093+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
1094+ "dev": true,
1095+ "dependencies": {
1096+ "balanced-match": "^1.0.0",
1097+ "concat-map": "0.0.1"
1098+ }
1099+ },
1100+ "node_modules/make-fetch-happen/node_modules/rimraf/node_modules/glob": {
1101+ "version": "7.2.3",
1102+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
1103+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
1104+ "dev": true,
1105+ "dependencies": {
1106+ "fs.realpath": "^1.0.0",
1107+ "inflight": "^1.0.4",
1108+ "inherits": "2",
1109+ "minimatch": "^3.1.1",
1110+ "once": "^1.3.0",
1111+ "path-is-absolute": "^1.0.0"
1112+ },
1113+ "engines": {
1114+ "node": "*"
1115+ },
1116+ "funding": {
1117+ "url": "https://github.com/sponsors/isaacs"
1118+ }
1119+ },
1120+ "node_modules/make-fetch-happen/node_modules/rimraf/node_modules/minimatch": {
1121+ "version": "3.1.2",
1122+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
1123+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
1124+ "dev": true,
1125+ "dependencies": {
1126+ "brace-expansion": "^1.1.7"
1127+ },
1128+ "engines": {
1129+ "node": "*"
1130+ }
6701131 },
671− "mime-types": {
672− "version": "2.1.30",
673− "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.30.tgz",
674− "integrity": "sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg==",
1132+ "node_modules/make-fetch-happen/node_modules/ssri": {
1133+ "version": "9.0.1",
1134+ "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz",
1135+ "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==",
6751136 "dev": true,
676− "requires": {
677− "mime-db": "1.47.0"
1137+ "dependencies": {
1138+ "minipass": "^3.1.1"
1139+ },
1140+ "engines": {
1141+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
6781142 }
6791143 },
680− "mimic-fn": {
1144+ "node_modules/make-fetch-happen/node_modules/unique-filename": {
1145+ "version": "2.0.1",
1146+ "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-2.0.1.tgz",
1147+ "integrity": "sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==",
1148+ "dev": true,
1149+ "dependencies": {
1150+ "unique-slug": "^3.0.0"
1151+ },
1152+ "engines": {
1153+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
1154+ }
1155+ },
1156+ "node_modules/make-fetch-happen/node_modules/unique-slug": {
1157+ "version": "3.0.0",
1158+ "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-3.0.0.tgz",
1159+ "integrity": "sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==",
1160+ "dev": true,
1161+ "dependencies": {
1162+ "imurmurhash": "^0.1.4"
1163+ },
1164+ "engines": {
1165+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
1166+ }
1167+ },
1168+ "node_modules/merge-stream": {
1169+ "version": "2.0.0",
1170+ "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
1171+ "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
1172+ "dev": true
1173+ },
1174+ "node_modules/mimic-fn": {
6811175 "version": "2.1.0",
6821176 "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
6831177 "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
684− "dev": true
1178+ "dev": true,
1179+ "engines": {
1180+ "node": ">=6"
1181+ }
6851182 },
686− "minimatch": {
687− "version": "3.0.4",
688− "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
689− "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
1183+ "node_modules/minimatch": {
1184+ "version": "3.1.2",
1185+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
1186+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
6901187 "dev": true,
691− "requires": {
1188+ "dependencies": {
6921189 "brace-expansion": "^1.1.7"
1190+ },
1191+ "engines": {
1192+ "node": "*"
6931193 }
6941194 },
695− "minimist": {
696− "version": "1.2.5",
697− "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
698− "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
699− "dev": true
1195+ "node_modules/minimist": {
1196+ "version": "1.2.8",
1197+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
1198+ "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
1199+ "dev": true,
1200+ "funding": {
1201+ "url": "https://github.com/sponsors/ljharb"
1202+ }
1203+ },
1204+ "node_modules/minipass": {
1205+ "version": "3.3.6",
1206+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
1207+ "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
1208+ "dev": true,
1209+ "dependencies": {
1210+ "yallist": "^4.0.0"
1211+ },
1212+ "engines": {
1213+ "node": ">=8"
1214+ }
1215+ },
1216+ "node_modules/minipass-collect": {
1217+ "version": "1.0.2",
1218+ "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz",
1219+ "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==",
1220+ "dev": true,
1221+ "dependencies": {
1222+ "minipass": "^3.0.0"
1223+ },
1224+ "engines": {
1225+ "node": ">= 8"
1226+ }
1227+ },
1228+ "node_modules/minipass-fetch": {
1229+ "version": "2.1.2",
1230+ "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.2.tgz",
1231+ "integrity": "sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==",
1232+ "dev": true,
1233+ "dependencies": {
1234+ "minipass": "^3.1.6",
1235+ "minipass-sized": "^1.0.3",
1236+ "minizlib": "^2.1.2"
1237+ },
1238+ "engines": {
1239+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
1240+ },
1241+ "optionalDependencies": {
1242+ "encoding": "^0.1.13"
1243+ }
1244+ },
1245+ "node_modules/minipass-flush": {
1246+ "version": "1.0.5",
1247+ "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz",
1248+ "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==",
1249+ "dev": true,
1250+ "dependencies": {
1251+ "minipass": "^3.0.0"
1252+ },
1253+ "engines": {
1254+ "node": ">= 8"
1255+ }
1256+ },
1257+ "node_modules/minipass-pipeline": {
1258+ "version": "1.2.4",
1259+ "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz",
1260+ "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==",
1261+ "dev": true,
1262+ "dependencies": {
1263+ "minipass": "^3.0.0"
1264+ },
1265+ "engines": {
1266+ "node": ">=8"
1267+ }
7001268 },
701− "minipass": {
702− "version": "2.9.0",
703− "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz",
704− "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==",
1269+ "node_modules/minipass-sized": {
1270+ "version": "1.0.3",
1271+ "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz",
1272+ "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==",
7051273 "dev": true,
706− "requires": {
707− "safe-buffer": "^5.1.2",
708− "yallist": "^3.0.0"
1274+ "dependencies": {
1275+ "minipass": "^3.0.0"
1276+ },
1277+ "engines": {
1278+ "node": ">=8"
7091279 }
7101280 },
711− "minizlib": {
712− "version": "1.3.3",
713− "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz",
714− "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==",
1281+ "node_modules/minipass/node_modules/yallist": {
1282+ "version": "4.0.0",
1283+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
1284+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
1285+ "dev": true
1286+ },
1287+ "node_modules/minizlib": {
1288+ "version": "2.1.2",
1289+ "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz",
1290+ "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==",
7151291 "dev": true,
716− "requires": {
717− "minipass": "^2.9.0"
1292+ "dependencies": {
1293+ "minipass": "^3.0.0",
1294+ "yallist": "^4.0.0"
1295+ },
1296+ "engines": {
1297+ "node": ">= 8"
7181298 }
7191299 },
720− "mississippi": {
1300+ "node_modules/minizlib/node_modules/yallist": {
1301+ "version": "4.0.0",
1302+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
1303+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
1304+ "dev": true
1305+ },
1306+ "node_modules/mississippi": {
7211307 "version": "3.0.0",
7221308 "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz",
7231309 "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==",
7241310 "dev": true,
725− "requires": {
1311+ "dependencies": {
7261312 "concat-stream": "^1.5.0",
7271313 "duplexify": "^3.4.2",
7281314 "end-of-stream": "^1.1.0",
@@ -733,23 +1319,29 @@
7331319 "pumpify": "^1.3.3",
7341320 "stream-each": "^1.1.0",
7351321 "through2": "^2.0.0"
1322+ },
1323+ "engines": {
1324+ "node": ">=4.0.0"
7361325 }
7371326 },
738− "mkdirp": {
739− "version": "0.5.5",
740− "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
741− "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
1327+ "node_modules/mkdirp": {
1328+ "version": "0.5.6",
1329+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
1330+ "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
7421331 "dev": true,
743− "requires": {
744− "minimist": "^1.2.5"
1332+ "dependencies": {
1333+ "minimist": "^1.2.6"
1334+ },
1335+ "bin": {
1336+ "mkdirp": "bin/cmd.js"
7451337 }
7461338 },
747− "move-concurrently": {
1339+ "node_modules/move-concurrently": {
7481340 "version": "1.0.1",
7491341 "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz",
750− "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=",
1342+ "integrity": "sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==",
7511343 "dev": true,
752− "requires": {
1344+ "dependencies": {
7531345 "aproba": "^1.1.1",
7541346 "copy-concurrently": "^1.0.0",
7551347 "fs-write-stream-atomic": "^1.0.8",
@@ -758,153 +1350,219 @@
7581350 "run-queue": "^1.0.3"
7591351 }
7601352 },
761− "ms": {
1353+ "node_modules/ms": {
7621354 "version": "2.1.3",
7631355 "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
7641356 "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
7651357 "dev": true
7661358 },
767− "npm-run-path": {
1359+ "node_modules/negotiator": {
1360+ "version": "0.6.3",
1361+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
1362+ "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
1363+ "dev": true,
1364+ "engines": {
1365+ "node": ">= 0.6"
1366+ }
1367+ },
1368+ "node_modules/npm-run-path": {
7681369 "version": "3.1.0",
7691370 "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-3.1.0.tgz",
7701371 "integrity": "sha512-Dbl4A/VfiVGLgQv29URL9xshU8XDY1GeLy+fsaZ1AA8JDSfjvr5P5+pzRbWqRSBxk6/DW7MIh8lTM/PaGnP2kg==",
7711372 "dev": true,
772− "requires": {
1373+ "dependencies": {
7731374 "path-key": "^3.0.0"
1375+ },
1376+ "engines": {
1377+ "node": ">=8"
7741378 }
7751379 },
776− "oauth-sign": {
777− "version": "0.9.0",
778− "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
779− "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
780− "dev": true
781− },
782− "once": {
1380+ "node_modules/once": {
7831381 "version": "1.4.0",
7841382 "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
785− "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
1383+ "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
7861384 "dev": true,
787− "requires": {
1385+ "dependencies": {
7881386 "wrappy": "1"
7891387 }
7901388 },
791− "onetime": {
1389+ "node_modules/onetime": {
7921390 "version": "5.1.2",
7931391 "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
7941392 "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
7951393 "dev": true,
796− "requires": {
1394+ "dependencies": {
7971395 "mimic-fn": "^2.1.0"
1396+ },
1397+ "engines": {
1398+ "node": ">=6"
1399+ },
1400+ "funding": {
1401+ "url": "https://github.com/sponsors/sindresorhus"
7981402 }
7991403 },
800− "p-finally": {
1404+ "node_modules/p-finally": {
8011405 "version": "2.0.1",
8021406 "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz",
8031407 "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==",
804− "dev": true
1408+ "dev": true,
1409+ "engines": {
1410+ "node": ">=8"
1411+ }
1412+ },
1413+ "node_modules/p-map": {
1414+ "version": "4.0.0",
1415+ "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
1416+ "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==",
1417+ "dev": true,
1418+ "dependencies": {
1419+ "aggregate-error": "^3.0.0"
1420+ },
1421+ "engines": {
1422+ "node": ">=10"
1423+ },
1424+ "funding": {
1425+ "url": "https://github.com/sponsors/sindresorhus"
1426+ }
8051427 },
806− "parallel-transform": {
1428+ "node_modules/parallel-transform": {
8071429 "version": "1.2.0",
8081430 "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz",
8091431 "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==",
8101432 "dev": true,
811− "requires": {
1433+ "dependencies": {
8121434 "cyclist": "^1.0.1",
8131435 "inherits": "^2.0.3",
8141436 "readable-stream": "^2.1.5"
8151437 }
8161438 },
817− "path-is-absolute": {
1439+ "node_modules/path-is-absolute": {
8181440 "version": "1.0.1",
8191441 "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
820− "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
821− "dev": true
1442+ "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
1443+ "dev": true,
1444+ "engines": {
1445+ "node": ">=0.10.0"
1446+ }
8221447 },
823− "path-key": {
1448+ "node_modules/path-key": {
8241449 "version": "3.1.1",
8251450 "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
8261451 "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
827− "dev": true
1452+ "dev": true,
1453+ "engines": {
1454+ "node": ">=8"
1455+ }
8281456 },
829− "performance-now": {
830− "version": "2.1.0",
831− "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
832− "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
833− "dev": true
1457+ "node_modules/path-scurry": {
1458+ "version": "1.9.2",
1459+ "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.9.2.tgz",
1460+ "integrity": "sha512-qSDLy2aGFPm8i4rsbHd4MNyTcrzHFsLQykrtbuGRknZZCBBVXSv2tSCDN2Cg6Rt/GFRw8GoW9y9Ecw5rIPG1sg==",
1461+ "dev": true,
1462+ "dependencies": {
1463+ "lru-cache": "^9.1.1",
1464+ "minipass": "^5.0.0 || ^6.0.2"
1465+ },
1466+ "engines": {
1467+ "node": ">=16 || 14 >=14.17"
1468+ },
1469+ "funding": {
1470+ "url": "https://github.com/sponsors/isaacs"
1471+ }
8341472 },
835− "process-nextick-args": {
1473+ "node_modules/path-scurry/node_modules/lru-cache": {
1474+ "version": "9.1.2",
1475+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-9.1.2.tgz",
1476+ "integrity": "sha512-ERJq3FOzJTxBbFjZ7iDs+NiK4VI9Wz+RdrrAB8dio1oV+YvdPzUEE4QNiT2VD51DkIbCYRUUzCRkssXCHqSnKQ==",
1477+ "dev": true,
1478+ "engines": {
1479+ "node": "14 || >=16.14"
1480+ }
1481+ },
1482+ "node_modules/path-scurry/node_modules/minipass": {
1483+ "version": "6.0.2",
1484+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-6.0.2.tgz",
1485+ "integrity": "sha512-MzWSV5nYVT7mVyWCwn2o7JH13w2TBRmmSqSRCKzTw+lmft9X4z+3wjvs06Tzijo5z4W/kahUCDpRXTF+ZrmF/w==",
1486+ "dev": true,
1487+ "engines": {
1488+ "node": ">=16 || 14 >=14.17"
1489+ }
1490+ },
1491+ "node_modules/process-nextick-args": {
8361492 "version": "2.0.1",
8371493 "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
8381494 "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
8391495 "dev": true
8401496 },
841− "promise-inflight": {
1497+ "node_modules/promise-inflight": {
8421498 "version": "1.0.1",
8431499 "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
844− "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=",
1500+ "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==",
8451501 "dev": true
8461502 },
847− "psl": {
848− "version": "1.8.0",
849− "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
850− "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==",
851− "dev": true
1503+ "node_modules/promise-retry": {
1504+ "version": "2.0.1",
1505+ "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz",
1506+ "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==",
1507+ "dev": true,
1508+ "dependencies": {
1509+ "err-code": "^2.0.2",
1510+ "retry": "^0.12.0"
1511+ },
1512+ "engines": {
1513+ "node": ">=10"
1514+ }
8521515 },
853− "pump": {
1516+ "node_modules/pump": {
8541517 "version": "3.0.0",
8551518 "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
8561519 "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
8571520 "dev": true,
858− "requires": {
1521+ "dependencies": {
8591522 "end-of-stream": "^1.1.0",
8601523 "once": "^1.3.1"
8611524 }
8621525 },
863− "pumpify": {
1526+ "node_modules/pumpify": {
8641527 "version": "1.5.1",
8651528 "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz",
8661529 "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==",
8671530 "dev": true,
868− "requires": {
1531+ "dependencies": {
8691532 "duplexify": "^3.6.0",
8701533 "inherits": "^2.0.3",
8711534 "pump": "^2.0.0"
872− },
873− "dependencies": {
874− "pump": {
875− "version": "2.0.1",
876− "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz",
877− "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
878− "dev": true,
879− "requires": {
880− "end-of-stream": "^1.1.0",
881− "once": "^1.3.1"
882− }
883− }
8841535 }
8851536 },
886− "punycode": {
887− "version": "2.1.1",
888− "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
889− "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
890− "dev": true
1537+ "node_modules/pumpify/node_modules/pump": {
1538+ "version": "2.0.1",
1539+ "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz",
1540+ "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
1541+ "dev": true,
1542+ "dependencies": {
1543+ "end-of-stream": "^1.1.0",
1544+ "once": "^1.3.1"
1545+ }
8911546 },
892− "purescript": {
893− "version": "0.14.1",
894− "resolved": "https://registry.npmjs.org/purescript/-/purescript-0.14.1.tgz",
895− "integrity": "sha512-dh87XeDP/JGe/3DKBMglkRuIRfGLGkL8beuLIl9KemzckgyuD+j7VK15eVb9n5Exp3DIr6SNEuGG4FjuQQ7Rpg==",
1547+ "node_modules/purescript": {
1548+ "version": "0.15.9",
1549+ "resolved": "https://registry.npmjs.org/purescript/-/purescript-0.15.9.tgz",
1550+ "integrity": "sha512-J2bI4iOn1Sg3/BN0Td1yykIYEK56+tpf3hQRQ+EraPSVgT1MDD+tBH6lvz6UBHndtsKqpNIQCX/HNK7u72HOtw==",
8961551 "dev": true,
897− "requires": {
898− "purescript-installer": "^0.2.0"
1552+ "hasInstallScript": true,
1553+ "dependencies": {
1554+ "purescript-installer": "^0.3.5"
1555+ },
1556+ "bin": {
1557+ "purs": "purs.bin"
8991558 }
9001559 },
901− "purescript-installer": {
902− "version": "0.2.5",
903− "resolved": "https://registry.npmjs.org/purescript-installer/-/purescript-installer-0.2.5.tgz",
904− "integrity": "sha512-fQAWWP5a7scuchXecjpU4r4KEgSPuS6bBnaP01k9f71qqD28HaJ2m4PXHFkhkR4oATAxTPIGCtmTwtVoiBOHog==",
1560+ "node_modules/purescript-installer": {
1561+ "version": "0.3.5",
1562+ "resolved": "https://registry.npmjs.org/purescript-installer/-/purescript-installer-0.3.5.tgz",
1563+ "integrity": "sha512-w04BBvW4BSQlspLsZ9Bs5vtUBZqvC4bC+FizC5GUp2/rpmYvXJ0CTf79Q3MKo2A8p1ZjqbhCI+SqdTQ30UZUIQ==",
9051564 "dev": true,
906− "requires": {
907− "arch": "^2.1.1",
1565+ "dependencies": {
9081566 "byline": "^5.0.0",
9091567 "cacache": "^11.3.2",
9101568 "chalk": "^2.4.2",
@@ -913,31 +1571,39 @@
9131571 "filesize": "^4.1.2",
9141572 "is-plain-obj": "^2.0.0",
9151573 "log-symbols": "^3.0.0",
916− "log-update": "^3.2.0",
1574+ "log-update": "^4.0.0",
1575+ "make-fetch-happen": "^10.0.0",
9171576 "minimist": "^1.2.0",
918− "mkdirp": "^0.5.1",
9191577 "ms": "^2.1.2",
9201578 "once": "^1.4.0",
921− "pump": "^3.0.0",
922− "request": "^2.88.0",
9231579 "rimraf": "^2.6.3",
924− "tar": "^4.4.6",
1580+ "semver": "^7.3.7",
1581+ "tar": "^6.1.11",
9251582 "which": "^1.3.1",
9261583 "zen-observable": "^0.8.14"
1584+ },
1585+ "bin": {
1586+ "install-purescript": "index.js"
1587+ },
1588+ "engines": {
1589+ "node": ">=12"
9271590 }
9281591 },
929− "qs": {
930− "version": "6.5.2",
931− "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
932− "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
933− "dev": true
1592+ "node_modules/purs-tidy": {
1593+ "version": "0.10.0",
1594+ "resolved": "https://registry.npmjs.org/purs-tidy/-/purs-tidy-0.10.0.tgz",
1595+ "integrity": "sha512-ULbJfBHRngczYwcOzugytRiNy+Guy2VXoAG1jMtGaSFEaUZk1lZkKU11t8jIZTrDdOrkgqlWCZLi3mfcHvdimA==",
1596+ "dev": true,
1597+ "bin": {
1598+ "purs-tidy": "bin/index.js"
1599+ }
9341600 },
935− "readable-stream": {
936− "version": "2.3.7",
937− "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
938− "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
1601+ "node_modules/readable-stream": {
1602+ "version": "2.3.8",
1603+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
1604+ "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
9391605 "dev": true,
940− "requires": {
1606+ "dependencies": {
9411607 "core-util-is": "~1.0.0",
9421608 "inherits": "~2.0.3",
9431609 "isarray": "~1.0.0",
@@ -947,365 +1613,775 @@
9471613 "util-deprecate": "~1.0.1"
9481614 }
9491615 },
950− "request": {
951− "version": "2.88.2",
952− "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
953− "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
954− "dev": true,
955− "requires": {
956− "aws-sign2": "~0.7.0",
957− "aws4": "^1.8.0",
958− "caseless": "~0.12.0",
959− "combined-stream": "~1.0.6",
960− "extend": "~3.0.2",
961− "forever-agent": "~0.6.1",
962− "form-data": "~2.3.2",
963− "har-validator": "~5.1.3",
964− "http-signature": "~1.2.0",
965− "is-typedarray": "~1.0.0",
966− "isstream": "~0.1.2",
967− "json-stringify-safe": "~5.0.1",
968− "mime-types": "~2.1.19",
969− "oauth-sign": "~0.9.0",
970− "performance-now": "^2.1.0",
971− "qs": "~6.5.2",
972− "safe-buffer": "^5.1.2",
973− "tough-cookie": "~2.5.0",
974− "tunnel-agent": "^0.6.0",
975− "uuid": "^3.3.2"
976− }
977− },
978− "restore-cursor": {
979− "version": "2.0.0",
980− "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
981− "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
1616+ "node_modules/restore-cursor": {
1617+ "version": "3.1.0",
1618+ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
1619+ "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
9821620 "dev": true,
983− "requires": {
984− "onetime": "^2.0.0",
1621+ "dependencies": {
1622+ "onetime": "^5.1.0",
9851623 "signal-exit": "^3.0.2"
9861624 },
987− "dependencies": {
988− "mimic-fn": {
989− "version": "1.2.0",
990− "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
991− "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==",
992− "dev": true
993− },
994− "onetime": {
995− "version": "2.0.1",
996− "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
997− "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
998− "dev": true,
999− "requires": {
1000− "mimic-fn": "^1.0.0"
1001− }
1002− }
1625+ "engines": {
1626+ "node": ">=8"
1627+ }
1628+ },
1629+ "node_modules/retry": {
1630+ "version": "0.12.0",
1631+ "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz",
1632+ "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==",
1633+ "dev": true,
1634+ "engines": {
1635+ "node": ">= 4"
10031636 }
10041637 },
1005− "rimraf": {
1638+ "node_modules/rimraf": {
10061639 "version": "2.7.1",
10071640 "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
10081641 "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
10091642 "dev": true,
1010− "requires": {
1643+ "dependencies": {
10111644 "glob": "^7.1.3"
1645+ },
1646+ "bin": {
1647+ "rimraf": "bin.js"
10121648 }
10131649 },
1014− "run-queue": {
1650+ "node_modules/run-queue": {
10151651 "version": "1.0.3",
10161652 "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz",
1017− "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=",
1653+ "integrity": "sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg==",
10181654 "dev": true,
1019− "requires": {
1655+ "dependencies": {
10201656 "aproba": "^1.1.1"
10211657 }
10221658 },
1023− "safe-buffer": {
1659+ "node_modules/safe-buffer": {
10241660 "version": "5.1.2",
10251661 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
10261662 "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
10271663 "dev": true
10281664 },
1029− "safer-buffer": {
1665+ "node_modules/safer-buffer": {
10301666 "version": "2.1.2",
10311667 "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
10321668 "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
1669+ "dev": true,
1670+ "optional": true
1671+ },
1672+ "node_modules/semver": {
1673+ "version": "7.5.2",
1674+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.2.tgz",
1675+ "integrity": "sha512-SoftuTROv/cRjCze/scjGyiDtcUyxw1rgYQSZY7XTmtR5hX+dm76iDbTH8TkLPHCQmlbQVSSbNZCPM2hb0knnQ==",
1676+ "dev": true,
1677+ "dependencies": {
1678+ "lru-cache": "^6.0.0"
1679+ },
1680+ "bin": {
1681+ "semver": "bin/semver.js"
1682+ },
1683+ "engines": {
1684+ "node": ">=10"
1685+ }
1686+ },
1687+ "node_modules/semver/node_modules/lru-cache": {
1688+ "version": "6.0.0",
1689+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
1690+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
1691+ "dev": true,
1692+ "dependencies": {
1693+ "yallist": "^4.0.0"
1694+ },
1695+ "engines": {
1696+ "node": ">=10"
1697+ }
1698+ },
1699+ "node_modules/semver/node_modules/yallist": {
1700+ "version": "4.0.0",
1701+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
1702+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
10331703 "dev": true
10341704 },
1035− "shebang-command": {
1705+ "node_modules/shebang-command": {
10361706 "version": "2.0.0",
10371707 "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
10381708 "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
10391709 "dev": true,
1040− "requires": {
1710+ "dependencies": {
10411711 "shebang-regex": "^3.0.0"
1712+ },
1713+ "engines": {
1714+ "node": ">=8"
10421715 }
10431716 },
1044− "shebang-regex": {
1717+ "node_modules/shebang-regex": {
10451718 "version": "3.0.0",
10461719 "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
10471720 "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
1721+ "dev": true,
1722+ "engines": {
1723+ "node": ">=8"
1724+ }
1725+ },
1726+ "node_modules/signal-exit": {
1727+ "version": "3.0.7",
1728+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
1729+ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
10481730 "dev": true
10491731 },
1050− "signal-exit": {
1051− "version": "3.0.3",
1052− "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
1053− "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==",
1732+ "node_modules/slice-ansi": {
1733+ "version": "4.0.0",
1734+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
1735+ "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
1736+ "dev": true,
1737+ "dependencies": {
1738+ "ansi-styles": "^4.0.0",
1739+ "astral-regex": "^2.0.0",
1740+ "is-fullwidth-code-point": "^3.0.0"
1741+ },
1742+ "engines": {
1743+ "node": ">=10"
1744+ },
1745+ "funding": {
1746+ "url": "https://github.com/chalk/slice-ansi?sponsor=1"
1747+ }
1748+ },
1749+ "node_modules/slice-ansi/node_modules/ansi-styles": {
1750+ "version": "4.3.0",
1751+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
1752+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
1753+ "dev": true,
1754+ "dependencies": {
1755+ "color-convert": "^2.0.1"
1756+ },
1757+ "engines": {
1758+ "node": ">=8"
1759+ },
1760+ "funding": {
1761+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
1762+ }
1763+ },
1764+ "node_modules/slice-ansi/node_modules/color-convert": {
1765+ "version": "2.0.1",
1766+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
1767+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
1768+ "dev": true,
1769+ "dependencies": {
1770+ "color-name": "~1.1.4"
1771+ },
1772+ "engines": {
1773+ "node": ">=7.0.0"
1774+ }
1775+ },
1776+ "node_modules/slice-ansi/node_modules/color-name": {
1777+ "version": "1.1.4",
1778+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
1779+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
10541780 "dev": true
10551781 },
1056− "spago": {
1057− "version": "0.20.3",
1058− "resolved": "https://registry.npmjs.org/spago/-/spago-0.20.3.tgz",
1059− "integrity": "sha512-R4CWLP5IbaWoNIpS1QAUuDK2LKlKYqT5gBKVZL7ILilvCwdwS72u3NbGZbvx7VCRRZz4lG7zXUkqKNow7zh6wQ==",
1782+ "node_modules/smart-buffer": {
1783+ "version": "4.2.0",
1784+ "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz",
1785+ "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==",
1786+ "dev": true,
1787+ "engines": {
1788+ "node": ">= 6.0.0",
1789+ "npm": ">= 3.0.0"
1790+ }
1791+ },
1792+ "node_modules/socks": {
1793+ "version": "2.7.1",
1794+ "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz",
1795+ "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==",
1796+ "dev": true,
1797+ "dependencies": {
1798+ "ip": "^2.0.0",
1799+ "smart-buffer": "^4.2.0"
1800+ },
1801+ "engines": {
1802+ "node": ">= 10.13.0",
1803+ "npm": ">= 3.0.0"
1804+ }
1805+ },
1806+ "node_modules/socks-proxy-agent": {
1807+ "version": "7.0.0",
1808+ "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz",
1809+ "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==",
1810+ "dev": true,
1811+ "dependencies": {
1812+ "agent-base": "^6.0.2",
1813+ "debug": "^4.3.3",
1814+ "socks": "^2.6.2"
1815+ },
1816+ "engines": {
1817+ "node": ">= 10"
1818+ }
1819+ },
1820+ "node_modules/spago": {
1821+ "version": "0.21.0",
1822+ "resolved": "https://registry.npmjs.org/spago/-/spago-0.21.0.tgz",
1823+ "integrity": "sha512-1qTPaIhrsLCvneSJt1fyq3CpNMu01Xhcn+b09IMbyrpLcptMoGH5uOtyNL9eohTRMzPWBKUs6ksFLGdjJp7yxQ==",
1824+ "dev": true,
1825+ "hasInstallScript": true,
1826+ "dependencies": {
1827+ "make-fetch-happen": "^11.0.1",
1828+ "tar": "^6.1.11"
1829+ },
1830+ "bin": {
1831+ "spago": "spago"
1832+ }
1833+ },
1834+ "node_modules/spago/node_modules/@npmcli/fs": {
1835+ "version": "3.1.0",
1836+ "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.0.tgz",
1837+ "integrity": "sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==",
1838+ "dev": true,
1839+ "dependencies": {
1840+ "semver": "^7.3.5"
1841+ },
1842+ "engines": {
1843+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
1844+ }
1845+ },
1846+ "node_modules/spago/node_modules/brace-expansion": {
1847+ "version": "2.0.1",
1848+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
1849+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
1850+ "dev": true,
1851+ "dependencies": {
1852+ "balanced-match": "^1.0.0"
1853+ }
1854+ },
1855+ "node_modules/spago/node_modules/cacache": {
1856+ "version": "17.1.3",
1857+ "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.1.3.tgz",
1858+ "integrity": "sha512-jAdjGxmPxZh0IipMdR7fK/4sDSrHMLUV0+GvVUsjwyGNKHsh79kW/otg+GkbXwl6Uzvy9wsvHOX4nUoWldeZMg==",
1859+ "dev": true,
1860+ "dependencies": {
1861+ "@npmcli/fs": "^3.1.0",
1862+ "fs-minipass": "^3.0.0",
1863+ "glob": "^10.2.2",
1864+ "lru-cache": "^7.7.1",
1865+ "minipass": "^5.0.0",
1866+ "minipass-collect": "^1.0.2",
1867+ "minipass-flush": "^1.0.5",
1868+ "minipass-pipeline": "^1.2.4",
1869+ "p-map": "^4.0.0",
1870+ "ssri": "^10.0.0",
1871+ "tar": "^6.1.11",
1872+ "unique-filename": "^3.0.0"
1873+ },
1874+ "engines": {
1875+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
1876+ }
1877+ },
1878+ "node_modules/spago/node_modules/fs-minipass": {
1879+ "version": "3.0.2",
1880+ "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.2.tgz",
1881+ "integrity": "sha512-2GAfyfoaCDRrM6jaOS3UsBts8yJ55VioXdWcOL7dK9zdAuKT71+WBA4ifnNYqVjYv+4SsPxjK0JT4yIIn4cA/g==",
1882+ "dev": true,
1883+ "dependencies": {
1884+ "minipass": "^5.0.0"
1885+ },
1886+ "engines": {
1887+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
1888+ }
1889+ },
1890+ "node_modules/spago/node_modules/glob": {
1891+ "version": "10.2.7",
1892+ "resolved": "https://registry.npmjs.org/glob/-/glob-10.2.7.tgz",
1893+ "integrity": "sha512-jTKehsravOJo8IJxUGfZILnkvVJM/MOfHRs8QcXolVef2zNI9Tqyy5+SeuOAZd3upViEZQLyFpQhYiHLrMUNmA==",
1894+ "dev": true,
1895+ "dependencies": {
1896+ "foreground-child": "^3.1.0",
1897+ "jackspeak": "^2.0.3",
1898+ "minimatch": "^9.0.1",
1899+ "minipass": "^5.0.0 || ^6.0.2",
1900+ "path-scurry": "^1.7.0"
1901+ },
1902+ "bin": {
1903+ "glob": "dist/cjs/src/bin.js"
1904+ },
1905+ "engines": {
1906+ "node": ">=16 || 14 >=14.17"
1907+ },
1908+ "funding": {
1909+ "url": "https://github.com/sponsors/isaacs"
1910+ }
1911+ },
1912+ "node_modules/spago/node_modules/lru-cache": {
1913+ "version": "7.18.3",
1914+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
1915+ "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
1916+ "dev": true,
1917+ "engines": {
1918+ "node": ">=12"
1919+ }
1920+ },
1921+ "node_modules/spago/node_modules/make-fetch-happen": {
1922+ "version": "11.1.1",
1923+ "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz",
1924+ "integrity": "sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==",
1925+ "dev": true,
1926+ "dependencies": {
1927+ "agentkeepalive": "^4.2.1",
1928+ "cacache": "^17.0.0",
1929+ "http-cache-semantics": "^4.1.1",
1930+ "http-proxy-agent": "^5.0.0",
1931+ "https-proxy-agent": "^5.0.0",
1932+ "is-lambda": "^1.0.1",
1933+ "lru-cache": "^7.7.1",
1934+ "minipass": "^5.0.0",
1935+ "minipass-fetch": "^3.0.0",
1936+ "minipass-flush": "^1.0.5",
1937+ "minipass-pipeline": "^1.2.4",
1938+ "negotiator": "^0.6.3",
1939+ "promise-retry": "^2.0.1",
1940+ "socks-proxy-agent": "^7.0.0",
1941+ "ssri": "^10.0.0"
1942+ },
1943+ "engines": {
1944+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
1945+ }
1946+ },
1947+ "node_modules/spago/node_modules/minimatch": {
1948+ "version": "9.0.1",
1949+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz",
1950+ "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==",
1951+ "dev": true,
1952+ "dependencies": {
1953+ "brace-expansion": "^2.0.1"
1954+ },
1955+ "engines": {
1956+ "node": ">=16 || 14 >=14.17"
1957+ },
1958+ "funding": {
1959+ "url": "https://github.com/sponsors/isaacs"
1960+ }
1961+ },
1962+ "node_modules/spago/node_modules/minipass": {
1963+ "version": "5.0.0",
1964+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz",
1965+ "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==",
1966+ "dev": true,
1967+ "engines": {
1968+ "node": ">=8"
1969+ }
1970+ },
1971+ "node_modules/spago/node_modules/minipass-fetch": {
1972+ "version": "3.0.3",
1973+ "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.3.tgz",
1974+ "integrity": "sha512-n5ITsTkDqYkYJZjcRWzZt9qnZKCT7nKCosJhHoj7S7zD+BP4jVbWs+odsniw5TA3E0sLomhTKOKjF86wf11PuQ==",
1975+ "dev": true,
1976+ "dependencies": {
1977+ "minipass": "^5.0.0",
1978+ "minipass-sized": "^1.0.3",
1979+ "minizlib": "^2.1.2"
1980+ },
1981+ "engines": {
1982+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
1983+ },
1984+ "optionalDependencies": {
1985+ "encoding": "^0.1.13"
1986+ }
1987+ },
1988+ "node_modules/spago/node_modules/ssri": {
1989+ "version": "10.0.4",
1990+ "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.4.tgz",
1991+ "integrity": "sha512-12+IR2CB2C28MMAw0Ncqwj5QbTcs0nGIhgJzYWzDkb21vWmfNI83KS4f3Ci6GI98WreIfG7o9UXp3C0qbpA8nQ==",
1992+ "dev": true,
1993+ "dependencies": {
1994+ "minipass": "^5.0.0"
1995+ },
1996+ "engines": {
1997+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
1998+ }
1999+ },
2000+ "node_modules/spago/node_modules/unique-filename": {
2001+ "version": "3.0.0",
2002+ "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz",
2003+ "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==",
10602004 "dev": true,
1061− "requires": {
1062− "request": "^2.88.0",
1063− "tar": "^4.4.8"
2005+ "dependencies": {
2006+ "unique-slug": "^4.0.0"
2007+ },
2008+ "engines": {
2009+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
10642010 }
10652011 },
1066− "sshpk": {
1067− "version": "1.16.1",
1068− "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
1069− "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
2012+ "node_modules/spago/node_modules/unique-slug": {
2013+ "version": "4.0.0",
2014+ "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz",
2015+ "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==",
10702016 "dev": true,
1071− "requires": {
1072− "asn1": "~0.2.3",
1073− "assert-plus": "^1.0.0",
1074− "bcrypt-pbkdf": "^1.0.0",
1075− "dashdash": "^1.12.0",
1076− "ecc-jsbn": "~0.1.1",
1077− "getpass": "^0.1.1",
1078− "jsbn": "~0.1.0",
1079− "safer-buffer": "^2.0.2",
1080− "tweetnacl": "~0.14.0"
2017+ "dependencies": {
2018+ "imurmurhash": "^0.1.4"
2019+ },
2020+ "engines": {
2021+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
10812022 }
10822023 },
1083− "ssri": {
2024+ "node_modules/ssri": {
10842025 "version": "6.0.2",
10852026 "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz",
10862027 "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==",
10872028 "dev": true,
1088− "requires": {
2029+ "dependencies": {
10892030 "figgy-pudding": "^3.5.1"
10902031 }
10912032 },
1092− "stream-each": {
2033+ "node_modules/stream-each": {
10932034 "version": "1.2.3",
10942035 "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz",
10952036 "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==",
10962037 "dev": true,
1097− "requires": {
2038+ "dependencies": {
10982039 "end-of-stream": "^1.1.0",
10992040 "stream-shift": "^1.0.0"
11002041 }
11012042 },
1102− "stream-shift": {
2043+ "node_modules/stream-shift": {
11032044 "version": "1.0.1",
11042045 "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz",
11052046 "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==",
11062047 "dev": true
11072048 },
1108− "string-width": {
1109− "version": "3.1.0",
1110− "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
1111− "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
1112− "dev": true,
1113− "requires": {
1114− "emoji-regex": "^7.0.1",
1115− "is-fullwidth-code-point": "^2.0.0",
1116− "strip-ansi": "^5.1.0"
1117− }
1118− },
1119− "string_decoder": {
2049+ "node_modules/string_decoder": {
11202050 "version": "1.1.1",
11212051 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
11222052 "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
11232053 "dev": true,
1124− "requires": {
2054+ "dependencies": {
11252055 "safe-buffer": "~5.1.0"
11262056 }
11272057 },
1128− "strip-ansi": {
1129− "version": "5.2.0",
1130− "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
1131− "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
2058+ "node_modules/string-width": {
2059+ "version": "4.2.3",
2060+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
2061+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
2062+ "dev": true,
2063+ "dependencies": {
2064+ "emoji-regex": "^8.0.0",
2065+ "is-fullwidth-code-point": "^3.0.0",
2066+ "strip-ansi": "^6.0.1"
2067+ },
2068+ "engines": {
2069+ "node": ">=8"
2070+ }
2071+ },
2072+ "node_modules/string-width-cjs": {
2073+ "name": "string-width",
2074+ "version": "4.2.3",
2075+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
2076+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
2077+ "dev": true,
2078+ "dependencies": {
2079+ "emoji-regex": "^8.0.0",
2080+ "is-fullwidth-code-point": "^3.0.0",
2081+ "strip-ansi": "^6.0.1"
2082+ },
2083+ "engines": {
2084+ "node": ">=8"
2085+ }
2086+ },
2087+ "node_modules/strip-ansi": {
2088+ "version": "6.0.1",
2089+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
2090+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
11322091 "dev": true,
1133− "requires": {
1134− "ansi-regex": "^4.1.0"
2092+ "dependencies": {
2093+ "ansi-regex": "^5.0.1"
2094+ },
2095+ "engines": {
2096+ "node": ">=8"
2097+ }
2098+ },
2099+ "node_modules/strip-ansi-cjs": {
2100+ "name": "strip-ansi",
2101+ "version": "6.0.1",
2102+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
2103+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
2104+ "dev": true,
2105+ "dependencies": {
2106+ "ansi-regex": "^5.0.1"
2107+ },
2108+ "engines": {
2109+ "node": ">=8"
11352110 }
11362111 },
1137− "strip-final-newline": {
2112+ "node_modules/strip-final-newline": {
11382113 "version": "2.0.0",
11392114 "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
11402115 "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
1141− "dev": true
2116+ "dev": true,
2117+ "engines": {
2118+ "node": ">=6"
2119+ }
11422120 },
1143− "supports-color": {
2121+ "node_modules/supports-color": {
11442122 "version": "5.5.0",
11452123 "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
11462124 "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
11472125 "dev": true,
1148− "requires": {
2126+ "dependencies": {
11492127 "has-flag": "^3.0.0"
2128+ },
2129+ "engines": {
2130+ "node": ">=4"
11502131 }
11512132 },
1152− "tar": {
1153− "version": "4.4.13",
1154− "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz",
1155− "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==",
2133+ "node_modules/tar": {
2134+ "version": "6.1.15",
2135+ "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.15.tgz",
2136+ "integrity": "sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A==",
11562137 "dev": true,
1157− "requires": {
1158− "chownr": "^1.1.1",
1159− "fs-minipass": "^1.2.5",
1160− "minipass": "^2.8.6",
1161− "minizlib": "^1.2.1",
1162− "mkdirp": "^0.5.0",
1163− "safe-buffer": "^5.1.2",
1164− "yallist": "^3.0.3"
2138+ "dependencies": {
2139+ "chownr": "^2.0.0",
2140+ "fs-minipass": "^2.0.0",
2141+ "minipass": "^5.0.0",
2142+ "minizlib": "^2.1.1",
2143+ "mkdirp": "^1.0.3",
2144+ "yallist": "^4.0.0"
2145+ },
2146+ "engines": {
2147+ "node": ">=10"
11652148 }
11662149 },
1167− "through2": {
1168− "version": "2.0.5",
1169− "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
1170− "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
2150+ "node_modules/tar/node_modules/chownr": {
2151+ "version": "2.0.0",
2152+ "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
2153+ "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
11712154 "dev": true,
1172− "requires": {
1173− "readable-stream": "~2.3.6",
1174− "xtend": "~4.0.1"
2155+ "engines": {
2156+ "node": ">=10"
11752157 }
11762158 },
1177− "tough-cookie": {
1178− "version": "2.5.0",
1179− "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
1180− "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
2159+ "node_modules/tar/node_modules/minipass": {
2160+ "version": "5.0.0",
2161+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz",
2162+ "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==",
11812163 "dev": true,
1182− "requires": {
1183− "psl": "^1.1.28",
1184− "punycode": "^2.1.1"
2164+ "engines": {
2165+ "node": ">=8"
11852166 }
11862167 },
1187− "tunnel-agent": {
1188− "version": "0.6.0",
1189− "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
1190− "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
2168+ "node_modules/tar/node_modules/mkdirp": {
2169+ "version": "1.0.4",
2170+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
2171+ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
11912172 "dev": true,
1192− "requires": {
1193− "safe-buffer": "^5.0.1"
2173+ "bin": {
2174+ "mkdirp": "bin/cmd.js"
2175+ },
2176+ "engines": {
2177+ "node": ">=10"
11942178 }
11952179 },
1196− "tweetnacl": {
1197− "version": "0.14.5",
1198− "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
1199− "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
2180+ "node_modules/tar/node_modules/yallist": {
2181+ "version": "4.0.0",
2182+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
2183+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
12002184 "dev": true
12012185 },
1202− "typedarray": {
2186+ "node_modules/through2": {
2187+ "version": "2.0.5",
2188+ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
2189+ "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
2190+ "dev": true,
2191+ "dependencies": {
2192+ "readable-stream": "~2.3.6",
2193+ "xtend": "~4.0.1"
2194+ }
2195+ },
2196+ "node_modules/type-fest": {
2197+ "version": "0.21.3",
2198+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
2199+ "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
2200+ "dev": true,
2201+ "engines": {
2202+ "node": ">=10"
2203+ },
2204+ "funding": {
2205+ "url": "https://github.com/sponsors/sindresorhus"
2206+ }
2207+ },
2208+ "node_modules/typedarray": {
12032209 "version": "0.0.6",
12042210 "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
1205− "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
2211+ "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==",
12062212 "dev": true
12072213 },
1208− "unique-filename": {
2214+ "node_modules/unique-filename": {
12092215 "version": "1.1.1",
12102216 "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz",
12112217 "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==",
12122218 "dev": true,
1213− "requires": {
2219+ "dependencies": {
12142220 "unique-slug": "^2.0.0"
12152221 }
12162222 },
1217− "unique-slug": {
2223+ "node_modules/unique-slug": {
12182224 "version": "2.0.2",
12192225 "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz",
12202226 "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==",
12212227 "dev": true,
1222− "requires": {
2228+ "dependencies": {
12232229 "imurmurhash": "^0.1.4"
12242230 }
12252231 },
1226− "uri-js": {
1227− "version": "4.4.1",
1228− "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
1229− "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
1230− "dev": true,
1231− "requires": {
1232− "punycode": "^2.1.0"
1233− }
1234− },
1235− "util-deprecate": {
2232+ "node_modules/util-deprecate": {
12362233 "version": "1.0.2",
12372234 "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
1238− "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
1239− "dev": true
1240− },
1241− "uuid": {
1242− "version": "3.4.0",
1243− "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
1244− "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
2235+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
12452236 "dev": true
12462237 },
1247− "verror": {
1248− "version": "1.10.0",
1249− "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
1250− "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
1251− "dev": true,
1252− "requires": {
1253− "assert-plus": "^1.0.0",
1254− "core-util-is": "1.0.2",
1255− "extsprintf": "^1.2.0"
1256− }
1257− },
1258− "which": {
2238+ "node_modules/which": {
12592239 "version": "1.3.1",
12602240 "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
12612241 "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
12622242 "dev": true,
1263− "requires": {
2243+ "dependencies": {
12642244 "isexe": "^2.0.0"
2245+ },
2246+ "bin": {
2247+ "which": "bin/which"
2248+ }
2249+ },
2250+ "node_modules/wrap-ansi": {
2251+ "version": "6.2.0",
2252+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
2253+ "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
2254+ "dev": true,
2255+ "dependencies": {
2256+ "ansi-styles": "^4.0.0",
2257+ "string-width": "^4.1.0",
2258+ "strip-ansi": "^6.0.0"
2259+ },
2260+ "engines": {
2261+ "node": ">=8"
12652262 }
12662263 },
1267− "wrap-ansi": {
1268− "version": "5.1.0",
1269− "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz",
1270− "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==",
2264+ "node_modules/wrap-ansi-cjs": {
2265+ "name": "wrap-ansi",
2266+ "version": "7.0.0",
2267+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
2268+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
12712269 "dev": true,
1272− "requires": {
1273− "ansi-styles": "^3.2.0",
1274− "string-width": "^3.0.0",
1275− "strip-ansi": "^5.0.0"
2270+ "dependencies": {
2271+ "ansi-styles": "^4.0.0",
2272+ "string-width": "^4.1.0",
2273+ "strip-ansi": "^6.0.0"
2274+ },
2275+ "engines": {
2276+ "node": ">=10"
2277+ },
2278+ "funding": {
2279+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
2280+ }
2281+ },
2282+ "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": {
2283+ "version": "4.3.0",
2284+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
2285+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
2286+ "dev": true,
2287+ "dependencies": {
2288+ "color-convert": "^2.0.1"
2289+ },
2290+ "engines": {
2291+ "node": ">=8"
2292+ },
2293+ "funding": {
2294+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
12762295 }
12772296 },
1278− "wrappy": {
2297+ "node_modules/wrap-ansi-cjs/node_modules/color-convert": {
2298+ "version": "2.0.1",
2299+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
2300+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
2301+ "dev": true,
2302+ "dependencies": {
2303+ "color-name": "~1.1.4"
2304+ },
2305+ "engines": {
2306+ "node": ">=7.0.0"
2307+ }
2308+ },
2309+ "node_modules/wrap-ansi-cjs/node_modules/color-name": {
2310+ "version": "1.1.4",
2311+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
2312+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
2313+ "dev": true
2314+ },
2315+ "node_modules/wrap-ansi/node_modules/ansi-styles": {
2316+ "version": "4.3.0",
2317+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
2318+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
2319+ "dev": true,
2320+ "dependencies": {
2321+ "color-convert": "^2.0.1"
2322+ },
2323+ "engines": {
2324+ "node": ">=8"
2325+ },
2326+ "funding": {
2327+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
2328+ }
2329+ },
2330+ "node_modules/wrap-ansi/node_modules/color-convert": {
2331+ "version": "2.0.1",
2332+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
2333+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
2334+ "dev": true,
2335+ "dependencies": {
2336+ "color-name": "~1.1.4"
2337+ },
2338+ "engines": {
2339+ "node": ">=7.0.0"
2340+ }
2341+ },
2342+ "node_modules/wrap-ansi/node_modules/color-name": {
2343+ "version": "1.1.4",
2344+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
2345+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
2346+ "dev": true
2347+ },
2348+ "node_modules/wrappy": {
12792349 "version": "1.0.2",
12802350 "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
1281− "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
2351+ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
12822352 "dev": true
12832353 },
1284− "xhr2": {
2354+ "node_modules/xhr2": {
12852355 "version": "0.2.1",
12862356 "resolved": "https://registry.npmjs.org/xhr2/-/xhr2-0.2.1.tgz",
12872357 "integrity": "sha512-sID0rrVCqkVNUn8t6xuv9+6FViXjUVXq8H5rWOH2rz9fDNQEd4g0EA2XlcEdJXRz5BMEn4O1pJFdT+z4YHhoWw==",
1288− "dev": true
2358+ "dev": true,
2359+ "engines": {
2360+ "node": ">= 6"
2361+ }
12892362 },
1290− "xtend": {
2363+ "node_modules/xtend": {
12912364 "version": "4.0.2",
12922365 "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
12932366 "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
1294− "dev": true
2367+ "dev": true,
2368+ "engines": {
2369+ "node": ">=0.4"
2370+ }
12952371 },
1296− "y18n": {
2372+ "node_modules/y18n": {
12972373 "version": "4.0.3",
12982374 "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz",
12992375 "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==",
13002376 "dev": true
13012377 },
1302− "yallist": {
2378+ "node_modules/yallist": {
13032379 "version": "3.1.1",
13042380 "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
13052381 "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
13062382 "dev": true
13072383 },
1308− "zen-observable": {
2384+ "node_modules/zen-observable": {
13092385 "version": "0.8.15",
13102386 "resolved": "https://registry.npmjs.org/zen-observable/-/zen-observable-0.8.15.tgz",
13112387 "integrity": "sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==",
package.json+5−4
@@ -1,16 +1,17 @@
11{
22 "name": "purescript-graphql-fundeps",
3− "version": "0.0.0",
3+ "version": "0.1.0",
44 "scripts": {
55 "postinstall": "spago install && spago build",
6− "test": "spago test"
6+ "test": "spago -x test.dhall test"
77 },
88 "keywords": [],
99 "author": "",
1010 "license": "ISC",
1111 "devDependencies": {
12− "purescript": "^0.14.1",
13− "spago": "^0.20.3",
12+ "purescript": "^0.15.9",
13+ "purs-tidy": "^0.10.0",
14+ "spago": "^0.21.0",
1415 "xhr2": "^0.2.1"
1516 }
1617}
packages.dhall+3−102
@@ -1,104 +1,5 @@
1−{-
2−Welcome to your new Dhall package-set!
3−
4−Below are instructions for how to edit this file for most use
5−cases, so that you don't need to know Dhall to use it.
6−
7−## Use Cases
8−
9−Most will want to do one or both of these options:
10−1. Override/Patch a package's dependency
11−2. Add a package not already in the default package set
12−
13−This file will continue to work whether you use one or both options.
14−Instructions for each option are explained below.
15−
16−### Overriding/Patching a package
17−
18−Purpose:
19−- Change a package's dependency to a newer/older release than the
20− default package set's release
21−- Use your own modified version of some dependency that may
22− include new API, changed API, removed API by
23− using your custom git repo of the library rather than
24− the package set's repo
25−
26−Syntax:
27−where `entityName` is one of the following:
28−- dependencies
29−- repo
30−- version
31−-------------------------------
32−let upstream = --
33−in upstream
34− with packageName.entityName = "new value"
35−-------------------------------
36−
37−Example:
38−-------------------------------
39−let upstream = --
40−in upstream
41− with halogen.version = "master"
42− with halogen.repo = "https://example.com/path/to/git/repo.git"
43−
44− with halogen-vdom.version = "v4.0.0"
45− with halogen-vdom.dependencies = [ "extra-dependency" ] # halogen-vdom.dependencies
46−-------------------------------
47−
48−### Additions
49−
50−Purpose:
51−- Add packages that aren't already included in the default package set
52−
53−Syntax:
54−where `<version>` is:
55−- a tag (i.e. "v4.0.0")
56−- a branch (i.e. "master")
57−- commit hash (i.e. "701f3e44aafb1a6459281714858fadf2c4c2a977")
58−-------------------------------
59−let upstream = --
60−in upstream
61− with new-package-name =
62− { dependencies =
63− [ "dependency1"
64− , "dependency2"
65− ]
66− , repo =
67− "https://example.com/path/to/git/repo.git"
68− , version =
69− "<version>"
70− }
71−-------------------------------
72−
73−Example:
74−-------------------------------
75−let upstream = --
76−in upstream
77− with benchotron =
78− { dependencies =
79− [ "arrays"
80− , "exists"
81− , "profunctor"
82− , "strings"
83− , "quickcheck"
84− , "lcg"
85− , "transformers"
86− , "foldable-traversable"
87− , "exceptions"
88− , "node-fs"
89− , "node-buffer"
90− , "node-readline"
91− , "datetime"
92− , "now"
93− ]
94− , repo =
95− "https://github.com/hdgarrood/purescript-benchotron.git"
96− , version =
97− "v7.0.0"
98− }
99−-------------------------------
100−-}
1011let upstream =
102− https://github.com/purescript/package-sets/releases/download/psc-0.14.1-20210516/packages.dhall sha256:f5e978371d4cdc4b916add9011021509c8d869f4c3f6d0d2694c0e03a85046c8
2+ https://github.com/purescript/package-sets/releases/download/psc-0.15.7-20230227/packages.dhall
3+ sha256:0168e165b4cdb40ab6f7e01448075680097791c8d98f96d684b20d1eef96f3d0
1034
104−in upstream
5+in upstream
spago.dhall+3−1
@@ -17,13 +17,15 @@ to generate this file without the comments in this block.
1717 , "console"
1818 , "effect"
1919 , "either"
20+ , "foreign"
2021 , "http-methods"
22+ , "lists"
2123 , "maybe"
2224 , "media-types"
2325 , "prelude"
24− , "psci-support"
2526 , "simple-json"
2627 , "strings"
28+ , "transformers"
2729 ]
2830, packages = ./packages.dhall
2931, sources = [ "src/**/*.purs" ]
src/GraphQL.purs+126−18
@@ -2,61 +2,169 @@ module GraphQL.FunDeps where
22
33import Prelude
44
5+import Affjax (AffjaxDriver)
56import Affjax as AX
67import Affjax.RequestBody as RequestBody
78import Affjax.RequestHeader (RequestHeader(..))
89import Affjax.ResponseFormat as ResponseFormat
10+import Control.Monad.Error.Class (class MonadThrow)
911import Data.Either (Either(..))
1012import Data.HTTP.Method (Method(..))
13+import Data.List.Types (NonEmptyList)
1114import Data.Maybe (Maybe(..))
1215import Data.MediaType (MediaType(..))
1316import Data.String as String
1417import Data.Symbol (class IsSymbol, reflectSymbol)
1518import Effect.Aff (Aff, error, throwError)
19+import Effect.Aff.Class (class MonadAff, liftAff)
1620import Effect.Class (liftEffect)
1721import Effect.Class.Console as Log
22+import Foreign (ForeignError)
1823import Simple.JSON as JSON
1924import Type.Proxy (Proxy(..))
2025
2126data GraphQL
2227
23−data Gql (operation :: GraphQL)
24− = Gql
28+data Gql (operation :: GraphQL) = Gql
2529
26−class GraphQLReqRes (operation :: GraphQL) (gql :: Symbol) (i :: Row Type) (o :: Row Type) | operation -> gql i o
30+class
31+ GraphQLReqRes
32+ (operation :: GraphQL)
33+ (gql :: Symbol)
34+ (i :: Row Type)
35+ (o :: Row Type)
36+ | operation -> gql i o
2737
2838type Endpoint = String
39+type NetworkErrorInfo =
40+ { endpoint :: Endpoint
41+ , requestHeaders :: Array RequestHeader
42+ , requestBody :: String
43+ , error :: AX.Error
44+ }
2945
30−type GraphQLClient' (operation :: GraphQL) (gql :: Symbol) (i :: Row Type) (o :: Row Type) = GraphQLReqRes operation gql i o => IsSymbol gql => JSON.WriteForeign { | i } => JSON.ReadForeign { | o } => Gql operation -> Record i -> Aff { | o }
46+type ParsingErrorInfo =
47+ { endpoint :: Endpoint
48+ , requestHeaders :: Array RequestHeader
49+ , requestBody :: String
50+ , response :: AX.Response String
51+ , jsonParsingError :: NonEmptyList ForeignError
52+ }
3153
32−type GraphQLClient = forall (operation :: GraphQL) (gql :: Symbol) (i :: Row Type) (o :: Row Type). GraphQLClient' operation gql i o
54+type GraphQLClient''
55+ (operation :: GraphQL)
56+ (gql :: Symbol)
57+ (i :: Row Type)
58+ (o :: Row Type)
59+ (m :: Type -> Type)
60+ (e :: Type) =
61+ GraphQLReqRes operation gql i o
62+ => IsSymbol gql
63+ => JSON.WriteForeign { | i }
64+ => JSON.ReadForeign { | o }
65+ => MonadAff m
66+ => MonadThrow e m
67+ => (NetworkErrorInfo -> e)
68+ -> (ParsingErrorInfo -> e)
69+ -> Gql operation
70+ -> Record i
71+ -> m { | o }
3372
34−graphQL :: Endpoint -> Array RequestHeader -> (forall (operation :: GraphQL) (gql :: Symbol) (i :: Row Type) (o :: Row Type). GraphQLReqRes operation gql i o => IsSymbol gql => JSON.WriteForeign { | i } => JSON.ReadForeign { | o } => Gql operation -> Record i -> Aff { | o })
35−graphQL endpoint headers = go
73+type GraphQLClient =
74+ forall (operation :: GraphQL)
75+ (gql :: Symbol) (i :: Row Type) (o :: Row Type) (m :: Type -> Type) (e :: Type)
76+ . GraphQLReqRes operation gql i o
77+ => IsSymbol gql
78+ => JSON.WriteForeign { | i }
79+ => JSON.ReadForeign { | o }
80+ => MonadAff m
81+ => MonadThrow e m
82+ => (NetworkErrorInfo -> e)
83+ -> (ParsingErrorInfo -> e)
84+ -> Gql operation
85+ -> Record i
86+ -> m { | o }
87+
88+type GraphQLClientAff =
89+ forall (operation :: GraphQL) (gql :: Symbol) (i :: Row Type) (o :: Row Type)
90+ . GraphQLReqRes operation gql i o
91+ => IsSymbol gql
92+ => JSON.WriteForeign { | i }
93+ => JSON.ReadForeign { | o }
94+ => Gql operation
95+ -> Record i
96+ -> Aff { | o }
97+
98+graphQL
99+ :: Endpoint
100+ -> Array RequestHeader
101+ -> AffjaxDriver
102+ -> GraphQLClientAff
103+graphQL endpoint headers driver = graphQL'
104+ endpoint
105+ headers
106+ driver
107+ (error <<< AX.printError <<< _.error)
108+ (error <<< _.body <<< _.response)
109+
110+
111+graphQL' :: Endpoint -> Array RequestHeader -> AffjaxDriver -> GraphQLClient
112+graphQL' endpoint headers' driver = go
36113 where
37− go :: forall (operation :: GraphQL) (gql :: Symbol) (i :: Row Type) (o :: Row Type). GraphQLReqRes operation gql i o => IsSymbol gql => JSON.WriteForeign { | i } => JSON.ReadForeign { | o } => Gql operation -> Record i -> Aff { | o }
38− go _ variables = do
114+ requestHeaders = headers' <> [ ContentType $ MediaType "application/json" ]
115+
116+ go
117+ :: forall (operation :: GraphQL) (gql :: Symbol)
118+ (i :: Row Type) (o :: Row Type) (m :: Type -> Type) (e :: Type)
119+ . GraphQLReqRes operation gql i o
120+ => IsSymbol gql
121+ => JSON.WriteForeign
122+ { | i }
123+ => JSON.ReadForeign { | o }
124+ => MonadAff m
125+ => MonadThrow e m
126+ => (NetworkErrorInfo -> e)
127+ -> (ParsingErrorInfo -> e)
128+ -> Gql operation
129+ -> Record i
130+ -> m { | o }
131+ go networkErrorF readErrorF _ variables = do
39132 let
40133 input =
41134 { variables
42− , query: String.replaceAll (String.Pattern "\n") (String.Replacement " ") (String.replaceAll (String.Pattern "\r\n") (String.Replacement " ") (reflectSymbol (Proxy :: Proxy gql)))
135+ , query: String.replaceAll (String.Pattern "\n")
136+ (String.Replacement " ")
137+ ( String.replaceAll
138+ (String.Pattern "\r\n")
139+ (String.Replacement " ")
140+ (reflectSymbol (Proxy :: Proxy gql))
141+ )
43142 }
143+ requestBody = JSON.writeJSON input
44144 res <-
45− AX.request
145+ liftAff $ AX.request driver
46146 ( AX.defaultRequest
47147 { url = endpoint
48148 , method = Left POST
49149 , responseFormat = ResponseFormat.string
50150 , content =
51− Just
52− (RequestBody.string (JSON.writeJSON input))
53− , headers = headers <> [ContentType $ MediaType "application/json"]
151+ Just
152+ (RequestBody.string requestBody)
153+ , headers = requestHeaders
54154 }
55155 )
56156 case res of
57− Left err -> do
157+ Left error -> do
58158 liftEffect $ Log.info "Request did not go through"
59− throwError (error $ AX.printError err)
159+ throwError (networkErrorF { endpoint, requestHeaders, error, requestBody })
60160 Right response -> case (JSON.readJSON response.body) of
61− Left err1 -> throwError (error $ ("Got an error " <> show response.body <> " err " <> show err1 <> " using input " <> (JSON.writeJSON input)))
62− Right ({ data: d } :: { data :: { | o } }) -> pure d
161+ Left jsonParsingError -> throwError
162+ ( readErrorF
163+ { endpoint
164+ , requestHeaders
165+ , jsonParsingError
166+ , requestBody
167+ , response
168+ }
169+ )
170+ Right ({ data: d } :: { data :: { | o } }) -> pure d
test.dhall+6−4
@@ -1,6 +1,8 @@
11let conf = ./spago.dhall
22
3−in conf // {
4− sources = conf.sources # [ "test/**/*.purs" ],
5− dependencies = conf.dependencies # [ "spec", "foldable-traversable" ]
6−}
3+in conf
4+ // { sources = conf.sources # [ "test/**/*.purs" ]
5+ , dependencies =
6+ conf.dependencies
7+ # [ "spec", "foldable-traversable", "affjax-node" ]
8+ }
test/Main.purs+5−3
@@ -1,12 +1,14 @@
11module Test.Main where
22
33import Prelude
4+
5+import Affjax.Node as AffjaxNode
46import Data.Foldable (for_)
57import Data.Maybe (Maybe(..))
68import Effect (Effect)
79import Effect.Aff (Milliseconds(..), launchAff_)
810import Effect.Class.Console as Log
9−import GraphQL.FunDeps (class GraphQLReqRes, Gql(..), GraphQL, GraphQLClient, graphQL)
11+import GraphQL.FunDeps (class GraphQLReqRes, Gql(..), GraphQL, GraphQLClientAff, graphQL)
1012import Test.Spec (describe, it)
1113import Test.Spec.Reporter.Console (consoleReporter)
1214import Test.Spec.Runner (defaultConfig, runSpec')
@@ -48,8 +50,8 @@ instance graphqlReactFinlandConference ::
4850 }
4951 )
5052
51−client :: GraphQLClient
52−client = graphQL "https://api.react-finland.fi/graphql" []
53+client :: GraphQLClientAff
54+client = graphQL "https://api.react-finland.fi/graphql" [] AffjaxNode.driver
5355
5456main ∷ Effect Unit
5557main =