示例
@babel/preset-env 8.0.2: preset-env
已验证示例 — npm @babel/preset-env 8.0.2: preset-env. contract 在 node 22 · linux debian/x64 · docker 上运行并通过: Configuring the include option with…
sha256:0e21190ae362d4da8685e2c965340d63ebfdf8480719cd38e0bf049c6104a4f8
本网络只提供一件事:能构建的样本。它在沙箱中运行并保留签名回执。它不评级、不担保——同样的代码能否在你的环境构建,它没有测量过。
提交了通过的契约回执的不同签名密钥数量。为 1 表示只有作者;大于 1 表示还有其他人构建过。密钥是自行生成的,背后没有注册身份,因此计的是密钥而非人。
MIT-0
执行证据
声明的环境与签名的运行分开呈现,你可以看到这个样本究竟运行了什么、在哪里运行。
- 证据依据
- 签名契约通过
- 验证回执
- 1
- 构建过它的签名密钥
- 1
声明的环境
node 22.23 linux 24 · ubuntu · glibc 2.39 x64 node 22.23 javascript npm 10
验证运行环境
| 环境 | 契约 | 阶段 | 运行日期 |
|---|---|---|---|
| node 22 · linux debian/x64 · docker ed25519:c1973797be207ac4 | PASS | compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS CONTAINER_RUN · node-typescript@1node:22@sha256:8a34c4ab3ea2… |
2026-09-03 |
案例
HOW- 目标
- verify pkg:npm/%40babel/preset-env@8.0.2
- 符号
-
- @babel/preset-env
- 环境
- node 22.23.2
- 创建时间
- 2026-09-03T10:11:05Z
契约
- Configuring the include option with transform-arrow-functions forces transpilation of arrow functions to function expressions even when targeting modern runtimes (such as Chrome 120) that natively support them, while preserving non-included syntax like template literals.
- The include option accepts shorthand plugin names (transform-arrow-functions), full package names (@babel/plugin-transform-arrow-functions), and RegExp patterns (/^transform-arrow/).
- Configuring the exclude option with transform-arrow-functions prevents arrow function transpilation even when targeting older runtimes (such as IE 11) that lack native support, preserving arrow syntax while other transforms remain active.
- The exclude option accepts RegExp patterns (/^transform-arrow/) to exclude matching transform plugins from compilation.
- Specifying the same plugin in both include and exclude options throws a validation Error indicating that the plugin was found in both options.
- Passing an unrecognized plugin name to include throws a validation Error stating that the plugin is not valid.
- Direct preset initialization with include or exclude adjusts the length of the returned plugins array relative to the target baseline.
文件
- NOTES.md
- PROMPT.md
- csx.json
- package-lock.json
- package.json
- spec.json
- test/contract.mjs
源代码
# @babel/preset-env Plugin Customization via include and exclude
## search_known_solution Result
`search_known_solution` returned existing samples for `@babel/preset-env@8.0.2`:
- `sha256:0e5c41047e8f368cb12ecb51f5efc04ac1bc1078de279411af5aee5b26a6cb52`: Default `modules: 'auto'` resolution based on caller `supportsStaticESM`.
- `sha256:b5c5836da37c42e25e176b53730d9503770543e476377d9f54af3a953beffc62`: Stale shared tuple behavior across multiple transform calls.
- `sha256:d1c4e6d5b5f6d67cedb5e95f468a787b2752c4c69b6ef2c96f4bf0ecf8b87ed3`: Default module transpilation of `export * as ns` syntax.
- `sha256:96181bdb531ffb3f77b41700fed349f697ecb137816bcb657b3ed00ddd6714b6`: Rejection of removed legacy options (`loose`, `spec`, `bugfixes`, `useBuiltIns`) in Babel 8.
- `sha256:422dd3e4cc5554fd1cc4487175946e131792636834ed04605f3452f1a66340f5`: Target overrides via `forceAllTransforms`.
None of the existing samples verify the `include` and `exclude` configuration options, shorthand/prefix resolution, RegExp pattern matching, mutual exclusion collision handling, or unrecognized plugin validation.
## What a Model or Developer Would Have Written
Developers commonly assume that compilation targets strictly dictate plugin inclusion, requiring full `@babel/plugin-*` names if manually overridden, and that `include` and `exclude` silently resolve conflicts by precedence order if the same plugin is supplied to both.
## Observed Behaviour and Failure Modes
1. **Forced Plugin Inclusion via `include`**:
Configuring `include: ['transform-arrow-functions']` forces the activation of arrow function transpilation down to function expressions even when targeting modern environments (such as Chrome 120) that natively support arrow functions, while non-included features (such as template literals) remain untouched.
2. **Shorthand, Full Name, and RegExp Matching**:
`include` and `exclude` accept shorthand names (`'transform-arrow-functions'`), full package identifiers (`'@babel/plugin-transform-arrow-functions'`), and regular expressions (such as `/^transform-arrow/`).
3. **Feature Exclusion via `exclude`**:
Configuring `exclude: ['transform-arrow-functions']` prevents arrow functions from being transpiled even when targeting legacy runtimes (such as IE 11), while all other target-mandated transformations continue to run.
4. **Mutual Exclusion Collision**:
Specifying the same plugin in both `include` and `exclude` throws a synchronous validation `Error`:
`The plugins/built-ins '...' were found in both the "include" and "exclude" options.`
5. **Unrecognized Plugin Validation**:
Specifying an invalid or unrecognized plugin in `include` or `exclude` throws a descriptive `Error`:
`The plugins/built-ins '...' passed to the 'include' option are not valid.`
6. **Programmatic Preset Inspection**:
Direct initialization of `@babel/preset-env` with `include` or `exclude` increments or decrements the length of the returned preset `plugins` array relative to the target baseline.
Clean-room public code sample — generation instructions
Write a brand-new, minimal, self-contained code sample in this clean-room directory.
Do not copy, paraphrase, or reference any existing project source. Work only from this spec.
A csx.json manifest scaffold already exists. Do not recreate it from memory. Preserve its case.goal, packages and symbols; fill its empty case.contract with exact assertions and correct its environment, commands and verifierAdapter for the files you generate.
Goal: verify pkg:npm/%40babel/preset-env@8.0.2
Kind: HOW
Use EXACTLY these public packages and versions:
- pkg:npm/%40babel/preset-env@8.0.2
Constraints:
- executionContext: node
Required runtime conditions:
- ecosystem: npm
- language: javascript
- moduleSystem: cjs
- packageManager: npm@10.9.8
- runtime: node@22.23.2
Rules:
- One focused purpose; the smallest project that proves the goal.
- Include a contract test (test/contract.*) that runs OFFLINE and exits 0 exactly when the goal behavior works.
- Pin every dependency with a lockfile so resolution is reproducible.
- No secrets, credentials, or tokens. No real URLs (only example.com or localhost). No absolute paths.
- No personal names, emails, company names, or project identifiers of any kind.
- No binaries and no generated output (node_modules, dist, target, venv, .git, .env).
- Keep it under 200 files and 256KB packed.
{"case":{"believed":"Compilation targets strictly dictate plugin selection, requiring full package names if manually overridden, and include and exclude silently resolve collisions by precedence rather than throwing an error.","caseId":"case:sha256:2c20eb7fed21abb4495f97bcffe4b74ba9891db4387cecd802c7875d50c1a88c","constraints":{"executionContext":"node"},"contract":["Configuring the include option with transform-arrow-functions forces transpilation of arrow functions to function expressions even when targeting modern runtimes (such as Chrome 120) that natively support them, while preserving non-included syntax like template literals.","The include option accepts shorthand plugin names (transform-arrow-functions), full package names (@babel/plugin-transform-arrow-functions), and RegExp patterns (/^transform-arrow/).","Configuring the exclude option with transform-arrow-functions prevents arrow function transpilation even when targeting older runtimes (such as IE 11) that lack native support, preserving arrow syntax while other transforms remain active.","The exclude option accepts RegExp patterns (/^transform-arrow/) to exclude matching transform plugins from compilation.","Specifying the same plugin in both include and exclude options throws a validation Error indicating that the plugin was found in both options.","Passing an unrecognized plugin name to include throws a validation Error stating that the plugin is not valid.","Direct preset initialization with include or exclude adjusts the length of the returned plugins array relative to the target baseline."],"goal":"verify pkg:npm/%40babel/preset-env@8.0.2","kind":"HOW","packages":["pkg:npm/%40babel/preset-env@8.0.2"],"schemaVersion":1,"symbols":["@babel/preset-env"]},"contractCommand":["node","test/contract.mjs"],"environment":{"arch":"x64","distro":"ubuntu","ecosystem":"npm","executionContext":"node","language":"javascript","libc":"glibc","libcVersion":"2.39","moduleSystem":"cjs","os":"linux","osVersionBucket":"24","packageManager":"npm","packageManagerVersion":"10.9.8","runtime":"node","runtimeVersion":"22.23.2","schemaVersion":1},"license":"MIT-0","packages":["pkg:npm/%40babel/preset-env@8.0.2"],"schemaVersion":1,"subject":"pkg:npm/%40babel/preset-env@8.0.2","symbols":["@babel/preset-env"],"verifierAdapter":"node-typescript@1"}
{
"name": "npm-babel-preset-env-include-exclude",
"version": "1.0.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "npm-babel-preset-env-include-exclude",
"version": "1.0.0",
"license": "MIT-0",
"dependencies": {
"@babel/core": "8.0.1",
"@babel/preset-env": "8.0.2"
}
},
"node_modules/@babel/code-frame": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-8.0.0.tgz",
"integrity": "sha512-dYYg153EyN2Ekbqw2zAsbd6/JR+9N2SEoC7YV2GyyqMM7x9bLDTjBD6XBhSMLH0wtIVyJj03jWNriQhaN+eoCw==",
"license": "MIT",
"dependencies": {
"@babel/helper-validator-identifier": "^8.0.0",
"js-tokens": "^10.0.0"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
}
},
"node_modules/@babel/compat-data": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-8.0.0.tgz",
"integrity": "sha512-DOjnob/cXOUgDOozCDeq/aK2p5y8dUIVdf6tNhEV1HQRd6I8aQ4f4fbtHRVEvb6lP3BGomrKHiS8ICAASSVQSw==",
"license": "MIT",
"engines": {
"node": "^22.18.0 || >=24.11.0"
}
},
"node_modules/@babel/core": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@babel/core/-/core-8.0.1.tgz",
"integrity": "sha512-5FgxM4dLQpMJHSiVATk8foW263dVHQHBVpXYiimNECVWG01f4nFyEbQixeT6Mwvg7TayREJ2gpKl3o2RoMdnqw==",
"license": "MIT",
"dependencies": {
"@babel/code-frame": "^8.0.0",
"@babel/generator": "^8.0.0",
"@babel/helper-compilation-targets": "^8.0.0",
"@babel/helpers": "^8.0.0",
"@babel/parser": "^8.0.0",
"@babel/template": "^8.0.0",
"@babel/traverse": "^8.0.0",
"@babel/types": "^8.0.0",
"@types/gensync": "^1.0.5",
"convert-source-map": "^2.0.0",
"empathic": "^2.0.1",
"gensync": "^1.0.0-beta.2",
"import-meta-resolve": "^4.2.0",
"json5": "^2.2.3",
"obug": "^2.1.1",
"semver": "^7.7.3"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/babel"
}
},
"node_modules/@babel/generator": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-8.0.0.tgz",
"integrity": "sha512-NT9NrVwJsbSV6Y2FSstWa71EETOnzrjkL5/wX3D2mYHtKM+qvqB1DvR4D0Setb/gDBsHzRICifwEWMO8CnTF6g==",
"license": "MIT",
"dependencies": {
"@babel/parser": "^8.0.0",
"@babel/types": "^8.0.0",
"@jridgewell/gen-mapping": "^0.3.12",
"@jridgewell/trace-mapping": "^0.3.28",
"@types/jsesc": "^2.5.0",
"jsesc": "^3.0.2"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
}
},
"node_modules/@babel/helper-annotate-as-pure": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-8.0.0.tgz",
"integrity": "sha512-NSpMkMsvvZqzThJ0p1B02cbtA2ObEyfBvq950bmNkyxsxvcxwhvvCB036rKhlEnuBBo30bOrk13u3FzlKSoRrw==",
"license": "MIT",
"dependencies": {
"@babel/types": "^8.0.0"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
}
},
"node_modules/@babel/helper-compilation-targets": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-8.0.0.tgz",
"integrity": "sha512-JwculLABZvyPvyLBpwU/E/IbH2uM3mnxNtIJpxnIfb24y1PrdVxK5Dqjle4DpgqpGRnwgC7G8IkzPdSXZrO1Ew==",
"license": "MIT",
"dependencies": {
"@babel/compat-data": "^8.0.0",
"@babel/helper-validator-option": "^8.0.0",
"browserslist": "^4.24.0",
"lru-cache": "^11.0.0",
"semver": "^7.7.3"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
}
},
"node_modules/@babel/helper-create-class-features-plugin": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-8.0.1.tgz",
"integrity": "sha512-++t3ZktzlLmASAxIlxeXQK9Z2YwUafYGYcvGBFevqOqt16HozVHStUoQvWD09fzAZOb/uJGpUTBuGK41AJAuOA==",
"license": "MIT",
"dependencies": {
"@babel/helper-annotate-as-pure": "^8.0.0",
"@babel/helper-member-expression-to-functions": "^8.0.0",
"@babel/helper-optimise-call-expression": "^8.0.0",
"@babel/helper-replace-supers": "^8.0.1",
"@babel/helper-skip-transparent-expression-wrappers": "^8.0.0",
"@babel/traverse": "^8.0.0",
"semver": "^7.7.3"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/helper-create-regexp-features-plugin": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-8.0.1.tgz",
"integrity": "sha512-PydTbcVTiIfVweHMeY1u3MslaD/ZzvnaTNhJp+7ghofelLWshF66Ckc/ZsjStfvRQIKQ4uVG0yEJucyDtyrWgw==",
"license": "MIT",
"dependencies": {
"@babel/helper-annotate-as-pure": "^8.0.0",
"regexpu-core": "^6.3.1",
"semver": "^7.7.3"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/helper-define-polyfill-provider": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-1.0.0.tgz",
"integrity": "sha512-9jzVaTeZyXRDKTgUnNzcPQMO8y0ga3o+Z4fKjNet9Fcx7slgKa83qRbz0EwROSd6qO6CoEe/HQszqSPKb5lhkw==",
"license": "MIT",
"dependencies": {
"@babel/helper-compilation-targets": "^8.0.0",
"@babel/helper-plugin-utils": "^8.0.0",
"lodash.debounce": "^4.0.8"
},
"engines": {
"node": "^20.19.0 || >=22.12.0"
},
"peerDependencies": {
"@babel/core": "^7.4.0 || ^8.0.0"
}
},
"node_modules/@babel/helper-globals": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-8.0.0.tgz",
"integrity": "sha512-lLozHOM6sWWlxNo8CYqHy4MBZeTvHXNgVPBfPOGsjPKUzHC2Az9QwB6gxdQmpwHl6GlQtbGgS+lj5887guDiLw==",
"license": "MIT",
"engines": {
"node": "^22.18.0 || >=24.11.0"
}
},
"node_modules/@babel/helper-member-expression-to-functions": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-8.0.0.tgz",
"integrity": "sha512-xkXrMbtk87Gk7+oKBVmBc6EORg/Qwx++AHESldmHkpvG8wgccdhJJFwrzqlF382Fk8wfXhJHWE/g/43QvEGNPQ==",
"license": "MIT",
"dependencies": {
"@babel/traverse": "^8.0.0",
"@babel/types": "^8.0.0"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
}
},
"node_modules/@babel/helper-module-imports": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-8.0.0.tgz",
"integrity": "sha512-NZ7mSS93o4ndX4KrbD7W8Sf3QT8Qe24PrnFyUcuOPDzK6faqDFKjY9RG7he7+I7FdiQ4llpnosFqzrXa+Vy3Ew==",
"license": "MIT",
"dependencies": {
"@babel/traverse": "^8.0.0",
"@babel/types": "^8.0.0"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
}
},
"node_modules/@babel/helper-module-transforms": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-8.0.1.tgz",
"integrity": "sha512-UgAhl1kqiW5ciE0yCXqqvnb4H2n3IELJ7lIIQRezwDPilPEZX5i+Rvbja9MFTkwUn2biEiSMeV31aUzR4Lwakw==",
"license": "MIT",
"dependencies": {
"@babel/helper-module-imports": "^8.0.0",
"@babel/helper-validator-identifier": "^8.0.0",
"@babel/traverse": "^8.0.0"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/helper-optimise-call-expression": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-8.0.0.tgz",
"integrity": "sha512-3W6satvtPuCUkUx63S2jMoW9EQNYkADgs1HTfufmL7gCmAulHMKupA/12WNz4A0GMMFn/YnWWwqOT9IZrJHQjg==",
"license": "MIT",
"dependencies": {
"@babel/types": "^8.0.0"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
}
},
"node_modules/@babel/helper-plugin-utils": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-8.0.1.tgz",
"integrity": "sha512-3PKFgjTyPlhFhorfP+SjKQxLViIL++zWjFOO4hGriYU+Bsm983DxEM1JmDRJVWXV0O9npu+xXRqz7Pbd3mh70g==",
"license": "MIT",
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/helper-remap-async-to-generator": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-8.0.1.tgz",
"integrity": "sha512-baAKuLEMmu6BCSY3tuiU7qglM1qOZt6F1SrFScA241oNqksxkxfEZEKztlGRmoVns9AQ5UgArH7RsUEjxWnzgQ==",
"license": "MIT",
"dependencies": {
"@babel/helper-annotate-as-pure": "^8.0.0",
"@babel/helper-wrap-function": "^8.0.0",
"@babel/traverse": "^8.0.0"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/helper-replace-supers": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-8.0.1.tgz",
"integrity": "sha512-B1SZADIcy3tmH8CmWvj4SHi/oAPom4UL3uknTc2QRNsPVLFk/sPnZvQL/8kj7Y5omvjMqie0vklvs6XM4OLW5Q==",
"license": "MIT",
"dependencies": {
"@babel/helper-member-expression-to-functions": "^8.0.0",
"@babel/helper-optimise-call-expression": "^8.0.0",
"@babel/traverse": "^8.0.0"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/helper-skip-transparent-expression-wrappers": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-8.0.0.tgz",
"integrity": "sha512-xmCA9kP3IhySsqhzwIdWGlDN/1A4cCKNBO/uwZx/3YzmDoMePwno2Q5/Bq0q+tYaKbeF940YiKV/kaW8Mzvpjw==",
"license": "MIT",
"dependencies": {
"@babel/traverse": "^8.0.0",
"@babel/types": "^8.0.0"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
}
},
"node_modules/@babel/helper-string-parser": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-8.0.0.tgz",
"integrity": "sha512-6mJgmFFFIIO82vvoLt9XtRC7/TkzXfts1t/SpRX4IHSzMgqoPYCWesVu1udUPUWioAE/2fcG6WuI8zrkE1gwrg==",
"license": "MIT",
"engines": {
"node": "^22.18.0 || >=24.11.0"
}
},
"node_modules/@babel/helper-validator-identifier": {
"version": "8.0.4",
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-8.0.4.tgz",
"integrity": "sha512-4wFaiLd0bVo4cIoTXI3zKI038NIWE/cr3jvBjejOVYVxV/m8Ltav1USiGzG1fmS5J2RhgEOgXNNK46cRPnRsrg==",
"license": "MIT",
"engines": {
"node": "^22.18.0 || >=24.11.0"
}
},
"node_modules/@babel/helper-validator-option": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-8.0.0.tgz",
"integrity": "sha512-U4Dybxh4WESWHt5XhBeExi4DrY0/DNK1aHpQbsrQXCUbFHuMweT0TpLEWKvaraV2Y6fS+ZXunsZ8zIuZIgvF2Q==",
"license": "MIT",
"engines": {
"node": "^22.18.0 || >=24.11.0"
}
},
"node_modules/@babel/helper-wrap-function": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-8.0.0.tgz",
"integrity": "sha512-Qpm8+wi5xfDkBfollanwriCcKniFfBmMmaKB01GVM6VGzKXo1fdxosZp04qEr5HM+LKhwr3hG1yRy8+ORsficA==",
"license": "MIT",
"dependencies": {
"@babel/template": "^8.0.0",
"@babel/traverse": "^8.0.0",
"@babel/types": "^8.0.0"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
}
},
"node_modules/@babel/helpers": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-8.0.0.tgz",
"integrity": "sha512-wfbi91pM3py96oIiJEz7qIpyXDytgr9zQC1HEWwlGNVRAEmItuU/0a41ZUKu1sJGyhhOIpc4t5vk4PYzt8wpsg==",
"license": "MIT",
"dependencies": {
"@babel/template": "^8.0.0",
"@babel/types": "^8.0.0"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
}
},
"node_modules/@babel/parser": {
"version": "8.0.4",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-8.0.4.tgz",
"integrity": "sha512-srpptsAkEbbNIC/q8nT7o+m6CQe8CJUTV/t7MYc9NnWlgYVtHOb7JH6SorxMhN0kuRJjVqXbKClG6xSbPtzz+g==",
"license": "MIT",
"dependencies": {
"@babel/types": "^8.0.4"
},
"bin": {
"parser": "bin/babel-parser.js"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
}
},
"node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-8.0.1.tgz",
"integrity": "sha512-Ytgjjne4RnG3Oig7ik+NfY4ebRY30BPptVkkyu1f72eINJXRM3/bkU++tIc5aPvyLmo4KH20avq0xJ2o+9aEnw==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^8.0.1"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-8.0.1.tgz",
"integrity": "sha512-X7pAMBhuKluA7UfwZNvKN0XVVu/AGeo84Z75eJl85rcb8J2aBzLK92btahM1X5h0oi0QIrbe0qIMA/0+4Buk7w==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^8.0.1"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-8.0.1.tgz",
"integrity": "sha512-DJviKTxYfH0hFwnMiW4dnPyMGzS3Hrr4zUfXl1zwQ0QiGlGlNYklLoPSYEQr8S7nau0/K7NdQjTh0qbYuyFjCA==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^8.0.1"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/plugin-bugfix-safari-rest-destructuring-rhs-array": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-rest-destructuring-rhs-array/-/plugin-bugfix-safari-rest-destructuring-rhs-array-8.0.1.tgz",
"integrity": "sha512-DmR/N+B9+4PbURFj4+zdnWj49/PFAnK2bn8+E4ZAmwn3J5QCxnbG7Ep6aRfz9M8Aw+rBro0kIJQycvzFpl4buQ==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^8.0.1",
"@babel/helper-skip-transparent-expression-wrappers": "^8.0.0"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-8.0.1.tgz",
"integrity": "sha512-x8bi0LFVD2xkULjfNn+hCMg16yAFHAM9fS/ThSFeYBi+0MP9K6qcY2BZb4urUwC7PYtEy5wPe6TKjOEjXrCGFA==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^8.0.1",
"@babel/helper-skip-transparent-expression-wrappers": "^8.0.0",
"@babel/plugin-transform-optional-chaining": "^8.0.1"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-8.0.1.tgz",
"integrity": "sha512-P8+RN2n7ts2s1vnE+lXdHYf+dhnmcGSen/kWzBsVluT9Sey5AqmcRXYWlHqgQxaNlKTD5YMa1tf5z4d1v8W88w==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^8.0.1"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/plugin-transform-arrow-functions": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-8.0.1.tgz",
"integrity": "sha512-o/gr7kRlq3PKLLuYth4udOsrC7geBerti+QtwPeyxMOsEQO1d8kDHqk9r2PtMx2y9i8FG7tzyTerfv1yMLSMsQ==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^8.0.1"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/plugin-transform-async-generator-functions": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-8.0.1.tgz",
"integrity": "sha512-kqnSMF1YHBzuiQrl68675i5Ma1oljvo+SJsNEZFZVBu5BUrVIZm9KId3ui2PdtLK2sv2zM8sJnjPDfgLxQlEqQ==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^8.0.1",
"@babel/helper-remap-async-to-generator": "^8.0.1",
"@babel/traverse": "^8.0.0"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/plugin-transform-async-to-generator": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-8.0.1.tgz",
"integrity": "sha512-e1jmmEU4p2Lx64sA1+EF8e8/RxPuegzbXcEbmFp5alDyLE+f2ViUpZ77bRWMXzihTwgVVmn/TOpqDbAuS5g1Ew==",
"license": "MIT",
"dependencies": {
"@babel/helper-module-imports": "^8.0.0",
"@babel/helper-plugin-utils": "^8.0.1",
"@babel/helper-remap-async-to-generator": "^8.0.1"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/plugin-transform-block-scoped-functions": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-8.0.1.tgz",
"integrity": "sha512-0V97/gcf7LIgPieEiK1YT0eXa18XJFSLOTZjzEZhA9SJIqZhD/IwGUrCitBzXSmnGCP7hchwC6svHtJ/Eidcpg==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^8.0.1"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/plugin-transform-block-scoping": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-8.0.1.tgz",
"integrity": "sha512-HxiQvKsSCs2jOmMhjDrooHaZYOy6W8bqwXp/zjdgPjsNrda6tK9/CH3a/cVIeg6ge3hSS02ALqvqgIo4rTsuSg==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^8.0.1"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/plugin-transform-class-properties": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-8.0.1.tgz",
"integrity": "sha512-tORnYiVhIHnKj90TgbSZXrO24f9oEpA6MgFxpIDSKKlHv7AzBIRhkMlYevanueLNYaQXqZWarfCgXM4bWTfNiw==",
"license": "MIT",
"dependencies": {
"@babel/helper-create-class-features-plugin": "^8.0.1",
"@babel/helper-plugin-utils": "^8.0.1"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/plugin-transform-class-static-block": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-8.0.1.tgz",
"integrity": "sha512-NEVK+L0Le8h8tJ+IK0CGS5y9Yi1ZHxLj6M5PeanhMFuq9aSo0XI+Wtmbuyop6fTNukOm7ORNntf/kwid891vqQ==",
"license": "MIT",
"dependencies": {
"@babel/helper-create-class-features-plugin": "^8.0.1",
"@babel/helper-plugin-utils": "^8.0.1"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/plugin-transform-classes": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-8.0.1.tgz",
"integrity": "sha512-phwyCES8kIMAdVOFw25ztmgAvkl2G+TvUv7azUYyrlR1Qoo3eLJC/MU3MGUKFZ4BWtsJ1NTJM1lKRLzKbswg7w==",
"license": "MIT",
"dependencies": {
"@babel/helper-annotate-as-pure": "^8.0.0",
"@babel/helper-compilation-targets": "^8.0.0",
"@babel/helper-globals": "^8.0.0",
"@babel/helper-plugin-utils": "^8.0.1",
"@babel/helper-replace-supers": "^8.0.1",
"@babel/traverse": "^8.0.0"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/plugin-transform-computed-properties": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-8.0.1.tgz",
"integrity": "sha512-i4l3OGLO8DUDcwdnyraOvILbhqdUf4QgfzhVxSOSzRy49XKXrY7pwaSg9gDSKmhZfNPrEMciBSJSciQh/CjB1A==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^8.0.1"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/plugin-transform-destructuring": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-8.0.1.tgz",
"integrity": "sha512-RtR8uLDl0QcCmqMNIkM8gmDeYZ3rS0ZH+sa+I6sfc09yFoqfp9AEPgBstq9KyfVb0lFCVSRFfJXCI70FIl5ccw==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^8.0.1"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/plugin-transform-dotall-regex": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-8.0.1.tgz",
"integrity": "sha512-czOUoSaZljJ92yu+bYlXqb/UBN8K9daNCob/B6/7nthSvfGP6YhCnfqD64XWfyb2dN4ypxALNplApoJrsMd4fw==",
"license": "MIT",
"dependencies": {
"@babel/helper-create-regexp-features-plugin": "^8.0.1",
"@babel/helper-plugin-utils": "^8.0.1"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/plugin-transform-duplicate-keys": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-8.0.1.tgz",
"integrity": "sha512-kNnVLkxFUEcTtCyB5PFVQ5Xoy88Bk1lU/ZgDu97CW8eNhRH2Wsiy8Sq5l5dFnwtIUYjzsXHU77jUy1W5AtGSIw==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^8.0.1"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-8.0.1.tgz",
"integrity": "sha512-Tv43P47o6fuHgBL7HLHQg3WKXohW9CEUGjLtnCDW27yJLK0zKUdTTqREbZbycNHA83hewMjde5tF6ekrHu9bAA==",
"license": "MIT",
"dependencies": {
"@babel/helper-create-regexp-features-plugin": "^8.0.1",
"@babel/helper-plugin-utils": "^8.0.1"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/plugin-transform-dynamic-import": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-8.0.1.tgz",
"integrity": "sha512-AS9GlgKc43tJNRu7yOvLaTko4qmdOb+8M69uNS8i421WLO20eVez7LdG5khKdi8E0LIQpYzzzdGIrdXWnO753g==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^8.0.1"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/plugin-transform-explicit-resource-management": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-explicit-resource-management/-/plugin-transform-explicit-resource-management-8.0.1.tgz",
"integrity": "sha512-VzDIYwBlLCpV6mJfloRdJm8HmYnMqs7O+bGha8yfg2kP7jAdxeCw6yZBVBeaKKQUThtSU52iy+3lB7DhYsbOBA==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^8.0.1",
"@babel/plugin-transform-destructuring": "^8.0.1"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/plugin-transform-exponentiation-operator": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-8.0.1.tgz",
"integrity": "sha512-DsZvUUklUmDQ7d2vp+VjqgUWD51mGxhZZ1FPdPP9Hcj0vsgGUKX+zEBGp/vzB1O5PZUxWT/Euq5fu39M9dm9wg==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^8.0.1"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/plugin-transform-export-namespace-from": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-8.0.1.tgz",
"integrity": "sha512-bFzznm46bvWGaTYKle3iolbBJ+oPBfUjwCPesxlFE3SQ7DaY9EHf/8Y5ZzrodKJi8JDdcAyaVWaDUSVyhULh0g==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^8.0.1"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/plugin-transform-for-of": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-8.0.1.tgz",
"integrity": "sha512-rpeXtgELjpIBQH/+YmyFlD9timPEVCyqY+TNednzoeoTYvXSBEeUvYnYE+BK8rB8m6hHiNK7aL9QWKhGifEJCw==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^8.0.1",
"@babel/helper-skip-transparent-expression-wrappers": "^8.0.0"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/plugin-transform-function-name": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-8.0.1.tgz",
"integrity": "sha512-H1L/JfPf3CqmubuaiZaquXKQ8MRs4YWSsgRllkTviM8TafcCNnlvc4/fJZ3rXP8HmFM+/Bg+TlsPehUI9BtDFA==",
"license": "MIT",
"dependencies": {
"@babel/helper-compilation-targets": "^8.0.0",
"@babel/helper-plugin-utils": "^8.0.1"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/plugin-transform-json-strings": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-8.0.1.tgz",
"integrity": "sha512-Mowp8X0J6p7ZehLU82B5e65te2uuSeDHyxrEROwEAS2VKXNXssfw5ZMqhY7k9iXTsOv1Xs/49G3lDCj9Vvw8qQ==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^8.0.1"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/plugin-transform-literals": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-8.0.1.tgz",
"integrity": "sha512-ai7kfPRcfyUV1EszXoF1PvL3IuJoCuH08WSEPoRcJTWfZZ55VL/rcfvbVY16QLA3jjbzzSneQSoCtD3L6OyUjw==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^8.0.1"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/plugin-transform-logical-assignment-operators": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-8.0.1.tgz",
"integrity": "sha512-Emvtr5zkEGyCNAmt+qKD5EUh8G0RbxV9EZWrDdX0LuVy5tBq1B3fOIslvVF9aCJmpnwS/AvAT53b9LxAZyXlng==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^8.0.1"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/plugin-transform-member-expression-literals": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-8.0.1.tgz",
"integrity": "sha512-3Axi9abnyGsm/hh6DsKPZ1Cr9fTtKqS7w0Ig5g12mU269YclpH8pV3xMln2vPLexXgUp6S6L+I06d9/YOLfRKA==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^8.0.1"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/plugin-transform-modules-amd": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-8.0.1.tgz",
"integrity": "sha512-FDdhET8y1YFDNRuoynqSf23WTzbBBpbIB2oRrlFX7YYm9uWtFvJDSD1r/epBSjfPkOjeaaLgRW9xNnt3JGx46A==",
"license": "MIT",
"dependencies": {
"@babel/helper-module-transforms": "^8.0.1",
"@babel/helper-plugin-utils": "^8.0.1"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/plugin-transform-modules-commonjs": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-8.0.1.tgz",
"integrity": "sha512-PMuzulWrrzFNmY3lXSk/tV9NRb7y0eZZLJY4UEo2TKszroxvUZHAPPi+T9FDyrQhod+TQA+t+8/QYaaMpiEuhA==",
"license": "MIT",
"dependencies": {
"@babel/helper-module-transforms": "^8.0.1",
"@babel/helper-plugin-utils": "^8.0.1"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/plugin-transform-modules-systemjs": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-8.0.1.tgz",
"integrity": "sha512-0NEHanXmnFEnfT2dLKTXnu7m8GXFsnxRgteBC2aH21hYMBwAgxu5dcTdi/Eg+ToI1HbZe0CHwz4XRLgRNQhYoQ==",
"license": "MIT",
"dependencies": {
"@babel/helper-module-transforms": "^8.0.1",
"@babel/helper-plugin-utils": "^8.0.1",
"@babel/helper-validator-identifier": "^8.0.0"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/plugin-transform-modules-umd": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-8.0.1.tgz",
"integrity": "sha512-XKTa2J2MdkmbVEeChq9f7Or0VYcsF0NyVBgytRyeN9F+J+ETAB2SHhfkG4toz/ssuU0i+h/QgJ6ddo5YakSQcA==",
"license": "MIT",
"dependencies": {
"@babel/helper-module-transforms": "^8.0.1",
"@babel/helper-plugin-utils": "^8.0.1"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/plugin-transform-named-capturing-groups-regex": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-8.0.1.tgz",
"integrity": "sha512-zCHu+Jr2gTdJE48lN9SV/kXueCW2M79mKtKJc/ttfzzr/jvgdQdCd17RADMqFRQc/25MLxdtjTmlD0HSAMOlIQ==",
"license": "MIT",
"dependencies": {
"@babel/helper-create-regexp-features-plugin": "^8.0.1",
"@babel/helper-plugin-utils": "^8.0.1"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/plugin-transform-new-target": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-8.0.1.tgz",
"integrity": "sha512-QSQxVg1x4PuOuhWUs4Y9u+x9Y+ER8z6G3tC+bDLBzvoOrNLJrEBQLRnwrTP8e5klihAw6Z+e9X5RjdAKcAGapA==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^8.0.1"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/plugin-transform-nullish-coalescing-operator": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-8.0.1.tgz",
"integrity": "sha512-AgCJAmQLF7+PtsK79wJqr4xJ2StHCXlz7JL5CVFP4HejJx25Tk6yl1ZrXvi0cKh3VGDVnfVxefxnrpsBirgpyQ==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^8.0.1"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/plugin-transform-numeric-separator": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-8.0.1.tgz",
"integrity": "sha512-it2DmUyLIA1GQUXlFDEnI+/G89mTgxndnAiZYpW8xYR6LboblfirMqiWJeTna5uypQJg7viTT4D1iEURRtFcfw==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^8.0.1"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/plugin-transform-object-rest-spread": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-8.0.1.tgz",
"integrity": "sha512-VmxkDu6bBdbxRzqn6E93hYucug4OVa6svSO19W//vVzNUGAmQzk3QRyHyyEtfcjSLR3NWfRsWwVM9zExLmd+2w==",
"license": "MIT",
"dependencies": {
"@babel/helper-compilation-targets": "^8.0.0",
"@babel/helper-plugin-utils": "^8.0.1",
"@babel/plugin-transform-destructuring": "^8.0.1",
"@babel/plugin-transform-parameters": "^8.0.1"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/plugin-transform-object-super": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-8.0.1.tgz",
"integrity": "sha512-fDkPXRTRKGm25bAq01q82UM4ypPqdVXCwphUUm4t1dL01fGIG0v8KRvT+4BjhMAtRxtPuI34t5Vs7yjRgs3ZgQ==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^8.0.1",
"@babel/helper-replace-supers": "^8.0.1"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/plugin-transform-optional-catch-binding": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-8.0.1.tgz",
"integrity": "sha512-b2OQ74uGliyATcasTjxGy2O/86UI/n+EN4juB4EMfEwTi9j9uq70PuP0L8fW77vfRY66gO/YoTo/WbIdQ/Si1g==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^8.0.1"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/plugin-transform-optional-chaining": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-8.0.1.tgz",
"integrity": "sha512-WtRS1c94lZGpGHxYLXMEWeoMVcuv8nkiyr8BTs6OYZv7N3Y9xVE8nbdFIl4lDJH6aH8/pLhqAQOL69d/WI9WdA==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^8.0.1",
"@babel/helper-skip-transparent-expression-wrappers": "^8.0.0"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/plugin-transform-parameters": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-8.0.1.tgz",
"integrity": "sha512-IIwRqroW0CYQwR6+3pnmu27z+H98poScWdnov8z6osumMeEsFxAFBBsDS2CFk2jFpPlGqVr89jK/HXO6i5DzxQ==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^8.0.1"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/plugin-transform-private-methods": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-8.0.1.tgz",
"integrity": "sha512-TrFCGcXaVDh6S5IRhmLSRTY9H80VTCMQWnZtzBRg4RWg3KCLmdmsmj4M15kZAPZfoPkWL/SJb4em3Py/vOiX8g==",
"license": "MIT",
"dependencies": {
"@babel/helper-create-class-features-plugin": "^8.0.1",
"@babel/helper-plugin-utils": "^8.0.1"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/plugin-transform-private-property-in-object": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-8.0.1.tgz",
"integrity": "sha512-e+yfOqSYBZaf3PARpiQkjZrpWYgmcFLhK+1tevh2CpHR1O9/36IdyPnAZusESX5nzVV/XZTDAtQBRLa8HPT5Dw==",
"license": "MIT",
"dependencies": {
"@babel/helper-annotate-as-pure": "^8.0.0",
"@babel/helper-create-class-features-plugin": "^8.0.1",
"@babel/helper-plugin-utils": "^8.0.1"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/plugin-transform-property-literals": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-8.0.1.tgz",
"integrity": "sha512-Z/qx4cxUtYR1nt7XWRutObPxDks98fEYsjWbVeKEqZH6y3AGknmgzCqmHf2FHWZCl1DfoPeuJY+3hZ+35D+2tg==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^8.0.1"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/plugin-transform-regenerator": {
"version": "8.0.2",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-8.0.2.tgz",
"integrity": "sha512-aFfsjCRYducRV4dPnpsBbdRkLjboca9FVDg6HZCgy0Ahvk2ZQ/2exmCRC5qS9P6rsWwrmIheNaIM6A1j2F8KMA==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^8.0.1"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/plugin-transform-regexp-modifiers": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-8.0.1.tgz",
"integrity": "sha512-02ITRDBesPdTYU0oShAzERwEPzozOUQSXlz3qrt8JGuhalBJQv9z5NjgHJPC9sS3Fsam8gDtfAEpBnqZwUIdjQ==",
"license": "MIT",
"dependencies": {
"@babel/helper-create-regexp-features-plugin": "^8.0.1",
"@babel/helper-plugin-utils": "^8.0.1"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/plugin-transform-reserved-words": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-8.0.1.tgz",
"integrity": "sha512-+aykZi7ZP3U84veqfJXm3HhPZGddWFi64g7jr0ni6tb1zel+1ey+SL+IRKPoZXFyFqvYEsoqrmx4PyEJRlHl/Q==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^8.0.1"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/plugin-transform-shorthand-properties": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-8.0.1.tgz",
"integrity": "sha512-JddANd9yPVH8dYgVoNkqAH5BftnsDxFpG51Zas7sc6F3poz5QWcejHNGO8a/57IX5ByjGSzEmYk9Z7ZMa5MWaw==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^8.0.1"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/plugin-transform-spread": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-8.0.1.tgz",
"integrity": "sha512-O9Bw9FyxlSw1SlMg3S82/GKNZ0x77RPbHezotEy1JTlIM/vk6WO8jW1iF+iTiKLOXNvi+b+LZ9t77Gi+Q0FhGg==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^8.0.1",
"@babel/helper-skip-transparent-expression-wrappers": "^8.0.0"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/plugin-transform-sticky-regex": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-8.0.1.tgz",
"integrity": "sha512-IsVP6WrZZQdaG2zLmeKwWiI+ua2NB5L1+f77C2/8z2NCDz7uxlIA/lnwocYOJk9PXcOC2sZgRls3LN4XpNduzQ==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^8.0.1"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/plugin-transform-template-literals": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-8.0.1.tgz",
"integrity": "sha512-JXvtj5+BJA9Qv3prDzW2z2DkGTJNmG0BObTdUD03STiu1Jr4fNQkQy3hYZgPL46a2RjcuhwBMYf49BOuJ98gnA==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^8.0.1"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/plugin-transform-typeof-symbol": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-8.0.1.tgz",
"integrity": "sha512-+wJoxgxP2gtey0UMUOMhzMMji2XHO/Uu6MXUh/r5Yhc2jngKzK/wFxY2WNe4UCaRcMvCb4gcnB8wIgFXJsocXg==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^8.0.1"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/plugin-transform-unicode-escapes": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-8.0.1.tgz",
"integrity": "sha512-TAXJepIJ6vZphytTwcf+LuXi2M2ZWI43VCqNw+1ZZLPP/38Z1A8j4Mahvg8kqDgMOSM/cakk+hedTJCiw3jQuQ==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^8.0.1"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/plugin-transform-unicode-property-regex": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-8.0.1.tgz",
"integrity": "sha512-zjBN9tSMSuomNDfurL69Gf7+v4D2t5uI1mSZaYJDo88SKpbduhCXqtxH7Tx66iCF6caWYwnBzSM0tnCozmQq5Q==",
"license": "MIT",
"dependencies": {
"@babel/helper-create-regexp-features-plugin": "^8.0.1",
"@babel/helper-plugin-utils": "^8.0.1"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/plugin-transform-unicode-regex": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-8.0.1.tgz",
"integrity": "sha512-v0oO83cvT5lwbcIVRShpx4vaHD8AvM9IBowsQuTeP+kGmhh3recJQs33Bl6dlo3/2g9amlznLbFGn4VJbPCJqA==",
"license": "MIT",
"dependencies": {
"@babel/helper-create-regexp-features-plugin": "^8.0.1",
"@babel/helper-plugin-utils": "^8.0.1"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/plugin-transform-unicode-sets-regex": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-8.0.1.tgz",
"integrity": "sha512-MlQeyS0K7gh0XNeLBMS/3Z07HjDOKhA7xm2L18GyxOXyiFHI9E+ZuQ4mFYmcLjluXsE/Wf6dABIqZvKpKw0Z3w==",
"license": "MIT",
"dependencies": {
"@babel/helper-create-regexp-features-plugin": "^8.0.1",
"@babel/helper-plugin-utils": "^8.0.1"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/preset-env": {
"version": "8.0.2",
"resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-8.0.2.tgz",
"integrity": "sha512-CUGLn9hNBCF/eXnwdFAWERbniCcXCRvnKwLV9fegeUEIqv7YlU2MepsWMMM54GcILx5XYMnRh+JAL+K5G+mK6g==",
"license": "MIT",
"dependencies": {
"@babel/compat-data": "^8.0.0",
"@babel/helper-compilation-targets": "^8.0.0",
"@babel/helper-plugin-utils": "^8.0.1",
"@babel/helper-validator-option": "^8.0.0",
"@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^8.0.1",
"@babel/plugin-bugfix-safari-class-field-initializer-scope": "^8.0.1",
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^8.0.1",
"@babel/plugin-bugfix-safari-rest-destructuring-rhs-array": "^8.0.1",
"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^8.0.1",
"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^8.0.1",
"@babel/plugin-transform-arrow-functions": "^8.0.1",
"@babel/plugin-transform-async-generator-functions": "^8.0.1",
"@babel/plugin-transform-async-to-generator": "^8.0.1",
"@babel/plugin-transform-block-scoped-functions": "^8.0.1",
"@babel/plugin-transform-block-scoping": "^8.0.1",
"@babel/plugin-transform-class-properties": "^8.0.1",
"@babel/plugin-transform-class-static-block": "^8.0.1",
"@babel/plugin-transform-classes": "^8.0.1",
"@babel/plugin-transform-computed-properties": "^8.0.1",
"@babel/plugin-transform-destructuring": "^8.0.1",
"@babel/plugin-transform-dotall-regex": "^8.0.1",
"@babel/plugin-transform-duplicate-keys": "^8.0.1",
"@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^8.0.1",
"@babel/plugin-transform-dynamic-import": "^8.0.1",
"@babel/plugin-transform-explicit-resource-management": "^8.0.1",
"@babel/plugin-transform-exponentiation-operator": "^8.0.1",
"@babel/plugin-transform-export-namespace-from": "^8.0.1",
"@babel/plugin-transform-for-of": "^8.0.1",
"@babel/plugin-transform-function-name": "^8.0.1",
"@babel/plugin-transform-json-strings": "^8.0.1",
"@babel/plugin-transform-literals": "^8.0.1",
"@babel/plugin-transform-logical-assignment-operators": "^8.0.1",
"@babel/plugin-transform-member-expression-literals": "^8.0.1",
"@babel/plugin-transform-modules-amd": "^8.0.1",
"@babel/plugin-transform-modules-commonjs": "^8.0.1",
"@babel/plugin-transform-modules-systemjs": "^8.0.1",
"@babel/plugin-transform-modules-umd": "^8.0.1",
"@babel/plugin-transform-named-capturing-groups-regex": "^8.0.1",
"@babel/plugin-transform-new-target": "^8.0.1",
"@babel/plugin-transform-nullish-coalescing-operator": "^8.0.1",
"@babel/plugin-transform-numeric-separator": "^8.0.1",
"@babel/plugin-transform-object-rest-spread": "^8.0.1",
"@babel/plugin-transform-object-super": "^8.0.1",
"@babel/plugin-transform-optional-catch-binding": "^8.0.1",
"@babel/plugin-transform-optional-chaining": "^8.0.1",
"@babel/plugin-transform-parameters": "^8.0.1",
"@babel/plugin-transform-private-methods": "^8.0.1",
"@babel/plugin-transform-private-property-in-object": "^8.0.1",
"@babel/plugin-transform-property-literals": "^8.0.1",
"@babel/plugin-transform-regenerator": "^8.0.2",
"@babel/plugin-transform-regexp-modifiers": "^8.0.1",
"@babel/plugin-transform-reserved-words": "^8.0.1",
"@babel/plugin-transform-shorthand-properties": "^8.0.1",
"@babel/plugin-transform-spread": "^8.0.1",
"@babel/plugin-transform-sticky-regex": "^8.0.1",
"@babel/plugin-transform-template-literals": "^8.0.1",
"@babel/plugin-transform-typeof-symbol": "^8.0.1",
"@babel/plugin-transform-unicode-escapes": "^8.0.1",
"@babel/plugin-transform-unicode-property-regex": "^8.0.1",
"@babel/plugin-transform-unicode-regex": "^8.0.1",
"@babel/plugin-transform-unicode-sets-regex": "^8.0.1",
"@babel/preset-modules": "^0.2.0",
"babel-plugin-polyfill-corejs3": "^1.0.0",
"core-js-compat": "^3.48.0",
"semver": "^7.7.3"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/preset-modules": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.2.0.tgz",
"integrity": "sha512-yz0RBN2fx4fjCeFcTWsWgL7PxSRltvTa0Qg14HkWCU3qS8MO7ZSJlBVbGceynd5C9NsJwwUHNQD3dc6tYO+jqQ==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^8.0.1",
"@babel/plugin-transform-dotall-regex": "^8.0.1",
"@babel/plugin-transform-unicode-property-regex": "^8.0.1",
"@babel/types": "^8.0.0",
"esutils": "^2.0.2"
},
"peerDependencies": {
"@babel/core": "^8.0.0"
}
},
"node_modules/@babel/template": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/@babel/template/-/template-8.0.0.tgz",
"integrity": "sha512-eAD0QW/AlbamBbw0FeGiwasbCVPq5ncW0HNVyLP3B9czqLyh4gvw+5JTSNt6le9+ziAU7mqDZsKTHf3jTb4chQ==",
"license": "MIT",
"dependencies": {
"@babel/code-frame": "^8.0.0",
"@babel/parser": "^8.0.0",
"@babel/types": "^8.0.0"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
}
},
"node_modules/@babel/traverse": {
"version": "8.0.4",
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-8.0.4.tgz",
"integrity": "sha512-bZnmqzGG8UZneG1lLxBoWIH0G6Gr1D846Yu4/3XnY6FhCndMR49u26nTY08u/dAxWmLWF9vGQOuC+84FfIUoeg==",
"license": "MIT",
"dependencies": {
"@babel/code-frame": "^8.0.0",
"@babel/generator": "^8.0.0",
"@babel/helper-globals": "^8.0.0",
"@babel/parser": "^8.0.4",
"@babel/template": "^8.0.0",
"@babel/types": "^8.0.4",
"obug": "^2.1.1"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
}
},
"node_modules/@babel/types": {
"version": "8.0.4",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-8.0.4.tgz",
"integrity": "sha512-eY+Yn3dCqTGmyiq2QRU66lA5FL8lqqqvecHt0fF3uHONIa7ToYsaCiWV8lOKqAs0Rb2SjixiKFROngnulPtt2g==",
"license": "MIT",
"dependencies": {
"@babel/helper-string-parser": "^8.0.0",
"@babel/helper-validator-identifier": "^8.0.4"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
}
},
"node_modules/@jridgewell/gen-mapping": {
"version": "0.3.13",
"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz",
"integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==",
"license": "MIT",
"dependencies": {
"@jridgewell/sourcemap-codec": "^1.5.0",
"@jridgewell/trace-mapping": "^0.3.24"
}
},
"node_modules/@jridgewell/resolve-uri": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
"integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
"license": "MIT",
"engines": {
"node": ">=6.0.0"
}
},
"node_modules/@jridgewell/sourcemap-codec": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.6.0.tgz",
"integrity": "sha512-T7jf+5zgsZHwNJ4lvQ7/aezbyk0nNX+zJVWpmHA7VYsEx7a7qr5Rg5IbtJFqkgze5Y2sruq1RUY8Q837Od7iFw==",
"license": "MIT"
},
"node_modules/@jridgewell/trace-mapping": {
"version": "0.3.31",
"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz",
"integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==",
"license": "MIT",
"dependencies": {
"@jridgewell/resolve-uri": "^3.1.0",
"@jridgewell/sourcemap-codec": "^1.4.14"
}
},
"node_modules/@types/gensync": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/@types/gensync/-/gensync-1.0.5.tgz",
"integrity": "sha512-MbsRCT7mTikHwKZ0X+LVUTLRrZZRLipTuXEO9qOYO+zmjMVk81axyClMROf6uoPD9MRVu46bx8zoR0Ad9q3NAg==",
"license": "MIT"
},
"node_modules/@types/jsesc": {
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/@types/jsesc/-/jsesc-2.5.1.tgz",
"integrity": "sha512-9VN+6yxLOPLOav+7PwjZbxiID2bVaeq0ED4qSQmdQTdjnXJSaCVKTR58t15oqH1H5t8Ng2ZX1SabJVoN9Q34bw==",
"license": "MIT"
},
"node_modules/babel-plugin-polyfill-corejs3": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-1.0.0.tgz",
"integrity": "sha512-yIkslVjbmml2Xjb6XhFW7lISXHsqk6cesxTdDsXoMom4Lnb99DbD3OQbSOoM5Z+ASh8YXYaLAsRQrU2Jeh3Qig==",
"license": "MIT",
"dependencies": {
"@babel/helper-define-polyfill-provider": "^1.0.0",
"core-js-compat": "^3.48.0"
},
"engines": {
"node": "^20.19.0 || >=22.12.0"
},
"peerDependencies": {
"@babel/core": "^7.4.0 || ^8.0.0"
}
},
"node_modules/baseline-browser-mapping": {
"version": "2.11.20",
"resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.11.20.tgz",
"integrity": "sha512-H0ulySigv6icDJ1F7SjtdCD6PrhTpdYCmP0CactWy1+ekh0AFd0o1Wn5T8b+hnTmdBx19u9yhL6wvCylXMY7zw==",
"license": "Apache-2.0",
"bin": {
"baseline-browser-mapping": "dist/cli.cjs"
},
"engines": {
"node": ">=6.0.0"
}
},
"node_modules/browserslist": {
"version": "4.28.8",
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.8.tgz",
"integrity": "sha512-V2NpofLblG64mfOtSgDhOJESZEGogzDMBv/q+W6oc4LXWP/q75eOXoOaaOu1EOadB9U4Bwx/e0yzbvwKH8zalA==",
"funding": [
{
"type": "opencollective",
"url": "https://opencollective.com/browserslist"
},
{
"type": "tidelift",
"url": "https://tidelift.com/funding/github/npm/browserslist"
},
{
"type": "github",
"url": "https://github.com/sponsors/ai"
}
],
"license": "MIT",
"dependencies": {
"baseline-browser-mapping": "^2.11.12",
"caniuse-lite": "^1.0.30001809",
"electron-to-chromium": "^1.5.402",
"node-releases": "^2.0.53",
"update-browserslist-db": "^1.3.0"
},
"bin": {
"browserslist": "cli.js"
},
"engines": {
"node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
}
},
"node_modules/caniuse-lite": {
"version": "1.0.30001810",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001810.tgz",
"integrity": "sha512-TITQPUkaz+aVk5GL6NhOdwk1aEaNTSDPsGFWrTuhKGtjTF70jL/Oht2W4c6rXUe5fu7Ie19VIahAXHIIiWWNeg==",
"funding": [
{
"type": "opencollective",
"url": "https://opencollective.com/browserslist"
},
{
"type": "tidelift",
"url": "https://tidelift.com/funding/github/npm/caniuse-lite"
},
{
"type": "github",
"url": "https://github.com/sponsors/ai"
}
],
"license": "CC-BY-4.0"
},
"node_modules/convert-source-map": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
"integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
"license": "MIT"
},
"node_modules/core-js-compat": {
"version": "3.50.0",
"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.50.0.tgz",
"integrity": "sha512-XGpFGbMLHwSt74YLTKho7Ib242qi6O8MSX+sRokV4oz7iKXvQWGYZthjIhjRGMxjzVkAubBO512dKGYcefmX3Q==",
"license": "MIT",
"dependencies": {
"browserslist": "^4.28.7"
},
"engines": {
"node": ">=6.4.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/core-js"
}
},
"node_modules/electron-to-chromium": {
"version": "1.5.420",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.420.tgz",
"integrity": "sha512-2yD6XreGusOfNV+dUcvipJEXc3n/n7fgr7996aszTG+YY5E4mqM4tOq/3uhP129cazL9YHbVWSpc79ePotWtPA==",
"license": "ISC"
},
"node_modules/empathic": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/empathic/-/empathic-2.0.1.tgz",
"integrity": "sha512-YGRs8knHhKHVShLkFET/rWAU8kmHbOV5LwN938RHI0pljAJ1Gf6SzXsSmRaEzcXTtOOmVqJ5+WtQPL5uigY50Q==",
"license": "MIT",
"engines": {
"node": ">=14"
}
},
"node_modules/escalade": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
"integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
"license": "MIT",
"engines": {
"node": ">=6"
}
},
"node_modules/esutils": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
"integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
"license": "BSD-2-Clause",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/gensync": {
"version": "1.0.0-beta.2",
"resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
"integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
"license": "MIT",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/import-meta-resolve": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.2.0.tgz",
"integrity": "sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==",
"license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
}
},
"node_modules/js-tokens": {
"version": "10.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-10.0.0.tgz",
"integrity": "sha512-lM/UBzQmfJRo9ABXbPWemivdCW8V2G8FHaHdypQaIy523snUjog0W71ayWXTjiR+ixeMyVHN2XcpnTd/liPg/Q==",
"license": "MIT"
},
"node_modules/jsesc": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tg
{
"name": "npm-babel-preset-env-include-exclude",
"version": "1.0.0",
"license": "MIT-0",
"type": "module",
"scripts": {
"test": "node test/contract.mjs"
},
"dependencies": {
"@babel/core": "8.0.1",
"@babel/preset-env": "8.0.2"
}
}
{
"schemaVersion": 1,
"goal": "verify pkg:npm/%40babel/preset-env@8.0.2",
"kind": "HOW",
"packages": [
"pkg:npm/%40babel/preset-env@8.0.2"
],
"constraints": {
"executionContext": "node"
},
"runtimeConditions": {
"ecosystem": "npm",
"language": "javascript",
"moduleSystem": "cjs",
"packageManager": "npm@10.9.8",
"runtime": "node@22.23.2"
}
}
import assert from 'node:assert/strict';
import * as babel from '@babel/core';
import presetEnv from '@babel/preset-env';
const api = {
version: '8.0.2',
assertVersion: () => undefined,
caller: () => false,
targets: () => ({}),
};
const sampleCode = `
const add = (a, b) => a + b;
const greeting = \`Hello \${name}\`;
const prop = obj?.nested?.value;
`;
// 1. include forces specific syntax transformations even when modern compilation targets natively support them.
{
const modernTransformed = babel.transformSync(sampleCode, {
presets: [[presetEnv, { targets: { chrome: '120' }, modules: false }]],
configFile: false,
babelrc: false,
});
assert.ok(modernTransformed && modernTransformed.code);
assert.match(modernTransformed.code, /\(a, b\) => a \+ b/, 'Arrow function should be preserved for modern targets');
assert.match(modernTransformed.code, /`Hello \${name}`/, 'Template literal should be preserved for modern targets');
const includeTransformed = babel.transformSync(sampleCode, {
presets: [[presetEnv, {
targets: { chrome: '120' },
modules: false,
include: ['transform-arrow-functions'],
}]],
configFile: false,
babelrc: false,
});
assert.ok(includeTransformed && includeTransformed.code);
assert.doesNotMatch(includeTransformed.code, /\(a, b\) =>/, 'Arrow function must be transpiled when included');
assert.match(includeTransformed.code, /function\s*\(/, 'Arrow function must compile to function expression');
assert.match(includeTransformed.code, /`Hello \${name}`/, 'Non-included template literal must remain untranspiled');
}
// 2. include accepts shorthand names, full package names, and RegExp patterns.
{
const shorthandRes = babel.transformSync(sampleCode, {
presets: [[presetEnv, { targets: { chrome: '120' }, modules: false, include: ['transform-arrow-functions'] }]],
configFile: false,
babelrc: false,
});
assert.doesNotMatch(shorthandRes.code, /\(a, b\) =>/);
const fullNameRes = babel.transformSync(sampleCode, {
presets: [[presetEnv, { targets: { chrome: '120' }, modules: false, include: ['@babel/plugin-transform-arrow-functions'] }]],
configFile: false,
babelrc: false,
});
assert.doesNotMatch(fullNameRes.code, /\(a, b\) =>/);
const regexRes = babel.transformSync(sampleCode, {
presets: [[presetEnv, { targets: { chrome: '120' }, modules: false, include: [/^transform-arrow/] }]],
configFile: false,
babelrc: false,
});
assert.doesNotMatch(regexRes.code, /\(a, b\) =>/);
}
// 3. exclude prevents specific syntax transformations even when targeting older browsers.
{
const baselineOlder = babel.transformSync(sampleCode, {
presets: [[presetEnv, { targets: { ie: '11' }, modules: false }]],
configFile: false,
babelrc: false,
});
assert.ok(baselineOlder && baselineOlder.code);
assert.doesNotMatch(baselineOlder.code, /\(a, b\) =>/, 'Arrow functions must transpile by default for ie 11');
assert.doesNotMatch(baselineOlder.code, /`Hello \${name}`/, 'Template literals must transpile by default for ie 11');
const excludeTransformed = babel.transformSync(sampleCode, {
presets: [[presetEnv, {
targets: { ie: '11' },
modules: false,
exclude: ['transform-arrow-functions'],
}]],
configFile: false,
babelrc: false,
});
assert.ok(excludeTransformed && excludeTransformed.code);
assert.match(excludeTransformed.code, /\(a, b\) => a \+ b/, 'Arrow function must remain untranspiled when excluded');
assert.doesNotMatch(excludeTransformed.code, /`Hello \${name}`/, 'Non-excluded template literals must still be transpiled');
}
// 4. exclude supports RegExp patterns to exclude matching plugins.
{
const excludeRegexRes = babel.transformSync(sampleCode, {
presets: [[presetEnv, {
targets: { ie: '11' },
modules: false,
exclude: [/^transform-arrow/],
}]],
configFile: false,
babelrc: false,
});
assert.ok(excludeRegexRes && excludeRegexRes.code);
assert.match(excludeRegexRes.code, /\(a, b\) => a \+ b/, 'Arrow function must remain untranspiled when regex-excluded');
assert.doesNotMatch(excludeRegexRes.code, /`Hello \${name}`/, 'Other features must still transpile');
}
// 5. Specifying the same plugin in both include and exclude throws a validation Error.
{
assert.throws(
() => babel.transformSync(sampleCode, {
presets: [[presetEnv, {
include: ['transform-arrow-functions'],
exclude: ['transform-arrow-functions'],
}]],
configFile: false,
babelrc: false,
}),
{
name: 'Error',
message: /The plugins\/built-ins 'transform-arrow-functions' were found in both the "include" and\s+"exclude" options\./,
},
'Should throw when plugin is present in both include and exclude'
);
}
// 6. Passing an unrecognized plugin name to include throws a validation Error.
{
assert.throws(
() => babel.transformSync(sampleCode, {
presets: [[presetEnv, {
include: ['nonexistent-babel-transform-plugin'],
}]],
configFile: false,
babelrc: false,
}),
{
name: 'Error',
message: /The plugins\/built-ins 'nonexistent-babel-transform-plugin' passed to the 'include' option are not\s+valid\./,
},
'Should throw when invalid plugin name is passed to include'
);
}
// 7. Direct preset initialization with include or exclude adjusts the length of the returned plugins array.
{
const modernBaseline = presetEnv(api, { targets: { chrome: '120' } });
const modernIncluded = presetEnv(api, { targets: { chrome: '120' }, include: ['transform-arrow-functions'] });
assert.equal(modernIncluded.plugins.length, modernBaseline.plugins.length + 1, 'include must add exactly 1 plugin to modern baseline');
const olderBaseline = presetEnv(api, { targets: { ie: '11' } });
const olderExcluded = presetEnv(api, { targets: { ie: '11' }, exclude: ['transform-arrow-functions'] });
assert.equal(olderExcluded.plugins.length, olderBaseline.plugins.length - 1, 'exclude must remove exactly 1 plugin from older baseline');
}
console.log('Contract assertions passed: @babel/preset-env include and exclude options verified.');
原始种子者
匿名