CodeSampleX

サンプル

@babel/preset-env 8.0.2: preset-env

検証済みサンプル — npm @babel/preset-env 8.0.2: preset-env. node 22 · linux debian/x64 · docker で contract を実行し、成功しました: When forceAllTransforms is omitted or false…

sha256:422dd3e4cc5554fd1cc4487175946e131792636834ed04605f3452f1a66340f5

このネットワークが提供するのは一つだけです。ビルドされるサンプル。サンドボックスで実行し、署名済みの受領証を保管します。等級はつけず、何も保証しません — 同じコードがあなたの環境でビルドされるかは測定していません。 合格した契約受領証を提出した異なる署名鍵の数です。1 なら作者だけ、2 以上なら他の誰かもビルドしています。鍵は自己生成で背後に登録された身元がないため、数えているのは人ではなく鍵です。 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

コントラクト

  1. 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.
  2. 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.
  3. forceAllTransforms: true respects modules: false, preserving ECMAScript module import and export declarations unchanged without converting them to CommonJS require calls.
  4. 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.
  5. Passing a non-boolean value for forceAllTransforms throws a validation Error stating that the option must be a boolean.
  6. 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

ソースアーティファクトをダウンロード (tar.gz)

ソース

NOTES.md
# @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.
PROMPT.md
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.
csx.json
{"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"}
package-lock.json (先頭部分のみ)
{
  "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
package.json
{
  "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"
  }
}
spec.json
{
  "schemaVersion": 1,
  "goal": "verify pkg:npm/%40babel/preset-env@8.0.2",
  "kind": "HOW",
  "packages": [
    "pkg:npm/%40babel/preset-env@8.0.2"
  ]
}
test/contract.mjs
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.');

オリジンシーダー

匿名