+8
.changeset/README.md
+8
.changeset/README.md
···
1
+
# Changesets
2
+
3
+
Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works
4
+
with multi-package repos, or single-package repos to help you version and publish your code. You can
5
+
find the full documentation for it [in our repository](https://github.com/changesets/changesets)
6
+
7
+
We have a quick list of common questions to get you started engaging with this project in
8
+
[our documentation](https://github.com/changesets/changesets/blob/master/docs/common-questions.md)
+16
.changeset/config.json
+16
.changeset/config.json
···
1
+
{
2
+
"$schema": "https://unpkg.com/@changesets/config@0.3.0/schema.json",
3
+
"changelog": "../scripts/changelog.js",
4
+
"commit": false,
5
+
"access": "public",
6
+
"baseBranch": "main",
7
+
"updateInternalDependencies": "minor",
8
+
"snapshot": {
9
+
"prereleaseTemplate": "{tag}-{commit}",
10
+
"useCalculatedVersion": true
11
+
},
12
+
"___experimentalUnsafeOptions_WILL_CHANGE_IN_PATCH": {
13
+
"onlyUpdatePeerDependentsWhenOutOfRange": true,
14
+
"updateInternalDependents": "out-of-range"
15
+
}
16
+
}
+1
.gitattributes
+1
.gitattributes
···
1
+
* text=auto
+42
.github/workflows/ci.yml
+42
.github/workflows/ci.yml
···
1
+
name: CI
2
+
3
+
on:
4
+
pull_request:
5
+
pull_request_review:
6
+
types: [submitted, edited]
7
+
branches: changeset-release/main
8
+
push:
9
+
branches:
10
+
- main
11
+
12
+
jobs:
13
+
check:
14
+
name: Checks
15
+
runs-on: ubuntu-latest
16
+
timeout-minutes: 10
17
+
steps:
18
+
- name: Checkout Repo
19
+
uses: actions/checkout@v4
20
+
with:
21
+
fetch-depth: 0
22
+
23
+
- name: Setup pnpm
24
+
uses: pnpm/action-setup@v3
25
+
with:
26
+
version: 9
27
+
run_install: false
28
+
29
+
- name: Setup Node
30
+
uses: actions/setup-node@v4
31
+
with:
32
+
node-version: ${{ matrix.node_version }}
33
+
cache: 'pnpm'
34
+
35
+
- name: Install Dependencies
36
+
run: pnpm install --frozen-lockfile --prefer-offline
37
+
38
+
- name: Type checks
39
+
run: pnpm run check
40
+
41
+
- name: Build
42
+
run: pnpm run build
+60
.github/workflows/release.yml
+60
.github/workflows/release.yml
···
1
+
name: Release
2
+
on:
3
+
push:
4
+
branches:
5
+
- main
6
+
7
+
jobs:
8
+
release:
9
+
name: Release
10
+
runs-on: ubuntu-20.04
11
+
timeout-minutes: 20
12
+
permissions:
13
+
contents: write
14
+
id-token: write
15
+
issues: write
16
+
repository-projects: write
17
+
deployments: write
18
+
packages: write
19
+
pull-requests: write
20
+
steps:
21
+
- name: Checkout Repo
22
+
uses: actions/checkout@v4
23
+
with:
24
+
fetch-depth: 0
25
+
26
+
- name: Setup pnpm
27
+
uses: pnpm/action-setup@v3
28
+
with:
29
+
version: 9
30
+
run_install: false
31
+
32
+
- name: Setup Node
33
+
uses: actions/setup-node@v4
34
+
with:
35
+
node-version: 22
36
+
cache: 'pnpm'
37
+
38
+
- name: Install Dependencies
39
+
run: pnpm install --frozen-lockfile --prefer-offline
40
+
41
+
- name: PR or Publish
42
+
id: changesets
43
+
uses: changesets/action@v1.4.5
44
+
with:
45
+
version: pnpm changeset:version
46
+
publish: pnpm changeset:publish
47
+
env:
48
+
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
49
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
50
+
51
+
- name: Publish Prerelease
52
+
if: steps.changesets.outputs.published != 'true'
53
+
env:
54
+
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
55
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
56
+
run: |
57
+
npm config set "//registry.npmjs.org/:_authToken" "$NPM_TOKEN"
58
+
git reset --hard origin/main
59
+
pnpm changeset version --no-git-tag --snapshot canary
60
+
pnpm changeset publish --no-git-tag --snapshot canary --tag canary
+22
LICENSE.md
+22
LICENSE.md
···
1
+
MIT License
2
+
3
+
Copyright (c) Phil Pluckthun,
4
+
Copyright (c) 650 Industries, Inc. (aka Expo)
5
+
6
+
Permission is hereby granted, free of charge, to any person obtaining a copy
7
+
of this software and associated documentation files (the "Software"), to deal
8
+
in the Software without restriction, including without limitation the rights
9
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+
copies of the Software, and to permit persons to whom the Software is
11
+
furnished to do so, subject to the following conditions:
12
+
13
+
The above copyright notice and this permission notice shall be included in all
14
+
copies or substantial portions of the Software.
15
+
16
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
+
SOFTWARE.
+3
README.md
+3
README.md
+73
package.json
+73
package.json
···
1
+
{
2
+
"name": "fiber-dev",
3
+
"version": "0.0.0",
4
+
"description": "Node.js isolation primitive to run asynchronous worker-like operations without leaking async IO",
5
+
"author": "Phil Pluckthun <phil@kitten.sh>",
6
+
"source": "./src/index.ts",
7
+
"main": "./dist/fiber-dev",
8
+
"module": "./dist/fiber-dev.mjs",
9
+
"types": "./dist/fiber-dev.d.ts",
10
+
"files": [
11
+
"LICENSE.md",
12
+
"README.md",
13
+
"CHANGELOG.md",
14
+
"dist/"
15
+
],
16
+
"scripts": {
17
+
"build": "rollup -c ./scripts/rollup.config.mjs",
18
+
"postbuild": "tsc --noEmit ./dist/fiber-dev.d.ts",
19
+
"check": "tsc --noEmit",
20
+
"clean": "rimraf dist node_modules/.cache",
21
+
"prepublishOnly": "run-s clean build check",
22
+
"prepare": "node ./scripts/prepare.js || true",
23
+
"changeset:version": "changeset version && pnpm install --lockfile-only",
24
+
"changeset:publish": "changeset publish"
25
+
},
26
+
"exports": {
27
+
".": {
28
+
"types": "./dist/fiber-dev.d.ts",
29
+
"import": "./dist/fiber-dev.mjs",
30
+
"require": "./dist/fiber-dev.js",
31
+
"source": "./src/index.ts"
32
+
},
33
+
"./package.json": "./package.json"
34
+
},
35
+
"prettier": {
36
+
"singleQuote": true,
37
+
"arrowParens": "avoid",
38
+
"trailingComma": "es5"
39
+
},
40
+
"lint-staged": {
41
+
"*.{js,ts,json,md}": "prettier --write"
42
+
},
43
+
"keywords": [],
44
+
"license": "MIT",
45
+
"repository": "https://github.com/kitten/fiber-dev",
46
+
"bugs": {
47
+
"url": "https://github.com/kitten/fiber-dev/issues"
48
+
},
49
+
"devDependencies": {
50
+
"@babel/plugin-transform-block-scoping": "^7.25.9",
51
+
"@babel/plugin-transform-typescript": "^7.26.7",
52
+
"@changesets/cli": "^2.27.1",
53
+
"@changesets/get-github-info": "^0.6.0",
54
+
"@rollup/plugin-babel": "^6.0.4",
55
+
"@rollup/plugin-commonjs": "^28.0.2",
56
+
"@rollup/plugin-node-resolve": "^16.0.0",
57
+
"@rollup/plugin-terser": "^0.4.4",
58
+
"@types/node": "^18.19.0",
59
+
"dotenv": "^16.4.7",
60
+
"lint-staged": "^15.4.3",
61
+
"npm-run-all": "^4.1.5",
62
+
"prettier": "^3.4.2",
63
+
"rimraf": "^6.0.1",
64
+
"rollup": "^4.32.1",
65
+
"rollup-plugin-cjs-check": "^1.0.3",
66
+
"rollup-plugin-dts": "^6.1.1",
67
+
"typescript": "^5.7.3"
68
+
},
69
+
"publishConfig": {
70
+
"access": "public",
71
+
"provenance": true
72
+
}
73
+
}
+3511
pnpm-lock.yaml
+3511
pnpm-lock.yaml
···
1
+
lockfileVersion: '9.0'
2
+
3
+
settings:
4
+
autoInstallPeers: true
5
+
excludeLinksFromLockfile: false
6
+
7
+
importers:
8
+
9
+
.:
10
+
devDependencies:
11
+
'@babel/plugin-transform-block-scoping':
12
+
specifier: ^7.25.9
13
+
version: 7.25.9(@babel/core@7.26.9)
14
+
'@babel/plugin-transform-typescript':
15
+
specifier: ^7.26.7
16
+
version: 7.26.8(@babel/core@7.26.9)
17
+
'@changesets/cli':
18
+
specifier: ^2.27.1
19
+
version: 2.28.1
20
+
'@changesets/get-github-info':
21
+
specifier: ^0.6.0
22
+
version: 0.6.0
23
+
'@rollup/plugin-babel':
24
+
specifier: ^6.0.4
25
+
version: 6.0.4(@babel/core@7.26.9)(rollup@4.34.9)
26
+
'@rollup/plugin-commonjs':
27
+
specifier: ^28.0.2
28
+
version: 28.0.3(rollup@4.34.9)
29
+
'@rollup/plugin-node-resolve':
30
+
specifier: ^16.0.0
31
+
version: 16.0.0(rollup@4.34.9)
32
+
'@rollup/plugin-terser':
33
+
specifier: ^0.4.4
34
+
version: 0.4.4(rollup@4.34.9)
35
+
'@types/node':
36
+
specifier: ^18.19.0
37
+
version: 18.19.76
38
+
dotenv:
39
+
specifier: ^16.4.7
40
+
version: 16.4.7
41
+
lint-staged:
42
+
specifier: ^15.4.3
43
+
version: 15.4.3
44
+
npm-run-all:
45
+
specifier: ^4.1.5
46
+
version: 4.1.5
47
+
prettier:
48
+
specifier: ^3.4.2
49
+
version: 3.5.3
50
+
rimraf:
51
+
specifier: ^6.0.1
52
+
version: 6.0.1
53
+
rollup:
54
+
specifier: ^4.32.1
55
+
version: 4.34.9
56
+
rollup-plugin-cjs-check:
57
+
specifier: ^1.0.3
58
+
version: 1.0.3(rollup@4.34.9)
59
+
rollup-plugin-dts:
60
+
specifier: ^6.1.1
61
+
version: 6.1.1(rollup@4.34.9)(typescript@5.7.3)
62
+
typescript:
63
+
specifier: ^5.7.3
64
+
version: 5.7.3
65
+
66
+
packages:
67
+
68
+
'@ampproject/remapping@2.3.0':
69
+
resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
70
+
engines: {node: '>=6.0.0'}
71
+
72
+
'@babel/code-frame@7.26.2':
73
+
resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==}
74
+
engines: {node: '>=6.9.0'}
75
+
76
+
'@babel/compat-data@7.26.8':
77
+
resolution: {integrity: sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==}
78
+
engines: {node: '>=6.9.0'}
79
+
80
+
'@babel/core@7.26.9':
81
+
resolution: {integrity: sha512-lWBYIrF7qK5+GjY5Uy+/hEgp8OJWOD/rpy74GplYRhEauvbHDeFB8t5hPOZxCZ0Oxf4Cc36tK51/l3ymJysrKw==}
82
+
engines: {node: '>=6.9.0'}
83
+
84
+
'@babel/generator@7.26.9':
85
+
resolution: {integrity: sha512-kEWdzjOAUMW4hAyrzJ0ZaTOu9OmpyDIQicIh0zg0EEcEkYXZb2TjtBhnHi2ViX7PKwZqF4xwqfAm299/QMP3lg==}
86
+
engines: {node: '>=6.9.0'}
87
+
88
+
'@babel/helper-annotate-as-pure@7.25.9':
89
+
resolution: {integrity: sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==}
90
+
engines: {node: '>=6.9.0'}
91
+
92
+
'@babel/helper-compilation-targets@7.26.5':
93
+
resolution: {integrity: sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==}
94
+
engines: {node: '>=6.9.0'}
95
+
96
+
'@babel/helper-create-class-features-plugin@7.26.9':
97
+
resolution: {integrity: sha512-ubbUqCofvxPRurw5L8WTsCLSkQiVpov4Qx0WMA+jUN+nXBK8ADPlJO1grkFw5CWKC5+sZSOfuGMdX1aI1iT9Sg==}
98
+
engines: {node: '>=6.9.0'}
99
+
peerDependencies:
100
+
'@babel/core': ^7.0.0
101
+
102
+
'@babel/helper-member-expression-to-functions@7.25.9':
103
+
resolution: {integrity: sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==}
104
+
engines: {node: '>=6.9.0'}
105
+
106
+
'@babel/helper-module-imports@7.25.9':
107
+
resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==}
108
+
engines: {node: '>=6.9.0'}
109
+
110
+
'@babel/helper-module-transforms@7.26.0':
111
+
resolution: {integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==}
112
+
engines: {node: '>=6.9.0'}
113
+
peerDependencies:
114
+
'@babel/core': ^7.0.0
115
+
116
+
'@babel/helper-optimise-call-expression@7.25.9':
117
+
resolution: {integrity: sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==}
118
+
engines: {node: '>=6.9.0'}
119
+
120
+
'@babel/helper-plugin-utils@7.26.5':
121
+
resolution: {integrity: sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==}
122
+
engines: {node: '>=6.9.0'}
123
+
124
+
'@babel/helper-replace-supers@7.26.5':
125
+
resolution: {integrity: sha512-bJ6iIVdYX1YooY2X7w1q6VITt+LnUILtNk7zT78ykuwStx8BauCzxvFqFaHjOpW1bVnSUM1PN1f0p5P21wHxvg==}
126
+
engines: {node: '>=6.9.0'}
127
+
peerDependencies:
128
+
'@babel/core': ^7.0.0
129
+
130
+
'@babel/helper-skip-transparent-expression-wrappers@7.25.9':
131
+
resolution: {integrity: sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==}
132
+
engines: {node: '>=6.9.0'}
133
+
134
+
'@babel/helper-string-parser@7.25.9':
135
+
resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==}
136
+
engines: {node: '>=6.9.0'}
137
+
138
+
'@babel/helper-validator-identifier@7.25.9':
139
+
resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==}
140
+
engines: {node: '>=6.9.0'}
141
+
142
+
'@babel/helper-validator-option@7.25.9':
143
+
resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==}
144
+
engines: {node: '>=6.9.0'}
145
+
146
+
'@babel/helpers@7.26.9':
147
+
resolution: {integrity: sha512-Mz/4+y8udxBKdmzt/UjPACs4G3j5SshJJEFFKxlCGPydG4JAHXxjWjAwjd09tf6oINvl1VfMJo+nB7H2YKQ0dA==}
148
+
engines: {node: '>=6.9.0'}
149
+
150
+
'@babel/parser@7.26.9':
151
+
resolution: {integrity: sha512-81NWa1njQblgZbQHxWHpxxCzNsa3ZwvFqpUg7P+NNUU6f3UU2jBEg4OlF/J6rl8+PQGh1q6/zWScd001YwcA5A==}
152
+
engines: {node: '>=6.0.0'}
153
+
hasBin: true
154
+
155
+
'@babel/plugin-syntax-typescript@7.25.9':
156
+
resolution: {integrity: sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==}
157
+
engines: {node: '>=6.9.0'}
158
+
peerDependencies:
159
+
'@babel/core': ^7.0.0-0
160
+
161
+
'@babel/plugin-transform-block-scoping@7.25.9':
162
+
resolution: {integrity: sha512-1F05O7AYjymAtqbsFETboN1NvBdcnzMerO+zlMyJBEz6WkMdejvGWw9p05iTSjC85RLlBseHHQpYaM4gzJkBGg==}
163
+
engines: {node: '>=6.9.0'}
164
+
peerDependencies:
165
+
'@babel/core': ^7.0.0-0
166
+
167
+
'@babel/plugin-transform-typescript@7.26.8':
168
+
resolution: {integrity: sha512-bME5J9AC8ChwA7aEPJ6zym3w7aObZULHhbNLU0bKUhKsAkylkzUdq+0kdymh9rzi8nlNFl2bmldFBCKNJBUpuw==}
169
+
engines: {node: '>=6.9.0'}
170
+
peerDependencies:
171
+
'@babel/core': ^7.0.0-0
172
+
173
+
'@babel/runtime@7.26.9':
174
+
resolution: {integrity: sha512-aA63XwOkcl4xxQa3HjPMqOP6LiK0ZDv3mUPYEFXkpHbaFjtGggE1A61FjFzJnB+p7/oy2gA8E+rcBNl/zC1tMg==}
175
+
engines: {node: '>=6.9.0'}
176
+
177
+
'@babel/template@7.26.9':
178
+
resolution: {integrity: sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA==}
179
+
engines: {node: '>=6.9.0'}
180
+
181
+
'@babel/traverse@7.26.9':
182
+
resolution: {integrity: sha512-ZYW7L+pL8ahU5fXmNbPF+iZFHCv5scFak7MZ9bwaRPLUhHh7QQEMjZUg0HevihoqCM5iSYHN61EyCoZvqC+bxg==}
183
+
engines: {node: '>=6.9.0'}
184
+
185
+
'@babel/types@7.26.9':
186
+
resolution: {integrity: sha512-Y3IR1cRnOxOCDvMmNiym7XpXQ93iGDDPHx+Zj+NM+rg0fBaShfQLkg+hKPaZCEvg5N/LeCo4+Rj/i3FuJsIQaw==}
187
+
engines: {node: '>=6.9.0'}
188
+
189
+
'@changesets/apply-release-plan@7.0.10':
190
+
resolution: {integrity: sha512-wNyeIJ3yDsVspYvHnEz1xQDq18D9ifed3lI+wxRQRK4pArUcuHgCTrHv0QRnnwjhVCQACxZ+CBih3wgOct6UXw==}
191
+
192
+
'@changesets/assemble-release-plan@6.0.6':
193
+
resolution: {integrity: sha512-Frkj8hWJ1FRZiY3kzVCKzS0N5mMwWKwmv9vpam7vt8rZjLL1JMthdh6pSDVSPumHPshTTkKZ0VtNbE0cJHZZUg==}
194
+
195
+
'@changesets/changelog-git@0.2.1':
196
+
resolution: {integrity: sha512-x/xEleCFLH28c3bQeQIyeZf8lFXyDFVn1SgcBiR2Tw/r4IAWlk1fzxCEZ6NxQAjF2Nwtczoen3OA2qR+UawQ8Q==}
197
+
198
+
'@changesets/cli@2.28.1':
199
+
resolution: {integrity: sha512-PiIyGRmSc6JddQJe/W1hRPjiN4VrMvb2VfQ6Uydy2punBioQrsxppyG5WafinKcW1mT0jOe/wU4k9Zy5ff21AA==}
200
+
hasBin: true
201
+
202
+
'@changesets/config@3.1.1':
203
+
resolution: {integrity: sha512-bd+3Ap2TKXxljCggI0mKPfzCQKeV/TU4yO2h2C6vAihIo8tzseAn2e7klSuiyYYXvgu53zMN1OeYMIQkaQoWnA==}
204
+
205
+
'@changesets/errors@0.2.0':
206
+
resolution: {integrity: sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow==}
207
+
208
+
'@changesets/get-dependents-graph@2.1.3':
209
+
resolution: {integrity: sha512-gphr+v0mv2I3Oxt19VdWRRUxq3sseyUpX9DaHpTUmLj92Y10AGy+XOtV+kbM6L/fDcpx7/ISDFK6T8A/P3lOdQ==}
210
+
211
+
'@changesets/get-github-info@0.6.0':
212
+
resolution: {integrity: sha512-v/TSnFVXI8vzX9/w3DU2Ol+UlTZcu3m0kXTjTT4KlAdwSvwutcByYwyYn9hwerPWfPkT2JfpoX0KgvCEi8Q/SA==}
213
+
214
+
'@changesets/get-release-plan@4.0.8':
215
+
resolution: {integrity: sha512-MM4mq2+DQU1ZT7nqxnpveDMTkMBLnwNX44cX7NSxlXmr7f8hO6/S2MXNiXG54uf/0nYnefv0cfy4Czf/ZL/EKQ==}
216
+
217
+
'@changesets/get-version-range-type@0.4.0':
218
+
resolution: {integrity: sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==}
219
+
220
+
'@changesets/git@3.0.2':
221
+
resolution: {integrity: sha512-r1/Kju9Y8OxRRdvna+nxpQIsMsRQn9dhhAZt94FLDeu0Hij2hnOozW8iqnHBgvu+KdnJppCveQwK4odwfw/aWQ==}
222
+
223
+
'@changesets/logger@0.1.1':
224
+
resolution: {integrity: sha512-OQtR36ZlnuTxKqoW4Sv6x5YIhOmClRd5pWsjZsddYxpWs517R0HkyiefQPIytCVh4ZcC5x9XaG8KTdd5iRQUfg==}
225
+
226
+
'@changesets/parse@0.4.1':
227
+
resolution: {integrity: sha512-iwksMs5Bf/wUItfcg+OXrEpravm5rEd9Bf4oyIPL4kVTmJQ7PNDSd6MDYkpSJR1pn7tz/k8Zf2DhTCqX08Ou+Q==}
228
+
229
+
'@changesets/pre@2.0.2':
230
+
resolution: {integrity: sha512-HaL/gEyFVvkf9KFg6484wR9s0qjAXlZ8qWPDkTyKF6+zqjBe/I2mygg3MbpZ++hdi0ToqNUF8cjj7fBy0dg8Ug==}
231
+
232
+
'@changesets/read@0.6.3':
233
+
resolution: {integrity: sha512-9H4p/OuJ3jXEUTjaVGdQEhBdqoT2cO5Ts95JTFsQyawmKzpL8FnIeJSyhTDPW1MBRDnwZlHFEM9SpPwJDY5wIg==}
234
+
235
+
'@changesets/should-skip-package@0.1.2':
236
+
resolution: {integrity: sha512-qAK/WrqWLNCP22UDdBTMPH5f41elVDlsNyat180A33dWxuUDyNpg6fPi/FyTZwRriVjg0L8gnjJn2F9XAoF0qw==}
237
+
238
+
'@changesets/types@4.1.0':
239
+
resolution: {integrity: sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==}
240
+
241
+
'@changesets/types@6.1.0':
242
+
resolution: {integrity: sha512-rKQcJ+o1nKNgeoYRHKOS07tAMNd3YSN0uHaJOZYjBAgxfV7TUE7JE+z4BzZdQwb5hKaYbayKN5KrYV7ODb2rAA==}
243
+
244
+
'@changesets/write@0.4.0':
245
+
resolution: {integrity: sha512-CdTLvIOPiCNuH71pyDu3rA+Q0n65cmAbXnwWH84rKGiFumFzkmHNT8KHTMEchcxN+Kl8I54xGUhJ7l3E7X396Q==}
246
+
247
+
'@isaacs/cliui@8.0.2':
248
+
resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
249
+
engines: {node: '>=12'}
250
+
251
+
'@jridgewell/gen-mapping@0.3.8':
252
+
resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==}
253
+
engines: {node: '>=6.0.0'}
254
+
255
+
'@jridgewell/resolve-uri@3.1.2':
256
+
resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
257
+
engines: {node: '>=6.0.0'}
258
+
259
+
'@jridgewell/set-array@1.2.1':
260
+
resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
261
+
engines: {node: '>=6.0.0'}
262
+
263
+
'@jridgewell/source-map@0.3.6':
264
+
resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==}
265
+
266
+
'@jridgewell/sourcemap-codec@1.5.0':
267
+
resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==}
268
+
269
+
'@jridgewell/trace-mapping@0.3.25':
270
+
resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
271
+
272
+
'@manypkg/find-root@1.1.0':
273
+
resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==}
274
+
275
+
'@manypkg/get-packages@1.1.3':
276
+
resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==}
277
+
278
+
'@nodelib/fs.scandir@2.1.5':
279
+
resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
280
+
engines: {node: '>= 8'}
281
+
282
+
'@nodelib/fs.stat@2.0.5':
283
+
resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
284
+
engines: {node: '>= 8'}
285
+
286
+
'@nodelib/fs.walk@1.2.8':
287
+
resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
288
+
engines: {node: '>= 8'}
289
+
290
+
'@rollup/plugin-babel@6.0.4':
291
+
resolution: {integrity: sha512-YF7Y52kFdFT/xVSuVdjkV5ZdX/3YtmX0QulG+x0taQOtJdHYzVU61aSSkAgVJ7NOv6qPkIYiJSgSWWN/DM5sGw==}
292
+
engines: {node: '>=14.0.0'}
293
+
peerDependencies:
294
+
'@babel/core': ^7.0.0
295
+
'@types/babel__core': ^7.1.9
296
+
rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
297
+
peerDependenciesMeta:
298
+
'@types/babel__core':
299
+
optional: true
300
+
rollup:
301
+
optional: true
302
+
303
+
'@rollup/plugin-commonjs@28.0.3':
304
+
resolution: {integrity: sha512-pyltgilam1QPdn+Zd9gaCfOLcnjMEJ9gV+bTw6/r73INdvzf1ah9zLIJBm+kW7R6IUFIQ1YO+VqZtYxZNWFPEQ==}
305
+
engines: {node: '>=16.0.0 || 14 >= 14.17'}
306
+
peerDependencies:
307
+
rollup: ^2.68.0||^3.0.0||^4.0.0
308
+
peerDependenciesMeta:
309
+
rollup:
310
+
optional: true
311
+
312
+
'@rollup/plugin-node-resolve@16.0.0':
313
+
resolution: {integrity: sha512-0FPvAeVUT/zdWoO0jnb/V5BlBsUSNfkIOtFHzMO4H9MOklrmQFY6FduVHKucNb/aTFxvnGhj4MNj/T1oNdDfNg==}
314
+
engines: {node: '>=14.0.0'}
315
+
peerDependencies:
316
+
rollup: ^2.78.0||^3.0.0||^4.0.0
317
+
peerDependenciesMeta:
318
+
rollup:
319
+
optional: true
320
+
321
+
'@rollup/plugin-terser@0.4.4':
322
+
resolution: {integrity: sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==}
323
+
engines: {node: '>=14.0.0'}
324
+
peerDependencies:
325
+
rollup: ^2.0.0||^3.0.0||^4.0.0
326
+
peerDependenciesMeta:
327
+
rollup:
328
+
optional: true
329
+
330
+
'@rollup/pluginutils@5.1.4':
331
+
resolution: {integrity: sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==}
332
+
engines: {node: '>=14.0.0'}
333
+
peerDependencies:
334
+
rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
335
+
peerDependenciesMeta:
336
+
rollup:
337
+
optional: true
338
+
339
+
'@rollup/rollup-android-arm-eabi@4.34.9':
340
+
resolution: {integrity: sha512-qZdlImWXur0CFakn2BJ2znJOdqYZKiedEPEVNTBrpfPjc/YuTGcaYZcdmNFTkUj3DU0ZM/AElcM8Ybww3xVLzA==}
341
+
cpu: [arm]
342
+
os: [android]
343
+
344
+
'@rollup/rollup-android-arm64@4.34.9':
345
+
resolution: {integrity: sha512-4KW7P53h6HtJf5Y608T1ISKvNIYLWRKMvfnG0c44M6In4DQVU58HZFEVhWINDZKp7FZps98G3gxwC1sb0wXUUg==}
346
+
cpu: [arm64]
347
+
os: [android]
348
+
349
+
'@rollup/rollup-darwin-arm64@4.34.9':
350
+
resolution: {integrity: sha512-0CY3/K54slrzLDjOA7TOjN1NuLKERBgk9nY5V34mhmuu673YNb+7ghaDUs6N0ujXR7fz5XaS5Aa6d2TNxZd0OQ==}
351
+
cpu: [arm64]
352
+
os: [darwin]
353
+
354
+
'@rollup/rollup-darwin-x64@4.34.9':
355
+
resolution: {integrity: sha512-eOojSEAi/acnsJVYRxnMkPFqcxSMFfrw7r2iD9Q32SGkb/Q9FpUY1UlAu1DH9T7j++gZ0lHjnm4OyH2vCI7l7Q==}
356
+
cpu: [x64]
357
+
os: [darwin]
358
+
359
+
'@rollup/rollup-freebsd-arm64@4.34.9':
360
+
resolution: {integrity: sha512-2lzjQPJbN5UnHm7bHIUKFMulGTQwdvOkouJDpPysJS+QFBGDJqcfh+CxxtG23Ik/9tEvnebQiylYoazFMAgrYw==}
361
+
cpu: [arm64]
362
+
os: [freebsd]
363
+
364
+
'@rollup/rollup-freebsd-x64@4.34.9':
365
+
resolution: {integrity: sha512-SLl0hi2Ah2H7xQYd6Qaiu01kFPzQ+hqvdYSoOtHYg/zCIFs6t8sV95kaoqjzjFwuYQLtOI0RZre/Ke0nPaQV+g==}
366
+
cpu: [x64]
367
+
os: [freebsd]
368
+
369
+
'@rollup/rollup-linux-arm-gnueabihf@4.34.9':
370
+
resolution: {integrity: sha512-88I+D3TeKItrw+Y/2ud4Tw0+3CxQ2kLgu3QvrogZ0OfkmX/DEppehus7L3TS2Q4lpB+hYyxhkQiYPJ6Mf5/dPg==}
371
+
cpu: [arm]
372
+
os: [linux]
373
+
374
+
'@rollup/rollup-linux-arm-musleabihf@4.34.9':
375
+
resolution: {integrity: sha512-3qyfWljSFHi9zH0KgtEPG4cBXHDFhwD8kwg6xLfHQ0IWuH9crp005GfoUUh/6w9/FWGBwEHg3lxK1iHRN1MFlA==}
376
+
cpu: [arm]
377
+
os: [linux]
378
+
379
+
'@rollup/rollup-linux-arm64-gnu@4.34.9':
380
+
resolution: {integrity: sha512-6TZjPHjKZUQKmVKMUowF3ewHxctrRR09eYyvT5eFv8w/fXarEra83A2mHTVJLA5xU91aCNOUnM+DWFMSbQ0Nxw==}
381
+
cpu: [arm64]
382
+
os: [linux]
383
+
384
+
'@rollup/rollup-linux-arm64-musl@4.34.9':
385
+
resolution: {integrity: sha512-LD2fytxZJZ6xzOKnMbIpgzFOuIKlxVOpiMAXawsAZ2mHBPEYOnLRK5TTEsID6z4eM23DuO88X0Tq1mErHMVq0A==}
386
+
cpu: [arm64]
387
+
os: [linux]
388
+
389
+
'@rollup/rollup-linux-loongarch64-gnu@4.34.9':
390
+
resolution: {integrity: sha512-dRAgTfDsn0TE0HI6cmo13hemKpVHOEyeciGtvlBTkpx/F65kTvShtY/EVyZEIfxFkV5JJTuQ9tP5HGBS0hfxIg==}
391
+
cpu: [loong64]
392
+
os: [linux]
393
+
394
+
'@rollup/rollup-linux-powerpc64le-gnu@4.34.9':
395
+
resolution: {integrity: sha512-PHcNOAEhkoMSQtMf+rJofwisZqaU8iQ8EaSps58f5HYll9EAY5BSErCZ8qBDMVbq88h4UxaNPlbrKqfWP8RfJA==}
396
+
cpu: [ppc64]
397
+
os: [linux]
398
+
399
+
'@rollup/rollup-linux-riscv64-gnu@4.34.9':
400
+
resolution: {integrity: sha512-Z2i0Uy5G96KBYKjeQFKbbsB54xFOL5/y1P5wNBsbXB8yE+At3oh0DVMjQVzCJRJSfReiB2tX8T6HUFZ2k8iaKg==}
401
+
cpu: [riscv64]
402
+
os: [linux]
403
+
404
+
'@rollup/rollup-linux-s390x-gnu@4.34.9':
405
+
resolution: {integrity: sha512-U+5SwTMoeYXoDzJX5dhDTxRltSrIax8KWwfaaYcynuJw8mT33W7oOgz0a+AaXtGuvhzTr2tVKh5UO8GVANTxyQ==}
406
+
cpu: [s390x]
407
+
os: [linux]
408
+
409
+
'@rollup/rollup-linux-x64-gnu@4.34.9':
410
+
resolution: {integrity: sha512-FwBHNSOjUTQLP4MG7y6rR6qbGw4MFeQnIBrMe161QGaQoBQLqSUEKlHIiVgF3g/mb3lxlxzJOpIBhaP+C+KP2A==}
411
+
cpu: [x64]
412
+
os: [linux]
413
+
414
+
'@rollup/rollup-linux-x64-musl@4.34.9':
415
+
resolution: {integrity: sha512-cYRpV4650z2I3/s6+5/LONkjIz8MBeqrk+vPXV10ORBnshpn8S32bPqQ2Utv39jCiDcO2eJTuSlPXpnvmaIgRA==}
416
+
cpu: [x64]
417
+
os: [linux]
418
+
419
+
'@rollup/rollup-win32-arm64-msvc@4.34.9':
420
+
resolution: {integrity: sha512-z4mQK9dAN6byRA/vsSgQiPeuO63wdiDxZ9yg9iyX2QTzKuQM7T4xlBoeUP/J8uiFkqxkcWndWi+W7bXdPbt27Q==}
421
+
cpu: [arm64]
422
+
os: [win32]
423
+
424
+
'@rollup/rollup-win32-ia32-msvc@4.34.9':
425
+
resolution: {integrity: sha512-KB48mPtaoHy1AwDNkAJfHXvHp24H0ryZog28spEs0V48l3H1fr4i37tiyHsgKZJnCmvxsbATdZGBpbmxTE3a9w==}
426
+
cpu: [ia32]
427
+
os: [win32]
428
+
429
+
'@rollup/rollup-win32-x64-msvc@4.34.9':
430
+
resolution: {integrity: sha512-AyleYRPU7+rgkMWbEh71fQlrzRfeP6SyMnRf9XX4fCdDPAJumdSBqYEcWPMzVQ4ScAl7E4oFfK0GUVn77xSwbw==}
431
+
cpu: [x64]
432
+
os: [win32]
433
+
434
+
'@types/estree@1.0.6':
435
+
resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==}
436
+
437
+
'@types/node@12.20.55':
438
+
resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==}
439
+
440
+
'@types/node@18.19.76':
441
+
resolution: {integrity: sha512-yvR7Q9LdPz2vGpmpJX5LolrgRdWvB67MJKDPSgIIzpFbaf9a1j/f5DnLp5VDyHGMR0QZHlTr1afsD87QCXFHKw==}
442
+
443
+
'@types/resolve@1.20.2':
444
+
resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==}
445
+
446
+
acorn@8.14.1:
447
+
resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==}
448
+
engines: {node: '>=0.4.0'}
449
+
hasBin: true
450
+
451
+
ansi-colors@4.1.3:
452
+
resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==}
453
+
engines: {node: '>=6'}
454
+
455
+
ansi-escapes@7.0.0:
456
+
resolution: {integrity: sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==}
457
+
engines: {node: '>=18'}
458
+
459
+
ansi-regex@5.0.1:
460
+
resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
461
+
engines: {node: '>=8'}
462
+
463
+
ansi-regex@6.1.0:
464
+
resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==}
465
+
engines: {node: '>=12'}
466
+
467
+
ansi-styles@3.2.1:
468
+
resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
469
+
engines: {node: '>=4'}
470
+
471
+
ansi-styles@4.3.0:
472
+
resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
473
+
engines: {node: '>=8'}
474
+
475
+
ansi-styles@6.2.1:
476
+
resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
477
+
engines: {node: '>=12'}
478
+
479
+
argparse@1.0.10:
480
+
resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==}
481
+
482
+
array-buffer-byte-length@1.0.2:
483
+
resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==}
484
+
engines: {node: '>= 0.4'}
485
+
486
+
array-union@2.1.0:
487
+
resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
488
+
engines: {node: '>=8'}
489
+
490
+
arraybuffer.prototype.slice@1.0.4:
491
+
resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==}
492
+
engines: {node: '>= 0.4'}
493
+
494
+
async-function@1.0.0:
495
+
resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==}
496
+
engines: {node: '>= 0.4'}
497
+
498
+
available-typed-arrays@1.0.7:
499
+
resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
500
+
engines: {node: '>= 0.4'}
501
+
502
+
balanced-match@1.0.2:
503
+
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
504
+
505
+
better-path-resolve@1.0.0:
506
+
resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==}
507
+
engines: {node: '>=4'}
508
+
509
+
brace-expansion@1.1.11:
510
+
resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
511
+
512
+
brace-expansion@2.0.1:
513
+
resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
514
+
515
+
braces@3.0.3:
516
+
resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
517
+
engines: {node: '>=8'}
518
+
519
+
browserslist@4.24.4:
520
+
resolution: {integrity: sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==}
521
+
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
522
+
hasBin: true
523
+
524
+
buffer-from@1.1.2:
525
+
resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
526
+
527
+
call-bind-apply-helpers@1.0.2:
528
+
resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==}
529
+
engines: {node: '>= 0.4'}
530
+
531
+
call-bind@1.0.8:
532
+
resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==}
533
+
engines: {node: '>= 0.4'}
534
+
535
+
call-bound@1.0.4:
536
+
resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==}
537
+
engines: {node: '>= 0.4'}
538
+
539
+
caniuse-lite@1.0.30001703:
540
+
resolution: {integrity: sha512-kRlAGTRWgPsOj7oARC9m1okJEXdL/8fekFVcxA8Hl7GH4r/sN4OJn/i6Flde373T50KS7Y37oFbMwlE8+F42kQ==}
541
+
542
+
chalk@2.4.2:
543
+
resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
544
+
engines: {node: '>=4'}
545
+
546
+
chalk@5.4.1:
547
+
resolution: {integrity: sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==}
548
+
engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
549
+
550
+
chardet@0.7.0:
551
+
resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==}
552
+
553
+
ci-info@3.9.0:
554
+
resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==}
555
+
engines: {node: '>=8'}
556
+
557
+
cjs-module-lexer@1.4.3:
558
+
resolution: {integrity: sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==}
559
+
560
+
cli-cursor@5.0.0:
561
+
resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==}
562
+
engines: {node: '>=18'}
563
+
564
+
cli-truncate@4.0.0:
565
+
resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==}
566
+
engines: {node: '>=18'}
567
+
568
+
color-convert@1.9.3:
569
+
resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
570
+
571
+
color-convert@2.0.1:
572
+
resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
573
+
engines: {node: '>=7.0.0'}
574
+
575
+
color-name@1.1.3:
576
+
resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
577
+
578
+
color-name@1.1.4:
579
+
resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
580
+
581
+
colorette@2.0.20:
582
+
resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==}
583
+
584
+
commander@13.1.0:
585
+
resolution: {integrity: sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==}
586
+
engines: {node: '>=18'}
587
+
588
+
commander@2.20.3:
589
+
resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
590
+
591
+
commondir@1.0.1:
592
+
resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==}
593
+
594
+
concat-map@0.0.1:
595
+
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
596
+
597
+
convert-source-map@2.0.0:
598
+
resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
599
+
600
+
cross-spawn@6.0.6:
601
+
resolution: {integrity: sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw==}
602
+
engines: {node: '>=4.8'}
603
+
604
+
cross-spawn@7.0.6:
605
+
resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
606
+
engines: {node: '>= 8'}
607
+
608
+
data-view-buffer@1.0.2:
609
+
resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==}
610
+
engines: {node: '>= 0.4'}
611
+
612
+
data-view-byte-length@1.0.2:
613
+
resolution: {integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==}
614
+
engines: {node: '>= 0.4'}
615
+
616
+
data-view-byte-offset@1.0.1:
617
+
resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==}
618
+
engines: {node: '>= 0.4'}
619
+
620
+
dataloader@1.4.0:
621
+
resolution: {integrity: sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw==}
622
+
623
+
debug@4.4.0:
624
+
resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==}
625
+
engines: {node: '>=6.0'}
626
+
peerDependencies:
627
+
supports-color: '*'
628
+
peerDependenciesMeta:
629
+
supports-color:
630
+
optional: true
631
+
632
+
deepmerge@4.3.1:
633
+
resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
634
+
engines: {node: '>=0.10.0'}
635
+
636
+
define-data-property@1.1.4:
637
+
resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==}
638
+
engines: {node: '>= 0.4'}
639
+
640
+
define-properties@1.2.1:
641
+
resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}
642
+
engines: {node: '>= 0.4'}
643
+
644
+
detect-indent@6.1.0:
645
+
resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==}
646
+
engines: {node: '>=8'}
647
+
648
+
dir-glob@3.0.1:
649
+
resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
650
+
engines: {node: '>=8'}
651
+
652
+
dotenv@16.4.7:
653
+
resolution: {integrity: sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==}
654
+
engines: {node: '>=12'}
655
+
656
+
dunder-proto@1.0.1:
657
+
resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==}
658
+
engines: {node: '>= 0.4'}
659
+
660
+
eastasianwidth@0.2.0:
661
+
resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
662
+
663
+
electron-to-chromium@1.5.114:
664
+
resolution: {integrity: sha512-DFptFef3iktoKlFQK/afbo274/XNWD00Am0xa7M8FZUepHlHT8PEuiNBoRfFHbH1okqN58AlhbJ4QTkcnXorjA==}
665
+
666
+
emoji-regex@10.4.0:
667
+
resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==}
668
+
669
+
emoji-regex@8.0.0:
670
+
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
671
+
672
+
emoji-regex@9.2.2:
673
+
resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
674
+
675
+
enquirer@2.4.1:
676
+
resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==}
677
+
engines: {node: '>=8.6'}
678
+
679
+
environment@1.1.0:
680
+
resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==}
681
+
engines: {node: '>=18'}
682
+
683
+
error-ex@1.3.2:
684
+
resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
685
+
686
+
es-abstract@1.23.9:
687
+
resolution: {integrity: sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==}
688
+
engines: {node: '>= 0.4'}
689
+
690
+
es-define-property@1.0.1:
691
+
resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==}
692
+
engines: {node: '>= 0.4'}
693
+
694
+
es-errors@1.3.0:
695
+
resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
696
+
engines: {node: '>= 0.4'}
697
+
698
+
es-object-atoms@1.1.1:
699
+
resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==}
700
+
engines: {node: '>= 0.4'}
701
+
702
+
es-set-tostringtag@2.1.0:
703
+
resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==}
704
+
engines: {node: '>= 0.4'}
705
+
706
+
es-to-primitive@1.3.0:
707
+
resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==}
708
+
engines: {node: '>= 0.4'}
709
+
710
+
escalade@3.2.0:
711
+
resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
712
+
engines: {node: '>=6'}
713
+
714
+
escape-string-regexp@1.0.5:
715
+
resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
716
+
engines: {node: '>=0.8.0'}
717
+
718
+
esprima@4.0.1:
719
+
resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
720
+
engines: {node: '>=4'}
721
+
hasBin: true
722
+
723
+
estree-walker@2.0.2:
724
+
resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
725
+
726
+
eventemitter3@5.0.1:
727
+
resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==}
728
+
729
+
execa@8.0.1:
730
+
resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==}
731
+
engines: {node: '>=16.17'}
732
+
733
+
extendable-error@0.1.7:
734
+
resolution: {integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==}
735
+
736
+
external-editor@3.1.0:
737
+
resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==}
738
+
engines: {node: '>=4'}
739
+
740
+
fast-glob@3.3.3:
741
+
resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==}
742
+
engines: {node: '>=8.6.0'}
743
+
744
+
fastq@1.19.1:
745
+
resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==}
746
+
747
+
fdir@6.4.3:
748
+
resolution: {integrity: sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw==}
749
+
peerDependencies:
750
+
picomatch: ^3 || ^4
751
+
peerDependenciesMeta:
752
+
picomatch:
753
+
optional: true
754
+
755
+
fill-range@7.1.1:
756
+
resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
757
+
engines: {node: '>=8'}
758
+
759
+
find-up@4.1.0:
760
+
resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
761
+
engines: {node: '>=8'}
762
+
763
+
for-each@0.3.5:
764
+
resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==}
765
+
engines: {node: '>= 0.4'}
766
+
767
+
foreground-child@3.3.1:
768
+
resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==}
769
+
engines: {node: '>=14'}
770
+
771
+
fs-extra@7.0.1:
772
+
resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==}
773
+
engines: {node: '>=6 <7 || >=8'}
774
+
775
+
fs-extra@8.1.0:
776
+
resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==}
777
+
engines: {node: '>=6 <7 || >=8'}
778
+
779
+
fsevents@2.3.3:
780
+
resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
781
+
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
782
+
os: [darwin]
783
+
784
+
function-bind@1.1.2:
785
+
resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
786
+
787
+
function.prototype.name@1.1.8:
788
+
resolution: {integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==}
789
+
engines: {node: '>= 0.4'}
790
+
791
+
functions-have-names@1.2.3:
792
+
resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
793
+
794
+
gensync@1.0.0-beta.2:
795
+
resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
796
+
engines: {node: '>=6.9.0'}
797
+
798
+
get-east-asian-width@1.3.0:
799
+
resolution: {integrity: sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==}
800
+
engines: {node: '>=18'}
801
+
802
+
get-intrinsic@1.3.0:
803
+
resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==}
804
+
engines: {node: '>= 0.4'}
805
+
806
+
get-proto@1.0.1:
807
+
resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==}
808
+
engines: {node: '>= 0.4'}
809
+
810
+
get-stream@8.0.1:
811
+
resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==}
812
+
engines: {node: '>=16'}
813
+
814
+
get-symbol-description@1.1.0:
815
+
resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==}
816
+
engines: {node: '>= 0.4'}
817
+
818
+
glob-parent@5.1.2:
819
+
resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
820
+
engines: {node: '>= 6'}
821
+
822
+
glob@11.0.1:
823
+
resolution: {integrity: sha512-zrQDm8XPnYEKawJScsnM0QzobJxlT/kHOOlRTio8IH/GrmxRE5fjllkzdaHclIuNjUQTJYH2xHNIGfdpJkDJUw==}
824
+
engines: {node: 20 || >=22}
825
+
hasBin: true
826
+
827
+
globals@11.12.0:
828
+
resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
829
+
engines: {node: '>=4'}
830
+
831
+
globalthis@1.0.4:
832
+
resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==}
833
+
engines: {node: '>= 0.4'}
834
+
835
+
globby@11.1.0:
836
+
resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
837
+
engines: {node: '>=10'}
838
+
839
+
gopd@1.2.0:
840
+
resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==}
841
+
engines: {node: '>= 0.4'}
842
+
843
+
graceful-fs@4.2.11:
844
+
resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
845
+
846
+
has-bigints@1.1.0:
847
+
resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==}
848
+
engines: {node: '>= 0.4'}
849
+
850
+
has-flag@3.0.0:
851
+
resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
852
+
engines: {node: '>=4'}
853
+
854
+
has-property-descriptors@1.0.2:
855
+
resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==}
856
+
857
+
has-proto@1.2.0:
858
+
resolution: {integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==}
859
+
engines: {node: '>= 0.4'}
860
+
861
+
has-symbols@1.1.0:
862
+
resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==}
863
+
engines: {node: '>= 0.4'}
864
+
865
+
has-tostringtag@1.0.2:
866
+
resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==}
867
+
engines: {node: '>= 0.4'}
868
+
869
+
hasown@2.0.2:
870
+
resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
871
+
engines: {node: '>= 0.4'}
872
+
873
+
hosted-git-info@2.8.9:
874
+
resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==}
875
+
876
+
human-id@4.1.1:
877
+
resolution: {integrity: sha512-3gKm/gCSUipeLsRYZbbdA1BD83lBoWUkZ7G9VFrhWPAU76KwYo5KR8V28bpoPm/ygy0x5/GCbpRQdY7VLYCoIg==}
878
+
hasBin: true
879
+
880
+
human-signals@5.0.0:
881
+
resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==}
882
+
engines: {node: '>=16.17.0'}
883
+
884
+
iconv-lite@0.4.24:
885
+
resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
886
+
engines: {node: '>=0.10.0'}
887
+
888
+
ignore@5.3.2:
889
+
resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
890
+
engines: {node: '>= 4'}
891
+
892
+
internal-slot@1.1.0:
893
+
resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==}
894
+
engines: {node: '>= 0.4'}
895
+
896
+
is-array-buffer@3.0.5:
897
+
resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==}
898
+
engines: {node: '>= 0.4'}
899
+
900
+
is-arrayish@0.2.1:
901
+
resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
902
+
903
+
is-async-function@2.1.1:
904
+
resolution: {integrity: sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==}
905
+
engines: {node: '>= 0.4'}
906
+
907
+
is-bigint@1.1.0:
908
+
resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==}
909
+
engines: {node: '>= 0.4'}
910
+
911
+
is-boolean-object@1.2.2:
912
+
resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==}
913
+
engines: {node: '>= 0.4'}
914
+
915
+
is-callable@1.2.7:
916
+
resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
917
+
engines: {node: '>= 0.4'}
918
+
919
+
is-core-module@2.16.1:
920
+
resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==}
921
+
engines: {node: '>= 0.4'}
922
+
923
+
is-data-view@1.0.2:
924
+
resolution: {integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==}
925
+
engines: {node: '>= 0.4'}
926
+
927
+
is-date-object@1.1.0:
928
+
resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==}
929
+
engines: {node: '>= 0.4'}
930
+
931
+
is-extglob@2.1.1:
932
+
resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
933
+
engines: {node: '>=0.10.0'}
934
+
935
+
is-finalizationregistry@1.1.1:
936
+
resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==}
937
+
engines: {node: '>= 0.4'}
938
+
939
+
is-fullwidth-code-point@3.0.0:
940
+
resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
941
+
engines: {node: '>=8'}
942
+
943
+
is-fullwidth-code-point@4.0.0:
944
+
resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==}
945
+
engines: {node: '>=12'}
946
+
947
+
is-fullwidth-code-point@5.0.0:
948
+
resolution: {integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==}
949
+
engines: {node: '>=18'}
950
+
951
+
is-generator-function@1.1.0:
952
+
resolution: {integrity: sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==}
953
+
engines: {node: '>= 0.4'}
954
+
955
+
is-glob@4.0.3:
956
+
resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
957
+
engines: {node: '>=0.10.0'}
958
+
959
+
is-map@2.0.3:
960
+
resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==}
961
+
engines: {node: '>= 0.4'}
962
+
963
+
is-module@1.0.0:
964
+
resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==}
965
+
966
+
is-number-object@1.1.1:
967
+
resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==}
968
+
engines: {node: '>= 0.4'}
969
+
970
+
is-number@7.0.0:
971
+
resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
972
+
engines: {node: '>=0.12.0'}
973
+
974
+
is-reference@1.2.1:
975
+
resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==}
976
+
977
+
is-regex@1.2.1:
978
+
resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==}
979
+
engines: {node: '>= 0.4'}
980
+
981
+
is-set@2.0.3:
982
+
resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==}
983
+
engines: {node: '>= 0.4'}
984
+
985
+
is-shared-array-buffer@1.0.4:
986
+
resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==}
987
+
engines: {node: '>= 0.4'}
988
+
989
+
is-stream@3.0.0:
990
+
resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==}
991
+
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
992
+
993
+
is-string@1.1.1:
994
+
resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==}
995
+
engines: {node: '>= 0.4'}
996
+
997
+
is-subdir@1.2.0:
998
+
resolution: {integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==}
999
+
engines: {node: '>=4'}
1000
+
1001
+
is-symbol@1.1.1:
1002
+
resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==}
1003
+
engines: {node: '>= 0.4'}
1004
+
1005
+
is-typed-array@1.1.15:
1006
+
resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==}
1007
+
engines: {node: '>= 0.4'}
1008
+
1009
+
is-weakmap@2.0.2:
1010
+
resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==}
1011
+
engines: {node: '>= 0.4'}
1012
+
1013
+
is-weakref@1.1.1:
1014
+
resolution: {integrity: sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==}
1015
+
engines: {node: '>= 0.4'}
1016
+
1017
+
is-weakset@2.0.4:
1018
+
resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==}
1019
+
engines: {node: '>= 0.4'}
1020
+
1021
+
is-windows@1.0.2:
1022
+
resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==}
1023
+
engines: {node: '>=0.10.0'}
1024
+
1025
+
isarray@2.0.5:
1026
+
resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
1027
+
1028
+
isexe@2.0.0:
1029
+
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
1030
+
1031
+
jackspeak@4.1.0:
1032
+
resolution: {integrity: sha512-9DDdhb5j6cpeitCbvLO7n7J4IxnbM6hoF6O1g4HQ5TfhvvKN8ywDM7668ZhMHRqVmxqhps/F6syWK2KcPxYlkw==}
1033
+
engines: {node: 20 || >=22}
1034
+
1035
+
js-tokens@4.0.0:
1036
+
resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
1037
+
1038
+
js-yaml@3.14.1:
1039
+
resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==}
1040
+
hasBin: true
1041
+
1042
+
jsesc@3.1.0:
1043
+
resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==}
1044
+
engines: {node: '>=6'}
1045
+
hasBin: true
1046
+
1047
+
json-parse-better-errors@1.0.2:
1048
+
resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==}
1049
+
1050
+
json5@2.2.3:
1051
+
resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
1052
+
engines: {node: '>=6'}
1053
+
hasBin: true
1054
+
1055
+
jsonfile@4.0.0:
1056
+
resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==}
1057
+
1058
+
lilconfig@3.1.3:
1059
+
resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==}
1060
+
engines: {node: '>=14'}
1061
+
1062
+
lint-staged@15.4.3:
1063
+
resolution: {integrity: sha512-FoH1vOeouNh1pw+90S+cnuoFwRfUD9ijY2GKy5h7HS3OR7JVir2N2xrsa0+Twc1B7cW72L+88geG5cW4wIhn7g==}
1064
+
engines: {node: '>=18.12.0'}
1065
+
hasBin: true
1066
+
1067
+
listr2@8.2.5:
1068
+
resolution: {integrity: sha512-iyAZCeyD+c1gPyE9qpFu8af0Y+MRtmKOncdGoA2S5EY8iFq99dmmvkNnHiWo+pj0s7yH7l3KPIgee77tKpXPWQ==}
1069
+
engines: {node: '>=18.0.0'}
1070
+
1071
+
load-json-file@4.0.0:
1072
+
resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==}
1073
+
engines: {node: '>=4'}
1074
+
1075
+
locate-path@5.0.0:
1076
+
resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==}
1077
+
engines: {node: '>=8'}
1078
+
1079
+
lodash.startcase@4.4.0:
1080
+
resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==}
1081
+
1082
+
log-update@6.1.0:
1083
+
resolution: {integrity: sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==}
1084
+
engines: {node: '>=18'}
1085
+
1086
+
lru-cache@11.0.2:
1087
+
resolution: {integrity: sha512-123qHRfJBmo2jXDbo/a5YOQrJoHF/GNQTLzQ5+IdK5pWpceK17yRc6ozlWd25FxvGKQbIUs91fDFkXmDHTKcyA==}
1088
+
engines: {node: 20 || >=22}
1089
+
1090
+
lru-cache@5.1.1:
1091
+
resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
1092
+
1093
+
magic-string@0.30.17:
1094
+
resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==}
1095
+
1096
+
math-intrinsics@1.1.0:
1097
+
resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==}
1098
+
engines: {node: '>= 0.4'}
1099
+
1100
+
memorystream@0.3.1:
1101
+
resolution: {integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==}
1102
+
engines: {node: '>= 0.10.0'}
1103
+
1104
+
merge-stream@2.0.0:
1105
+
resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
1106
+
1107
+
merge2@1.4.1:
1108
+
resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
1109
+
engines: {node: '>= 8'}
1110
+
1111
+
micromatch@4.0.8:
1112
+
resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
1113
+
engines: {node: '>=8.6'}
1114
+
1115
+
mimic-fn@4.0.0:
1116
+
resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==}
1117
+
engines: {node: '>=12'}
1118
+
1119
+
mimic-function@5.0.1:
1120
+
resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==}
1121
+
engines: {node: '>=18'}
1122
+
1123
+
minimatch@10.0.1:
1124
+
resolution: {integrity: sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==}
1125
+
engines: {node: 20 || >=22}
1126
+
1127
+
minimatch@3.1.2:
1128
+
resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
1129
+
1130
+
minipass@7.1.2:
1131
+
resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
1132
+
engines: {node: '>=16 || 14 >=14.17'}
1133
+
1134
+
mri@1.2.0:
1135
+
resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
1136
+
engines: {node: '>=4'}
1137
+
1138
+
ms@2.1.3:
1139
+
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
1140
+
1141
+
nice-try@1.0.5:
1142
+
resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==}
1143
+
1144
+
node-fetch@2.7.0:
1145
+
resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==}
1146
+
engines: {node: 4.x || >=6.0.0}
1147
+
peerDependencies:
1148
+
encoding: ^0.1.0
1149
+
peerDependenciesMeta:
1150
+
encoding:
1151
+
optional: true
1152
+
1153
+
node-releases@2.0.19:
1154
+
resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==}
1155
+
1156
+
normalize-package-data@2.5.0:
1157
+
resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==}
1158
+
1159
+
npm-run-all@4.1.5:
1160
+
resolution: {integrity: sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==}
1161
+
engines: {node: '>= 4'}
1162
+
hasBin: true
1163
+
1164
+
npm-run-path@5.3.0:
1165
+
resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==}
1166
+
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
1167
+
1168
+
object-inspect@1.13.4:
1169
+
resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==}
1170
+
engines: {node: '>= 0.4'}
1171
+
1172
+
object-keys@1.1.1:
1173
+
resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
1174
+
engines: {node: '>= 0.4'}
1175
+
1176
+
object.assign@4.1.7:
1177
+
resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==}
1178
+
engines: {node: '>= 0.4'}
1179
+
1180
+
onetime@6.0.0:
1181
+
resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==}
1182
+
engines: {node: '>=12'}
1183
+
1184
+
onetime@7.0.0:
1185
+
resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==}
1186
+
engines: {node: '>=18'}
1187
+
1188
+
os-tmpdir@1.0.2:
1189
+
resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==}
1190
+
engines: {node: '>=0.10.0'}
1191
+
1192
+
outdent@0.5.0:
1193
+
resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==}
1194
+
1195
+
own-keys@1.0.1:
1196
+
resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==}
1197
+
engines: {node: '>= 0.4'}
1198
+
1199
+
p-filter@2.1.0:
1200
+
resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==}
1201
+
engines: {node: '>=8'}
1202
+
1203
+
p-limit@2.3.0:
1204
+
resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==}
1205
+
engines: {node: '>=6'}
1206
+
1207
+
p-locate@4.1.0:
1208
+
resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==}
1209
+
engines: {node: '>=8'}
1210
+
1211
+
p-map@2.1.0:
1212
+
resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==}
1213
+
engines: {node: '>=6'}
1214
+
1215
+
p-try@2.2.0:
1216
+
resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
1217
+
engines: {node: '>=6'}
1218
+
1219
+
package-json-from-dist@1.0.1:
1220
+
resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==}
1221
+
1222
+
package-manager-detector@0.2.11:
1223
+
resolution: {integrity: sha512-BEnLolu+yuz22S56CU1SUKq3XC3PkwD5wv4ikR4MfGvnRVcmzXR9DwSlW2fEamyTPyXHomBJRzgapeuBvRNzJQ==}
1224
+
1225
+
parse-json@4.0.0:
1226
+
resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==}
1227
+
engines: {node: '>=4'}
1228
+
1229
+
path-exists@4.0.0:
1230
+
resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
1231
+
engines: {node: '>=8'}
1232
+
1233
+
path-key@2.0.1:
1234
+
resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==}
1235
+
engines: {node: '>=4'}
1236
+
1237
+
path-key@3.1.1:
1238
+
resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
1239
+
engines: {node: '>=8'}
1240
+
1241
+
path-key@4.0.0:
1242
+
resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==}
1243
+
engines: {node: '>=12'}
1244
+
1245
+
path-parse@1.0.7:
1246
+
resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
1247
+
1248
+
path-scurry@2.0.0:
1249
+
resolution: {integrity: sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==}
1250
+
engines: {node: 20 || >=22}
1251
+
1252
+
path-type@3.0.0:
1253
+
resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==}
1254
+
engines: {node: '>=4'}
1255
+
1256
+
path-type@4.0.0:
1257
+
resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
1258
+
engines: {node: '>=8'}
1259
+
1260
+
picocolors@1.1.1:
1261
+
resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
1262
+
1263
+
picomatch@2.3.1:
1264
+
resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
1265
+
engines: {node: '>=8.6'}
1266
+
1267
+
picomatch@4.0.2:
1268
+
resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==}
1269
+
engines: {node: '>=12'}
1270
+
1271
+
pidtree@0.3.1:
1272
+
resolution: {integrity: sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==}
1273
+
engines: {node: '>=0.10'}
1274
+
hasBin: true
1275
+
1276
+
pidtree@0.6.0:
1277
+
resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==}
1278
+
engines: {node: '>=0.10'}
1279
+
hasBin: true
1280
+
1281
+
pify@3.0.0:
1282
+
resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==}
1283
+
engines: {node: '>=4'}
1284
+
1285
+
pify@4.0.1:
1286
+
resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==}
1287
+
engines: {node: '>=6'}
1288
+
1289
+
possible-typed-array-names@1.1.0:
1290
+
resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==}
1291
+
engines: {node: '>= 0.4'}
1292
+
1293
+
prettier@2.8.8:
1294
+
resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==}
1295
+
engines: {node: '>=10.13.0'}
1296
+
hasBin: true
1297
+
1298
+
prettier@3.5.3:
1299
+
resolution: {integrity: sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==}
1300
+
engines: {node: '>=14'}
1301
+
hasBin: true
1302
+
1303
+
quansync@0.2.8:
1304
+
resolution: {integrity: sha512-4+saucphJMazjt7iOM27mbFCk+D9dd/zmgMDCzRZ8MEoBfYp7lAvoN38et/phRQF6wOPMy/OROBGgoWeSKyluA==}
1305
+
1306
+
queue-microtask@1.2.3:
1307
+
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
1308
+
1309
+
randombytes@2.1.0:
1310
+
resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==}
1311
+
1312
+
read-pkg@3.0.0:
1313
+
resolution: {integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==}
1314
+
engines: {node: '>=4'}
1315
+
1316
+
read-yaml-file@1.1.0:
1317
+
resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==}
1318
+
engines: {node: '>=6'}
1319
+
1320
+
reflect.getprototypeof@1.0.10:
1321
+
resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==}
1322
+
engines: {node: '>= 0.4'}
1323
+
1324
+
regenerator-runtime@0.14.1:
1325
+
resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==}
1326
+
1327
+
regexp.prototype.flags@1.5.4:
1328
+
resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==}
1329
+
engines: {node: '>= 0.4'}
1330
+
1331
+
resolve-from@5.0.0:
1332
+
resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
1333
+
engines: {node: '>=8'}
1334
+
1335
+
resolve@1.22.10:
1336
+
resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==}
1337
+
engines: {node: '>= 0.4'}
1338
+
hasBin: true
1339
+
1340
+
restore-cursor@5.1.0:
1341
+
resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==}
1342
+
engines: {node: '>=18'}
1343
+
1344
+
reusify@1.1.0:
1345
+
resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==}
1346
+
engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
1347
+
1348
+
rfdc@1.4.1:
1349
+
resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==}
1350
+
1351
+
rimraf@6.0.1:
1352
+
resolution: {integrity: sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==}
1353
+
engines: {node: 20 || >=22}
1354
+
hasBin: true
1355
+
1356
+
rollup-plugin-cjs-check@1.0.3:
1357
+
resolution: {integrity: sha512-l8Gn8fm0YsAUuCVPmJ9CjwX5D98xyjc7iBlKfik5RGgXrV35nBwKCb+xbsK2oMrWMIRdLWsfyVUBM153e2zvYg==}
1358
+
engines: {node: '>=14.0.0'}
1359
+
peerDependencies:
1360
+
rollup: ^1.20.0 || ^2.0.0 || ^3.0.0 || ^4.0.0
1361
+
1362
+
rollup-plugin-dts@6.1.1:
1363
+
resolution: {integrity: sha512-aSHRcJ6KG2IHIioYlvAOcEq6U99sVtqDDKVhnwt70rW6tsz3tv5OSjEiWcgzfsHdLyGXZ/3b/7b/+Za3Y6r1XA==}
1364
+
engines: {node: '>=16'}
1365
+
peerDependencies:
1366
+
rollup: ^3.29.4 || ^4
1367
+
typescript: ^4.5 || ^5.0
1368
+
1369
+
rollup@4.34.9:
1370
+
resolution: {integrity: sha512-nF5XYqWWp9hx/LrpC8sZvvvmq0TeTjQgaZHYmAgwysT9nh8sWnZhBnM8ZyVbbJFIQBLwHDNoMqsBZBbUo4U8sQ==}
1371
+
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
1372
+
hasBin: true
1373
+
1374
+
run-parallel@1.2.0:
1375
+
resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
1376
+
1377
+
safe-array-concat@1.1.3:
1378
+
resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==}
1379
+
engines: {node: '>=0.4'}
1380
+
1381
+
safe-buffer@5.2.1:
1382
+
resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
1383
+
1384
+
safe-push-apply@1.0.0:
1385
+
resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==}
1386
+
engines: {node: '>= 0.4'}
1387
+
1388
+
safe-regex-test@1.1.0:
1389
+
resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==}
1390
+
engines: {node: '>= 0.4'}
1391
+
1392
+
safer-buffer@2.1.2:
1393
+
resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
1394
+
1395
+
semver@5.7.2:
1396
+
resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==}
1397
+
hasBin: true
1398
+
1399
+
semver@6.3.1:
1400
+
resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
1401
+
hasBin: true
1402
+
1403
+
semver@7.7.1:
1404
+
resolution: {integrity: sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==}
1405
+
engines: {node: '>=10'}
1406
+
hasBin: true
1407
+
1408
+
serialize-javascript@6.0.2:
1409
+
resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==}
1410
+
1411
+
set-function-length@1.2.2:
1412
+
resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==}
1413
+
engines: {node: '>= 0.4'}
1414
+
1415
+
set-function-name@2.0.2:
1416
+
resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==}
1417
+
engines: {node: '>= 0.4'}
1418
+
1419
+
set-proto@1.0.0:
1420
+
resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==}
1421
+
engines: {node: '>= 0.4'}
1422
+
1423
+
shebang-command@1.2.0:
1424
+
resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==}
1425
+
engines: {node: '>=0.10.0'}
1426
+
1427
+
shebang-command@2.0.0:
1428
+
resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
1429
+
engines: {node: '>=8'}
1430
+
1431
+
shebang-regex@1.0.0:
1432
+
resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==}
1433
+
engines: {node: '>=0.10.0'}
1434
+
1435
+
shebang-regex@3.0.0:
1436
+
resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
1437
+
engines: {node: '>=8'}
1438
+
1439
+
shell-quote@1.8.2:
1440
+
resolution: {integrity: sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA==}
1441
+
engines: {node: '>= 0.4'}
1442
+
1443
+
side-channel-list@1.0.0:
1444
+
resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==}
1445
+
engines: {node: '>= 0.4'}
1446
+
1447
+
side-channel-map@1.0.1:
1448
+
resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==}
1449
+
engines: {node: '>= 0.4'}
1450
+
1451
+
side-channel-weakmap@1.0.2:
1452
+
resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==}
1453
+
engines: {node: '>= 0.4'}
1454
+
1455
+
side-channel@1.1.0:
1456
+
resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==}
1457
+
engines: {node: '>= 0.4'}
1458
+
1459
+
signal-exit@4.1.0:
1460
+
resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
1461
+
engines: {node: '>=14'}
1462
+
1463
+
slash@3.0.0:
1464
+
resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
1465
+
engines: {node: '>=8'}
1466
+
1467
+
slice-ansi@5.0.0:
1468
+
resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==}
1469
+
engines: {node: '>=12'}
1470
+
1471
+
slice-ansi@7.1.0:
1472
+
resolution: {integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==}
1473
+
engines: {node: '>=18'}
1474
+
1475
+
smob@1.5.0:
1476
+
resolution: {integrity: sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig==}
1477
+
1478
+
source-map-support@0.5.21:
1479
+
resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==}
1480
+
1481
+
source-map@0.6.1:
1482
+
resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
1483
+
engines: {node: '>=0.10.0'}
1484
+
1485
+
spawndamnit@3.0.1:
1486
+
resolution: {integrity: sha512-MmnduQUuHCoFckZoWnXsTg7JaiLBJrKFj9UI2MbRPGaJeVpsLcVBu6P/IGZovziM/YBsellCmsprgNA+w0CzVg==}
1487
+
1488
+
spdx-correct@3.2.0:
1489
+
resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==}
1490
+
1491
+
spdx-exceptions@2.5.0:
1492
+
resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==}
1493
+
1494
+
spdx-expression-parse@3.0.1:
1495
+
resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==}
1496
+
1497
+
spdx-license-ids@3.0.21:
1498
+
resolution: {integrity: sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg==}
1499
+
1500
+
sprintf-js@1.0.3:
1501
+
resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
1502
+
1503
+
string-argv@0.3.2:
1504
+
resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==}
1505
+
engines: {node: '>=0.6.19'}
1506
+
1507
+
string-width@4.2.3:
1508
+
resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
1509
+
engines: {node: '>=8'}
1510
+
1511
+
string-width@5.1.2:
1512
+
resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
1513
+
engines: {node: '>=12'}
1514
+
1515
+
string-width@7.2.0:
1516
+
resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==}
1517
+
engines: {node: '>=18'}
1518
+
1519
+
string.prototype.padend@3.1.6:
1520
+
resolution: {integrity: sha512-XZpspuSB7vJWhvJc9DLSlrXl1mcA2BdoY5jjnS135ydXqLoqhs96JjDtCkjJEQHvfqZIp9hBuBMgI589peyx9Q==}
1521
+
engines: {node: '>= 0.4'}
1522
+
1523
+
string.prototype.trim@1.2.10:
1524
+
resolution: {integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==}
1525
+
engines: {node: '>= 0.4'}
1526
+
1527
+
string.prototype.trimend@1.0.9:
1528
+
resolution: {integrity: sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==}
1529
+
engines: {node: '>= 0.4'}
1530
+
1531
+
string.prototype.trimstart@1.0.8:
1532
+
resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==}
1533
+
engines: {node: '>= 0.4'}
1534
+
1535
+
strip-ansi@6.0.1:
1536
+
resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
1537
+
engines: {node: '>=8'}
1538
+
1539
+
strip-ansi@7.1.0:
1540
+
resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
1541
+
engines: {node: '>=12'}
1542
+
1543
+
strip-bom@3.0.0:
1544
+
resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==}
1545
+
engines: {node: '>=4'}
1546
+
1547
+
strip-final-newline@3.0.0:
1548
+
resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==}
1549
+
engines: {node: '>=12'}
1550
+
1551
+
supports-color@5.5.0:
1552
+
resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
1553
+
engines: {node: '>=4'}
1554
+
1555
+
supports-preserve-symlinks-flag@1.0.0:
1556
+
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
1557
+
engines: {node: '>= 0.4'}
1558
+
1559
+
term-size@2.2.1:
1560
+
resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==}
1561
+
engines: {node: '>=8'}
1562
+
1563
+
terser@5.39.0:
1564
+
resolution: {integrity: sha512-LBAhFyLho16harJoWMg/nZsQYgTrg5jXOn2nCYjRUcZZEdE3qa2zb8QEDRUGVZBW4rlazf2fxkg8tztybTaqWw==}
1565
+
engines: {node: '>=10'}
1566
+
hasBin: true
1567
+
1568
+
tmp@0.0.33:
1569
+
resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==}
1570
+
engines: {node: '>=0.6.0'}
1571
+
1572
+
to-regex-range@5.0.1:
1573
+
resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
1574
+
engines: {node: '>=8.0'}
1575
+
1576
+
tr46@0.0.3:
1577
+
resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
1578
+
1579
+
typed-array-buffer@1.0.3:
1580
+
resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==}
1581
+
engines: {node: '>= 0.4'}
1582
+
1583
+
typed-array-byte-length@1.0.3:
1584
+
resolution: {integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==}
1585
+
engines: {node: '>= 0.4'}
1586
+
1587
+
typed-array-byte-offset@1.0.4:
1588
+
resolution: {integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==}
1589
+
engines: {node: '>= 0.4'}
1590
+
1591
+
typed-array-length@1.0.7:
1592
+
resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==}
1593
+
engines: {node: '>= 0.4'}
1594
+
1595
+
typescript@5.7.3:
1596
+
resolution: {integrity: sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==}
1597
+
engines: {node: '>=14.17'}
1598
+
hasBin: true
1599
+
1600
+
unbox-primitive@1.1.0:
1601
+
resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==}
1602
+
engines: {node: '>= 0.4'}
1603
+
1604
+
undici-types@5.26.5:
1605
+
resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
1606
+
1607
+
universalify@0.1.2:
1608
+
resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==}
1609
+
engines: {node: '>= 4.0.0'}
1610
+
1611
+
update-browserslist-db@1.1.3:
1612
+
resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==}
1613
+
hasBin: true
1614
+
peerDependencies:
1615
+
browserslist: '>= 4.21.0'
1616
+
1617
+
validate-npm-package-license@3.0.4:
1618
+
resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==}
1619
+
1620
+
webidl-conversions@3.0.1:
1621
+
resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
1622
+
1623
+
whatwg-url@5.0.0:
1624
+
resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
1625
+
1626
+
which-boxed-primitive@1.1.1:
1627
+
resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==}
1628
+
engines: {node: '>= 0.4'}
1629
+
1630
+
which-builtin-type@1.2.1:
1631
+
resolution: {integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==}
1632
+
engines: {node: '>= 0.4'}
1633
+
1634
+
which-collection@1.0.2:
1635
+
resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==}
1636
+
engines: {node: '>= 0.4'}
1637
+
1638
+
which-typed-array@1.1.19:
1639
+
resolution: {integrity: sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==}
1640
+
engines: {node: '>= 0.4'}
1641
+
1642
+
which@1.3.1:
1643
+
resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==}
1644
+
hasBin: true
1645
+
1646
+
which@2.0.2:
1647
+
resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
1648
+
engines: {node: '>= 8'}
1649
+
hasBin: true
1650
+
1651
+
wrap-ansi@7.0.0:
1652
+
resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
1653
+
engines: {node: '>=10'}
1654
+
1655
+
wrap-ansi@8.1.0:
1656
+
resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
1657
+
engines: {node: '>=12'}
1658
+
1659
+
wrap-ansi@9.0.0:
1660
+
resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==}
1661
+
engines: {node: '>=18'}
1662
+
1663
+
yallist@3.1.1:
1664
+
resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
1665
+
1666
+
yaml@2.7.0:
1667
+
resolution: {integrity: sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==}
1668
+
engines: {node: '>= 14'}
1669
+
hasBin: true
1670
+
1671
+
snapshots:
1672
+
1673
+
'@ampproject/remapping@2.3.0':
1674
+
dependencies:
1675
+
'@jridgewell/gen-mapping': 0.3.8
1676
+
'@jridgewell/trace-mapping': 0.3.25
1677
+
1678
+
'@babel/code-frame@7.26.2':
1679
+
dependencies:
1680
+
'@babel/helper-validator-identifier': 7.25.9
1681
+
js-tokens: 4.0.0
1682
+
picocolors: 1.1.1
1683
+
1684
+
'@babel/compat-data@7.26.8': {}
1685
+
1686
+
'@babel/core@7.26.9':
1687
+
dependencies:
1688
+
'@ampproject/remapping': 2.3.0
1689
+
'@babel/code-frame': 7.26.2
1690
+
'@babel/generator': 7.26.9
1691
+
'@babel/helper-compilation-targets': 7.26.5
1692
+
'@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.9)
1693
+
'@babel/helpers': 7.26.9
1694
+
'@babel/parser': 7.26.9
1695
+
'@babel/template': 7.26.9
1696
+
'@babel/traverse': 7.26.9
1697
+
'@babel/types': 7.26.9
1698
+
convert-source-map: 2.0.0
1699
+
debug: 4.4.0
1700
+
gensync: 1.0.0-beta.2
1701
+
json5: 2.2.3
1702
+
semver: 6.3.1
1703
+
transitivePeerDependencies:
1704
+
- supports-color
1705
+
1706
+
'@babel/generator@7.26.9':
1707
+
dependencies:
1708
+
'@babel/parser': 7.26.9
1709
+
'@babel/types': 7.26.9
1710
+
'@jridgewell/gen-mapping': 0.3.8
1711
+
'@jridgewell/trace-mapping': 0.3.25
1712
+
jsesc: 3.1.0
1713
+
1714
+
'@babel/helper-annotate-as-pure@7.25.9':
1715
+
dependencies:
1716
+
'@babel/types': 7.26.9
1717
+
1718
+
'@babel/helper-compilation-targets@7.26.5':
1719
+
dependencies:
1720
+
'@babel/compat-data': 7.26.8
1721
+
'@babel/helper-validator-option': 7.25.9
1722
+
browserslist: 4.24.4
1723
+
lru-cache: 5.1.1
1724
+
semver: 6.3.1
1725
+
1726
+
'@babel/helper-create-class-features-plugin@7.26.9(@babel/core@7.26.9)':
1727
+
dependencies:
1728
+
'@babel/core': 7.26.9
1729
+
'@babel/helper-annotate-as-pure': 7.25.9
1730
+
'@babel/helper-member-expression-to-functions': 7.25.9
1731
+
'@babel/helper-optimise-call-expression': 7.25.9
1732
+
'@babel/helper-replace-supers': 7.26.5(@babel/core@7.26.9)
1733
+
'@babel/helper-skip-transparent-expression-wrappers': 7.25.9
1734
+
'@babel/traverse': 7.26.9
1735
+
semver: 6.3.1
1736
+
transitivePeerDependencies:
1737
+
- supports-color
1738
+
1739
+
'@babel/helper-member-expression-to-functions@7.25.9':
1740
+
dependencies:
1741
+
'@babel/traverse': 7.26.9
1742
+
'@babel/types': 7.26.9
1743
+
transitivePeerDependencies:
1744
+
- supports-color
1745
+
1746
+
'@babel/helper-module-imports@7.25.9':
1747
+
dependencies:
1748
+
'@babel/traverse': 7.26.9
1749
+
'@babel/types': 7.26.9
1750
+
transitivePeerDependencies:
1751
+
- supports-color
1752
+
1753
+
'@babel/helper-module-transforms@7.26.0(@babel/core@7.26.9)':
1754
+
dependencies:
1755
+
'@babel/core': 7.26.9
1756
+
'@babel/helper-module-imports': 7.25.9
1757
+
'@babel/helper-validator-identifier': 7.25.9
1758
+
'@babel/traverse': 7.26.9
1759
+
transitivePeerDependencies:
1760
+
- supports-color
1761
+
1762
+
'@babel/helper-optimise-call-expression@7.25.9':
1763
+
dependencies:
1764
+
'@babel/types': 7.26.9
1765
+
1766
+
'@babel/helper-plugin-utils@7.26.5': {}
1767
+
1768
+
'@babel/helper-replace-supers@7.26.5(@babel/core@7.26.9)':
1769
+
dependencies:
1770
+
'@babel/core': 7.26.9
1771
+
'@babel/helper-member-expression-to-functions': 7.25.9
1772
+
'@babel/helper-optimise-call-expression': 7.25.9
1773
+
'@babel/traverse': 7.26.9
1774
+
transitivePeerDependencies:
1775
+
- supports-color
1776
+
1777
+
'@babel/helper-skip-transparent-expression-wrappers@7.25.9':
1778
+
dependencies:
1779
+
'@babel/traverse': 7.26.9
1780
+
'@babel/types': 7.26.9
1781
+
transitivePeerDependencies:
1782
+
- supports-color
1783
+
1784
+
'@babel/helper-string-parser@7.25.9': {}
1785
+
1786
+
'@babel/helper-validator-identifier@7.25.9': {}
1787
+
1788
+
'@babel/helper-validator-option@7.25.9': {}
1789
+
1790
+
'@babel/helpers@7.26.9':
1791
+
dependencies:
1792
+
'@babel/template': 7.26.9
1793
+
'@babel/types': 7.26.9
1794
+
1795
+
'@babel/parser@7.26.9':
1796
+
dependencies:
1797
+
'@babel/types': 7.26.9
1798
+
1799
+
'@babel/plugin-syntax-typescript@7.25.9(@babel/core@7.26.9)':
1800
+
dependencies:
1801
+
'@babel/core': 7.26.9
1802
+
'@babel/helper-plugin-utils': 7.26.5
1803
+
1804
+
'@babel/plugin-transform-block-scoping@7.25.9(@babel/core@7.26.9)':
1805
+
dependencies:
1806
+
'@babel/core': 7.26.9
1807
+
'@babel/helper-plugin-utils': 7.26.5
1808
+
1809
+
'@babel/plugin-transform-typescript@7.26.8(@babel/core@7.26.9)':
1810
+
dependencies:
1811
+
'@babel/core': 7.26.9
1812
+
'@babel/helper-annotate-as-pure': 7.25.9
1813
+
'@babel/helper-create-class-features-plugin': 7.26.9(@babel/core@7.26.9)
1814
+
'@babel/helper-plugin-utils': 7.26.5
1815
+
'@babel/helper-skip-transparent-expression-wrappers': 7.25.9
1816
+
'@babel/plugin-syntax-typescript': 7.25.9(@babel/core@7.26.9)
1817
+
transitivePeerDependencies:
1818
+
- supports-color
1819
+
1820
+
'@babel/runtime@7.26.9':
1821
+
dependencies:
1822
+
regenerator-runtime: 0.14.1
1823
+
1824
+
'@babel/template@7.26.9':
1825
+
dependencies:
1826
+
'@babel/code-frame': 7.26.2
1827
+
'@babel/parser': 7.26.9
1828
+
'@babel/types': 7.26.9
1829
+
1830
+
'@babel/traverse@7.26.9':
1831
+
dependencies:
1832
+
'@babel/code-frame': 7.26.2
1833
+
'@babel/generator': 7.26.9
1834
+
'@babel/parser': 7.26.9
1835
+
'@babel/template': 7.26.9
1836
+
'@babel/types': 7.26.9
1837
+
debug: 4.4.0
1838
+
globals: 11.12.0
1839
+
transitivePeerDependencies:
1840
+
- supports-color
1841
+
1842
+
'@babel/types@7.26.9':
1843
+
dependencies:
1844
+
'@babel/helper-string-parser': 7.25.9
1845
+
'@babel/helper-validator-identifier': 7.25.9
1846
+
1847
+
'@changesets/apply-release-plan@7.0.10':
1848
+
dependencies:
1849
+
'@changesets/config': 3.1.1
1850
+
'@changesets/get-version-range-type': 0.4.0
1851
+
'@changesets/git': 3.0.2
1852
+
'@changesets/should-skip-package': 0.1.2
1853
+
'@changesets/types': 6.1.0
1854
+
'@manypkg/get-packages': 1.1.3
1855
+
detect-indent: 6.1.0
1856
+
fs-extra: 7.0.1
1857
+
lodash.startcase: 4.4.0
1858
+
outdent: 0.5.0
1859
+
prettier: 2.8.8
1860
+
resolve-from: 5.0.0
1861
+
semver: 7.7.1
1862
+
1863
+
'@changesets/assemble-release-plan@6.0.6':
1864
+
dependencies:
1865
+
'@changesets/errors': 0.2.0
1866
+
'@changesets/get-dependents-graph': 2.1.3
1867
+
'@changesets/should-skip-package': 0.1.2
1868
+
'@changesets/types': 6.1.0
1869
+
'@manypkg/get-packages': 1.1.3
1870
+
semver: 7.7.1
1871
+
1872
+
'@changesets/changelog-git@0.2.1':
1873
+
dependencies:
1874
+
'@changesets/types': 6.1.0
1875
+
1876
+
'@changesets/cli@2.28.1':
1877
+
dependencies:
1878
+
'@changesets/apply-release-plan': 7.0.10
1879
+
'@changesets/assemble-release-plan': 6.0.6
1880
+
'@changesets/changelog-git': 0.2.1
1881
+
'@changesets/config': 3.1.1
1882
+
'@changesets/errors': 0.2.0
1883
+
'@changesets/get-dependents-graph': 2.1.3
1884
+
'@changesets/get-release-plan': 4.0.8
1885
+
'@changesets/git': 3.0.2
1886
+
'@changesets/logger': 0.1.1
1887
+
'@changesets/pre': 2.0.2
1888
+
'@changesets/read': 0.6.3
1889
+
'@changesets/should-skip-package': 0.1.2
1890
+
'@changesets/types': 6.1.0
1891
+
'@changesets/write': 0.4.0
1892
+
'@manypkg/get-packages': 1.1.3
1893
+
ansi-colors: 4.1.3
1894
+
ci-info: 3.9.0
1895
+
enquirer: 2.4.1
1896
+
external-editor: 3.1.0
1897
+
fs-extra: 7.0.1
1898
+
mri: 1.2.0
1899
+
p-limit: 2.3.0
1900
+
package-manager-detector: 0.2.11
1901
+
picocolors: 1.1.1
1902
+
resolve-from: 5.0.0
1903
+
semver: 7.7.1
1904
+
spawndamnit: 3.0.1
1905
+
term-size: 2.2.1
1906
+
1907
+
'@changesets/config@3.1.1':
1908
+
dependencies:
1909
+
'@changesets/errors': 0.2.0
1910
+
'@changesets/get-dependents-graph': 2.1.3
1911
+
'@changesets/logger': 0.1.1
1912
+
'@changesets/types': 6.1.0
1913
+
'@manypkg/get-packages': 1.1.3
1914
+
fs-extra: 7.0.1
1915
+
micromatch: 4.0.8
1916
+
1917
+
'@changesets/errors@0.2.0':
1918
+
dependencies:
1919
+
extendable-error: 0.1.7
1920
+
1921
+
'@changesets/get-dependents-graph@2.1.3':
1922
+
dependencies:
1923
+
'@changesets/types': 6.1.0
1924
+
'@manypkg/get-packages': 1.1.3
1925
+
picocolors: 1.1.1
1926
+
semver: 7.7.1
1927
+
1928
+
'@changesets/get-github-info@0.6.0':
1929
+
dependencies:
1930
+
dataloader: 1.4.0
1931
+
node-fetch: 2.7.0
1932
+
transitivePeerDependencies:
1933
+
- encoding
1934
+
1935
+
'@changesets/get-release-plan@4.0.8':
1936
+
dependencies:
1937
+
'@changesets/assemble-release-plan': 6.0.6
1938
+
'@changesets/config': 3.1.1
1939
+
'@changesets/pre': 2.0.2
1940
+
'@changesets/read': 0.6.3
1941
+
'@changesets/types': 6.1.0
1942
+
'@manypkg/get-packages': 1.1.3
1943
+
1944
+
'@changesets/get-version-range-type@0.4.0': {}
1945
+
1946
+
'@changesets/git@3.0.2':
1947
+
dependencies:
1948
+
'@changesets/errors': 0.2.0
1949
+
'@manypkg/get-packages': 1.1.3
1950
+
is-subdir: 1.2.0
1951
+
micromatch: 4.0.8
1952
+
spawndamnit: 3.0.1
1953
+
1954
+
'@changesets/logger@0.1.1':
1955
+
dependencies:
1956
+
picocolors: 1.1.1
1957
+
1958
+
'@changesets/parse@0.4.1':
1959
+
dependencies:
1960
+
'@changesets/types': 6.1.0
1961
+
js-yaml: 3.14.1
1962
+
1963
+
'@changesets/pre@2.0.2':
1964
+
dependencies:
1965
+
'@changesets/errors': 0.2.0
1966
+
'@changesets/types': 6.1.0
1967
+
'@manypkg/get-packages': 1.1.3
1968
+
fs-extra: 7.0.1
1969
+
1970
+
'@changesets/read@0.6.3':
1971
+
dependencies:
1972
+
'@changesets/git': 3.0.2
1973
+
'@changesets/logger': 0.1.1
1974
+
'@changesets/parse': 0.4.1
1975
+
'@changesets/types': 6.1.0
1976
+
fs-extra: 7.0.1
1977
+
p-filter: 2.1.0
1978
+
picocolors: 1.1.1
1979
+
1980
+
'@changesets/should-skip-package@0.1.2':
1981
+
dependencies:
1982
+
'@changesets/types': 6.1.0
1983
+
'@manypkg/get-packages': 1.1.3
1984
+
1985
+
'@changesets/types@4.1.0': {}
1986
+
1987
+
'@changesets/types@6.1.0': {}
1988
+
1989
+
'@changesets/write@0.4.0':
1990
+
dependencies:
1991
+
'@changesets/types': 6.1.0
1992
+
fs-extra: 7.0.1
1993
+
human-id: 4.1.1
1994
+
prettier: 2.8.8
1995
+
1996
+
'@isaacs/cliui@8.0.2':
1997
+
dependencies:
1998
+
string-width: 5.1.2
1999
+
string-width-cjs: string-width@4.2.3
2000
+
strip-ansi: 7.1.0
2001
+
strip-ansi-cjs: strip-ansi@6.0.1
2002
+
wrap-ansi: 8.1.0
2003
+
wrap-ansi-cjs: wrap-ansi@7.0.0
2004
+
2005
+
'@jridgewell/gen-mapping@0.3.8':
2006
+
dependencies:
2007
+
'@jridgewell/set-array': 1.2.1
2008
+
'@jridgewell/sourcemap-codec': 1.5.0
2009
+
'@jridgewell/trace-mapping': 0.3.25
2010
+
2011
+
'@jridgewell/resolve-uri@3.1.2': {}
2012
+
2013
+
'@jridgewell/set-array@1.2.1': {}
2014
+
2015
+
'@jridgewell/source-map@0.3.6':
2016
+
dependencies:
2017
+
'@jridgewell/gen-mapping': 0.3.8
2018
+
'@jridgewell/trace-mapping': 0.3.25
2019
+
2020
+
'@jridgewell/sourcemap-codec@1.5.0': {}
2021
+
2022
+
'@jridgewell/trace-mapping@0.3.25':
2023
+
dependencies:
2024
+
'@jridgewell/resolve-uri': 3.1.2
2025
+
'@jridgewell/sourcemap-codec': 1.5.0
2026
+
2027
+
'@manypkg/find-root@1.1.0':
2028
+
dependencies:
2029
+
'@babel/runtime': 7.26.9
2030
+
'@types/node': 12.20.55
2031
+
find-up: 4.1.0
2032
+
fs-extra: 8.1.0
2033
+
2034
+
'@manypkg/get-packages@1.1.3':
2035
+
dependencies:
2036
+
'@babel/runtime': 7.26.9
2037
+
'@changesets/types': 4.1.0
2038
+
'@manypkg/find-root': 1.1.0
2039
+
fs-extra: 8.1.0
2040
+
globby: 11.1.0
2041
+
read-yaml-file: 1.1.0
2042
+
2043
+
'@nodelib/fs.scandir@2.1.5':
2044
+
dependencies:
2045
+
'@nodelib/fs.stat': 2.0.5
2046
+
run-parallel: 1.2.0
2047
+
2048
+
'@nodelib/fs.stat@2.0.5': {}
2049
+
2050
+
'@nodelib/fs.walk@1.2.8':
2051
+
dependencies:
2052
+
'@nodelib/fs.scandir': 2.1.5
2053
+
fastq: 1.19.1
2054
+
2055
+
'@rollup/plugin-babel@6.0.4(@babel/core@7.26.9)(rollup@4.34.9)':
2056
+
dependencies:
2057
+
'@babel/core': 7.26.9
2058
+
'@babel/helper-module-imports': 7.25.9
2059
+
'@rollup/pluginutils': 5.1.4(rollup@4.34.9)
2060
+
optionalDependencies:
2061
+
rollup: 4.34.9
2062
+
transitivePeerDependencies:
2063
+
- supports-color
2064
+
2065
+
'@rollup/plugin-commonjs@28.0.3(rollup@4.34.9)':
2066
+
dependencies:
2067
+
'@rollup/pluginutils': 5.1.4(rollup@4.34.9)
2068
+
commondir: 1.0.1
2069
+
estree-walker: 2.0.2
2070
+
fdir: 6.4.3(picomatch@4.0.2)
2071
+
is-reference: 1.2.1
2072
+
magic-string: 0.30.17
2073
+
picomatch: 4.0.2
2074
+
optionalDependencies:
2075
+
rollup: 4.34.9
2076
+
2077
+
'@rollup/plugin-node-resolve@16.0.0(rollup@4.34.9)':
2078
+
dependencies:
2079
+
'@rollup/pluginutils': 5.1.4(rollup@4.34.9)
2080
+
'@types/resolve': 1.20.2
2081
+
deepmerge: 4.3.1
2082
+
is-module: 1.0.0
2083
+
resolve: 1.22.10
2084
+
optionalDependencies:
2085
+
rollup: 4.34.9
2086
+
2087
+
'@rollup/plugin-terser@0.4.4(rollup@4.34.9)':
2088
+
dependencies:
2089
+
serialize-javascript: 6.0.2
2090
+
smob: 1.5.0
2091
+
terser: 5.39.0
2092
+
optionalDependencies:
2093
+
rollup: 4.34.9
2094
+
2095
+
'@rollup/pluginutils@5.1.4(rollup@4.34.9)':
2096
+
dependencies:
2097
+
'@types/estree': 1.0.6
2098
+
estree-walker: 2.0.2
2099
+
picomatch: 4.0.2
2100
+
optionalDependencies:
2101
+
rollup: 4.34.9
2102
+
2103
+
'@rollup/rollup-android-arm-eabi@4.34.9':
2104
+
optional: true
2105
+
2106
+
'@rollup/rollup-android-arm64@4.34.9':
2107
+
optional: true
2108
+
2109
+
'@rollup/rollup-darwin-arm64@4.34.9':
2110
+
optional: true
2111
+
2112
+
'@rollup/rollup-darwin-x64@4.34.9':
2113
+
optional: true
2114
+
2115
+
'@rollup/rollup-freebsd-arm64@4.34.9':
2116
+
optional: true
2117
+
2118
+
'@rollup/rollup-freebsd-x64@4.34.9':
2119
+
optional: true
2120
+
2121
+
'@rollup/rollup-linux-arm-gnueabihf@4.34.9':
2122
+
optional: true
2123
+
2124
+
'@rollup/rollup-linux-arm-musleabihf@4.34.9':
2125
+
optional: true
2126
+
2127
+
'@rollup/rollup-linux-arm64-gnu@4.34.9':
2128
+
optional: true
2129
+
2130
+
'@rollup/rollup-linux-arm64-musl@4.34.9':
2131
+
optional: true
2132
+
2133
+
'@rollup/rollup-linux-loongarch64-gnu@4.34.9':
2134
+
optional: true
2135
+
2136
+
'@rollup/rollup-linux-powerpc64le-gnu@4.34.9':
2137
+
optional: true
2138
+
2139
+
'@rollup/rollup-linux-riscv64-gnu@4.34.9':
2140
+
optional: true
2141
+
2142
+
'@rollup/rollup-linux-s390x-gnu@4.34.9':
2143
+
optional: true
2144
+
2145
+
'@rollup/rollup-linux-x64-gnu@4.34.9':
2146
+
optional: true
2147
+
2148
+
'@rollup/rollup-linux-x64-musl@4.34.9':
2149
+
optional: true
2150
+
2151
+
'@rollup/rollup-win32-arm64-msvc@4.34.9':
2152
+
optional: true
2153
+
2154
+
'@rollup/rollup-win32-ia32-msvc@4.34.9':
2155
+
optional: true
2156
+
2157
+
'@rollup/rollup-win32-x64-msvc@4.34.9':
2158
+
optional: true
2159
+
2160
+
'@types/estree@1.0.6': {}
2161
+
2162
+
'@types/node@12.20.55': {}
2163
+
2164
+
'@types/node@18.19.76':
2165
+
dependencies:
2166
+
undici-types: 5.26.5
2167
+
2168
+
'@types/resolve@1.20.2': {}
2169
+
2170
+
acorn@8.14.1: {}
2171
+
2172
+
ansi-colors@4.1.3: {}
2173
+
2174
+
ansi-escapes@7.0.0:
2175
+
dependencies:
2176
+
environment: 1.1.0
2177
+
2178
+
ansi-regex@5.0.1: {}
2179
+
2180
+
ansi-regex@6.1.0: {}
2181
+
2182
+
ansi-styles@3.2.1:
2183
+
dependencies:
2184
+
color-convert: 1.9.3
2185
+
2186
+
ansi-styles@4.3.0:
2187
+
dependencies:
2188
+
color-convert: 2.0.1
2189
+
2190
+
ansi-styles@6.2.1: {}
2191
+
2192
+
argparse@1.0.10:
2193
+
dependencies:
2194
+
sprintf-js: 1.0.3
2195
+
2196
+
array-buffer-byte-length@1.0.2:
2197
+
dependencies:
2198
+
call-bound: 1.0.4
2199
+
is-array-buffer: 3.0.5
2200
+
2201
+
array-union@2.1.0: {}
2202
+
2203
+
arraybuffer.prototype.slice@1.0.4:
2204
+
dependencies:
2205
+
array-buffer-byte-length: 1.0.2
2206
+
call-bind: 1.0.8
2207
+
define-properties: 1.2.1
2208
+
es-abstract: 1.23.9
2209
+
es-errors: 1.3.0
2210
+
get-intrinsic: 1.3.0
2211
+
is-array-buffer: 3.0.5
2212
+
2213
+
async-function@1.0.0: {}
2214
+
2215
+
available-typed-arrays@1.0.7:
2216
+
dependencies:
2217
+
possible-typed-array-names: 1.1.0
2218
+
2219
+
balanced-match@1.0.2: {}
2220
+
2221
+
better-path-resolve@1.0.0:
2222
+
dependencies:
2223
+
is-windows: 1.0.2
2224
+
2225
+
brace-expansion@1.1.11:
2226
+
dependencies:
2227
+
balanced-match: 1.0.2
2228
+
concat-map: 0.0.1
2229
+
2230
+
brace-expansion@2.0.1:
2231
+
dependencies:
2232
+
balanced-match: 1.0.2
2233
+
2234
+
braces@3.0.3:
2235
+
dependencies:
2236
+
fill-range: 7.1.1
2237
+
2238
+
browserslist@4.24.4:
2239
+
dependencies:
2240
+
caniuse-lite: 1.0.30001703
2241
+
electron-to-chromium: 1.5.114
2242
+
node-releases: 2.0.19
2243
+
update-browserslist-db: 1.1.3(browserslist@4.24.4)
2244
+
2245
+
buffer-from@1.1.2: {}
2246
+
2247
+
call-bind-apply-helpers@1.0.2:
2248
+
dependencies:
2249
+
es-errors: 1.3.0
2250
+
function-bind: 1.1.2
2251
+
2252
+
call-bind@1.0.8:
2253
+
dependencies:
2254
+
call-bind-apply-helpers: 1.0.2
2255
+
es-define-property: 1.0.1
2256
+
get-intrinsic: 1.3.0
2257
+
set-function-length: 1.2.2
2258
+
2259
+
call-bound@1.0.4:
2260
+
dependencies:
2261
+
call-bind-apply-helpers: 1.0.2
2262
+
get-intrinsic: 1.3.0
2263
+
2264
+
caniuse-lite@1.0.30001703: {}
2265
+
2266
+
chalk@2.4.2:
2267
+
dependencies:
2268
+
ansi-styles: 3.2.1
2269
+
escape-string-regexp: 1.0.5
2270
+
supports-color: 5.5.0
2271
+
2272
+
chalk@5.4.1: {}
2273
+
2274
+
chardet@0.7.0: {}
2275
+
2276
+
ci-info@3.9.0: {}
2277
+
2278
+
cjs-module-lexer@1.4.3: {}
2279
+
2280
+
cli-cursor@5.0.0:
2281
+
dependencies:
2282
+
restore-cursor: 5.1.0
2283
+
2284
+
cli-truncate@4.0.0:
2285
+
dependencies:
2286
+
slice-ansi: 5.0.0
2287
+
string-width: 7.2.0
2288
+
2289
+
color-convert@1.9.3:
2290
+
dependencies:
2291
+
color-name: 1.1.3
2292
+
2293
+
color-convert@2.0.1:
2294
+
dependencies:
2295
+
color-name: 1.1.4
2296
+
2297
+
color-name@1.1.3: {}
2298
+
2299
+
color-name@1.1.4: {}
2300
+
2301
+
colorette@2.0.20: {}
2302
+
2303
+
commander@13.1.0: {}
2304
+
2305
+
commander@2.20.3: {}
2306
+
2307
+
commondir@1.0.1: {}
2308
+
2309
+
concat-map@0.0.1: {}
2310
+
2311
+
convert-source-map@2.0.0: {}
2312
+
2313
+
cross-spawn@6.0.6:
2314
+
dependencies:
2315
+
nice-try: 1.0.5
2316
+
path-key: 2.0.1
2317
+
semver: 5.7.2
2318
+
shebang-command: 1.2.0
2319
+
which: 1.3.1
2320
+
2321
+
cross-spawn@7.0.6:
2322
+
dependencies:
2323
+
path-key: 3.1.1
2324
+
shebang-command: 2.0.0
2325
+
which: 2.0.2
2326
+
2327
+
data-view-buffer@1.0.2:
2328
+
dependencies:
2329
+
call-bound: 1.0.4
2330
+
es-errors: 1.3.0
2331
+
is-data-view: 1.0.2
2332
+
2333
+
data-view-byte-length@1.0.2:
2334
+
dependencies:
2335
+
call-bound: 1.0.4
2336
+
es-errors: 1.3.0
2337
+
is-data-view: 1.0.2
2338
+
2339
+
data-view-byte-offset@1.0.1:
2340
+
dependencies:
2341
+
call-bound: 1.0.4
2342
+
es-errors: 1.3.0
2343
+
is-data-view: 1.0.2
2344
+
2345
+
dataloader@1.4.0: {}
2346
+
2347
+
debug@4.4.0:
2348
+
dependencies:
2349
+
ms: 2.1.3
2350
+
2351
+
deepmerge@4.3.1: {}
2352
+
2353
+
define-data-property@1.1.4:
2354
+
dependencies:
2355
+
es-define-property: 1.0.1
2356
+
es-errors: 1.3.0
2357
+
gopd: 1.2.0
2358
+
2359
+
define-properties@1.2.1:
2360
+
dependencies:
2361
+
define-data-property: 1.1.4
2362
+
has-property-descriptors: 1.0.2
2363
+
object-keys: 1.1.1
2364
+
2365
+
detect-indent@6.1.0: {}
2366
+
2367
+
dir-glob@3.0.1:
2368
+
dependencies:
2369
+
path-type: 4.0.0
2370
+
2371
+
dotenv@16.4.7: {}
2372
+
2373
+
dunder-proto@1.0.1:
2374
+
dependencies:
2375
+
call-bind-apply-helpers: 1.0.2
2376
+
es-errors: 1.3.0
2377
+
gopd: 1.2.0
2378
+
2379
+
eastasianwidth@0.2.0: {}
2380
+
2381
+
electron-to-chromium@1.5.114: {}
2382
+
2383
+
emoji-regex@10.4.0: {}
2384
+
2385
+
emoji-regex@8.0.0: {}
2386
+
2387
+
emoji-regex@9.2.2: {}
2388
+
2389
+
enquirer@2.4.1:
2390
+
dependencies:
2391
+
ansi-colors: 4.1.3
2392
+
strip-ansi: 6.0.1
2393
+
2394
+
environment@1.1.0: {}
2395
+
2396
+
error-ex@1.3.2:
2397
+
dependencies:
2398
+
is-arrayish: 0.2.1
2399
+
2400
+
es-abstract@1.23.9:
2401
+
dependencies:
2402
+
array-buffer-byte-length: 1.0.2
2403
+
arraybuffer.prototype.slice: 1.0.4
2404
+
available-typed-arrays: 1.0.7
2405
+
call-bind: 1.0.8
2406
+
call-bound: 1.0.4
2407
+
data-view-buffer: 1.0.2
2408
+
data-view-byte-length: 1.0.2
2409
+
data-view-byte-offset: 1.0.1
2410
+
es-define-property: 1.0.1
2411
+
es-errors: 1.3.0
2412
+
es-object-atoms: 1.1.1
2413
+
es-set-tostringtag: 2.1.0
2414
+
es-to-primitive: 1.3.0
2415
+
function.prototype.name: 1.1.8
2416
+
get-intrinsic: 1.3.0
2417
+
get-proto: 1.0.1
2418
+
get-symbol-description: 1.1.0
2419
+
globalthis: 1.0.4
2420
+
gopd: 1.2.0
2421
+
has-property-descriptors: 1.0.2
2422
+
has-proto: 1.2.0
2423
+
has-symbols: 1.1.0
2424
+
hasown: 2.0.2
2425
+
internal-slot: 1.1.0
2426
+
is-array-buffer: 3.0.5
2427
+
is-callable: 1.2.7
2428
+
is-data-view: 1.0.2
2429
+
is-regex: 1.2.1
2430
+
is-shared-array-buffer: 1.0.4
2431
+
is-string: 1.1.1
2432
+
is-typed-array: 1.1.15
2433
+
is-weakref: 1.1.1
2434
+
math-intrinsics: 1.1.0
2435
+
object-inspect: 1.13.4
2436
+
object-keys: 1.1.1
2437
+
object.assign: 4.1.7
2438
+
own-keys: 1.0.1
2439
+
regexp.prototype.flags: 1.5.4
2440
+
safe-array-concat: 1.1.3
2441
+
safe-push-apply: 1.0.0
2442
+
safe-regex-test: 1.1.0
2443
+
set-proto: 1.0.0
2444
+
string.prototype.trim: 1.2.10
2445
+
string.prototype.trimend: 1.0.9
2446
+
string.prototype.trimstart: 1.0.8
2447
+
typed-array-buffer: 1.0.3
2448
+
typed-array-byte-length: 1.0.3
2449
+
typed-array-byte-offset: 1.0.4
2450
+
typed-array-length: 1.0.7
2451
+
unbox-primitive: 1.1.0
2452
+
which-typed-array: 1.1.19
2453
+
2454
+
es-define-property@1.0.1: {}
2455
+
2456
+
es-errors@1.3.0: {}
2457
+
2458
+
es-object-atoms@1.1.1:
2459
+
dependencies:
2460
+
es-errors: 1.3.0
2461
+
2462
+
es-set-tostringtag@2.1.0:
2463
+
dependencies:
2464
+
es-errors: 1.3.0
2465
+
get-intrinsic: 1.3.0
2466
+
has-tostringtag: 1.0.2
2467
+
hasown: 2.0.2
2468
+
2469
+
es-to-primitive@1.3.0:
2470
+
dependencies:
2471
+
is-callable: 1.2.7
2472
+
is-date-object: 1.1.0
2473
+
is-symbol: 1.1.1
2474
+
2475
+
escalade@3.2.0: {}
2476
+
2477
+
escape-string-regexp@1.0.5: {}
2478
+
2479
+
esprima@4.0.1: {}
2480
+
2481
+
estree-walker@2.0.2: {}
2482
+
2483
+
eventemitter3@5.0.1: {}
2484
+
2485
+
execa@8.0.1:
2486
+
dependencies:
2487
+
cross-spawn: 7.0.6
2488
+
get-stream: 8.0.1
2489
+
human-signals: 5.0.0
2490
+
is-stream: 3.0.0
2491
+
merge-stream: 2.0.0
2492
+
npm-run-path: 5.3.0
2493
+
onetime: 6.0.0
2494
+
signal-exit: 4.1.0
2495
+
strip-final-newline: 3.0.0
2496
+
2497
+
extendable-error@0.1.7: {}
2498
+
2499
+
external-editor@3.1.0:
2500
+
dependencies:
2501
+
chardet: 0.7.0
2502
+
iconv-lite: 0.4.24
2503
+
tmp: 0.0.33
2504
+
2505
+
fast-glob@3.3.3:
2506
+
dependencies:
2507
+
'@nodelib/fs.stat': 2.0.5
2508
+
'@nodelib/fs.walk': 1.2.8
2509
+
glob-parent: 5.1.2
2510
+
merge2: 1.4.1
2511
+
micromatch: 4.0.8
2512
+
2513
+
fastq@1.19.1:
2514
+
dependencies:
2515
+
reusify: 1.1.0
2516
+
2517
+
fdir@6.4.3(picomatch@4.0.2):
2518
+
optionalDependencies:
2519
+
picomatch: 4.0.2
2520
+
2521
+
fill-range@7.1.1:
2522
+
dependencies:
2523
+
to-regex-range: 5.0.1
2524
+
2525
+
find-up@4.1.0:
2526
+
dependencies:
2527
+
locate-path: 5.0.0
2528
+
path-exists: 4.0.0
2529
+
2530
+
for-each@0.3.5:
2531
+
dependencies:
2532
+
is-callable: 1.2.7
2533
+
2534
+
foreground-child@3.3.1:
2535
+
dependencies:
2536
+
cross-spawn: 7.0.6
2537
+
signal-exit: 4.1.0
2538
+
2539
+
fs-extra@7.0.1:
2540
+
dependencies:
2541
+
graceful-fs: 4.2.11
2542
+
jsonfile: 4.0.0
2543
+
universalify: 0.1.2
2544
+
2545
+
fs-extra@8.1.0:
2546
+
dependencies:
2547
+
graceful-fs: 4.2.11
2548
+
jsonfile: 4.0.0
2549
+
universalify: 0.1.2
2550
+
2551
+
fsevents@2.3.3:
2552
+
optional: true
2553
+
2554
+
function-bind@1.1.2: {}
2555
+
2556
+
function.prototype.name@1.1.8:
2557
+
dependencies:
2558
+
call-bind: 1.0.8
2559
+
call-bound: 1.0.4
2560
+
define-properties: 1.2.1
2561
+
functions-have-names: 1.2.3
2562
+
hasown: 2.0.2
2563
+
is-callable: 1.2.7
2564
+
2565
+
functions-have-names@1.2.3: {}
2566
+
2567
+
gensync@1.0.0-beta.2: {}
2568
+
2569
+
get-east-asian-width@1.3.0: {}
2570
+
2571
+
get-intrinsic@1.3.0:
2572
+
dependencies:
2573
+
call-bind-apply-helpers: 1.0.2
2574
+
es-define-property: 1.0.1
2575
+
es-errors: 1.3.0
2576
+
es-object-atoms: 1.1.1
2577
+
function-bind: 1.1.2
2578
+
get-proto: 1.0.1
2579
+
gopd: 1.2.0
2580
+
has-symbols: 1.1.0
2581
+
hasown: 2.0.2
2582
+
math-intrinsics: 1.1.0
2583
+
2584
+
get-proto@1.0.1:
2585
+
dependencies:
2586
+
dunder-proto: 1.0.1
2587
+
es-object-atoms: 1.1.1
2588
+
2589
+
get-stream@8.0.1: {}
2590
+
2591
+
get-symbol-description@1.1.0:
2592
+
dependencies:
2593
+
call-bound: 1.0.4
2594
+
es-errors: 1.3.0
2595
+
get-intrinsic: 1.3.0
2596
+
2597
+
glob-parent@5.1.2:
2598
+
dependencies:
2599
+
is-glob: 4.0.3
2600
+
2601
+
glob@11.0.1:
2602
+
dependencies:
2603
+
foreground-child: 3.3.1
2604
+
jackspeak: 4.1.0
2605
+
minimatch: 10.0.1
2606
+
minipass: 7.1.2
2607
+
package-json-from-dist: 1.0.1
2608
+
path-scurry: 2.0.0
2609
+
2610
+
globals@11.12.0: {}
2611
+
2612
+
globalthis@1.0.4:
2613
+
dependencies:
2614
+
define-properties: 1.2.1
2615
+
gopd: 1.2.0
2616
+
2617
+
globby@11.1.0:
2618
+
dependencies:
2619
+
array-union: 2.1.0
2620
+
dir-glob: 3.0.1
2621
+
fast-glob: 3.3.3
2622
+
ignore: 5.3.2
2623
+
merge2: 1.4.1
2624
+
slash: 3.0.0
2625
+
2626
+
gopd@1.2.0: {}
2627
+
2628
+
graceful-fs@4.2.11: {}
2629
+
2630
+
has-bigints@1.1.0: {}
2631
+
2632
+
has-flag@3.0.0: {}
2633
+
2634
+
has-property-descriptors@1.0.2:
2635
+
dependencies:
2636
+
es-define-property: 1.0.1
2637
+
2638
+
has-proto@1.2.0:
2639
+
dependencies:
2640
+
dunder-proto: 1.0.1
2641
+
2642
+
has-symbols@1.1.0: {}
2643
+
2644
+
has-tostringtag@1.0.2:
2645
+
dependencies:
2646
+
has-symbols: 1.1.0
2647
+
2648
+
hasown@2.0.2:
2649
+
dependencies:
2650
+
function-bind: 1.1.2
2651
+
2652
+
hosted-git-info@2.8.9: {}
2653
+
2654
+
human-id@4.1.1: {}
2655
+
2656
+
human-signals@5.0.0: {}
2657
+
2658
+
iconv-lite@0.4.24:
2659
+
dependencies:
2660
+
safer-buffer: 2.1.2
2661
+
2662
+
ignore@5.3.2: {}
2663
+
2664
+
internal-slot@1.1.0:
2665
+
dependencies:
2666
+
es-errors: 1.3.0
2667
+
hasown: 2.0.2
2668
+
side-channel: 1.1.0
2669
+
2670
+
is-array-buffer@3.0.5:
2671
+
dependencies:
2672
+
call-bind: 1.0.8
2673
+
call-bound: 1.0.4
2674
+
get-intrinsic: 1.3.0
2675
+
2676
+
is-arrayish@0.2.1: {}
2677
+
2678
+
is-async-function@2.1.1:
2679
+
dependencies:
2680
+
async-function: 1.0.0
2681
+
call-bound: 1.0.4
2682
+
get-proto: 1.0.1
2683
+
has-tostringtag: 1.0.2
2684
+
safe-regex-test: 1.1.0
2685
+
2686
+
is-bigint@1.1.0:
2687
+
dependencies:
2688
+
has-bigints: 1.1.0
2689
+
2690
+
is-boolean-object@1.2.2:
2691
+
dependencies:
2692
+
call-bound: 1.0.4
2693
+
has-tostringtag: 1.0.2
2694
+
2695
+
is-callable@1.2.7: {}
2696
+
2697
+
is-core-module@2.16.1:
2698
+
dependencies:
2699
+
hasown: 2.0.2
2700
+
2701
+
is-data-view@1.0.2:
2702
+
dependencies:
2703
+
call-bound: 1.0.4
2704
+
get-intrinsic: 1.3.0
2705
+
is-typed-array: 1.1.15
2706
+
2707
+
is-date-object@1.1.0:
2708
+
dependencies:
2709
+
call-bound: 1.0.4
2710
+
has-tostringtag: 1.0.2
2711
+
2712
+
is-extglob@2.1.1: {}
2713
+
2714
+
is-finalizationregistry@1.1.1:
2715
+
dependencies:
2716
+
call-bound: 1.0.4
2717
+
2718
+
is-fullwidth-code-point@3.0.0: {}
2719
+
2720
+
is-fullwidth-code-point@4.0.0: {}
2721
+
2722
+
is-fullwidth-code-point@5.0.0:
2723
+
dependencies:
2724
+
get-east-asian-width: 1.3.0
2725
+
2726
+
is-generator-function@1.1.0:
2727
+
dependencies:
2728
+
call-bound: 1.0.4
2729
+
get-proto: 1.0.1
2730
+
has-tostringtag: 1.0.2
2731
+
safe-regex-test: 1.1.0
2732
+
2733
+
is-glob@4.0.3:
2734
+
dependencies:
2735
+
is-extglob: 2.1.1
2736
+
2737
+
is-map@2.0.3: {}
2738
+
2739
+
is-module@1.0.0: {}
2740
+
2741
+
is-number-object@1.1.1:
2742
+
dependencies:
2743
+
call-bound: 1.0.4
2744
+
has-tostringtag: 1.0.2
2745
+
2746
+
is-number@7.0.0: {}
2747
+
2748
+
is-reference@1.2.1:
2749
+
dependencies:
2750
+
'@types/estree': 1.0.6
2751
+
2752
+
is-regex@1.2.1:
2753
+
dependencies:
2754
+
call-bound: 1.0.4
2755
+
gopd: 1.2.0
2756
+
has-tostringtag: 1.0.2
2757
+
hasown: 2.0.2
2758
+
2759
+
is-set@2.0.3: {}
2760
+
2761
+
is-shared-array-buffer@1.0.4:
2762
+
dependencies:
2763
+
call-bound: 1.0.4
2764
+
2765
+
is-stream@3.0.0: {}
2766
+
2767
+
is-string@1.1.1:
2768
+
dependencies:
2769
+
call-bound: 1.0.4
2770
+
has-tostringtag: 1.0.2
2771
+
2772
+
is-subdir@1.2.0:
2773
+
dependencies:
2774
+
better-path-resolve: 1.0.0
2775
+
2776
+
is-symbol@1.1.1:
2777
+
dependencies:
2778
+
call-bound: 1.0.4
2779
+
has-symbols: 1.1.0
2780
+
safe-regex-test: 1.1.0
2781
+
2782
+
is-typed-array@1.1.15:
2783
+
dependencies:
2784
+
which-typed-array: 1.1.19
2785
+
2786
+
is-weakmap@2.0.2: {}
2787
+
2788
+
is-weakref@1.1.1:
2789
+
dependencies:
2790
+
call-bound: 1.0.4
2791
+
2792
+
is-weakset@2.0.4:
2793
+
dependencies:
2794
+
call-bound: 1.0.4
2795
+
get-intrinsic: 1.3.0
2796
+
2797
+
is-windows@1.0.2: {}
2798
+
2799
+
isarray@2.0.5: {}
2800
+
2801
+
isexe@2.0.0: {}
2802
+
2803
+
jackspeak@4.1.0:
2804
+
dependencies:
2805
+
'@isaacs/cliui': 8.0.2
2806
+
2807
+
js-tokens@4.0.0: {}
2808
+
2809
+
js-yaml@3.14.1:
2810
+
dependencies:
2811
+
argparse: 1.0.10
2812
+
esprima: 4.0.1
2813
+
2814
+
jsesc@3.1.0: {}
2815
+
2816
+
json-parse-better-errors@1.0.2: {}
2817
+
2818
+
json5@2.2.3: {}
2819
+
2820
+
jsonfile@4.0.0:
2821
+
optionalDependencies:
2822
+
graceful-fs: 4.2.11
2823
+
2824
+
lilconfig@3.1.3: {}
2825
+
2826
+
lint-staged@15.4.3:
2827
+
dependencies:
2828
+
chalk: 5.4.1
2829
+
commander: 13.1.0
2830
+
debug: 4.4.0
2831
+
execa: 8.0.1
2832
+
lilconfig: 3.1.3
2833
+
listr2: 8.2.5
2834
+
micromatch: 4.0.8
2835
+
pidtree: 0.6.0
2836
+
string-argv: 0.3.2
2837
+
yaml: 2.7.0
2838
+
transitivePeerDependencies:
2839
+
- supports-color
2840
+
2841
+
listr2@8.2.5:
2842
+
dependencies:
2843
+
cli-truncate: 4.0.0
2844
+
colorette: 2.0.20
2845
+
eventemitter3: 5.0.1
2846
+
log-update: 6.1.0
2847
+
rfdc: 1.4.1
2848
+
wrap-ansi: 9.0.0
2849
+
2850
+
load-json-file@4.0.0:
2851
+
dependencies:
2852
+
graceful-fs: 4.2.11
2853
+
parse-json: 4.0.0
2854
+
pify: 3.0.0
2855
+
strip-bom: 3.0.0
2856
+
2857
+
locate-path@5.0.0:
2858
+
dependencies:
2859
+
p-locate: 4.1.0
2860
+
2861
+
lodash.startcase@4.4.0: {}
2862
+
2863
+
log-update@6.1.0:
2864
+
dependencies:
2865
+
ansi-escapes: 7.0.0
2866
+
cli-cursor: 5.0.0
2867
+
slice-ansi: 7.1.0
2868
+
strip-ansi: 7.1.0
2869
+
wrap-ansi: 9.0.0
2870
+
2871
+
lru-cache@11.0.2: {}
2872
+
2873
+
lru-cache@5.1.1:
2874
+
dependencies:
2875
+
yallist: 3.1.1
2876
+
2877
+
magic-string@0.30.17:
2878
+
dependencies:
2879
+
'@jridgewell/sourcemap-codec': 1.5.0
2880
+
2881
+
math-intrinsics@1.1.0: {}
2882
+
2883
+
memorystream@0.3.1: {}
2884
+
2885
+
merge-stream@2.0.0: {}
2886
+
2887
+
merge2@1.4.1: {}
2888
+
2889
+
micromatch@4.0.8:
2890
+
dependencies:
2891
+
braces: 3.0.3
2892
+
picomatch: 2.3.1
2893
+
2894
+
mimic-fn@4.0.0: {}
2895
+
2896
+
mimic-function@5.0.1: {}
2897
+
2898
+
minimatch@10.0.1:
2899
+
dependencies:
2900
+
brace-expansion: 2.0.1
2901
+
2902
+
minimatch@3.1.2:
2903
+
dependencies:
2904
+
brace-expansion: 1.1.11
2905
+
2906
+
minipass@7.1.2: {}
2907
+
2908
+
mri@1.2.0: {}
2909
+
2910
+
ms@2.1.3: {}
2911
+
2912
+
nice-try@1.0.5: {}
2913
+
2914
+
node-fetch@2.7.0:
2915
+
dependencies:
2916
+
whatwg-url: 5.0.0
2917
+
2918
+
node-releases@2.0.19: {}
2919
+
2920
+
normalize-package-data@2.5.0:
2921
+
dependencies:
2922
+
hosted-git-info: 2.8.9
2923
+
resolve: 1.22.10
2924
+
semver: 5.7.2
2925
+
validate-npm-package-license: 3.0.4
2926
+
2927
+
npm-run-all@4.1.5:
2928
+
dependencies:
2929
+
ansi-styles: 3.2.1
2930
+
chalk: 2.4.2
2931
+
cross-spawn: 6.0.6
2932
+
memorystream: 0.3.1
2933
+
minimatch: 3.1.2
2934
+
pidtree: 0.3.1
2935
+
read-pkg: 3.0.0
2936
+
shell-quote: 1.8.2
2937
+
string.prototype.padend: 3.1.6
2938
+
2939
+
npm-run-path@5.3.0:
2940
+
dependencies:
2941
+
path-key: 4.0.0
2942
+
2943
+
object-inspect@1.13.4: {}
2944
+
2945
+
object-keys@1.1.1: {}
2946
+
2947
+
object.assign@4.1.7:
2948
+
dependencies:
2949
+
call-bind: 1.0.8
2950
+
call-bound: 1.0.4
2951
+
define-properties: 1.2.1
2952
+
es-object-atoms: 1.1.1
2953
+
has-symbols: 1.1.0
2954
+
object-keys: 1.1.1
2955
+
2956
+
onetime@6.0.0:
2957
+
dependencies:
2958
+
mimic-fn: 4.0.0
2959
+
2960
+
onetime@7.0.0:
2961
+
dependencies:
2962
+
mimic-function: 5.0.1
2963
+
2964
+
os-tmpdir@1.0.2: {}
2965
+
2966
+
outdent@0.5.0: {}
2967
+
2968
+
own-keys@1.0.1:
2969
+
dependencies:
2970
+
get-intrinsic: 1.3.0
2971
+
object-keys: 1.1.1
2972
+
safe-push-apply: 1.0.0
2973
+
2974
+
p-filter@2.1.0:
2975
+
dependencies:
2976
+
p-map: 2.1.0
2977
+
2978
+
p-limit@2.3.0:
2979
+
dependencies:
2980
+
p-try: 2.2.0
2981
+
2982
+
p-locate@4.1.0:
2983
+
dependencies:
2984
+
p-limit: 2.3.0
2985
+
2986
+
p-map@2.1.0: {}
2987
+
2988
+
p-try@2.2.0: {}
2989
+
2990
+
package-json-from-dist@1.0.1: {}
2991
+
2992
+
package-manager-detector@0.2.11:
2993
+
dependencies:
2994
+
quansync: 0.2.8
2995
+
2996
+
parse-json@4.0.0:
2997
+
dependencies:
2998
+
error-ex: 1.3.2
2999
+
json-parse-better-errors: 1.0.2
3000
+
3001
+
path-exists@4.0.0: {}
3002
+
3003
+
path-key@2.0.1: {}
3004
+
3005
+
path-key@3.1.1: {}
3006
+
3007
+
path-key@4.0.0: {}
3008
+
3009
+
path-parse@1.0.7: {}
3010
+
3011
+
path-scurry@2.0.0:
3012
+
dependencies:
3013
+
lru-cache: 11.0.2
3014
+
minipass: 7.1.2
3015
+
3016
+
path-type@3.0.0:
3017
+
dependencies:
3018
+
pify: 3.0.0
3019
+
3020
+
path-type@4.0.0: {}
3021
+
3022
+
picocolors@1.1.1: {}
3023
+
3024
+
picomatch@2.3.1: {}
3025
+
3026
+
picomatch@4.0.2: {}
3027
+
3028
+
pidtree@0.3.1: {}
3029
+
3030
+
pidtree@0.6.0: {}
3031
+
3032
+
pify@3.0.0: {}
3033
+
3034
+
pify@4.0.1: {}
3035
+
3036
+
possible-typed-array-names@1.1.0: {}
3037
+
3038
+
prettier@2.8.8: {}
3039
+
3040
+
prettier@3.5.3: {}
3041
+
3042
+
quansync@0.2.8: {}
3043
+
3044
+
queue-microtask@1.2.3: {}
3045
+
3046
+
randombytes@2.1.0:
3047
+
dependencies:
3048
+
safe-buffer: 5.2.1
3049
+
3050
+
read-pkg@3.0.0:
3051
+
dependencies:
3052
+
load-json-file: 4.0.0
3053
+
normalize-package-data: 2.5.0
3054
+
path-type: 3.0.0
3055
+
3056
+
read-yaml-file@1.1.0:
3057
+
dependencies:
3058
+
graceful-fs: 4.2.11
3059
+
js-yaml: 3.14.1
3060
+
pify: 4.0.1
3061
+
strip-bom: 3.0.0
3062
+
3063
+
reflect.getprototypeof@1.0.10:
3064
+
dependencies:
3065
+
call-bind: 1.0.8
3066
+
define-properties: 1.2.1
3067
+
es-abstract: 1.23.9
3068
+
es-errors: 1.3.0
3069
+
es-object-atoms: 1.1.1
3070
+
get-intrinsic: 1.3.0
3071
+
get-proto: 1.0.1
3072
+
which-builtin-type: 1.2.1
3073
+
3074
+
regenerator-runtime@0.14.1: {}
3075
+
3076
+
regexp.prototype.flags@1.5.4:
3077
+
dependencies:
3078
+
call-bind: 1.0.8
3079
+
define-properties: 1.2.1
3080
+
es-errors: 1.3.0
3081
+
get-proto: 1.0.1
3082
+
gopd: 1.2.0
3083
+
set-function-name: 2.0.2
3084
+
3085
+
resolve-from@5.0.0: {}
3086
+
3087
+
resolve@1.22.10:
3088
+
dependencies:
3089
+
is-core-module: 2.16.1
3090
+
path-parse: 1.0.7
3091
+
supports-preserve-symlinks-flag: 1.0.0
3092
+
3093
+
restore-cursor@5.1.0:
3094
+
dependencies:
3095
+
onetime: 7.0.0
3096
+
signal-exit: 4.1.0
3097
+
3098
+
reusify@1.1.0: {}
3099
+
3100
+
rfdc@1.4.1: {}
3101
+
3102
+
rimraf@6.0.1:
3103
+
dependencies:
3104
+
glob: 11.0.1
3105
+
package-json-from-dist: 1.0.1
3106
+
3107
+
rollup-plugin-cjs-check@1.0.3(rollup@4.34.9):
3108
+
dependencies:
3109
+
'@rollup/pluginutils': 5.1.4(rollup@4.34.9)
3110
+
cjs-module-lexer: 1.4.3
3111
+
rollup: 4.34.9
3112
+
3113
+
rollup-plugin-dts@6.1.1(rollup@4.34.9)(typescript@5.7.3):
3114
+
dependencies:
3115
+
magic-string: 0.30.17
3116
+
rollup: 4.34.9
3117
+
typescript: 5.7.3
3118
+
optionalDependencies:
3119
+
'@babel/code-frame': 7.26.2
3120
+
3121
+
rollup@4.34.9:
3122
+
dependencies:
3123
+
'@types/estree': 1.0.6
3124
+
optionalDependencies:
3125
+
'@rollup/rollup-android-arm-eabi': 4.34.9
3126
+
'@rollup/rollup-android-arm64': 4.34.9
3127
+
'@rollup/rollup-darwin-arm64': 4.34.9
3128
+
'@rollup/rollup-darwin-x64': 4.34.9
3129
+
'@rollup/rollup-freebsd-arm64': 4.34.9
3130
+
'@rollup/rollup-freebsd-x64': 4.34.9
3131
+
'@rollup/rollup-linux-arm-gnueabihf': 4.34.9
3132
+
'@rollup/rollup-linux-arm-musleabihf': 4.34.9
3133
+
'@rollup/rollup-linux-arm64-gnu': 4.34.9
3134
+
'@rollup/rollup-linux-arm64-musl': 4.34.9
3135
+
'@rollup/rollup-linux-loongarch64-gnu': 4.34.9
3136
+
'@rollup/rollup-linux-powerpc64le-gnu': 4.34.9
3137
+
'@rollup/rollup-linux-riscv64-gnu': 4.34.9
3138
+
'@rollup/rollup-linux-s390x-gnu': 4.34.9
3139
+
'@rollup/rollup-linux-x64-gnu': 4.34.9
3140
+
'@rollup/rollup-linux-x64-musl': 4.34.9
3141
+
'@rollup/rollup-win32-arm64-msvc': 4.34.9
3142
+
'@rollup/rollup-win32-ia32-msvc': 4.34.9
3143
+
'@rollup/rollup-win32-x64-msvc': 4.34.9
3144
+
fsevents: 2.3.3
3145
+
3146
+
run-parallel@1.2.0:
3147
+
dependencies:
3148
+
queue-microtask: 1.2.3
3149
+
3150
+
safe-array-concat@1.1.3:
3151
+
dependencies:
3152
+
call-bind: 1.0.8
3153
+
call-bound: 1.0.4
3154
+
get-intrinsic: 1.3.0
3155
+
has-symbols: 1.1.0
3156
+
isarray: 2.0.5
3157
+
3158
+
safe-buffer@5.2.1: {}
3159
+
3160
+
safe-push-apply@1.0.0:
3161
+
dependencies:
3162
+
es-errors: 1.3.0
3163
+
isarray: 2.0.5
3164
+
3165
+
safe-regex-test@1.1.0:
3166
+
dependencies:
3167
+
call-bound: 1.0.4
3168
+
es-errors: 1.3.0
3169
+
is-regex: 1.2.1
3170
+
3171
+
safer-buffer@2.1.2: {}
3172
+
3173
+
semver@5.7.2: {}
3174
+
3175
+
semver@6.3.1: {}
3176
+
3177
+
semver@7.7.1: {}
3178
+
3179
+
serialize-javascript@6.0.2:
3180
+
dependencies:
3181
+
randombytes: 2.1.0
3182
+
3183
+
set-function-length@1.2.2:
3184
+
dependencies:
3185
+
define-data-property: 1.1.4
3186
+
es-errors: 1.3.0
3187
+
function-bind: 1.1.2
3188
+
get-intrinsic: 1.3.0
3189
+
gopd: 1.2.0
3190
+
has-property-descriptors: 1.0.2
3191
+
3192
+
set-function-name@2.0.2:
3193
+
dependencies:
3194
+
define-data-property: 1.1.4
3195
+
es-errors: 1.3.0
3196
+
functions-have-names: 1.2.3
3197
+
has-property-descriptors: 1.0.2
3198
+
3199
+
set-proto@1.0.0:
3200
+
dependencies:
3201
+
dunder-proto: 1.0.1
3202
+
es-errors: 1.3.0
3203
+
es-object-atoms: 1.1.1
3204
+
3205
+
shebang-command@1.2.0:
3206
+
dependencies:
3207
+
shebang-regex: 1.0.0
3208
+
3209
+
shebang-command@2.0.0:
3210
+
dependencies:
3211
+
shebang-regex: 3.0.0
3212
+
3213
+
shebang-regex@1.0.0: {}
3214
+
3215
+
shebang-regex@3.0.0: {}
3216
+
3217
+
shell-quote@1.8.2: {}
3218
+
3219
+
side-channel-list@1.0.0:
3220
+
dependencies:
3221
+
es-errors: 1.3.0
3222
+
object-inspect: 1.13.4
3223
+
3224
+
side-channel-map@1.0.1:
3225
+
dependencies:
3226
+
call-bound: 1.0.4
3227
+
es-errors: 1.3.0
3228
+
get-intrinsic: 1.3.0
3229
+
object-inspect: 1.13.4
3230
+
3231
+
side-channel-weakmap@1.0.2:
3232
+
dependencies:
3233
+
call-bound: 1.0.4
3234
+
es-errors: 1.3.0
3235
+
get-intrinsic: 1.3.0
3236
+
object-inspect: 1.13.4
3237
+
side-channel-map: 1.0.1
3238
+
3239
+
side-channel@1.1.0:
3240
+
dependencies:
3241
+
es-errors: 1.3.0
3242
+
object-inspect: 1.13.4
3243
+
side-channel-list: 1.0.0
3244
+
side-channel-map: 1.0.1
3245
+
side-channel-weakmap: 1.0.2
3246
+
3247
+
signal-exit@4.1.0: {}
3248
+
3249
+
slash@3.0.0: {}
3250
+
3251
+
slice-ansi@5.0.0:
3252
+
dependencies:
3253
+
ansi-styles: 6.2.1
3254
+
is-fullwidth-code-point: 4.0.0
3255
+
3256
+
slice-ansi@7.1.0:
3257
+
dependencies:
3258
+
ansi-styles: 6.2.1
3259
+
is-fullwidth-code-point: 5.0.0
3260
+
3261
+
smob@1.5.0: {}
3262
+
3263
+
source-map-support@0.5.21:
3264
+
dependencies:
3265
+
buffer-from: 1.1.2
3266
+
source-map: 0.6.1
3267
+
3268
+
source-map@0.6.1: {}
3269
+
3270
+
spawndamnit@3.0.1:
3271
+
dependencies:
3272
+
cross-spawn: 7.0.6
3273
+
signal-exit: 4.1.0
3274
+
3275
+
spdx-correct@3.2.0:
3276
+
dependencies:
3277
+
spdx-expression-parse: 3.0.1
3278
+
spdx-license-ids: 3.0.21
3279
+
3280
+
spdx-exceptions@2.5.0: {}
3281
+
3282
+
spdx-expression-parse@3.0.1:
3283
+
dependencies:
3284
+
spdx-exceptions: 2.5.0
3285
+
spdx-license-ids: 3.0.21
3286
+
3287
+
spdx-license-ids@3.0.21: {}
3288
+
3289
+
sprintf-js@1.0.3: {}
3290
+
3291
+
string-argv@0.3.2: {}
3292
+
3293
+
string-width@4.2.3:
3294
+
dependencies:
3295
+
emoji-regex: 8.0.0
3296
+
is-fullwidth-code-point: 3.0.0
3297
+
strip-ansi: 6.0.1
3298
+
3299
+
string-width@5.1.2:
3300
+
dependencies:
3301
+
eastasianwidth: 0.2.0
3302
+
emoji-regex: 9.2.2
3303
+
strip-ansi: 7.1.0
3304
+
3305
+
string-width@7.2.0:
3306
+
dependencies:
3307
+
emoji-regex: 10.4.0
3308
+
get-east-asian-width: 1.3.0
3309
+
strip-ansi: 7.1.0
3310
+
3311
+
string.prototype.padend@3.1.6:
3312
+
dependencies:
3313
+
call-bind: 1.0.8
3314
+
define-properties: 1.2.1
3315
+
es-abstract: 1.23.9
3316
+
es-object-atoms: 1.1.1
3317
+
3318
+
string.prototype.trim@1.2.10:
3319
+
dependencies:
3320
+
call-bind: 1.0.8
3321
+
call-bound: 1.0.4
3322
+
define-data-property: 1.1.4
3323
+
define-properties: 1.2.1
3324
+
es-abstract: 1.23.9
3325
+
es-object-atoms: 1.1.1
3326
+
has-property-descriptors: 1.0.2
3327
+
3328
+
string.prototype.trimend@1.0.9:
3329
+
dependencies:
3330
+
call-bind: 1.0.8
3331
+
call-bound: 1.0.4
3332
+
define-properties: 1.2.1
3333
+
es-object-atoms: 1.1.1
3334
+
3335
+
string.prototype.trimstart@1.0.8:
3336
+
dependencies:
3337
+
call-bind: 1.0.8
3338
+
define-properties: 1.2.1
3339
+
es-object-atoms: 1.1.1
3340
+
3341
+
strip-ansi@6.0.1:
3342
+
dependencies:
3343
+
ansi-regex: 5.0.1
3344
+
3345
+
strip-ansi@7.1.0:
3346
+
dependencies:
3347
+
ansi-regex: 6.1.0
3348
+
3349
+
strip-bom@3.0.0: {}
3350
+
3351
+
strip-final-newline@3.0.0: {}
3352
+
3353
+
supports-color@5.5.0:
3354
+
dependencies:
3355
+
has-flag: 3.0.0
3356
+
3357
+
supports-preserve-symlinks-flag@1.0.0: {}
3358
+
3359
+
term-size@2.2.1: {}
3360
+
3361
+
terser@5.39.0:
3362
+
dependencies:
3363
+
'@jridgewell/source-map': 0.3.6
3364
+
acorn: 8.14.1
3365
+
commander: 2.20.3
3366
+
source-map-support: 0.5.21
3367
+
3368
+
tmp@0.0.33:
3369
+
dependencies:
3370
+
os-tmpdir: 1.0.2
3371
+
3372
+
to-regex-range@5.0.1:
3373
+
dependencies:
3374
+
is-number: 7.0.0
3375
+
3376
+
tr46@0.0.3: {}
3377
+
3378
+
typed-array-buffer@1.0.3:
3379
+
dependencies:
3380
+
call-bound: 1.0.4
3381
+
es-errors: 1.3.0
3382
+
is-typed-array: 1.1.15
3383
+
3384
+
typed-array-byte-length@1.0.3:
3385
+
dependencies:
3386
+
call-bind: 1.0.8
3387
+
for-each: 0.3.5
3388
+
gopd: 1.2.0
3389
+
has-proto: 1.2.0
3390
+
is-typed-array: 1.1.15
3391
+
3392
+
typed-array-byte-offset@1.0.4:
3393
+
dependencies:
3394
+
available-typed-arrays: 1.0.7
3395
+
call-bind: 1.0.8
3396
+
for-each: 0.3.5
3397
+
gopd: 1.2.0
3398
+
has-proto: 1.2.0
3399
+
is-typed-array: 1.1.15
3400
+
reflect.getprototypeof: 1.0.10
3401
+
3402
+
typed-array-length@1.0.7:
3403
+
dependencies:
3404
+
call-bind: 1.0.8
3405
+
for-each: 0.3.5
3406
+
gopd: 1.2.0
3407
+
is-typed-array: 1.1.15
3408
+
possible-typed-array-names: 1.1.0
3409
+
reflect.getprototypeof: 1.0.10
3410
+
3411
+
typescript@5.7.3: {}
3412
+
3413
+
unbox-primitive@1.1.0:
3414
+
dependencies:
3415
+
call-bound: 1.0.4
3416
+
has-bigints: 1.1.0
3417
+
has-symbols: 1.1.0
3418
+
which-boxed-primitive: 1.1.1
3419
+
3420
+
undici-types@5.26.5: {}
3421
+
3422
+
universalify@0.1.2: {}
3423
+
3424
+
update-browserslist-db@1.1.3(browserslist@4.24.4):
3425
+
dependencies:
3426
+
browserslist: 4.24.4
3427
+
escalade: 3.2.0
3428
+
picocolors: 1.1.1
3429
+
3430
+
validate-npm-package-license@3.0.4:
3431
+
dependencies:
3432
+
spdx-correct: 3.2.0
3433
+
spdx-expression-parse: 3.0.1
3434
+
3435
+
webidl-conversions@3.0.1: {}
3436
+
3437
+
whatwg-url@5.0.0:
3438
+
dependencies:
3439
+
tr46: 0.0.3
3440
+
webidl-conversions: 3.0.1
3441
+
3442
+
which-boxed-primitive@1.1.1:
3443
+
dependencies:
3444
+
is-bigint: 1.1.0
3445
+
is-boolean-object: 1.2.2
3446
+
is-number-object: 1.1.1
3447
+
is-string: 1.1.1
3448
+
is-symbol: 1.1.1
3449
+
3450
+
which-builtin-type@1.2.1:
3451
+
dependencies:
3452
+
call-bound: 1.0.4
3453
+
function.prototype.name: 1.1.8
3454
+
has-tostringtag: 1.0.2
3455
+
is-async-function: 2.1.1
3456
+
is-date-object: 1.1.0
3457
+
is-finalizationregistry: 1.1.1
3458
+
is-generator-function: 1.1.0
3459
+
is-regex: 1.2.1
3460
+
is-weakref: 1.1.1
3461
+
isarray: 2.0.5
3462
+
which-boxed-primitive: 1.1.1
3463
+
which-collection: 1.0.2
3464
+
which-typed-array: 1.1.19
3465
+
3466
+
which-collection@1.0.2:
3467
+
dependencies:
3468
+
is-map: 2.0.3
3469
+
is-set: 2.0.3
3470
+
is-weakmap: 2.0.2
3471
+
is-weakset: 2.0.4
3472
+
3473
+
which-typed-array@1.1.19:
3474
+
dependencies:
3475
+
available-typed-arrays: 1.0.7
3476
+
call-bind: 1.0.8
3477
+
call-bound: 1.0.4
3478
+
for-each: 0.3.5
3479
+
get-proto: 1.0.1
3480
+
gopd: 1.2.0
3481
+
has-tostringtag: 1.0.2
3482
+
3483
+
which@1.3.1:
3484
+
dependencies:
3485
+
isexe: 2.0.0
3486
+
3487
+
which@2.0.2:
3488
+
dependencies:
3489
+
isexe: 2.0.0
3490
+
3491
+
wrap-ansi@7.0.0:
3492
+
dependencies:
3493
+
ansi-styles: 4.3.0
3494
+
string-width: 4.2.3
3495
+
strip-ansi: 6.0.1
3496
+
3497
+
wrap-ansi@8.1.0:
3498
+
dependencies:
3499
+
ansi-styles: 6.2.1
3500
+
string-width: 5.1.2
3501
+
strip-ansi: 7.1.0
3502
+
3503
+
wrap-ansi@9.0.0:
3504
+
dependencies:
3505
+
ansi-styles: 6.2.1
3506
+
string-width: 7.2.0
3507
+
strip-ansi: 7.1.0
3508
+
3509
+
yallist@3.1.1: {}
3510
+
3511
+
yaml@2.7.0: {}
+125
scripts/changelog.js
+125
scripts/changelog.js
···
1
+
const { config } = require('dotenv');
2
+
const { getInfo } = require('@changesets/get-github-info');
3
+
4
+
config();
5
+
6
+
const REPO = 'kitten/fiber-dev';
7
+
const SEE_LINE = /^See:\s*(.*)/i;
8
+
const TRAILING_CHAR = /[.;:]$/g;
9
+
const listFormatter = new Intl.ListFormat('en-US');
10
+
11
+
const getSummaryLines = cs => {
12
+
let lines = cs.summary.trim().split(/\r?\n/);
13
+
if (!lines.some(line => /```/.test(line))) {
14
+
lines = lines.map(l => l.trim()).filter(Boolean);
15
+
const size = lines.length;
16
+
if (size > 0) {
17
+
lines[size - 1] = lines[size - 1].replace(TRAILING_CHAR, '');
18
+
}
19
+
}
20
+
return lines;
21
+
};
22
+
23
+
/** Creates a "(See X)" string from a template */
24
+
const templateSeeRef = links => {
25
+
const humanReadableLinks = links.filter(Boolean).map(link => {
26
+
if (typeof link === 'string') return link;
27
+
return link.pull || link.commit;
28
+
});
29
+
30
+
const size = humanReadableLinks.length;
31
+
if (size === 0) return '';
32
+
33
+
const str = listFormatter.format(humanReadableLinks);
34
+
return `(See ${str})`;
35
+
};
36
+
37
+
const changelogFunctions = {
38
+
getDependencyReleaseLine: async (changesets, dependenciesUpdated) => {
39
+
if (dependenciesUpdated.length === 0) return '';
40
+
41
+
const dependenciesLinks = await Promise.all(
42
+
changesets.map(async cs => {
43
+
if (!cs.commit) return undefined;
44
+
45
+
const lines = getSummaryLines(cs);
46
+
const prLine = lines.find(line => SEE_LINE.test(line));
47
+
if (prLine) {
48
+
const match = prLine.match(SEE_LINE);
49
+
return (match && match[1].trim()) || undefined;
50
+
}
51
+
52
+
const { links } = await getInfo({
53
+
repo: REPO,
54
+
commit: cs.commit,
55
+
});
56
+
57
+
return links;
58
+
})
59
+
);
60
+
61
+
let changesetLink = '- Updated dependencies';
62
+
63
+
const seeRef = templateSeeRef(dependenciesLinks);
64
+
if (seeRef) changesetLink += ` ${seeRef}`;
65
+
66
+
const detailsLinks = dependenciesUpdated.map(dep => {
67
+
return ` - ${dep.name}@${dep.newVersion}`;
68
+
});
69
+
70
+
return [changesetLink, ...detailsLinks].join('\n');
71
+
},
72
+
getReleaseLine: async (changeset, type) => {
73
+
let pull, commit, user;
74
+
75
+
const lines = getSummaryLines(changeset);
76
+
const prLineIndex = lines.findIndex(line => SEE_LINE.test(line));
77
+
if (prLineIndex > -1) {
78
+
const match = lines[prLineIndex].match(SEE_LINE);
79
+
pull = (match && match[1].trim()) || undefined;
80
+
lines.splice(prLineIndex, 1);
81
+
}
82
+
83
+
const [firstLine, ...futureLines] = lines;
84
+
85
+
if (changeset.commit && !pull) {
86
+
const { links } = await getInfo({
87
+
repo: REPO,
88
+
commit: changeset.commit,
89
+
});
90
+
91
+
pull = links.pull || undefined;
92
+
commit = links.commit || undefined;
93
+
user = links.user || undefined;
94
+
}
95
+
96
+
let annotation = '';
97
+
if (type === 'patch' && /^\s*fix/i.test(firstLine)) {
98
+
annotation = '⚠️ ';
99
+
}
100
+
101
+
let str = `- ${annotation}${firstLine}`;
102
+
if (futureLines.length > 0) {
103
+
str += `\n${futureLines.map(l => ` ${l}`).join('\n')}`;
104
+
}
105
+
106
+
const endsWithParagraph = /(?<=(?:[!;?.]|```) *)$/g;
107
+
if (user && !endsWithParagraph) {
108
+
str += `, by ${user}`;
109
+
} else {
110
+
str += `\nSubmitted by ${user}`;
111
+
}
112
+
113
+
if (pull || commit) {
114
+
const seeRef = templateSeeRef([pull || commit]);
115
+
if (seeRef) str += ` ${seeRef}`;
116
+
}
117
+
118
+
return str;
119
+
},
120
+
};
121
+
122
+
module.exports = {
123
+
...changelogFunctions,
124
+
default: changelogFunctions,
125
+
};
+12
scripts/prepare.js
+12
scripts/prepare.js
···
1
+
const path = require('path');
2
+
const fs = require('fs');
3
+
4
+
const precommit = path.resolve(__dirname, '../.git/hooks/pre-commit');
5
+
6
+
const hook = `
7
+
#!/bin/sh
8
+
pnpm exec lint-staged --quiet --relative
9
+
`.trim();
10
+
11
+
fs.writeFileSync(precommit, hook);
12
+
fs.chmodSync(precommit, '755');
+300
scripts/rollup.config.mjs
+300
scripts/rollup.config.mjs
···
1
+
import fs from 'node:fs/promises';
2
+
import path from 'node:path/posix';
3
+
import { fileURLToPath } from 'node:url';
4
+
import { readFileSync } from 'node:fs';
5
+
import { createRequire, isBuiltin } from 'node:module';
6
+
7
+
import * as prettier from 'prettier';
8
+
import commonjs from '@rollup/plugin-commonjs';
9
+
import resolve from '@rollup/plugin-node-resolve';
10
+
import babel from '@rollup/plugin-babel';
11
+
import terser from '@rollup/plugin-terser';
12
+
import cjsCheck from 'rollup-plugin-cjs-check';
13
+
import dts from 'rollup-plugin-dts';
14
+
15
+
const __dirname = path.dirname(fileURLToPath(import.meta.url));
16
+
17
+
const normalize = name => []
18
+
.concat(name)
19
+
.join(' ')
20
+
.replace(/[@\s/.]+/g, ' ')
21
+
.trim()
22
+
.replace(/\s+/, '-')
23
+
.toLowerCase();
24
+
25
+
const extension = name => {
26
+
if (/\.d.ts$/.test(name)) {
27
+
return '.d.ts';
28
+
} else {
29
+
return path.extname(name);
30
+
}
31
+
};
32
+
33
+
const meta = JSON.parse(readFileSync('package.json'));
34
+
const name = normalize(meta.name);
35
+
36
+
const externalModules = [
37
+
...Object.keys(meta.dependencies || {}),
38
+
...Object.keys(meta.peerDependencies || {}),
39
+
];
40
+
41
+
const moduleRe = /^(?!node:|[.{1,2}\/])(@[\w.-]+\/)?[\w.-]+/;
42
+
const externalRe = new RegExp(`^(${externalModules.join('|')})($|/)`);
43
+
44
+
const exports = {};
45
+
for (const key in meta.exports) {
46
+
const entry = meta.exports[key];
47
+
if (typeof entry === 'object' && !!entry.source) {
48
+
const entryPath = normalize(key);
49
+
const entryName = normalize([name, entryPath]);
50
+
exports[entryName] = {
51
+
path: entryPath,
52
+
...entry,
53
+
};
54
+
}
55
+
}
56
+
57
+
const externals = new Set();
58
+
59
+
const commonConfig = {
60
+
input: Object.entries(exports).reduce((input, [exportName, entry]) => {
61
+
input[exportName] = entry.source;
62
+
return input;
63
+
}, {}),
64
+
onwarn: () => {},
65
+
external(id) {
66
+
const isExternal = isBuiltin(id) || (externalModules.length && externalRe.test(id));
67
+
if (!isExternal && moduleRe.test(id))
68
+
externals.add(id);
69
+
return isExternal;
70
+
},
71
+
treeshake: {
72
+
unknownGlobalSideEffects: false,
73
+
tryCatchDeoptimization: false,
74
+
moduleSideEffects: false,
75
+
},
76
+
};
77
+
78
+
const commonPlugins = [
79
+
resolve({
80
+
extensions: ['.mjs', '.js', '.ts'],
81
+
mainFields: ['module', 'jsnext', 'main'],
82
+
preferBuiltins: false,
83
+
browser: true,
84
+
}),
85
+
86
+
commonjs({
87
+
ignoreGlobal: true,
88
+
include: /\/node_modules\//,
89
+
}),
90
+
];
91
+
92
+
const commonOutput = {
93
+
dir: './',
94
+
exports: 'auto',
95
+
sourcemap: true,
96
+
sourcemapExcludeSources: false,
97
+
hoistTransitiveImports: false,
98
+
indent: false,
99
+
freeze: false,
100
+
strict: false,
101
+
generatedCode: {
102
+
preset: 'es5',
103
+
reservedNamesAsProps: false,
104
+
objectShorthand: false,
105
+
constBindings: false,
106
+
},
107
+
};
108
+
109
+
const outputPlugins = [
110
+
{
111
+
name: 'outputPackageJsons',
112
+
async writeBundle() {
113
+
for (const key in exports) {
114
+
const entry = exports[key];
115
+
if (entry.path) {
116
+
const output = path.relative(entry.path, process.cwd());
117
+
const json = JSON.stringify({
118
+
name: key,
119
+
private: true,
120
+
version: '0.0.0',
121
+
main: path.join(output, entry.require),
122
+
module: path.join(output, entry.import),
123
+
types: path.join(output, entry.types),
124
+
source: path.join(output, entry.source),
125
+
exports: {
126
+
'.': {
127
+
types: path.join(output, entry.types),
128
+
import: path.join(output, entry.import),
129
+
require: path.join(output, entry.require),
130
+
source: path.join(output, entry.source),
131
+
},
132
+
},
133
+
}, null, 2);
134
+
135
+
await fs.mkdir(entry.path, { recursive: true });
136
+
await fs.writeFile(path.join(entry.path, 'package.json'), json);
137
+
}
138
+
}
139
+
},
140
+
},
141
+
142
+
{
143
+
name: 'outputBundledLicenses',
144
+
async writeBundle() {
145
+
const require = createRequire(import.meta.url);
146
+
const rootLicense = path.join(__dirname, '../LICENSE.md');
147
+
const outputLicense = path.resolve('LICENSE.md');
148
+
if (rootLicense === outputLicense) return;
149
+
const licenses = new Map();
150
+
for (const packageName of [...externals].sort()) {
151
+
let license;
152
+
let metaPath;
153
+
let meta;
154
+
try {
155
+
metaPath = require.resolve(path.join(packageName, '/package.json'));
156
+
meta = require(metaPath);
157
+
} catch (_error) {
158
+
continue;
159
+
}
160
+
const packagePath = path.dirname(metaPath);
161
+
let licenseName = (await fs.readdir(packagePath).catch(() => []))
162
+
.find((name) => /^licen[sc]e/i.test(name));
163
+
if (!licenseName) {
164
+
const match = /^SEE LICENSE IN (.*)/i.exec(meta.license || '');
165
+
licenseName = match ? match[1] : meta.license;
166
+
}
167
+
try {
168
+
license = await fs.readFile(path.join(packagePath, licenseName), 'utf8');
169
+
} catch (_error) {
170
+
license = meta.author
171
+
? `${licenseName}, Copyright (c) ${meta.author.name || meta.author}`
172
+
: `${licenseName}, See license at: ${meta.repository.url || meta.repository}`;
173
+
}
174
+
licenses.set(packageName, license);
175
+
}
176
+
let output = (await fs.readFile(rootLicense, 'utf8')).trim();
177
+
for (const [packageName, licenseText] of licenses)
178
+
output += `\n\n## ${packageName}\n\n${licenseText.trim()}`;
179
+
await fs.writeFile(outputLicense, output);
180
+
},
181
+
},
182
+
183
+
cjsCheck(),
184
+
185
+
terser({
186
+
warnings: true,
187
+
ecma: 2015,
188
+
keep_fnames: true,
189
+
ie8: false,
190
+
compress: {
191
+
pure_getters: true,
192
+
toplevel: true,
193
+
booleans_as_integers: false,
194
+
keep_fnames: true,
195
+
keep_fargs: true,
196
+
if_return: false,
197
+
ie8: false,
198
+
sequences: false,
199
+
loops: false,
200
+
conditionals: false,
201
+
join_vars: false,
202
+
},
203
+
mangle: {
204
+
module: true,
205
+
keep_fnames: true,
206
+
},
207
+
output: {
208
+
beautify: true,
209
+
braces: true,
210
+
indent_level: 2,
211
+
},
212
+
}),
213
+
];
214
+
215
+
export default [
216
+
{
217
+
...commonConfig,
218
+
plugins: [
219
+
...commonPlugins,
220
+
babel({
221
+
babelrc: false,
222
+
babelHelpers: 'bundled',
223
+
extensions: ['mjs', 'js', 'jsx', 'ts', 'tsx'],
224
+
exclude: 'node_modules/**',
225
+
presets: [],
226
+
plugins: [
227
+
'@babel/plugin-transform-typescript',
228
+
'@babel/plugin-transform-block-scoping',
229
+
],
230
+
}),
231
+
],
232
+
output: [
233
+
{
234
+
...commonOutput,
235
+
format: 'esm',
236
+
chunkFileNames(chunk) {
237
+
return `dist/chunks/[name]-chunk${extension(chunk.name) || '.mjs'}`;
238
+
},
239
+
entryFileNames(chunk) {
240
+
return chunk.isEntry
241
+
? path.normalize(exports[chunk.name].import)
242
+
: `dist/[name].mjs`;
243
+
},
244
+
plugins: outputPlugins,
245
+
},
246
+
{
247
+
...commonOutput,
248
+
format: 'cjs',
249
+
esModule: true,
250
+
externalLiveBindings: true,
251
+
chunkFileNames(chunk) {
252
+
return `dist/chunks/[name]-chunk${extension(chunk.name) || '.js'}`;
253
+
},
254
+
entryFileNames(chunk) {
255
+
return chunk.isEntry
256
+
? path.normalize(exports[chunk.name].require)
257
+
: `dist/[name].js`;
258
+
},
259
+
plugins: outputPlugins,
260
+
},
261
+
],
262
+
},
263
+
264
+
{
265
+
...commonConfig,
266
+
plugins: [
267
+
...commonPlugins,
268
+
dts(),
269
+
],
270
+
output: {
271
+
...commonOutput,
272
+
sourcemap: false,
273
+
format: 'dts',
274
+
chunkFileNames(chunk) {
275
+
return `dist/chunks/[name]-chunk${extension(chunk.name) || '.d.ts'}`;
276
+
},
277
+
entryFileNames(chunk) {
278
+
return chunk.isEntry
279
+
? path.normalize(exports[chunk.name].types)
280
+
: `dist/[name].d.ts`;
281
+
},
282
+
plugins: [
283
+
{
284
+
renderChunk(code, chunk) {
285
+
if (chunk.fileName.endsWith('d.ts')) {
286
+
return prettier.format(code, {
287
+
filepath: chunk.fileName,
288
+
parser: 'typescript',
289
+
singleQuote: true,
290
+
tabWidth: 2,
291
+
printWidth: 100,
292
+
trailingComma: 'es5',
293
+
});
294
+
}
295
+
},
296
+
},
297
+
],
298
+
},
299
+
},
300
+
];
+574
src/asyncResourceGraph.ts
+574
src/asyncResourceGraph.ts
···
1
+
import {
2
+
executionAsyncId as _getExecutionAsyncId,
3
+
executionAsyncResource as _getExecutionAsyncResource,
4
+
createHook,
5
+
} from 'node:async_hooks';
6
+
import { AsyncResourceKind } from './constants';
7
+
import { StackFrame, getStackFrame, promiseWithReject } from './utils';
8
+
import { FiberError } from './errors';
9
+
10
+
export const enum AsyncResourceFlags {
11
+
INIT = 0,
12
+
/** The node's `before` trigger was invoked. Work must have started */
13
+
PRE_EXECUTION = 1 << 0,
14
+
/** The node's `after` trigger was invoked. Work must have been completed */
15
+
POST_EXECUTION = 1 << 1,
16
+
/** The node (which is a promise) has been resolved and triggered subsequent promises */
17
+
RESOLVED = 1 << 2,
18
+
/** The node has been created in a context by a cancelled fiber */
19
+
ABORTED = 1 << 3,
20
+
21
+
/** If these flags are set it indicates that the resource is no longer blocking work it's a trigger for */
22
+
FINALIZED = AsyncResourceFlags.POST_EXECUTION | AsyncResourceFlags.RESOLVED,
23
+
}
24
+
25
+
type AsyncResourceObserverFn = (
26
+
event: AsyncResourceFlags,
27
+
node: AsyncResourceNode
28
+
) => void;
29
+
30
+
class AsyncResourceObserver {
31
+
fiberId: number;
32
+
callback: AsyncResourceObserverFn;
33
+
constructor(fiber: AsyncResourceFiber, callback: AsyncResourceObserverFn) {
34
+
this.fiberId = fiber.fiberId;
35
+
this.callback = callback;
36
+
}
37
+
38
+
_onExecute(executionNode: AsyncResourceNode, node: AsyncResourceNode) {
39
+
this.callback(AsyncResourceFlags.INIT, executionNode);
40
+
if (node.fiberId === this.fiberId) {
41
+
this.observe(node);
42
+
}
43
+
}
44
+
45
+
_onBefore(node: AsyncResourceNode) {
46
+
this.callback(AsyncResourceFlags.PRE_EXECUTION, node);
47
+
}
48
+
49
+
_onAfter(node: AsyncResourceNode) {
50
+
this.callback(AsyncResourceFlags.POST_EXECUTION, node);
51
+
node.notifyObserver = null;
52
+
}
53
+
54
+
_onPromiseResolve(node: AsyncResourceNode) {
55
+
this.callback(AsyncResourceFlags.RESOLVED, node);
56
+
node.notifyObserver = null;
57
+
}
58
+
59
+
isObserved(node: AsyncResourceNode): boolean {
60
+
return node.notifyObserver === this;
61
+
}
62
+
63
+
observe(node: AsyncResourceNode): void {
64
+
if (node.notifyObserver !== null && node.notifyObserver !== this) {
65
+
throw new TypeError(
66
+
'Only one observer can be attached to a node at a time.\n' +
67
+
`Node (${node.asyncId}) is already being observed`
68
+
);
69
+
}
70
+
node.notifyObserver = this;
71
+
}
72
+
}
73
+
74
+
type RawAsyncResource = object & { [K in typeof fiberRef]?: AsyncResourceNode };
75
+
76
+
const fiberRef = Symbol('async_resource_node');
77
+
const fiberStack: AsyncResourceFiber[] = [];
78
+
79
+
const getExecutionAsyncResource: () => RawAsyncResource =
80
+
_getExecutionAsyncResource;
81
+
const getExecutionAsyncId = _getExecutionAsyncId;
82
+
83
+
let _fiberIdx = 1;
84
+
85
+
export class AsyncResourceFiber {
86
+
readonly fiberId = _fiberIdx++;
87
+
readonly root: AsyncResourceNode;
88
+
89
+
active = false;
90
+
parent: AsyncResourceFiber | null;
91
+
frame: StackFrame | null;
92
+
93
+
constructor(frame: StackFrame | null) {
94
+
// Fibers are created as children of the current fiber,
95
+
// but their root resource will be the current execution context,
96
+
// even if it's deeper into the parent fiber's async graph
97
+
const executionAsyncResource = getExecutionAsyncResource();
98
+
let root = executionAsyncResource[fiberRef];
99
+
if (root === undefined) {
100
+
// WARN: This must imply `!this.parent`
101
+
// If no parent fiber exists, this is the root fiber, and
102
+
// empty state is created for its resource node
103
+
root = new AsyncResourceNode(
104
+
this.fiberId,
105
+
getExecutionAsyncId(),
106
+
null,
107
+
frame
108
+
);
109
+
executionAsyncResource[fiberRef] = root;
110
+
}
111
+
this.root = root;
112
+
this.parent = getFiber();
113
+
this.frame = frame;
114
+
}
115
+
116
+
enable() {
117
+
if (!this.active) {
118
+
// Set the current execution context's fiber to be the current fiber
119
+
this.root.fiberId = this.fiberId;
120
+
this.active = true;
121
+
fiberStack.push(this);
122
+
asyncResourceGraphHook.enable();
123
+
}
124
+
return this;
125
+
}
126
+
127
+
disable() {
128
+
fiberStack.splice(fiberStack.indexOf(this), 1);
129
+
if (!fiberStack.length) asyncResourceGraphHook.disable();
130
+
// Reset the context's fiber. This must use the stack since fibers
131
+
// may be created out of order and `this.parent` may not be
132
+
// the same as the stack's fiber
133
+
this.root.fiberId = getFiber()?.fiberId || 0;
134
+
this.active = false;
135
+
return this;
136
+
}
137
+
138
+
get parentFiberIds(): readonly number[] {
139
+
const parentFiberIds: number[] = [];
140
+
let fiber: AsyncResourceFiber | null = this;
141
+
while ((fiber = fiber.parent) !== null) parentFiberIds.push(fiber.fiberId);
142
+
return parentFiberIds;
143
+
}
144
+
145
+
/** Returns amount of pending tasks in the fiber */
146
+
get pending() {
147
+
const countExecutionTargets = (node: AsyncResourceNode) => {
148
+
let count = 0;
149
+
// To count all pending tasks, we check all resources that
150
+
// have been created on the fiber recursively and count all
151
+
// non-finalized ones
152
+
for (const target of node.executionTargets.values()) {
153
+
if (target.fiberId === this.fiberId) {
154
+
count += countExecutionTargets(target);
155
+
count += target.flags & AsyncResourceFlags.FINALIZED ? 0 : 1;
156
+
}
157
+
}
158
+
return count;
159
+
};
160
+
// Pending tasks may be counted excluding the top-level resource,
161
+
// as it presumably will still be in progress, but shouldn't be
162
+
// considered to be blocking.
163
+
return countExecutionTargets(this.root);
164
+
}
165
+
166
+
get executionTargets(): AsyncResourceNode[] {
167
+
return [...this.root.executionTargets.values()].filter(node => {
168
+
return node.fiberId === this.fiberId;
169
+
});
170
+
}
171
+
172
+
toString() {
173
+
return `[Fiber: ${this.fiberId}]`;
174
+
}
175
+
}
176
+
177
+
/** Descriptors for an async resource (akin to IO tasks) */
178
+
export class AsyncResourceNode {
179
+
asyncId: number;
180
+
fiberId: number;
181
+
type: AsyncResourceKind | null;
182
+
active: boolean;
183
+
184
+
/** If available, a stacktrace frame pointing to the resource's initialization */
185
+
frame: StackFrame | null;
186
+
187
+
/** An execution context's descriptor this async resource was created in */
188
+
executionOrigin: AsyncResourceNode | null;
189
+
/** An async resource's descriptor which will, upon completion, trigger this async resource
190
+
* @remarks
191
+
* This will be identical to `executionOrigin` if the resource was triggerd synchronously
192
+
*/
193
+
triggerOrigin: AsyncResourceNode | null;
194
+
195
+
/** Async resources that this resource has created (sub-tasks) */
196
+
executionTargets: Map<number, AsyncResourceNode>;
197
+
/** Async resources that this resource will trigger upon completion (follow-up tasks) */
198
+
triggerTargets: Map<number, AsyncResourceNode>;
199
+
200
+
/** Descriptions and completion state of this node */
201
+
flags: AsyncResourceFlags;
202
+
203
+
/** Observer that should be notified about changes */
204
+
notifyObserver: AsyncResourceObserver | null;
205
+
206
+
constructor(
207
+
fiberId: number,
208
+
asyncId: number,
209
+
type: string | null,
210
+
frame: StackFrame | null
211
+
) {
212
+
this.active = true;
213
+
this.asyncId = asyncId;
214
+
this.fiberId = fiberId;
215
+
this.type = type as AsyncResourceKind;
216
+
this.frame = frame;
217
+
this.executionOrigin = null;
218
+
this.triggerOrigin = null;
219
+
this.executionTargets = new Map();
220
+
this.triggerTargets = new Map();
221
+
this.flags = AsyncResourceFlags.INIT;
222
+
this.notifyObserver = null;
223
+
}
224
+
225
+
_onExecute(
226
+
asyncId: number,
227
+
type: string,
228
+
triggerAsyncId: number,
229
+
resource: RawAsyncResource
230
+
) {
231
+
if (!this.active) {
232
+
return;
233
+
}
234
+
// This method is called on an execution context's descriptor that created a new async resource.
235
+
// Hence, we create a new child async resource here
236
+
const frame = getStackFrame(1);
237
+
const node = new AsyncResourceNode(this.fiberId, asyncId, type, frame);
238
+
node.executionOrigin = this;
239
+
resource[fiberRef] = node;
240
+
this.executionTargets.set(asyncId, node);
241
+
const triggerNode =
242
+
asyncId !== triggerAsyncId
243
+
? getAsyncResourceNode(triggerAsyncId)
244
+
: undefined;
245
+
if (triggerNode) {
246
+
node.triggerOrigin = triggerNode;
247
+
triggerNode.triggerTargets.set(asyncId, node);
248
+
}
249
+
if (this.notifyObserver) {
250
+
this.notifyObserver._onExecute(this, node);
251
+
}
252
+
}
253
+
254
+
_onBefore() {
255
+
this.flags |= AsyncResourceFlags.PRE_EXECUTION;
256
+
if (this.active && this.notifyObserver) {
257
+
this.notifyObserver._onBefore(this);
258
+
}
259
+
}
260
+
261
+
_onAfter() {
262
+
this.flags |= AsyncResourceFlags.POST_EXECUTION;
263
+
if (this.active && this.notifyObserver) {
264
+
this.notifyObserver._onAfter(this);
265
+
}
266
+
}
267
+
268
+
_onPromiseResolve() {
269
+
this.flags |= AsyncResourceFlags.RESOLVED;
270
+
if (this.active && this.notifyObserver) {
271
+
this.notifyObserver._onPromiseResolve(this);
272
+
}
273
+
}
274
+
275
+
toString() {
276
+
return `[async ${this.type || `Fiber: ${this.fiberId}`}]`;
277
+
}
278
+
}
279
+
280
+
const taintAsyncResourceGraph = (
281
+
node: AsyncResourceNode,
282
+
mask: AsyncResourceFlags,
283
+
flags: AsyncResourceFlags
284
+
) => {
285
+
if ((node.flags & mask & flags) === 0) {
286
+
node.flags |= flags;
287
+
for (const target of node.executionTargets.values())
288
+
taintAsyncResourceGraph(target, mask, flags);
289
+
for (const target of node.triggerTargets.values())
290
+
taintAsyncResourceGraph(target, mask, flags);
291
+
}
292
+
};
293
+
294
+
const getAsyncResourceNode = (
295
+
asyncId: number
296
+
): AsyncResourceNode | undefined => {
297
+
let executionNode = getExecutionAsyncResource()[fiberRef] ?? null;
298
+
if (executionNode) {
299
+
// The `asyncResourceGraphHook`'s callbacks execute inside the fiber's execution context stack.
300
+
// This means we can find any node by checking all nodes in the current and any parent
301
+
// execution contexts.
302
+
let node: AsyncResourceNode | undefined;
303
+
do {
304
+
if (executionNode.asyncId === asyncId) return executionNode;
305
+
if ((node = executionNode.executionTargets.get(asyncId))) return node;
306
+
} while ((executionNode = executionNode.executionOrigin));
307
+
}
308
+
};
309
+
310
+
let _asyncResourceGraphHookActive = false;
311
+
312
+
const asyncResourceGraphHook = createHook({
313
+
init(
314
+
asyncId: number,
315
+
type: string,
316
+
triggerAsyncId: number,
317
+
resource: RawAsyncResource
318
+
) {
319
+
if (!_asyncResourceGraphHookActive) {
320
+
try {
321
+
_asyncResourceGraphHookActive = true;
322
+
const executionNode = getExecutionAsyncResource()[fiberRef];
323
+
executionNode?._onExecute(asyncId, type, triggerAsyncId, resource);
324
+
} finally {
325
+
_asyncResourceGraphHookActive = false;
326
+
}
327
+
}
328
+
},
329
+
before(asyncId: number) {
330
+
try {
331
+
_asyncResourceGraphHookActive = true;
332
+
getAsyncResourceNode(asyncId)?._onBefore();
333
+
} finally {
334
+
_asyncResourceGraphHookActive = false;
335
+
}
336
+
},
337
+
after(asyncId: number) {
338
+
try {
339
+
_asyncResourceGraphHookActive = true;
340
+
getAsyncResourceNode(asyncId)?._onAfter();
341
+
} finally {
342
+
_asyncResourceGraphHookActive = false;
343
+
}
344
+
},
345
+
promiseResolve(asyncId: number) {
346
+
try {
347
+
_asyncResourceGraphHookActive = true;
348
+
getAsyncResourceNode(asyncId)?._onPromiseResolve();
349
+
} finally {
350
+
_asyncResourceGraphHookActive = false;
351
+
}
352
+
},
353
+
// NOTE: While it's nice for cleanups we leave out the `destroy`
354
+
// hook since it has performance implications according to the docs
355
+
});
356
+
357
+
function fiberWatchdog<T>(
358
+
fiber: AsyncResourceFiber,
359
+
params: FiberParams,
360
+
promise: Promise<T>
361
+
): Promise<T> {
362
+
try {
363
+
let watchdogImmediate: NodeJS.Immediate | void;
364
+
fiber.root.active = false;
365
+
366
+
const { abort } = params;
367
+
const { parentFiberIds } = fiber;
368
+
369
+
const pendingExecutionTargets = new Set<AsyncResourceNode>();
370
+
const watchdogResult = promiseWithReject(promise, () => {
371
+
if (watchdogImmediate)
372
+
watchdogImmediate = clearImmediate(watchdogImmediate);
373
+
});
374
+
375
+
function lastExecutionTarget(): AsyncResourceNode {
376
+
if (pendingExecutionTargets.size) {
377
+
const targets = [...pendingExecutionTargets.values()];
378
+
return targets[targets.length - 1];
379
+
} else {
380
+
const targets = fiber.executionTargets;
381
+
return targets[targets.length - 1] || fiber.root;
382
+
}
383
+
}
384
+
385
+
function assertFiberAbort(node: AsyncResourceNode) {
386
+
if (node.flags & AsyncResourceFlags.ABORTED) {
387
+
assertFiberError(new FiberError('FIBER_ABORTED', fiber, node));
388
+
} else if (
389
+
node.triggerOrigin &&
390
+
node.triggerOrigin.flags & AsyncResourceFlags.ABORTED
391
+
) {
392
+
if (node.triggerOrigin.fiberId === fiber.fiberId) {
393
+
assertFiberError(
394
+
new FiberError('FIBER_ABORTED', fiber, node.triggerOrigin)
395
+
);
396
+
} else {
397
+
assertFiberError(
398
+
new FiberError('FOREIGN_ASYNC_ABORTED', fiber, node.triggerOrigin)
399
+
);
400
+
}
401
+
} else if (abort?.aborted) {
402
+
assertFiberError(abort.reason);
403
+
if (_asyncResourceGraphHookActive) abort.throwIfAborted();
404
+
}
405
+
}
406
+
407
+
function assertFiberError(error: Error) {
408
+
watchdogResult.reject(error);
409
+
if (_asyncResourceGraphHookActive) throw error;
410
+
}
411
+
412
+
function assertFiberOwnership(node: AsyncResourceNode) {
413
+
const { triggerOrigin } = node;
414
+
if (node.fiberId !== fiber.fiberId || !triggerOrigin) {
415
+
// We only check triggers for nodes owned by the current fiber
416
+
} else if (triggerOrigin === fiber.root) {
417
+
// Immediately invoked async IO on the fiber root are ignored
418
+
} else if (triggerOrigin.fiberId === node.fiberId) {
419
+
// If the trigger is a node in the same fiber, this is allowed
420
+
} else {
421
+
const isParentFiberTrigger = parentFiberIds.includes(
422
+
triggerOrigin.fiberId
423
+
);
424
+
if (!isParentFiberTrigger) {
425
+
assertFiberError(
426
+
new FiberError('FOREIGN_ASYNC_TRIGGER', fiber, node)
427
+
);
428
+
} else {
429
+
// TODO: Selectively allow resolved promises
430
+
assertFiberError(new FiberError('PARENT_ASYNC_TRIGGER', fiber, node));
431
+
}
432
+
}
433
+
}
434
+
435
+
function stallWatchdog() {
436
+
watchdogImmediate = undefined;
437
+
if (abort?.aborted) {
438
+
return;
439
+
}
440
+
let hasAsyncIO = false;
441
+
for (const asyncNode of pendingExecutionTargets) {
442
+
if (
443
+
(asyncNode.flags & AsyncResourceFlags.FINALIZED) === 0 &&
444
+
asyncNode.type !== 'PROMISE'
445
+
) {
446
+
hasAsyncIO = true;
447
+
break;
448
+
}
449
+
}
450
+
if (!hasAsyncIO) {
451
+
watchdogResult.reject(
452
+
new FiberError('FIBER_STALL', fiber, lastExecutionTarget())
453
+
);
454
+
}
455
+
}
456
+
457
+
const scheduleCheck = () =>
458
+
watchdogImmediate || (watchdogImmediate = setImmediate(stallWatchdog));
459
+
watchdogImmediate = setImmediate(stallWatchdog);
460
+
461
+
abort?.addEventListener('abort', () => {
462
+
taintAsyncResourceGraph(
463
+
fiber.root,
464
+
AsyncResourceFlags.FINALIZED,
465
+
AsyncResourceFlags.ABORTED
466
+
);
467
+
});
468
+
469
+
const observer = new AsyncResourceObserver(fiber, (event, node) => {
470
+
scheduleCheck();
471
+
switch (event) {
472
+
case AsyncResourceFlags.INIT:
473
+
assertFiberOwnership(node);
474
+
assertFiberAbort(node);
475
+
pendingExecutionTargets.add(node);
476
+
return;
477
+
case AsyncResourceFlags.POST_EXECUTION:
478
+
pendingExecutionTargets.delete(node);
479
+
return;
480
+
case AsyncResourceFlags.RESOLVED:
481
+
assertFiberAbort(node);
482
+
pendingExecutionTargets.delete(node);
483
+
return;
484
+
default:
485
+
return;
486
+
}
487
+
});
488
+
489
+
const stack: AsyncResourceNode[] = [];
490
+
for (const target of fiber.root.executionTargets.values()) {
491
+
if (target.fiberId === fiber.fiberId) {
492
+
stack.push(target);
493
+
observer.observe(target);
494
+
if ((target.flags & AsyncResourceFlags.FINALIZED) === 0) {
495
+
assertFiberOwnership(target);
496
+
pendingExecutionTargets.add(target);
497
+
}
498
+
}
499
+
}
500
+
let pointer: AsyncResourceNode | undefined;
501
+
while ((pointer = stack.pop())) {
502
+
for (const target of pointer.executionTargets.values()) {
503
+
if (!observer.isObserved(target)) {
504
+
stack.push(target);
505
+
observer.observe(target);
506
+
if ((target.flags & AsyncResourceFlags.FINALIZED) === 0) {
507
+
assertFiberOwnership(target);
508
+
pendingExecutionTargets.add(target);
509
+
}
510
+
}
511
+
}
512
+
}
513
+
514
+
return watchdogResult.promise;
515
+
} finally {
516
+
fiber.root.active = false;
517
+
}
518
+
}
519
+
520
+
/** Enable async resource graph tracking and initialize root fiber if needed.
521
+
* @remarks
522
+
* Call this as early as async resources are created that other fibers depend
523
+
* on. No async resources outside of the root fiber will be tracked!
524
+
*/
525
+
export function enable(): AsyncResourceFiber {
526
+
return getFiber() || new AsyncResourceFiber(getStackFrame(0)).enable();
527
+
}
528
+
529
+
/** Disable top-level fiber
530
+
* @remarks
531
+
* If a root fiber has been created with `enable()`, calling this function
532
+
* allows all fiber data to be garbage collected.
533
+
*/
534
+
export function disable(): AsyncResourceFiber | null {
535
+
return getFiber()?.disable() || null;
536
+
}
537
+
538
+
/** Get currently active fiber */
539
+
export function getFiber(): AsyncResourceFiber | null {
540
+
for (let idx = fiberStack.length - 1; idx >= 0; idx--)
541
+
if (fiberStack[idx].active) return fiberStack[idx];
542
+
return null;
543
+
}
544
+
545
+
/** Returns an arbitrary async resource's descriptor
546
+
* @remarks
547
+
* WARN: This will only work for async resource objects that have been
548
+
* created in a fiber.
549
+
*/
550
+
export function getFiberNode(resource: object): AsyncResourceNode | undefined {
551
+
return resource[fiberRef];
552
+
}
553
+
554
+
export interface FiberParams {
555
+
abort?: AbortSignal;
556
+
}
557
+
558
+
/** Create a fiber and execute it, returning both the result of `fn` and its fiber
559
+
* @remarks
560
+
* While this function returns synchronously, it will track all async resources
561
+
* that the passed function has created.
562
+
*/
563
+
export function fiber<T>(
564
+
fn: () => Promise<T>,
565
+
params: FiberParams = {}
566
+
): { return: Promise<T>; fiber: AsyncResourceFiber } {
567
+
const fiber = new AsyncResourceFiber(getStackFrame(0));
568
+
try {
569
+
fiber.enable();
570
+
return { return: fiberWatchdog(fiber, params, fn()), fiber };
571
+
} finally {
572
+
fiber.disable();
573
+
}
574
+
}
+64
src/constants.ts
+64
src/constants.ts
···
1
+
export type AsyncResourceKind =
2
+
| 'NONE'
3
+
| 'DIRHANDLE'
4
+
| 'DNSCHANNEL'
5
+
| 'ELDHISTOGRAM'
6
+
| 'FILEHANDLE'
7
+
| 'FILEHANDLECLOSEREQ'
8
+
| 'BLOBREADER'
9
+
| 'FSEVENTWRAP'
10
+
| 'FSREQCALLBACK'
11
+
| 'FSREQPROMISE'
12
+
| 'GETADDRINFOREQWRAP'
13
+
| 'GETNAMEINFOREQWRAP'
14
+
| 'HEAPSNAPSHOT'
15
+
| 'HTTP2SESSION'
16
+
| 'HTTP2STREAM'
17
+
| 'HTTP2PING'
18
+
| 'HTTP2SETTINGS'
19
+
| 'HTTPINCOMINGMESSAGE'
20
+
| 'HTTPCLIENTREQUEST'
21
+
| 'JSSTREAM'
22
+
| 'JSUDPWRAP'
23
+
| 'MESSAGEPORT'
24
+
| 'PIPECONNECTWRAP'
25
+
| 'PIPESERVERWRAP'
26
+
| 'PIPEWRAP'
27
+
| 'PROCESSWRAP'
28
+
| 'PROMISE'
29
+
| 'QUERYWRAP'
30
+
| 'QUIC_ENDPOINT'
31
+
| 'QUIC_LOGSTREAM'
32
+
| 'QUIC_PACKET'
33
+
| 'QUIC_SESSION'
34
+
| 'QUIC_STREAM'
35
+
| 'QUIC_UDP'
36
+
| 'SHUTDOWNWRAP'
37
+
| 'SIGNALWRAP'
38
+
| 'STATWATCHER'
39
+
| 'STREAMPIPE'
40
+
| 'TCPCONNECTWRAP'
41
+
| 'TCPSERVERWRAP'
42
+
| 'TCPWRAP'
43
+
| 'TTYWRAP'
44
+
| 'UDPSENDWRAP'
45
+
| 'UDPWRAP'
46
+
| 'SIGINTWATCHDOG'
47
+
| 'WORKER'
48
+
| 'WORKERHEAPSNAPSHOT'
49
+
| 'WRITEWRAP'
50
+
| 'ZLIB'
51
+
| 'CHECKPRIMEREQUEST'
52
+
| 'PBKDF2REQUEST'
53
+
| 'KEYPAIRGENREQUEST'
54
+
| 'KEYGENREQUEST'
55
+
| 'KEYEXPORTREQUEST'
56
+
| 'CIPHERREQUEST'
57
+
| 'DERIVEBITSREQUEST'
58
+
| 'HASHREQUEST'
59
+
| 'RANDOMBYTESREQUEST'
60
+
| 'RANDOMPRIMEREQUEST'
61
+
| 'SCRYPTREQUEST'
62
+
| 'SIGNREQUEST'
63
+
| 'TLSWRAP'
64
+
| 'VERIFYREQUEST';
+92
src/errors.ts
+92
src/errors.ts
···
1
+
import type {
2
+
AsyncResourceFiber,
3
+
AsyncResourceNode,
4
+
} from './asyncResourceGraph';
5
+
6
+
export type FiberErrorCode =
7
+
| 'FOREIGN_ASYNC_TRIGGER'
8
+
| 'PARENT_ASYNC_TRIGGER'
9
+
| 'FOREIGN_ASYNC_ABORTED'
10
+
| 'FIBER_ABORTED'
11
+
| 'FIBER_STALL';
12
+
13
+
const codeToMessage = (
14
+
code: FiberErrorCode,
15
+
fiber: AsyncResourceFiber,
16
+
node: AsyncResourceNode
17
+
): string => {
18
+
switch (code) {
19
+
case 'FOREIGN_ASYNC_TRIGGER':
20
+
return (
21
+
`${fiber} tried to create ${node} which will be triggered by async IO from a different fiber.\n` +
22
+
'Fibers are isolated and may only create and reference async resources they have created themselves.'
23
+
);
24
+
case 'PARENT_ASYNC_TRIGGER':
25
+
return (
26
+
`${fiber} tried to create ${node} which will be triggered by async IO of this fiber's parent context.\n` +
27
+
'Fibers are isolated and may only create and reference async resources they have created themselves.'
28
+
);
29
+
case 'FOREIGN_ASYNC_ABORTED':
30
+
return (
31
+
`${fiber} used ${node} from another fiber which was aborted and can never resolve.\n` +
32
+
'Fibers may not share async resources, and may accidentally prevent each other from resolving if they do.'
33
+
);
34
+
case 'FIBER_ABORTED':
35
+
return (
36
+
`${fiber}'s ${node} was aborted and will never resolve.\n` +
37
+
"If you see this message, you're observing an internal forceful cancellation of a fiber and this error is expected."
38
+
);
39
+
case 'FIBER_STALL':
40
+
return (
41
+
`${fiber} has finished all of its work but won't resolve and pass control back to the parent fiber.\n` +
42
+
'This usally happens if a Promise is unresolved or if its async IO has been cancelled without a callback being handled.\n' +
43
+
`${node} is the last async resource the fiber got stuck on.`
44
+
);
45
+
}
46
+
};
47
+
48
+
const traceNode = (
49
+
node: AsyncResourceNode,
50
+
fiber: AsyncResourceFiber,
51
+
depth = 1
52
+
): string => {
53
+
let trace = `${node}`;
54
+
let origin: AsyncResourceNode | null = node;
55
+
for (let idx = 1; origin && origin !== fiber.root && idx <= depth; idx++) {
56
+
if (origin.frame) trace += `\n at ${origin.frame}`;
57
+
origin = origin.executionOrigin;
58
+
}
59
+
return trace;
60
+
};
61
+
62
+
export class FiberError extends Error {
63
+
static stackTraceLimit = 10;
64
+
65
+
readonly fiber: AsyncResourceFiber;
66
+
readonly node: AsyncResourceNode;
67
+
readonly code: FiberErrorCode;
68
+
69
+
constructor(
70
+
code: FiberErrorCode,
71
+
fiber: AsyncResourceFiber,
72
+
node: AsyncResourceNode
73
+
) {
74
+
super(codeToMessage(code, fiber, node));
75
+
this.fiber = fiber;
76
+
this.node = node;
77
+
this.code = code;
78
+
}
79
+
80
+
get trace(): string {
81
+
let trace = traceNode(this.node, this.fiber);
82
+
if (this.node.triggerOrigin)
83
+
trace += `\ntriggered by ${traceNode(this.node.triggerOrigin, this.fiber, FiberError.stackTraceLimit)}`;
84
+
if (this.node.executionOrigin)
85
+
trace += `\nexecuted in ${traceNode(this.node.executionOrigin, this.fiber, FiberError.stackTraceLimit)}`;
86
+
return trace;
87
+
}
88
+
89
+
toString() {
90
+
return `${this.message.trim()}\n\n${this.trace}`;
91
+
}
92
+
}
+12
src/index.ts
+12
src/index.ts
+108
src/utils.ts
+108
src/utils.ts
···
1
+
import { inspect } from 'node:util';
2
+
import { writeSync } from 'node:fs';
3
+
4
+
export const printf = (...args: unknown[]) => {
5
+
writeSync(
6
+
process.stderr.fd,
7
+
args
8
+
.map(arg => {
9
+
return typeof arg === 'object' && arg ? inspect(arg) : `${arg}`;
10
+
})
11
+
.join(' ') + '\n'
12
+
);
13
+
};
14
+
15
+
const MAX_STACK_DEPTH = 10;
16
+
17
+
const isNodeSite = (site: NodeJS.CallSite) =>
18
+
!!site.getFileName()?.startsWith('node:');
19
+
const isNodeInternalSite = (site: NodeJS.CallSite) =>
20
+
!!site.getFileName()?.startsWith('node:internal/');
21
+
22
+
export class StackFrame {
23
+
isToplevel: boolean;
24
+
isNative: boolean;
25
+
isConstructor: boolean;
26
+
typeName: string | null;
27
+
functionName: string | null;
28
+
methodName: string | null;
29
+
fileName: string | null;
30
+
lineNumber: number | null;
31
+
columnNumber: number | null;
32
+
constructor(stack: NodeJS.CallSite[], offset: number) {
33
+
let idx = offset;
34
+
let site: NodeJS.CallSite | undefined = stack[idx];
35
+
while (idx < stack.length && isNodeSite((site = stack[idx]))) idx++;
36
+
this.fileName = site.getFileName() || null;
37
+
this.lineNumber = site.getLineNumber();
38
+
this.columnNumber = site.getColumnNumber();
39
+
this.functionName = site.getFunctionName();
40
+
do {
41
+
this.isToplevel = site.isToplevel();
42
+
this.isNative = site.isNative();
43
+
this.isConstructor = site.isConstructor();
44
+
this.typeName = site.getTypeName();
45
+
this.functionName = site.getFunctionName();
46
+
this.methodName = site.getMethodName();
47
+
} while (
48
+
idx > offset &&
49
+
this.functionName === null &&
50
+
this.methodName === null &&
51
+
!isNodeInternalSite((site = stack[--idx]))
52
+
);
53
+
}
54
+
toString() {
55
+
const prefix = this.isConstructor ? 'new ' : '';
56
+
const namePrefix =
57
+
this.typeName !== null && this.typeName !== 'global'
58
+
? `${this.typeName}.`
59
+
: '';
60
+
const name = `${namePrefix}${this.functionName || this.methodName || '<anonymous>'}`;
61
+
let location = this.fileName || '<anonymous>';
62
+
if (this.lineNumber != null) location += `:${this.lineNumber}`;
63
+
if (this.columnNumber != null) location += `:${this.columnNumber}`;
64
+
return `${prefix}${name}${!!name ? ' (' : ''}${location}${!!name ? ')' : ''}`;
65
+
}
66
+
}
67
+
68
+
export function getStackFrame(offset = 0): StackFrame | null {
69
+
const originalStackFormatter = Error.prepareStackTrace;
70
+
const originalStackTraceLimit = Error.stackTraceLimit;
71
+
try {
72
+
Error.stackTraceLimit = MAX_STACK_DEPTH + offset;
73
+
Error.prepareStackTrace = (_err, stack) =>
74
+
new StackFrame(stack, 2 + offset);
75
+
return new Error().stack as any;
76
+
} finally {
77
+
Error.prepareStackTrace = originalStackFormatter;
78
+
Error.stackTraceLimit = originalStackTraceLimit;
79
+
}
80
+
}
81
+
82
+
export interface PromiseWithReject<T> {
83
+
promise: Promise<T>;
84
+
reject(reason?: any): void;
85
+
}
86
+
87
+
export function promiseWithReject<T>(
88
+
promise: Promise<T>,
89
+
onSettled: () => void
90
+
): PromiseWithReject<T> {
91
+
let reject: PromiseWithReject<T>['reject'];
92
+
return {
93
+
promise: new Promise<T>((resolve, _reject) => {
94
+
promise.then(
95
+
result => {
96
+
resolve(result);
97
+
onSettled();
98
+
},
99
+
reason => {
100
+
_reject(reason);
101
+
onSettled();
102
+
}
103
+
);
104
+
reject = _reject;
105
+
}),
106
+
reject: reject!,
107
+
};
108
+
}
+25
tsconfig.json
+25
tsconfig.json
···
1
+
{
2
+
"compilerOptions": {
3
+
"types": ["@types/node"],
4
+
"baseUrl": "./",
5
+
"rootDir": ".",
6
+
"forceConsistentCasingInFileNames": true,
7
+
"importsNotUsedAsValues": "remove",
8
+
"noEmit": true,
9
+
"esModuleInterop": true,
10
+
"noUnusedLocals": true,
11
+
"allowJs": true,
12
+
"lib": ["es2016"],
13
+
"jsx": "react-jsx",
14
+
"module": "es2022",
15
+
"moduleResolution": "node",
16
+
"resolveJsonModule": true,
17
+
"target": "esnext",
18
+
"strict": true,
19
+
"noImplicitAny": false,
20
+
"noUnusedParameters": true,
21
+
"skipLibCheck": true,
22
+
"isolatedModules": true
23
+
},
24
+
"include": ["src", "packages"]
25
+
}