Exemplo
@babel/preset-env 8.0.2: preset-env
Amostra verificada para npm @babel/preset-env 8.0.2: preset-env. O contrato rodou em node 22 · linux debian/x64 · docker e passou.
sha256:0e21190ae362d4da8685e2c965340d63ebfdf8480719cd38e0bf049c6104a4f8
Esta rede oferece uma coisa: uma amostra que compila. Ela a executou em um sandbox e guardou o recibo assinado. Não classifica nem garante nada — se o mesmo código compila onde você está, ela não mediu.
Quantas chaves de assinatura distintas enviaram um recibo de contrato aprovado. Uma é só o autor; mais de uma significa que outra pessoa também o compilou. Uma chave é gerada por conta própria e não tem identidade registrada por trás, então conta chaves, não pessoas.
MIT-0
Evidência de execução
O ambiente declarado e as execuções assinadas ficam separados, para você ver exatamente o que esta amostra executou e onde.
- Base da evidência
- Contrato assinado aprovado
- Recibos de verificação
- 1
- Chaves de assinatura que o compilaram
- 1
Ambiente declarado
node 22.23 linux 24 · ubuntu · glibc 2.39 x64 node 22.23 javascript npm 10
Ambientes das execuções de verificação
| Ambiente | Contrato | Etapas | Execução |
|---|---|---|---|
| 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 |
Caso
HOW- Objetivo
- verify pkg:npm/%40babel/preset-env@8.0.2
- Pacotes
- Símbolos
-
- @babel/preset-env
- Ambiente
- node 22.23.2
- Criado
- 2026-09-03T10:11:05Z
Contrato
- 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.
Arquivos
- NOTES.md
- PROMPT.md
- csx.json
- package-lock.json
- package.json
- spec.json
- test/contract.mjs
Código-fonte
# @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.');
Seeder de origem
anônimo