Пример
@babel/preset-env 8.0.2: preset-env
Проверенный пример — npm @babel/preset-env 8.0.2: preset-env. Контракт выполнен на node 22 · linux debian/x64 · docker и пройден.
sha256:422dd3e4cc5554fd1cc4487175946e131792636834ed04605f3452f1a66340f5
Эта сеть предлагает одно: образец, который собирается. Она запустила его в песочнице и сохранила подписанную квитанцию. Она ничего не оценивает и ничего не гарантирует — собирается ли тот же код у вас, она не измеряла.
Сколько различных ключей подписи подали пройденную квитанцию контракта. Один — только автор; больше одного — значит, кто-то ещё тоже собрал. Ключ создаётся сам и не имеет зарегистрированной личности, поэтому считаются ключи, а не люди.
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:04:06Z
Контракт
- When forceAllTransforms is omitted or false, @babel/preset-env preserves native modern syntax (arrow functions, template literals, optional chaining) for targets that natively support them.
- Configuring forceAllTransforms: true overrides modern compilation targets (such as Chrome 120) by resetting internal transform targets to empty, compelling @babel/preset-env to compile modern syntax down to standard function expressions, string concatenation, and nullish checks.
- forceAllTransforms: true respects modules: false, preserving ECMAScript module import and export declarations unchanged without converting them to CommonJS require calls.
- The exclude option takes precedence over forceAllTransforms: true, allowing specific transform plugins (such as transform-arrow-functions) to be preserved even when forceAllTransforms is enabled.
- Passing a non-boolean value for forceAllTransforms throws a validation Error stating that the option must be a boolean.
- Direct preset initialization with forceAllTransforms: true activates the complete suite of transform plugins (over 30 plugins), significantly expanding beyond the minimal plugin list produced for modern targets.
Файлы
- NOTES.md
- PROMPT.md
- csx.json
- package-lock.json
- package.json
- spec.json
- test/contract.mjs
Исходный код
# @babel/preset-env Target Overrides via forceAllTransforms
## 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.
None of the existing samples verify the `forceAllTransforms` option or how it interacts with modern compilation targets, module preservation, and feature exclusions.
## What a Model or Developer Would Have Written
Developers commonly assume that configuring modern compilation targets (such as `targets: { chrome: "120" }` or modern Node) unconditionally prevents Babel from transpiling ES2015+ syntax like arrow functions, template literals, and optional chaining unless each transformation plugin is individually listed in `include`. Conversely, developers often assume that enabling `forceAllTransforms: true` forces all transformations indiscriminately, converting ES module syntax (`import`/`export`) into CommonJS `require()` calls and ignoring the `exclude` configuration.
## Observed Behaviour and Failure Modes
1. **Target Override via `forceAllTransforms`**:
When `forceAllTransforms: true` is configured, `@babel/preset-env` overrides the target environment by resetting its internal transform targets to empty (`transformTargets = {}`). This forces the activation of all syntax transformation plugins (such as arrow functions, template literals, optional chaining, and destructuring) even when targeting environments that natively support those features (like Chrome 120).
2. **Preservation of Modern Syntax by Default**:
When `forceAllTransforms` is omitted or `false`, `@babel/preset-env` respects modern compilation targets, leaving arrow functions, template literals, and optional chaining syntax uncompiled in the generated output.
3. **Orthogonality to `modules` Option**:
`forceAllTransforms: true` forces syntax transformations without overriding module settings: configuring `modules: false` preserves ES module `import` and `export` statements intact without converting them to CommonJS `require()` calls or `exports` assignments.
4. **Precedence of `exclude` over `forceAllTransforms`**:
The `exclude` option takes precedence over `forceAllTransforms: true`. Explicitly configuring `exclude: ['transform-arrow-functions']` keeps arrow functions uncompiled while still forcing all other modern syntax transformations.
5. **Strict Option Type Validation**:
Passing non-boolean values such as `'true'` to `forceAllTransforms` throws a synchronous validation `Error` at preset initialization time stating `@babel/preset-env: 'forceAllTransforms' option must be a boolean.`.
6. **Programmatic Preset Expansion**:
Directly invoking the `@babel/preset-env` preset function with `forceAllTransforms: true` produces a `plugins` array containing the complete transform plugin suite (over 30 plugins), compared to the minimal plugin list produced for modern targets.
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
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":"Modern compilation targets like Chrome 120 prevent all syntax transformations, forceAllTransforms converts ES module syntax into CommonJS require calls, and exclude is ignored when forceAllTransforms is true.","caseId":"case:sha256:982a78c78fcfc1ea526213ec80f976d21d01b6e710f407471dd6331cdb8319b5","constraints":{"executionContext":"node"},"contract":["When forceAllTransforms is omitted or false, @babel/preset-env preserves native modern syntax (arrow functions, template literals, optional chaining) for targets that natively support them.","Configuring forceAllTransforms: true overrides modern compilation targets (such as Chrome 120) by resetting internal transform targets to empty, compelling @babel/preset-env to compile modern syntax down to standard function expressions, string concatenation, and nullish checks.","forceAllTransforms: true respects modules: false, preserving ECMAScript module import and export declarations unchanged without converting them to CommonJS require calls.","The exclude option takes precedence over forceAllTransforms: true, allowing specific transform plugins (such as transform-arrow-functions) to be preserved even when forceAllTransforms is enabled.","Passing a non-boolean value for forceAllTransforms throws a validation Error stating that the option must be a boolean.","Direct preset initialization with forceAllTransforms: true activates the complete suite of transform plugins (over 30 plugins), significantly expanding beyond the minimal plugin list produced for modern targets."],"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-force-all-transforms",
"version": "1.0.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "npm-babel-preset-env-force-all-transforms",
"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/-/jses
{
"name": "npm-babel-preset-env-force-all-transforms",
"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"
]
}
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 = `
import { helper } from './helper.js';
const add = (a, b) => a + b;
const greeting = \`Hello \${name}\`;
const prop = obj?.nested?.value;
export const result = add(1, 2);
`;
// 1. Default forceAllTransforms (false) with modern targets preserves modern syntax
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');
assert.match(modernTransformed.code, /obj\?\.nested\?\.value/, 'Optional chaining should be preserved for modern targets');
assert.match(modernTransformed.code, /import \{ helper \} from '\.\/helper\.js';/, 'ESM import should be preserved');
assert.match(modernTransformed.code, /export const result/, 'ESM export should be preserved');
// 2. forceAllTransforms: true forces modern syntax transforms even when targets support them
const forcedTransformed = babel.transformSync(sampleCode, {
presets: [[presetEnv, { targets: { chrome: '120' }, modules: false, forceAllTransforms: true }]],
configFile: false,
babelrc: false,
});
assert.ok(forcedTransformed && forcedTransformed.code);
assert.doesNotMatch(forcedTransformed.code, /\(a, b\) =>/, 'Arrow function must be transpiled when forceAllTransforms is true');
assert.match(forcedTransformed.code, /function(\s+\w+)?\s*\(/, 'Arrow function must compile to function expression');
assert.doesNotMatch(forcedTransformed.code, /`Hello \${name}`/, 'Template literal must be transpiled when forceAllTransforms is true');
assert.match(forcedTransformed.code, /"Hello "\.concat\(name\)|"Hello " \+ name/, 'Template literal must compile to string concatenation');
assert.doesNotMatch(forcedTransformed.code, /obj\?\.nested\?\.value/, 'Optional chaining must be transpiled when forceAllTransforms is true');
// 3. forceAllTransforms: true respects modules: false and does not convert ESM to CommonJS
assert.match(forcedTransformed.code, /import \{ helper \} from '\.\/helper\.js';/, 'ESM import must remain intact when modules: false');
assert.match(forcedTransformed.code, /export var result|export const result/, 'ESM export must remain intact when modules: false');
assert.doesNotMatch(forcedTransformed.code, /require\(/, 'No require calls should be injected when modules: false');
// 4. exclude option takes precedence over forceAllTransforms: true
const forcedWithExclude = babel.transformSync(sampleCode, {
presets: [[presetEnv, {
targets: { chrome: '120' },
modules: false,
forceAllTransforms: true,
exclude: ['transform-arrow-functions']
}]],
configFile: false,
babelrc: false,
});
assert.ok(forcedWithExclude && forcedWithExclude.code);
assert.match(forcedWithExclude.code, /\(a, b\) => a \+ b/, 'Arrow function must be preserved when excluded even if forceAllTransforms is true');
assert.doesNotMatch(forcedWithExclude.code, /`Hello \${name}`/, 'Non-excluded features like template literals must still be transpiled');
assert.doesNotMatch(forcedWithExclude.code, /obj\?\.nested\?\.value/, 'Non-excluded features like optional chaining must still be transpiled');
// 5. forceAllTransforms enforces boolean validation and rejects non-boolean types
assert.throws(
() => babel.transformSync('const x = 1;', {
presets: [[presetEnv, { forceAllTransforms: 'true' }]],
configFile: false,
babelrc: false,
}),
{
name: 'Error',
message: /@babel\/preset-env: 'forceAllTransforms' option must be a boolean\./,
},
'Passing string "true" to forceAllTransforms must throw validation Error'
);
// 6. Direct preset initialization verifies plugin list expansion under forceAllTransforms
const modernPreset = presetEnv(api, { targets: { chrome: '120' }, modules: false });
const forcedPreset = presetEnv(api, { targets: { chrome: '120' }, modules: false, forceAllTransforms: true });
assert.ok(forcedPreset.plugins.length > modernPreset.plugins.length, 'forceAllTransforms: true must activate significantly more plugins than modern targets');
assert.ok(forcedPreset.plugins.length >= 30, 'forceAllTransforms: true must activate full suite of transform plugins');
console.log('Contract assertions passed: @babel/preset-env forceAllTransforms behavior verified.');
Исходный сидер
аноним