diff --git a/.github/labeler.yml b/.github/labeler.yml index 4463dfb55..789e6e9d4 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -35,6 +35,9 @@ "theme:playwright": - "packages/allure-playwright/**" +"theme:testcafe": + - "packages/testcafe-reporter-allure/**" + "theme:vitest": - "packages/allure-vitest/**" diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 02e7e4e5e..af34746c9 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -92,6 +92,8 @@ jobs: env: ALLURE_MATRIX_ENV: ${{ matrix.os }}-node-${{ matrix.node-version }} ALLURE_DUMP_NAME: allure-results-${{ matrix.os }}-node${{ matrix.node-version }}-${{ matrix.suite.id }} + TESTCAFE_BROWSER: ${{ matrix.os == 'ubuntu-latest' && 'chromium:headless --guest --no-sandbox' || 'chromium:headless --guest' }} + PLAYWRIGHT_BROWSERS_PATH: ${{ runner.temp }}/pw-browsers strategy: fail-fast: false matrix: @@ -102,25 +104,25 @@ jobs: os: windows-latest suite: - id: cypress-1 - playwright_workspace: "" + requirePwChromium: false - id: cypress-2 - playwright_workspace: "" + requirePwChromium: false - id: cypress-3 - playwright_workspace: "" + requirePwChromium: false - id: cypress-4 - playwright_workspace: "" + requirePwChromium: false - id: playwright-1 - playwright_workspace: allure-playwright + requirePwChromium: true - id: playwright-2 - playwright_workspace: allure-playwright + requirePwChromium: true - id: vitest - playwright_workspace: allure-vitest + requirePwChromium: true - id: mocha-a - playwright_workspace: "" + requirePwChromium: false - id: mocha-b - playwright_workspace: "" + requirePwChromium: false - id: midweight - playwright_workspace: "" + requirePwChromium: true steps: - uses: actions/checkout@v6 @@ -144,12 +146,15 @@ jobs: run: | node ./scripts/ci/run-suite.mjs compile ${{ matrix.suite.id }} - - name: Install Playwright chromium - if: ${{ matrix.suite.playwright_workspace != '' }} + - name: Install Playwright Chromium + id: pw-chromium + if: ${{ matrix.suite.requirePwChromium }} run: | - yarn workspace ${{ matrix.suite.playwright_workspace }} playwright install chromium --with-deps + node ./scripts/ci/install-playwright-chromium.mjs ${{ matrix.os == 'ubuntu-latest' && '--with-deps' || '' }} - name: Run suite tests + env: + PW_CHROMIUM_PATH: ${{ steps.pw-chromium.outputs.path }} run: | yarn allure run --config ./allurerc.mjs --environment="${{ env.ALLURE_MATRIX_ENV }}" --dump="${{ env.ALLURE_DUMP_NAME }}" --rerun 2 -- node ./scripts/ci/run-suite.mjs test ${{ matrix.suite.id }} diff --git a/.pnp.cjs b/.pnp.cjs index 5f3b07be0..d2b1f5984 100644 --- a/.pnp.cjs +++ b/.pnp.cjs @@ -69,6 +69,10 @@ const RAW_RUNTIME_STATE = {\ "name": "newman-reporter-allure",\ "reference": "workspace:packages/newman-reporter-allure"\ + },\ + {\ + "name": "testcafe-reporter-allure",\ + "reference": "workspace:packages/testcafe-reporter-allure"\ }\ ],\ "enableTopLevelFallback": true,\ @@ -89,7 +93,8 @@ const RAW_RUNTIME_STATE = ["allure-mocha", ["virtual:4dfda025008308960858af02ce2de23e6fbf02744b9548c2fa0efde5067623eaf08fec37555d32d6a86a61adf128d2c2890eef9d442aef417f3e2d1f5492c52d#workspace:packages/allure-mocha", "workspace:packages/allure-mocha"]],\ ["allure-playwright", ["workspace:packages/allure-playwright"]],\ ["allure-vitest", ["virtual:2ecc1e95c1d00dc9958b1b002bacd33b93499eda964824ca098f5d458945e68ac78b36c75c288e72d1af771baf072dca7432317fe3381c51ab8c749004dda38d#workspace:packages/allure-vitest", "workspace:packages/allure-vitest"]],\ - ["newman-reporter-allure", ["workspace:packages/newman-reporter-allure"]]\ + ["newman-reporter-allure", ["workspace:packages/newman-reporter-allure"]],\ + ["testcafe-reporter-allure", ["workspace:packages/testcafe-reporter-allure"]]\ ],\ "fallbackPool": [\ ],\ @@ -110,6 +115,15 @@ const RAW_RUNTIME_STATE = "linkType": "SOFT"\ }]\ ]],\ + ["@adobe/css-tools", [\ + ["npm:4.4.4", {\ + "packageLocation": "./.yarn/cache/@adobe-css-tools-npm-4.4.4-a2900386bf-0abd471573.zip/node_modules/@adobe/css-tools/",\ + "packageDependencies": [\ + ["@adobe/css-tools", "npm:4.4.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["@allurereport/aql", [\ ["npm:3.8.2", {\ "packageLocation": "./.yarn/cache/@allurereport-aql-npm-3.8.2-fbfd860e36-8fa5c282a4.zip/node_modules/@allurereport/aql/",\ @@ -730,6 +744,13 @@ const RAW_RUNTIME_STATE = ["@babel/compat-data", "npm:7.28.0"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:7.29.3", {\ + "packageLocation": "./.yarn/cache/@babel-compat-data-npm-7.29.3-6a1cb34af5-3c29661756.zip/node_modules/@babel/compat-data/",\ + "packageDependencies": [\ + ["@babel/compat-data", "npm:7.29.3"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["@babel/core", [\ @@ -820,6 +841,28 @@ const RAW_RUNTIME_STATE = ["semver", "npm:6.3.1"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:7.29.0", {\ + "packageLocation": "./.yarn/cache/@babel-core-npm-7.29.0-a74bfc561b-25f4e91688.zip/node_modules/@babel/core/",\ + "packageDependencies": [\ + ["@babel/code-frame", "npm:7.29.0"],\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/generator", "npm:7.29.1"],\ + ["@babel/helper-compilation-targets", "npm:7.28.6"],\ + ["@babel/helper-module-transforms", "virtual:a74bfc561b28f961f46b2ec8ae406d012b5fbed31a317cc6e0c8e0e4bc61a668944b271114f1150bc3cadae9a39987a6be16fb9362801892abacc23919c76dd7#npm:7.28.6"],\ + ["@babel/helpers", "npm:7.29.2"],\ + ["@babel/parser", "npm:7.29.3"],\ + ["@babel/template", "npm:7.28.6"],\ + ["@babel/traverse", "npm:7.29.0"],\ + ["@babel/types", "npm:7.29.0"],\ + ["@jridgewell/remapping", "npm:2.3.5"],\ + ["convert-source-map", "npm:2.0.0"],\ + ["debug", "virtual:66b3390b4eccbfa0e7f88b649ba0bbc12a2944432838d6fddbf862e3ce97448fd27286b33697fdcd278339dcbac4ff595eb84b91eeb93160166752a0fcae7007#npm:4.3.4"],\ + ["gensync", "npm:1.0.0-beta.2"],\ + ["json5", "npm:2.2.3"],\ + ["semver", "npm:6.3.1"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["@babel/generator", [\ @@ -869,6 +912,18 @@ const RAW_RUNTIME_STATE = ["jsesc", "npm:3.1.0"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:7.29.1", {\ + "packageLocation": "./.yarn/cache/@babel-generator-npm-7.29.1-b1bf16fe79-61fe4ddd6e.zip/node_modules/@babel/generator/",\ + "packageDependencies": [\ + ["@babel/generator", "npm:7.29.1"],\ + ["@babel/parser", "npm:7.29.3"],\ + ["@babel/types", "npm:7.29.0"],\ + ["@jridgewell/gen-mapping", "npm:0.3.12"],\ + ["@jridgewell/trace-mapping", "npm:0.3.29"],\ + ["jsesc", "npm:3.1.0"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["@babel/helper-annotate-as-pure", [\ @@ -945,6 +1000,18 @@ const RAW_RUNTIME_STATE = ["semver", "npm:6.3.1"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:7.28.6", {\ + "packageLocation": "./.yarn/cache/@babel-helper-compilation-targets-npm-7.28.6-8880f389c9-f512a5aeee.zip/node_modules/@babel/helper-compilation-targets/",\ + "packageDependencies": [\ + ["@babel/compat-data", "npm:7.29.3"],\ + ["@babel/helper-compilation-targets", "npm:7.28.6"],\ + ["@babel/helper-validator-option", "npm:7.27.1"],\ + ["browserslist", "npm:4.24.3"],\ + ["lru-cache", "npm:5.1.1"],\ + ["semver", "npm:6.3.1"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["@babel/helper-create-class-features-plugin", [\ @@ -962,6 +1029,13 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["npm:7.29.3", {\ + "packageLocation": "./.yarn/cache/@babel-helper-create-class-features-plugin-npm-7.29.3-cbb13991d7-3f72aaa26d.zip/node_modules/@babel/helper-create-class-features-plugin/",\ + "packageDependencies": [\ + ["@babel/helper-create-class-features-plugin", "npm:7.29.3"]\ + ],\ + "linkType": "SOFT"\ + }],\ ["virtual:42dfa128509fa40c6ca7f5e6145065fce588f31cfd1ea123c5088773f7d11434025d526f0cd3a1773d369b522cd0f06fc50ce8fffabea53cc5bfa2093a9ef6fb#npm:7.25.9", {\ "packageLocation": "./.yarn/__virtual__/@babel-helper-create-class-features-plugin-virtual-2db72698d8/0/cache/@babel-helper-create-class-features-plugin-npm-7.25.9-1efda825e9-d1d47a7b5f.zip/node_modules/@babel/helper-create-class-features-plugin/",\ "packageDependencies": [\ @@ -1001,6 +1075,46 @@ const RAW_RUNTIME_STATE = "@types/babel__core"\ ],\ "linkType": "HARD"\ + }],\ + ["virtual:530d432d0ac4fb2689ee23fb6fa4435f7c7ef2a3a6c8beba4ae5dd7e6f748591b00a0d7de5a2dbd3658e0a71704906bf641fae46c49cab766e2c812f3684adf5#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-helper-create-class-features-plugin-virtual-abe6859c2c/0/cache/@babel-helper-create-class-features-plugin-npm-7.25.9-1efda825e9-d1d47a7b5f.zip/node_modules/@babel/helper-create-class-features-plugin/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-annotate-as-pure", "npm:7.25.9"],\ + ["@babel/helper-create-class-features-plugin", "virtual:530d432d0ac4fb2689ee23fb6fa4435f7c7ef2a3a6c8beba4ae5dd7e6f748591b00a0d7de5a2dbd3658e0a71704906bf641fae46c49cab766e2c812f3684adf5#npm:7.25.9"],\ + ["@babel/helper-member-expression-to-functions", "npm:7.25.9"],\ + ["@babel/helper-optimise-call-expression", "npm:7.25.9"],\ + ["@babel/helper-replace-supers", "virtual:abe6859c2cb373445c043f7ca8f06e15a94b244f086af38da2143ecee5be282e8cb1cac18fa931acfc2342dda0eecc7855cee1d7f742433a71b5c106118463d0#npm:7.25.9"],\ + ["@babel/helper-skip-transparent-expression-wrappers", "npm:7.25.9"],\ + ["@babel/traverse", "npm:7.26.4"],\ + ["@types/babel__core", null],\ + ["semver", "npm:6.3.1"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:fca36d4f78d4d369cde0554121f85544e2d73974021110eaf22c58cce085094171cd9969dfb7666a57d595eacad856f7b3c432f97f5d05a50543f41e3cab7a1c#npm:7.29.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-helper-create-class-features-plugin-virtual-436c8f97a7/0/cache/@babel-helper-create-class-features-plugin-npm-7.29.3-cbb13991d7-3f72aaa26d.zip/node_modules/@babel/helper-create-class-features-plugin/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-annotate-as-pure", "npm:7.27.3"],\ + ["@babel/helper-create-class-features-plugin", "virtual:fca36d4f78d4d369cde0554121f85544e2d73974021110eaf22c58cce085094171cd9969dfb7666a57d595eacad856f7b3c432f97f5d05a50543f41e3cab7a1c#npm:7.29.3"],\ + ["@babel/helper-member-expression-to-functions", "npm:7.28.5"],\ + ["@babel/helper-optimise-call-expression", "npm:7.27.1"],\ + ["@babel/helper-replace-supers", "virtual:436c8f97a71c4d54cc99930d6008592f106a3553c25c95970de2c420ea0c1c3f6ec9a061d0820ece9a2990ae85526f5d6b3d7419694f7b154fd1b35ee6141c9f#npm:7.28.6"],\ + ["@babel/helper-skip-transparent-expression-wrappers", "npm:7.27.1"],\ + ["@babel/traverse", "npm:7.29.0"],\ + ["@types/babel__core", null],\ + ["semver", "npm:6.3.1"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["@babel/helper-create-regexp-features-plugin", [\ @@ -1025,6 +1139,13 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["npm:7.28.5", {\ + "packageLocation": "./.yarn/cache/@babel-helper-create-regexp-features-plugin-npm-7.28.5-bf1c1b99dc-d8791350fe.zip/node_modules/@babel/helper-create-regexp-features-plugin/",\ + "packageDependencies": [\ + ["@babel/helper-create-regexp-features-plugin", "npm:7.28.5"]\ + ],\ + "linkType": "SOFT"\ + }],\ ["virtual:21e9443072d3a884b66482bc6913750e5d328a7747aa72cdf38d4807bca252024993499c48d487f57164bad96604d6795a9acf015d3e881a14d6c49cc9889700#npm:7.27.1", {\ "packageLocation": "./.yarn/__virtual__/@babel-helper-create-regexp-features-plugin-virtual-a9742d9aa0/0/cache/@babel-helper-create-regexp-features-plugin-npm-7.27.1-76d8a0ecb8-dea272628c.zip/node_modules/@babel/helper-create-regexp-features-plugin/",\ "packageDependencies": [\ @@ -1041,6 +1162,38 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "HARD"\ }],\ + ["virtual:22ab0226fec20cfb0010a951408af596d11449f13cd103950cf81e8de8d68ee90117bdd2f9e1618781d527a38ada2e8d0760d431d48c64454a522846a2d1f09e#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-helper-create-regexp-features-plugin-virtual-93cca4b0de/0/cache/@babel-helper-create-regexp-features-plugin-npm-7.24.6-3b27514578-74e717c71d.zip/node_modules/@babel/helper-create-regexp-features-plugin/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-annotate-as-pure", "npm:7.24.6"],\ + ["@babel/helper-create-regexp-features-plugin", "virtual:22ab0226fec20cfb0010a951408af596d11449f13cd103950cf81e8de8d68ee90117bdd2f9e1618781d527a38ada2e8d0760d431d48c64454a522846a2d1f09e#npm:7.24.6"],\ + ["@types/babel__core", null],\ + ["regexpu-core", "npm:5.3.2"],\ + ["semver", "npm:6.3.1"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:8f481b0e174b07cbbbb8643b9adff6c69f1e93b37fe73b87a9acc0c2156f755606a8f6e4f3292e49fd3d0b894cf9861f2cdcc82044d3a4232f6f5d516ffd0b4d#npm:7.27.1", {\ + "packageLocation": "./.yarn/__virtual__/@babel-helper-create-regexp-features-plugin-virtual-f3e078a275/0/cache/@babel-helper-create-regexp-features-plugin-npm-7.27.1-76d8a0ecb8-dea272628c.zip/node_modules/@babel/helper-create-regexp-features-plugin/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-annotate-as-pure", "npm:7.27.3"],\ + ["@babel/helper-create-regexp-features-plugin", "virtual:8f481b0e174b07cbbbb8643b9adff6c69f1e93b37fe73b87a9acc0c2156f755606a8f6e4f3292e49fd3d0b894cf9861f2cdcc82044d3a4232f6f5d516ffd0b4d#npm:7.27.1"],\ + ["@types/babel__core", null],\ + ["regexpu-core", "npm:6.2.0"],\ + ["semver", "npm:6.3.1"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:ca46a0178e3e6892926e70a0bf0d63147474089246f45976bf62ba762ba4f1f4bf47b572694e6e4b41fa4e133b6ecd6c3848550c36657f98c6c74332465f0e34#npm:7.26.3", {\ "packageLocation": "./.yarn/__virtual__/@babel-helper-create-regexp-features-plugin-virtual-9065001f4c/0/cache/@babel-helper-create-regexp-features-plugin-npm-7.26.3-834c0b262a-4c44122ea1.zip/node_modules/@babel/helper-create-regexp-features-plugin/",\ "packageDependencies": [\ @@ -1072,9 +1225,39 @@ const RAW_RUNTIME_STATE = "@types/babel__core"\ ],\ "linkType": "HARD"\ + }],\ + ["virtual:e3e6b1a70aadff47ed1f260b4095d249a4446765ad221eb056476f18d152e6cbc3e2fc7389026a6b20dd4c964a4996d7535a694ec3c65d9940d7bd86550e5b4f#npm:7.28.5", {\ + "packageLocation": "./.yarn/__virtual__/@babel-helper-create-regexp-features-plugin-virtual-60405c70cd/0/cache/@babel-helper-create-regexp-features-plugin-npm-7.28.5-bf1c1b99dc-d8791350fe.zip/node_modules/@babel/helper-create-regexp-features-plugin/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-annotate-as-pure", "npm:7.27.3"],\ + ["@babel/helper-create-regexp-features-plugin", "virtual:e3e6b1a70aadff47ed1f260b4095d249a4446765ad221eb056476f18d152e6cbc3e2fc7389026a6b20dd4c964a4996d7535a694ec3c65d9940d7bd86550e5b4f#npm:7.28.5"],\ + ["@types/babel__core", null],\ + ["regexpu-core", "npm:6.4.0"],\ + ["semver", "npm:6.3.1"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["@babel/helper-define-polyfill-provider", [\ + ["npm:0.4.4", {\ + "packageLocation": "./.yarn/cache/@babel-helper-define-polyfill-provider-npm-0.4.4-7dfaee32d2-16c312e40e.zip/node_modules/@babel/helper-define-polyfill-provider/",\ + "packageDependencies": [\ + ["@babel/helper-define-polyfill-provider", "npm:0.4.4"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["npm:0.5.0", {\ + "packageLocation": "./.yarn/cache/@babel-helper-define-polyfill-provider-npm-0.5.0-f9749c8844-f849e816ec.zip/node_modules/@babel/helper-define-polyfill-provider/",\ + "packageDependencies": [\ + ["@babel/helper-define-polyfill-provider", "npm:0.5.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ ["npm:0.6.2", {\ "packageLocation": "./.yarn/cache/@babel-helper-define-polyfill-provider-npm-0.6.2-554cbf22ae-bb32ec1202.zip/node_modules/@babel/helper-define-polyfill-provider/",\ "packageDependencies": [\ @@ -1089,6 +1272,13 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["npm:0.6.8", {\ + "packageLocation": "./.yarn/cache/@babel-helper-define-polyfill-provider-npm-0.6.8-65b6b31041-a6f9fbb825.zip/node_modules/@babel/helper-define-polyfill-provider/",\ + "packageDependencies": [\ + ["@babel/helper-define-polyfill-provider", "npm:0.6.8"]\ + ],\ + "linkType": "SOFT"\ + }],\ ["virtual:1093375579748743710c8b376dc32dafd817d492cd99bb651f8d67e2f7d6aeeb9d6f4955b43c94a981106163eb245edfd6fc9ec71bb560c3557ce5f35fb4f0e3#npm:0.6.5", {\ "packageLocation": "./.yarn/__virtual__/@babel-helper-define-polyfill-provider-virtual-03c98ac9df/0/cache/@babel-helper-define-polyfill-provider-npm-0.6.5-6bd5237c07-0bdd2d9654.zip/node_modules/@babel/helper-define-polyfill-provider/",\ "packageDependencies": [\ @@ -1107,6 +1297,42 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "HARD"\ }],\ + ["virtual:52932ed2e99ea77b7c0835dd86793defed3a8a47e205168da2148a25e25a8012db3a8b7b40f1fc51532c83ad7f6285bb2fe662bf6c0d97f942fa6b662ad73096#npm:0.6.8", {\ + "packageLocation": "./.yarn/__virtual__/@babel-helper-define-polyfill-provider-virtual-a95c6db9a8/0/cache/@babel-helper-define-polyfill-provider-npm-0.6.8-65b6b31041-a6f9fbb825.zip/node_modules/@babel/helper-define-polyfill-provider/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-compilation-targets", "npm:7.28.6"],\ + ["@babel/helper-define-polyfill-provider", "virtual:52932ed2e99ea77b7c0835dd86793defed3a8a47e205168da2148a25e25a8012db3a8b7b40f1fc51532c83ad7f6285bb2fe662bf6c0d97f942fa6b662ad73096#npm:0.6.8"],\ + ["@babel/helper-plugin-utils", "npm:7.28.6"],\ + ["@types/babel__core", null],\ + ["debug", "virtual:265c52132ad5b73ebd94b4b903706292e1501b37ba0a62013ce7ca5aeeeb68571bbaa7bfb716a89fc53637325edad10eeda72ab5ebe76c09f4c7d59f9c0c29ab#npm:4.4.3"],\ + ["lodash.debounce", "npm:4.0.8"],\ + ["resolve", "patch:resolve@npm%3A1.22.12#optional!builtin::version=1.22.12&hash=c3c19d"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:5c8d4211418a5210d7ed844d0d5a7c331030bd3c5df35f80e4259d52dde835381127b0f6584e0cf939c5e10bd7a1130ff81cc277c52b6e9d709b5e5d4b829e2a#npm:0.5.0", {\ + "packageLocation": "./.yarn/__virtual__/@babel-helper-define-polyfill-provider-virtual-72012f4141/0/cache/@babel-helper-define-polyfill-provider-npm-0.5.0-f9749c8844-f849e816ec.zip/node_modules/@babel/helper-define-polyfill-provider/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-compilation-targets", "npm:7.24.6"],\ + ["@babel/helper-define-polyfill-provider", "virtual:5c8d4211418a5210d7ed844d0d5a7c331030bd3c5df35f80e4259d52dde835381127b0f6584e0cf939c5e10bd7a1130ff81cc277c52b6e9d709b5e5d4b829e2a#npm:0.5.0"],\ + ["@babel/helper-plugin-utils", "npm:7.22.5"],\ + ["@types/babel__core", null],\ + ["debug", "virtual:66b3390b4eccbfa0e7f88b649ba0bbc12a2944432838d6fddbf862e3ce97448fd27286b33697fdcd278339dcbac4ff595eb84b91eeb93160166752a0fcae7007#npm:4.3.4"],\ + ["lodash.debounce", "npm:4.0.8"],\ + ["resolve", "patch:resolve@npm%3A1.22.8#optional!builtin::version=1.22.8&hash=c3c19d"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:65a4f85f0c615b980b5b14cca4cd414b3cd1c650b6c76d333ea09f7a2f9550ad11f9f880dabe9369167975288ca707d37945705b35ef0fd72e8dd83a7233e62b#npm:0.6.2", {\ "packageLocation": "./.yarn/__virtual__/@babel-helper-define-polyfill-provider-virtual-92aa4f73a2/0/cache/@babel-helper-define-polyfill-provider-npm-0.6.2-554cbf22ae-bb32ec1202.zip/node_modules/@babel/helper-define-polyfill-provider/",\ "packageDependencies": [\ @@ -1124,6 +1350,24 @@ const RAW_RUNTIME_STATE = "@types/babel__core"\ ],\ "linkType": "HARD"\ + }],\ + ["virtual:da7aa50ccb5638dc18828407d4d630a3cfefc4e29017f81d33e18e9a0f1fc8d759386caa6bb75255a3276490de88ef336900bd4f93c6fc900e1932d834a94ea1#npm:0.4.4", {\ + "packageLocation": "./.yarn/__virtual__/@babel-helper-define-polyfill-provider-virtual-6e264b1ef4/0/cache/@babel-helper-define-polyfill-provider-npm-0.4.4-7dfaee32d2-16c312e40e.zip/node_modules/@babel/helper-define-polyfill-provider/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-compilation-targets", "npm:7.24.6"],\ + ["@babel/helper-define-polyfill-provider", "virtual:da7aa50ccb5638dc18828407d4d630a3cfefc4e29017f81d33e18e9a0f1fc8d759386caa6bb75255a3276490de88ef336900bd4f93c6fc900e1932d834a94ea1#npm:0.4.4"],\ + ["@babel/helper-plugin-utils", "npm:7.22.5"],\ + ["@types/babel__core", null],\ + ["debug", "virtual:66b3390b4eccbfa0e7f88b649ba0bbc12a2944432838d6fddbf862e3ce97448fd27286b33697fdcd278339dcbac4ff595eb84b91eeb93160166752a0fcae7007#npm:4.3.4"],\ + ["lodash.debounce", "npm:4.0.8"],\ + ["resolve", "patch:resolve@npm%3A1.22.8#optional!builtin::version=1.22.8&hash=c3c19d"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["@babel/helper-environment-visitor", [\ @@ -1183,6 +1427,15 @@ const RAW_RUNTIME_STATE = ["@babel/types", "npm:7.27.6"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:7.28.5", {\ + "packageLocation": "./.yarn/cache/@babel-helper-member-expression-to-functions-npm-7.28.5-2fb0be8c55-05e0857cf7.zip/node_modules/@babel/helper-member-expression-to-functions/",\ + "packageDependencies": [\ + ["@babel/helper-member-expression-to-functions", "npm:7.28.5"],\ + ["@babel/traverse", "npm:7.29.0"],\ + ["@babel/types", "npm:7.29.0"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["@babel/helper-module-imports", [\ @@ -1211,6 +1464,15 @@ const RAW_RUNTIME_STATE = ["@babel/types", "npm:7.27.6"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:7.28.6", {\ + "packageLocation": "./.yarn/cache/@babel-helper-module-imports-npm-7.28.6-5b95b9145c-64b1380d74.zip/node_modules/@babel/helper-module-imports/",\ + "packageDependencies": [\ + ["@babel/helper-module-imports", "npm:7.28.6"],\ + ["@babel/traverse", "npm:7.29.0"],\ + ["@babel/types", "npm:7.29.0"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["@babel/helper-module-transforms", [\ @@ -1235,6 +1497,13 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["npm:7.28.6", {\ + "packageLocation": "./.yarn/cache/@babel-helper-module-transforms-npm-7.28.6-5923cf5a95-2e421c7db7.zip/node_modules/@babel/helper-module-transforms/",\ + "packageDependencies": [\ + ["@babel/helper-module-transforms", "npm:7.28.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ ["virtual:2c032490421458ee4e212ed9bd0627762ff65ed1232d4208f2d615b0d0187bb07fc168cbfc1670b2da389400360e723c4eeeceee24d006e509ab345b44149a9f#npm:7.27.3", {\ "packageLocation": "./.yarn/__virtual__/@babel-helper-module-transforms-virtual-fc3dc6ed85/0/cache/@babel-helper-module-transforms-npm-7.27.3-90dc30d3d9-47abc90ceb.zip/node_modules/@babel/helper-module-transforms/",\ "packageDependencies": [\ @@ -1285,6 +1554,22 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "HARD"\ }],\ + ["virtual:72901556064e4971386b93e072b4bca822a98467863d4fbe66646170a852ffb991e5665fdccab87ef05f1ad576d1c72a01e27a673395538debbbdbaace624b9d#npm:7.27.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-helper-module-transforms-virtual-00850d8778/0/cache/@babel-helper-module-transforms-npm-7.27.3-90dc30d3d9-47abc90ceb.zip/node_modules/@babel/helper-module-transforms/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-module-imports", "npm:7.27.1"],\ + ["@babel/helper-module-transforms", "virtual:72901556064e4971386b93e072b4bca822a98467863d4fbe66646170a852ffb991e5665fdccab87ef05f1ad576d1c72a01e27a673395538debbbdbaace624b9d#npm:7.27.3"],\ + ["@babel/helper-validator-identifier", "npm:7.27.1"],\ + ["@babel/traverse", "npm:7.27.4"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:755180d3d914609e81d8b86f17282f401d2e7f1d14c56add1e9cfa5eb67bbfce7d90ee6c3c8a5d9b7cdac0cbddac5751fa52da6ea1e028cad50cc18405c7aa00#npm:7.27.3", {\ "packageLocation": "./.yarn/__virtual__/@babel-helper-module-transforms-virtual-aa5abc5f11/0/cache/@babel-helper-module-transforms-npm-7.27.3-90dc30d3d9-47abc90ceb.zip/node_modules/@babel/helper-module-transforms/",\ "packageDependencies": [\ @@ -1316,6 +1601,22 @@ const RAW_RUNTIME_STATE = "@types/babel__core"\ ],\ "linkType": "HARD"\ + }],\ + ["virtual:a74bfc561b28f961f46b2ec8ae406d012b5fbed31a317cc6e0c8e0e4bc61a668944b271114f1150bc3cadae9a39987a6be16fb9362801892abacc23919c76dd7#npm:7.28.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-helper-module-transforms-virtual-3435e223f6/0/cache/@babel-helper-module-transforms-npm-7.28.6-5923cf5a95-2e421c7db7.zip/node_modules/@babel/helper-module-transforms/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-module-imports", "npm:7.28.6"],\ + ["@babel/helper-module-transforms", "virtual:a74bfc561b28f961f46b2ec8ae406d012b5fbed31a317cc6e0c8e0e4bc61a668944b271114f1150bc3cadae9a39987a6be16fb9362801892abacc23919c76dd7#npm:7.28.6"],\ + ["@babel/helper-validator-identifier", "npm:7.28.5"],\ + ["@babel/traverse", "npm:7.29.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["@babel/helper-optimise-call-expression", [\ @@ -1364,6 +1665,13 @@ const RAW_RUNTIME_STATE = ["@babel/helper-plugin-utils", "npm:7.27.1"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:7.28.6", {\ + "packageLocation": "./.yarn/cache/@babel-helper-plugin-utils-npm-7.28.6-766c984cfe-21c853bbc1.zip/node_modules/@babel/helper-plugin-utils/",\ + "packageDependencies": [\ + ["@babel/helper-plugin-utils", "npm:7.28.6"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["@babel/helper-remap-async-to-generator", [\ @@ -1397,6 +1705,22 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "HARD"\ }],\ + ["virtual:20d374f30c915175fc6c852b044b66f32c41adfea68fd88c3e1069a8bbdab2baeca9628b6802ee34bddbc8f003cfc126f562e6c92cc00b5359766a2e58fef3f5#npm:7.27.1", {\ + "packageLocation": "./.yarn/__virtual__/@babel-helper-remap-async-to-generator-virtual-3fc73eb5f9/0/cache/@babel-helper-remap-async-to-generator-npm-7.27.1-6e89d61aa6-0747397ba0.zip/node_modules/@babel/helper-remap-async-to-generator/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-annotate-as-pure", "npm:7.27.3"],\ + ["@babel/helper-remap-async-to-generator", "virtual:20d374f30c915175fc6c852b044b66f32c41adfea68fd88c3e1069a8bbdab2baeca9628b6802ee34bddbc8f003cfc126f562e6c92cc00b5359766a2e58fef3f5#npm:7.27.1"],\ + ["@babel/helper-wrap-function", "npm:7.27.1"],\ + ["@babel/traverse", "npm:7.27.4"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:7444b4496db04259e865ea78f5a63a9f9b85f0d0fbe7177cb1e1e244af37316cf795532b5cae8d27c1bf746dce6206556d78cc2b0e98617a5555dc8bcf5fa9eb#npm:7.25.9", {\ "packageLocation": "./.yarn/__virtual__/@babel-helper-remap-async-to-generator-virtual-b4df187199/0/cache/@babel-helper-remap-async-to-generator-npm-7.25.9-80702863ff-ea37ad9f8f.zip/node_modules/@babel/helper-remap-async-to-generator/",\ "packageDependencies": [\ @@ -1412,6 +1736,22 @@ const RAW_RUNTIME_STATE = "@types/babel__core"\ ],\ "linkType": "HARD"\ + }],\ + ["virtual:d4abd6326e887578402f31d0bb0f6d40f300c4e48a26300fbe3c80e920ed4429729cd0399b9775a19d3367ed5b8c564f6cd4c4a0f3a587a8e380b244a8dd3700#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-helper-remap-async-to-generator-virtual-df04d4a7bf/0/cache/@babel-helper-remap-async-to-generator-npm-7.25.9-80702863ff-ea37ad9f8f.zip/node_modules/@babel/helper-remap-async-to-generator/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-annotate-as-pure", "npm:7.25.9"],\ + ["@babel/helper-remap-async-to-generator", "virtual:d4abd6326e887578402f31d0bb0f6d40f300c4e48a26300fbe3c80e920ed4429729cd0399b9775a19d3367ed5b8c564f6cd4c4a0f3a587a8e380b244a8dd3700#npm:7.25.9"],\ + ["@babel/helper-wrap-function", "npm:7.25.9"],\ + ["@babel/traverse", "npm:7.26.4"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["@babel/helper-replace-supers", [\ @@ -1429,6 +1769,13 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["npm:7.28.6", {\ + "packageLocation": "./.yarn/cache/@babel-helper-replace-supers-npm-7.28.6-f11a32993b-ad2724713a.zip/node_modules/@babel/helper-replace-supers/",\ + "packageDependencies": [\ + ["@babel/helper-replace-supers", "npm:7.28.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ ["virtual:2db72698d8d0626954a99a41d68d3466fd8117060f902302863cdb23a0ab07f811a249203216619995ef9949e690f343eb3490b94da5903257ee4e069fd7d3ce#npm:7.25.9", {\ "packageLocation": "./.yarn/__virtual__/@babel-helper-replace-supers-virtual-d348f856e5/0/cache/@babel-helper-replace-supers-npm-7.25.9-664068b76b-8ebf787016.zip/node_modules/@babel/helper-replace-supers/",\ "packageDependencies": [\ @@ -1445,33 +1792,81 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "HARD"\ }],\ - ["virtual:f18329caa1bda1b03cb4fcac9e28bb4b9e414d1653d1fa5c849345a950de2e9a21dbcf5b738644e106e5eb679119212a8007003bd31ea9a32f28aec0e050f233#npm:7.27.1", {\ - "packageLocation": "./.yarn/__virtual__/@babel-helper-replace-supers-virtual-5c0eade077/0/cache/@babel-helper-replace-supers-npm-7.27.1-f784132f4b-72e3f8bef7.zip/node_modules/@babel/helper-replace-supers/",\ + ["virtual:3d45ce56cd05721a04dcdf36fdb13744b3d1f4f28c3738b6ad288d2aeab42d4e40664b6ddea660c0edee7a626a6188de540814d5cb2e50f2bc895e6af694ae16#npm:7.27.1", {\ + "packageLocation": "./.yarn/__virtual__/@babel-helper-replace-supers-virtual-bd3e76ab4d/0/cache/@babel-helper-replace-supers-npm-7.27.1-f784132f4b-72e3f8bef7.zip/node_modules/@babel/helper-replace-supers/",\ "packageDependencies": [\ - ["@babel/core", "npm:7.28.0"],\ + ["@babel/core", "npm:7.29.0"],\ ["@babel/helper-member-expression-to-functions", "npm:7.27.1"],\ ["@babel/helper-optimise-call-expression", "npm:7.27.1"],\ - ["@babel/helper-replace-supers", "virtual:f18329caa1bda1b03cb4fcac9e28bb4b9e414d1653d1fa5c849345a950de2e9a21dbcf5b738644e106e5eb679119212a8007003bd31ea9a32f28aec0e050f233#npm:7.27.1"],\ + ["@babel/helper-replace-supers", "virtual:3d45ce56cd05721a04dcdf36fdb13744b3d1f4f28c3738b6ad288d2aeab42d4e40664b6ddea660c0edee7a626a6188de540814d5cb2e50f2bc895e6af694ae16#npm:7.27.1"],\ ["@babel/traverse", "npm:7.27.4"],\ - ["@types/babel__core", "npm:7.20.5"]\ + ["@types/babel__core", null]\ ],\ "packagePeers": [\ "@babel/core",\ "@types/babel__core"\ ],\ "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/helper-simple-access", [\ - ["npm:7.22.5", {\ - "packageLocation": "./.yarn/cache/@babel-helper-simple-access-npm-7.22.5-0a3f578780-7d5430eecf.zip/node_modules/@babel/helper-simple-access/",\ + }],\ + ["virtual:436c8f97a71c4d54cc99930d6008592f106a3553c25c95970de2c420ea0c1c3f6ec9a061d0820ece9a2990ae85526f5d6b3d7419694f7b154fd1b35ee6141c9f#npm:7.28.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-helper-replace-supers-virtual-b21b87b37b/0/cache/@babel-helper-replace-supers-npm-7.28.6-f11a32993b-ad2724713a.zip/node_modules/@babel/helper-replace-supers/",\ "packageDependencies": [\ - ["@babel/helper-simple-access", "npm:7.22.5"],\ - ["@babel/types", "npm:7.23.9"]\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-member-expression-to-functions", "npm:7.28.5"],\ + ["@babel/helper-optimise-call-expression", "npm:7.27.1"],\ + ["@babel/helper-replace-supers", "virtual:436c8f97a71c4d54cc99930d6008592f106a3553c25c95970de2c420ea0c1c3f6ec9a061d0820ece9a2990ae85526f5d6b3d7419694f7b154fd1b35ee6141c9f#npm:7.28.6"],\ + ["@babel/traverse", "npm:7.29.0"],\ + ["@types/babel__core", null]\ ],\ - "linkType": "HARD"\ - }]\ - ]],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:abe6859c2cb373445c043f7ca8f06e15a94b244f086af38da2143ecee5be282e8cb1cac18fa931acfc2342dda0eecc7855cee1d7f742433a71b5c106118463d0#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-helper-replace-supers-virtual-8a90270bdf/0/cache/@babel-helper-replace-supers-npm-7.25.9-664068b76b-8ebf787016.zip/node_modules/@babel/helper-replace-supers/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-member-expression-to-functions", "npm:7.25.9"],\ + ["@babel/helper-optimise-call-expression", "npm:7.25.9"],\ + ["@babel/helper-replace-supers", "virtual:abe6859c2cb373445c043f7ca8f06e15a94b244f086af38da2143ecee5be282e8cb1cac18fa931acfc2342dda0eecc7855cee1d7f742433a71b5c106118463d0#npm:7.25.9"],\ + ["@babel/traverse", "npm:7.26.4"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:f18329caa1bda1b03cb4fcac9e28bb4b9e414d1653d1fa5c849345a950de2e9a21dbcf5b738644e106e5eb679119212a8007003bd31ea9a32f28aec0e050f233#npm:7.27.1", {\ + "packageLocation": "./.yarn/__virtual__/@babel-helper-replace-supers-virtual-5c0eade077/0/cache/@babel-helper-replace-supers-npm-7.27.1-f784132f4b-72e3f8bef7.zip/node_modules/@babel/helper-replace-supers/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.28.0"],\ + ["@babel/helper-member-expression-to-functions", "npm:7.27.1"],\ + ["@babel/helper-optimise-call-expression", "npm:7.27.1"],\ + ["@babel/helper-replace-supers", "virtual:f18329caa1bda1b03cb4fcac9e28bb4b9e414d1653d1fa5c849345a950de2e9a21dbcf5b738644e106e5eb679119212a8007003bd31ea9a32f28aec0e050f233#npm:7.27.1"],\ + ["@babel/traverse", "npm:7.27.4"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-simple-access", [\ + ["npm:7.22.5", {\ + "packageLocation": "./.yarn/cache/@babel-helper-simple-access-npm-7.22.5-0a3f578780-7d5430eecf.zip/node_modules/@babel/helper-simple-access/",\ + "packageDependencies": [\ + ["@babel/helper-simple-access", "npm:7.22.5"],\ + ["@babel/types", "npm:7.23.9"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["@babel/helper-skip-transparent-expression-wrappers", [\ ["npm:7.25.9", {\ "packageLocation": "./.yarn/cache/@babel-helper-skip-transparent-expression-wrappers-npm-7.25.9-215072fae0-fdbb524893.zip/node_modules/@babel/helper-skip-transparent-expression-wrappers/",\ @@ -1702,6 +2097,14 @@ const RAW_RUNTIME_STATE = ["@babel/types", "npm:7.29.0"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:7.29.3", {\ + "packageLocation": "./.yarn/cache/@babel-parser-npm-7.29.3-1f668babfe-10e8f34e0f.zip/node_modules/@babel/parser/",\ + "packageDependencies": [\ + ["@babel/parser", "npm:7.29.3"],\ + ["@babel/types", "npm:7.29.0"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["@babel/plugin-bugfix-firefox-class-in-computed-class-key", [\ @@ -1712,6 +2115,28 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["npm:7.28.5", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-bugfix-firefox-class-in-computed-class-key-npm-7.28.5-086662e626-750de98b34.zip/node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key/",\ + "packageDependencies": [\ + ["@babel/plugin-bugfix-firefox-class-in-computed-class-key", "npm:7.28.5"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.5", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-bugfix-firefox-class-in-computed-class-key-virtual-39d81de217/0/cache/@babel-plugin-bugfix-firefox-class-in-computed-class-key-npm-7.28.5-086662e626-750de98b34.zip/node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-plugin-utils", "npm:7.27.1"],\ + ["@babel/plugin-bugfix-firefox-class-in-computed-class-key", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.5"],\ + ["@babel/traverse", "npm:7.29.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:7.27.1", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-bugfix-firefox-class-in-computed-class-key-virtual-5fb5e6e311/0/cache/@babel-plugin-bugfix-firefox-class-in-computed-class-key-npm-7.27.1-f0c584df24-fe65257d5b.zip/node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key/",\ "packageDependencies": [\ @@ -1736,6 +2161,20 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-bugfix-safari-class-field-initializer-scope-virtual-e5143a922e/0/cache/@babel-plugin-bugfix-safari-class-field-initializer-scope-npm-7.27.1-168d311408-eb7f4146dc.zip/node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-plugin-utils", "npm:7.27.1"],\ + ["@babel/plugin-bugfix-safari-class-field-initializer-scope", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:7.27.1", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-bugfix-safari-class-field-initializer-scope-virtual-7e67fb5abd/0/cache/@babel-plugin-bugfix-safari-class-field-initializer-scope-npm-7.27.1-168d311408-eb7f4146dc.zip/node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope/",\ "packageDependencies": [\ @@ -1759,6 +2198,20 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-bugfix-safari-id-destructuring-collision-in-function-expression-virtual-2de56e2304/0/cache/@babel-plugin-bugfix-safari-id-destructuring-collision-in-function-expression-npm-7.27.1-8650001d00-621cfddfcc.zip/node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-plugin-utils", "npm:7.27.1"],\ + ["@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:7.27.1", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-bugfix-safari-id-destructuring-collision-in-function-expression-virtual-9de4f690ff/0/cache/@babel-plugin-bugfix-safari-id-destructuring-collision-in-function-expression-npm-7.27.1-8650001d00-621cfddfcc.zip/node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/",\ "packageDependencies": [\ @@ -1774,6 +2227,30 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["@babel/plugin-bugfix-safari-rest-destructuring-rhs-array", [\ + ["npm:7.29.3", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-bugfix-safari-rest-destructuring-rhs-array-npm-7.29.3-b596546234-fd13198afc.zip/node_modules/@babel/plugin-bugfix-safari-rest-destructuring-rhs-array/",\ + "packageDependencies": [\ + ["@babel/plugin-bugfix-safari-rest-destructuring-rhs-array", "npm:7.29.3"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.29.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-bugfix-safari-rest-destructuring-rhs-array-virtual-46f76effbf/0/cache/@babel-plugin-bugfix-safari-rest-destructuring-rhs-array-npm-7.29.3-b596546234-fd13198afc.zip/node_modules/@babel/plugin-bugfix-safari-rest-destructuring-rhs-array/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-plugin-utils", "npm:7.28.6"],\ + ["@babel/helper-skip-transparent-expression-wrappers", "npm:7.27.1"],\ + ["@babel/plugin-bugfix-safari-rest-destructuring-rhs-array", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.29.3"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining", [\ ["npm:7.27.1", {\ "packageLocation": "./.yarn/cache/@babel-plugin-bugfix-v8-spread-parameters-in-optional-chaining-npm-7.27.1-1740419cb6-f07aa80272.zip/node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/",\ @@ -1782,6 +2259,22 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-bugfix-v8-spread-parameters-in-optional-chaining-virtual-f5705dd4d1/0/cache/@babel-plugin-bugfix-v8-spread-parameters-in-optional-chaining-npm-7.27.1-1740419cb6-f07aa80272.zip/node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-plugin-utils", "npm:7.27.1"],\ + ["@babel/helper-skip-transparent-expression-wrappers", "npm:7.27.1"],\ + ["@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1"],\ + ["@babel/plugin-transform-optional-chaining", "virtual:f5705dd4d1b595260378bfc921d26febf3454c23aa2b33c0cac42a99ae0cbb257400c6e76320825dd59bf31f175235711a814f94007d938923cc6e3814ce0bcb#npm:7.27.1"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:7.27.1", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-bugfix-v8-spread-parameters-in-optional-chaining-virtual-1642d59446/0/cache/@babel-plugin-bugfix-v8-spread-parameters-in-optional-chaining-npm-7.27.1-1740419cb6-f07aa80272.zip/node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/",\ "packageDependencies": [\ @@ -1807,6 +2300,28 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["npm:7.28.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-bugfix-v8-static-class-fields-redefine-readonly-npm-7.28.6-3c82220942-9377897aa7.zip/node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/",\ + "packageDependencies": [\ + ["@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly", "npm:7.28.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-bugfix-v8-static-class-fields-redefine-readonly-virtual-21bedbc562/0/cache/@babel-plugin-bugfix-v8-static-class-fields-redefine-readonly-npm-7.28.6-3c82220942-9377897aa7.zip/node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-plugin-utils", "npm:7.28.6"],\ + ["@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6"],\ + ["@babel/traverse", "npm:7.29.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:7.27.1", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-bugfix-v8-static-class-fields-redefine-readonly-virtual-a3cd42f4cc/0/cache/@babel-plugin-bugfix-v8-static-class-fields-redefine-readonly-npm-7.27.1-424bedd466-dfa68da5f6.zip/node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/",\ "packageDependencies": [\ @@ -1847,6 +2362,31 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["@babel/plugin-proposal-decorators", [\ + ["npm:7.29.0", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-proposal-decorators-npm-7.29.0-53506059c7-fa7b9aa1a4.zip/node_modules/@babel/plugin-proposal-decorators/",\ + "packageDependencies": [\ + ["@babel/plugin-proposal-decorators", "npm:7.29.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:52d503c49267f89637716357bba7fc21b367bc46f4d11e84f08561d81627afd7f56afa8a51659c6bcf293c6b0881994b6298ebb176bfe3f5cf844839de36c0c8#npm:7.29.0", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-proposal-decorators-virtual-fca36d4f78/0/cache/@babel-plugin-proposal-decorators-npm-7.29.0-53506059c7-fa7b9aa1a4.zip/node_modules/@babel/plugin-proposal-decorators/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-create-class-features-plugin", "virtual:fca36d4f78d4d369cde0554121f85544e2d73974021110eaf22c58cce085094171cd9969dfb7666a57d595eacad856f7b3c432f97f5d05a50543f41e3cab7a1c#npm:7.29.3"],\ + ["@babel/helper-plugin-utils", "npm:7.28.6"],\ + ["@babel/plugin-proposal-decorators", "virtual:52d503c49267f89637716357bba7fc21b367bc46f4d11e84f08561d81627afd7f56afa8a51659c6bcf293c6b0881994b6298ebb176bfe3f5cf844839de36c0c8#npm:7.29.0"],\ + ["@babel/plugin-syntax-decorators", "virtual:fca36d4f78d4d369cde0554121f85544e2d73974021110eaf22c58cce085094171cd9969dfb7666a57d595eacad856f7b3c432f97f5d05a50543f41e3cab7a1c#npm:7.28.6"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["@babel/plugin-proposal-export-default-from", [\ ["npm:7.25.9", {\ "packageLocation": "./.yarn/cache/@babel-plugin-proposal-export-default-from-npm-7.25.9-87886272cf-0fb96b1229.zip/node_modules/@babel/plugin-proposal-export-default-from/",\ @@ -1927,6 +2467,19 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.21.0-placeholder-for-preset-env.2", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-proposal-private-property-in-object-virtual-d0833772be/0/cache/@babel-plugin-proposal-private-property-in-object-npm-7.21.0-placeholder-for-preset-env.2-eb70026c88-fab70f399a.zip/node_modules/@babel/plugin-proposal-private-property-in-object/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/plugin-proposal-private-property-in-object", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.21.0-placeholder-for-preset-env.2"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:7.21.0-placeholder-for-preset-env.2", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-proposal-private-property-in-object-virtual-c968bd832c/0/cache/@babel-plugin-proposal-private-property-in-object-npm-7.21.0-placeholder-for-preset-env.2-eb70026c88-fab70f399a.zip/node_modules/@babel/plugin-proposal-private-property-in-object/",\ "packageDependencies": [\ @@ -2131,6 +2684,29 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["@babel/plugin-syntax-decorators", [\ + ["npm:7.28.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-syntax-decorators-npm-7.28.6-6f7f1e1fb2-6c7544eaa5.zip/node_modules/@babel/plugin-syntax-decorators/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-decorators", "npm:7.28.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:fca36d4f78d4d369cde0554121f85544e2d73974021110eaf22c58cce085094171cd9969dfb7666a57d595eacad856f7b3c432f97f5d05a50543f41e3cab7a1c#npm:7.28.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-decorators-virtual-491215e6fd/0/cache/@babel-plugin-syntax-decorators-npm-7.28.6-6f7f1e1fb2-6c7544eaa5.zip/node_modules/@babel/plugin-syntax-decorators/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-plugin-utils", "npm:7.28.6"],\ + ["@babel/plugin-syntax-decorators", "virtual:fca36d4f78d4d369cde0554121f85544e2d73974021110eaf22c58cce085094171cd9969dfb7666a57d595eacad856f7b3c432f97f5d05a50543f41e3cab7a1c#npm:7.28.6"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["@babel/plugin-syntax-dynamic-import", [\ ["npm:7.8.3", {\ "packageLocation": "./.yarn/cache/@babel-plugin-syntax-dynamic-import-npm-7.8.3-fb9ff5634a-ce307af83c.zip/node_modules/@babel/plugin-syntax-dynamic-import/",\ @@ -2139,6 +2715,20 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["virtual:52d503c49267f89637716357bba7fc21b367bc46f4d11e84f08561d81627afd7f56afa8a51659c6bcf293c6b0881994b6298ebb176bfe3f5cf844839de36c0c8#npm:7.8.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-dynamic-import-virtual-19dea8dcb0/0/cache/@babel-plugin-syntax-dynamic-import-npm-7.8.3-fb9ff5634a-ce307af83c.zip/node_modules/@babel/plugin-syntax-dynamic-import/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-plugin-utils", "npm:7.22.5"],\ + ["@babel/plugin-syntax-dynamic-import", "virtual:52d503c49267f89637716357bba7fc21b367bc46f4d11e84f08561d81627afd7f56afa8a51659c6bcf293c6b0881994b6298ebb176bfe3f5cf844839de36c0c8#npm:7.8.3"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:a0f05d4176851cd983798e47db743d453b6b718826bc38dbaed3c3dfd102982b34018a0f9ff355e133cc62e94e97cf8d5a637788d8f7c3ed5a595cb0c7a05961#npm:7.8.3", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-dynamic-import-virtual-e6e1b68f81/0/cache/@babel-plugin-syntax-dynamic-import-npm-7.8.3-fb9ff5634a-ce307af83c.zip/node_modules/@babel/plugin-syntax-dynamic-import/",\ "packageDependencies": [\ @@ -2185,6 +2775,13 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["npm:7.28.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-syntax-flow-npm-7.28.6-710c92ad1d-3dfe5d8168.zip/node_modules/@babel/plugin-syntax-flow/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-flow", "npm:7.28.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ ["virtual:dbfa5d78ceba91dc4c6903e3f57858034d2ed0ae3caa8fb56389ef486ba370ede79dec0e6a1b07c93471d06023130473151dcf8b375baebc611a5b5af8d409f7#npm:7.26.0", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-flow-virtual-0b5cd14bb7/0/cache/@babel-plugin-syntax-flow-npm-7.26.0-98ef2f73ff-fdc0d0a7b5.zip/node_modules/@babel/plugin-syntax-flow/",\ "packageDependencies": [\ @@ -2199,6 +2796,20 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "HARD"\ }],\ + ["virtual:de8b626f7f73cfe044d89b5025dc5c009b7fb07c2e3f949bb8b126df35e611da94268e8baab4767450b0c1a017c0c3385076788ca9e47c10d6b1cf534ca09a26#npm:7.28.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-flow-virtual-128447f765/0/cache/@babel-plugin-syntax-flow-npm-7.28.6-710c92ad1d-3dfe5d8168.zip/node_modules/@babel/plugin-syntax-flow/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-plugin-utils", "npm:7.28.6"],\ + ["@babel/plugin-syntax-flow", "virtual:de8b626f7f73cfe044d89b5025dc5c009b7fb07c2e3f949bb8b126df35e611da94268e8baab4767450b0c1a017c0c3385076788ca9e47c10d6b1cf534ca09a26#npm:7.28.6"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:e2538d58dcca2a74ae96b0819c9204a9a8e9de366035d2ac082902ca984591ad797efb5b53540484404e3923511a31197e66c70478c7bc1670feeedfcf98e59e#npm:7.26.0", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-flow-virtual-eaf44536a2/0/cache/@babel-plugin-syntax-flow-npm-7.26.0-98ef2f73ff-fdc0d0a7b5.zip/node_modules/@babel/plugin-syntax-flow/",\ "packageDependencies": [\ @@ -2222,6 +2833,27 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["npm:7.28.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-syntax-import-assertions-npm-7.28.6-b159f02dc0-25017235e1.zip/node_modules/@babel/plugin-syntax-import-assertions/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-import-assertions", "npm:7.28.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-import-assertions-virtual-a1d1334388/0/cache/@babel-plugin-syntax-import-assertions-npm-7.28.6-b159f02dc0-25017235e1.zip/node_modules/@babel/plugin-syntax-import-assertions/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-plugin-utils", "npm:7.28.6"],\ + ["@babel/plugin-syntax-import-assertions", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:7.27.1", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-import-assertions-virtual-adc0ab81ea/0/cache/@babel-plugin-syntax-import-assertions-npm-7.27.1-2af23a0a52-fb661d6308.zip/node_modules/@babel/plugin-syntax-import-assertions/",\ "packageDependencies": [\ @@ -2245,6 +2877,13 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["npm:7.28.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-syntax-import-attributes-npm-7.28.6-05b2209c0a-6c8c6a5988.zip/node_modules/@babel/plugin-syntax-import-attributes/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-import-attributes", "npm:7.28.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ ["virtual:065b38120fadb98ebf040367bc513c0b0091189d9c70fd2248b7ae74aa9a7d47308b9a051a014913b7c3dd3501de937a01806c725bf334cff559f43e48d9df0e#npm:7.27.1", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-import-attributes-virtual-adf6c61ee8/0/cache/@babel-plugin-syntax-import-attributes-npm-7.27.1-e7e02d37a0-97973982ff.zip/node_modules/@babel/plugin-syntax-import-attributes/",\ "packageDependencies": [\ @@ -2259,6 +2898,20 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "HARD"\ }],\ + ["virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-import-attributes-virtual-81b760386f/0/cache/@babel-plugin-syntax-import-attributes-npm-7.28.6-05b2209c0a-6c8c6a5988.zip/node_modules/@babel/plugin-syntax-import-attributes/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-plugin-utils", "npm:7.28.6"],\ + ["@babel/plugin-syntax-import-attributes", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:37cb5d2db11d139fb4b0c936c736ae4be6211037252d429b160752c6f63ba6cf6eb8bb9659b2dd6bac96927154ea31aac1b0e74c36ff2531b51fe00e31902bd4#npm:7.27.1", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-import-attributes-virtual-282e0ac24f/0/cache/@babel-plugin-syntax-import-attributes-npm-7.27.1-e7e02d37a0-97973982ff.zip/node_modules/@babel/plugin-syntax-import-attributes/",\ "packageDependencies": [\ @@ -2324,6 +2977,20 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "HARD"\ }],\ + ["virtual:52d503c49267f89637716357bba7fc21b367bc46f4d11e84f08561d81627afd7f56afa8a51659c6bcf293c6b0881994b6298ebb176bfe3f5cf844839de36c0c8#npm:7.10.4", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-import-meta-virtual-ea8ce272c4/0/cache/@babel-plugin-syntax-import-meta-npm-7.10.4-4a0a0158bc-166ac1125d.zip/node_modules/@babel/plugin-syntax-import-meta/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-plugin-utils", "npm:7.22.5"],\ + ["@babel/plugin-syntax-import-meta", "virtual:52d503c49267f89637716357bba7fc21b367bc46f4d11e84f08561d81627afd7f56afa8a51659c6bcf293c6b0881994b6298ebb176bfe3f5cf844839de36c0c8#npm:7.10.4"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:a6adb3ee0948045e9b4483f7bf0c71738bb567a2660c7f78b96ed6e3c0d9167c6dc69f01edb13818fa1224c1aaaf786781f14da49f8662e8bfee71d493d1f0a1#npm:7.10.4", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-import-meta-virtual-45f07ac475/0/cache/@babel-plugin-syntax-import-meta-npm-7.10.4-4a0a0158bc-166ac1125d.zip/node_modules/@babel/plugin-syntax-import-meta/",\ "packageDependencies": [\ @@ -2405,6 +3072,27 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["npm:7.28.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-syntax-jsx-npm-7.28.6-ece0d63d10-572e38f5c1.zip/node_modules/@babel/plugin-syntax-jsx/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-jsx", "npm:7.28.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:22e573733cdd420986bdef8fc236a203eee4630979ea3a0e8048b4084102ccefcda6e0271fddfd7a1396ff3728ba9e1666b64bdecc52db7ee1d11fff3f667895#npm:7.28.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-jsx-virtual-db2eaa938c/0/cache/@babel-plugin-syntax-jsx-npm-7.28.6-ece0d63d10-572e38f5c1.zip/node_modules/@babel/plugin-syntax-jsx/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-plugin-utils", "npm:7.28.6"],\ + ["@babel/plugin-syntax-jsx", "virtual:22e573733cdd420986bdef8fc236a203eee4630979ea3a0e8048b4084102ccefcda6e0271fddfd7a1396ff3728ba9e1666b64bdecc52db7ee1d11fff3f667895#npm:7.28.6"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:2c02065142a8d8e6d075376fe0e1c719f2671f8f2c56e6617a49f657d3f5139094293cd2d60bf59a4378cb5ebb2c558a5cf8b9fd20fadddcffb9333eb9dd0816#npm:7.25.9", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-jsx-virtual-d4f16e9e43/0/cache/@babel-plugin-syntax-jsx-npm-7.25.9-3df022f433-bb609d1ffb.zip/node_modules/@babel/plugin-syntax-jsx/",\ "packageDependencies": [\ @@ -2936,6 +3624,21 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.18.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-unicode-sets-regex-virtual-22ab0226fe/0/cache/@babel-plugin-syntax-unicode-sets-regex-npm-7.18.6-b618a36bfd-a651d700fe.zip/node_modules/@babel/plugin-syntax-unicode-sets-regex/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-create-regexp-features-plugin", "virtual:22ab0226fec20cfb0010a951408af596d11449f13cd103950cf81e8de8d68ee90117bdd2f9e1618781d527a38ada2e8d0760d431d48c64454a522846a2d1f09e#npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.24.6"],\ + ["@babel/plugin-syntax-unicode-sets-regex", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.18.6"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:7.18.6", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-unicode-sets-regex-virtual-d64b5cfe03/0/cache/@babel-plugin-syntax-unicode-sets-regex-npm-7.18.6-b618a36bfd-a651d700fe.zip/node_modules/@babel/plugin-syntax-unicode-sets-regex/",\ "packageDependencies": [\ @@ -2967,13 +3670,27 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ - ["virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:7.27.1", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-arrow-functions-virtual-bc1aa4cefb/0/cache/@babel-plugin-transform-arrow-functions-npm-7.27.1-fa40ddd46f-62c2cc0ae2.zip/node_modules/@babel/plugin-transform-arrow-functions/",\ + ["virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-arrow-functions-virtual-38035789d9/0/cache/@babel-plugin-transform-arrow-functions-npm-7.27.1-fa40ddd46f-62c2cc0ae2.zip/node_modules/@babel/plugin-transform-arrow-functions/",\ "packageDependencies": [\ - ["@babel/core", "npm:7.28.0"],\ + ["@babel/core", "npm:7.29.0"],\ ["@babel/helper-plugin-utils", "npm:7.27.1"],\ - ["@babel/plugin-transform-arrow-functions", "virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:7.27.1"],\ - ["@types/babel__core", "npm:7.20.5"]\ + ["@babel/plugin-transform-arrow-functions", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:7.27.1", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-arrow-functions-virtual-bc1aa4cefb/0/cache/@babel-plugin-transform-arrow-functions-npm-7.27.1-fa40ddd46f-62c2cc0ae2.zip/node_modules/@babel/plugin-transform-arrow-functions/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.28.0"],\ + ["@babel/helper-plugin-utils", "npm:7.27.1"],\ + ["@babel/plugin-transform-arrow-functions", "virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:7.27.1"],\ + ["@types/babel__core", "npm:7.20.5"]\ ],\ "packagePeers": [\ "@babel/core",\ @@ -3011,6 +3728,45 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["npm:7.29.0", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-async-generator-functions-npm-7.29.0-20cf975e94-e2c064a5eb.zip/node_modules/@babel/plugin-transform-async-generator-functions/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-async-generator-functions", "npm:7.29.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.29.0", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-async-generator-functions-virtual-8bd572db8f/0/cache/@babel-plugin-transform-async-generator-functions-npm-7.29.0-20cf975e94-e2c064a5eb.zip/node_modules/@babel/plugin-transform-async-generator-functions/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-plugin-utils", "npm:7.28.6"],\ + ["@babel/helper-remap-async-to-generator", "virtual:20d374f30c915175fc6c852b044b66f32c41adfea68fd88c3e1069a8bbdab2baeca9628b6802ee34bddbc8f003cfc126f562e6c92cc00b5359766a2e58fef3f5#npm:7.27.1"],\ + ["@babel/plugin-transform-async-generator-functions", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.29.0"],\ + ["@babel/traverse", "npm:7.29.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:52d503c49267f89637716357bba7fc21b367bc46f4d11e84f08561d81627afd7f56afa8a51659c6bcf293c6b0881994b6298ebb176bfe3f5cf844839de36c0c8#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-async-generator-functions-virtual-d4abd6326e/0/cache/@babel-plugin-transform-async-generator-functions-npm-7.25.9-1ff81d4ef7-99306c44a4.zip/node_modules/@babel/plugin-transform-async-generator-functions/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-plugin-utils", "npm:7.25.9"],\ + ["@babel/helper-remap-async-to-generator", "virtual:d4abd6326e887578402f31d0bb0f6d40f300c4e48a26300fbe3c80e920ed4429729cd0399b9775a19d3367ed5b8c564f6cd4c4a0f3a587a8e380b244a8dd3700#npm:7.25.9"],\ + ["@babel/plugin-transform-async-generator-functions", "virtual:52d503c49267f89637716357bba7fc21b367bc46f4d11e84f08561d81627afd7f56afa8a51659c6bcf293c6b0881994b6298ebb176bfe3f5cf844839de36c0c8#npm:7.25.9"],\ + ["@babel/traverse", "npm:7.26.4"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:7.28.0", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-async-generator-functions-virtual-05e93eba18/0/cache/@babel-plugin-transform-async-generator-functions-npm-7.28.0-4436f2d50f-8ad31b9969.zip/node_modules/@babel/plugin-transform-async-generator-functions/",\ "packageDependencies": [\ @@ -3059,6 +3815,29 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["npm:7.28.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-async-to-generator-npm-7.28.6-52e8bb7562-bca5774263.zip/node_modules/@babel/plugin-transform-async-to-generator/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-async-to-generator", "npm:7.28.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:52d503c49267f89637716357bba7fc21b367bc46f4d11e84f08561d81627afd7f56afa8a51659c6bcf293c6b0881994b6298ebb176bfe3f5cf844839de36c0c8#npm:7.28.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-async-to-generator-virtual-20d374f30c/0/cache/@babel-plugin-transform-async-to-generator-npm-7.28.6-52e8bb7562-bca5774263.zip/node_modules/@babel/plugin-transform-async-to-generator/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-module-imports", "npm:7.28.6"],\ + ["@babel/helper-plugin-utils", "npm:7.28.6"],\ + ["@babel/helper-remap-async-to-generator", "virtual:20d374f30c915175fc6c852b044b66f32c41adfea68fd88c3e1069a8bbdab2baeca9628b6802ee34bddbc8f003cfc126f562e6c92cc00b5359766a2e58fef3f5#npm:7.27.1"],\ + ["@babel/plugin-transform-async-to-generator", "virtual:52d503c49267f89637716357bba7fc21b367bc46f4d11e84f08561d81627afd7f56afa8a51659c6bcf293c6b0881994b6298ebb176bfe3f5cf844839de36c0c8#npm:7.28.6"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:7.27.1", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-async-to-generator-virtual-8cc9feae95/0/cache/@babel-plugin-transform-async-to-generator-npm-7.27.1-033d1809c3-d79d7a7ae7.zip/node_modules/@babel/plugin-transform-async-to-generator/",\ "packageDependencies": [\ @@ -3100,6 +3879,20 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-block-scoped-functions-virtual-3442f25e59/0/cache/@babel-plugin-transform-block-scoped-functions-npm-7.27.1-c6d66f6e50-7fb4988ca8.zip/node_modules/@babel/plugin-transform-block-scoped-functions/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-plugin-utils", "npm:7.27.1"],\ + ["@babel/plugin-transform-block-scoped-functions", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:7.27.1", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-block-scoped-functions-virtual-d1952856bb/0/cache/@babel-plugin-transform-block-scoped-functions-npm-7.27.1-c6d66f6e50-7fb4988ca8.zip/node_modules/@babel/plugin-transform-block-scoped-functions/",\ "packageDependencies": [\ @@ -3130,6 +3923,27 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["npm:7.28.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-block-scoping-npm-7.28.6-c38d97babf-7ab8a08560.zip/node_modules/@babel/plugin-transform-block-scoping/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-block-scoping", "npm:7.28.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-block-scoping-virtual-61eaacf96b/0/cache/@babel-plugin-transform-block-scoping-npm-7.28.6-c38d97babf-7ab8a08560.zip/node_modules/@babel/plugin-transform-block-scoping/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-plugin-utils", "npm:7.28.6"],\ + ["@babel/plugin-transform-block-scoping", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:7.28.0", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-block-scoping-virtual-4a10872fa8/0/cache/@babel-plugin-transform-block-scoping-npm-7.28.0-a08eef2c22-eefa0d0b3c.zip/node_modules/@babel/plugin-transform-block-scoping/",\ "packageDependencies": [\ @@ -3174,6 +3988,43 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["npm:7.28.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-class-properties-npm-7.28.6-87e84c4458-200f30d44b.zip/node_modules/@babel/plugin-transform-class-properties/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-class-properties", "npm:7.28.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-class-properties-virtual-634c16b077/0/cache/@babel-plugin-transform-class-properties-npm-7.28.6-87e84c4458-200f30d44b.zip/node_modules/@babel/plugin-transform-class-properties/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-create-class-features-plugin", "virtual:fca36d4f78d4d369cde0554121f85544e2d73974021110eaf22c58cce085094171cd9969dfb7666a57d595eacad856f7b3c432f97f5d05a50543f41e3cab7a1c#npm:7.29.3"],\ + ["@babel/helper-plugin-utils", "npm:7.28.6"],\ + ["@babel/plugin-transform-class-properties", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:52d503c49267f89637716357bba7fc21b367bc46f4d11e84f08561d81627afd7f56afa8a51659c6bcf293c6b0881994b6298ebb176bfe3f5cf844839de36c0c8#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-class-properties-virtual-530d432d0a/0/cache/@babel-plugin-transform-class-properties-npm-7.25.9-ec8d0fa5bb-a8d69e2c28.zip/node_modules/@babel/plugin-transform-class-properties/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-create-class-features-plugin", "virtual:530d432d0ac4fb2689ee23fb6fa4435f7c7ef2a3a6c8beba4ae5dd7e6f748591b00a0d7de5a2dbd3658e0a71704906bf641fae46c49cab766e2c812f3684adf5#npm:7.25.9"],\ + ["@babel/helper-plugin-utils", "npm:7.25.9"],\ + ["@babel/plugin-transform-class-properties", "virtual:52d503c49267f89637716357bba7fc21b367bc46f4d11e84f08561d81627afd7f56afa8a51659c6bcf293c6b0881994b6298ebb176bfe3f5cf844839de36c0c8#npm:7.25.9"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:7.27.1", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-class-properties-virtual-4c9b04c474/0/cache/@babel-plugin-transform-class-properties-npm-7.27.1-f08223baf6-475a6e5a94.zip/node_modules/@babel/plugin-transform-class-properties/",\ "packageDependencies": [\ @@ -3213,6 +4064,28 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["npm:7.28.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-class-static-block-npm-7.28.6-69c8a3886f-bea7836846.zip/node_modules/@babel/plugin-transform-class-static-block/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-class-static-block", "npm:7.28.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:52d503c49267f89637716357bba7fc21b367bc46f4d11e84f08561d81627afd7f56afa8a51659c6bcf293c6b0881994b6298ebb176bfe3f5cf844839de36c0c8#npm:7.28.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-class-static-block-virtual-a9eb3089d5/0/cache/@babel-plugin-transform-class-static-block-npm-7.28.6-69c8a3886f-bea7836846.zip/node_modules/@babel/plugin-transform-class-static-block/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-create-class-features-plugin", "virtual:fca36d4f78d4d369cde0554121f85544e2d73974021110eaf22c58cce085094171cd9969dfb7666a57d595eacad856f7b3c432f97f5d05a50543f41e3cab7a1c#npm:7.29.3"],\ + ["@babel/helper-plugin-utils", "npm:7.28.6"],\ + ["@babel/plugin-transform-class-static-block", "virtual:52d503c49267f89637716357bba7fc21b367bc46f4d11e84f08561d81627afd7f56afa8a51659c6bcf293c6b0881994b6298ebb176bfe3f5cf844839de36c0c8#npm:7.28.6"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:7.27.1", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-class-static-block-virtual-83035196fe/0/cache/@babel-plugin-transform-class-static-block-npm-7.27.1-a1a8a0d79f-2d49de0f5f.zip/node_modules/@babel/plugin-transform-class-static-block/",\ "packageDependencies": [\ @@ -3244,6 +4117,32 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["npm:7.28.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-classes-npm-7.28.6-99600ed6ed-9c3278a314.zip/node_modules/@babel/plugin-transform-classes/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-classes", "npm:7.28.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-classes-virtual-83967aa61a/0/cache/@babel-plugin-transform-classes-npm-7.28.6-99600ed6ed-9c3278a314.zip/node_modules/@babel/plugin-transform-classes/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-annotate-as-pure", "npm:7.27.3"],\ + ["@babel/helper-compilation-targets", "npm:7.28.6"],\ + ["@babel/helper-globals", "npm:7.28.0"],\ + ["@babel/helper-plugin-utils", "npm:7.28.6"],\ + ["@babel/helper-replace-supers", "virtual:436c8f97a71c4d54cc99930d6008592f106a3553c25c95970de2c420ea0c1c3f6ec9a061d0820ece9a2990ae85526f5d6b3d7419694f7b154fd1b35ee6141c9f#npm:7.28.6"],\ + ["@babel/plugin-transform-classes", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6"],\ + ["@babel/traverse", "npm:7.29.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:7.28.0", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-classes-virtual-42bd1caf20/0/cache/@babel-plugin-transform-classes-npm-7.28.0-3815bda6ff-1a812a02f6.zip/node_modules/@babel/plugin-transform-classes/",\ "packageDependencies": [\ @@ -3298,6 +4197,28 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["npm:7.28.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-computed-properties-npm-7.28.6-f40893c73e-4a5e270f7e.zip/node_modules/@babel/plugin-transform-computed-properties/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-computed-properties", "npm:7.28.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-computed-properties-virtual-60dc8ec06f/0/cache/@babel-plugin-transform-computed-properties-npm-7.28.6-f40893c73e-4a5e270f7e.zip/node_modules/@babel/plugin-transform-computed-properties/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-plugin-utils", "npm:7.28.6"],\ + ["@babel/plugin-transform-computed-properties", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6"],\ + ["@babel/template", "npm:7.28.6"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:7.27.1", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-computed-properties-virtual-a231cd1962/0/cache/@babel-plugin-transform-computed-properties-npm-7.27.1-ff3d364d1c-101f6d4575.zip/node_modules/@babel/plugin-transform-computed-properties/",\ "packageDependencies": [\ @@ -3344,6 +4265,28 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["npm:7.28.5", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-destructuring-npm-7.28.5-5a0083928d-9cc67d3377.zip/node_modules/@babel/plugin-transform-destructuring/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-destructuring", "npm:7.28.5"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.5", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-destructuring-virtual-f54b7a1e6b/0/cache/@babel-plugin-transform-destructuring-npm-7.28.5-5a0083928d-9cc67d3377.zip/node_modules/@babel/plugin-transform-destructuring/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-plugin-utils", "npm:7.27.1"],\ + ["@babel/plugin-transform-destructuring", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.5"],\ + ["@babel/traverse", "npm:7.29.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:7.28.0", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-destructuring-virtual-9b9c67c5f2/0/cache/@babel-plugin-transform-destructuring-npm-7.28.0-f13a1b7c68-cddab2520f.zip/node_modules/@babel/plugin-transform-destructuring/",\ "packageDependencies": [\ @@ -3382,6 +4325,28 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["npm:7.28.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-dotall-regex-npm-7.28.6-12e6a9b67b-866ffbbdee.zip/node_modules/@babel/plugin-transform-dotall-regex/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-dotall-regex", "npm:7.28.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-dotall-regex-virtual-e3e6b1a70a/0/cache/@babel-plugin-transform-dotall-regex-npm-7.28.6-12e6a9b67b-866ffbbdee.zip/node_modules/@babel/plugin-transform-dotall-regex/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-create-regexp-features-plugin", "virtual:e3e6b1a70aadff47ed1f260b4095d249a4446765ad221eb056476f18d152e6cbc3e2fc7389026a6b20dd4c964a4996d7535a694ec3c65d9940d7bd86550e5b4f#npm:7.28.5"],\ + ["@babel/helper-plugin-utils", "npm:7.28.6"],\ + ["@babel/plugin-transform-dotall-regex", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:7.27.1", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-dotall-regex-virtual-21e9443072/0/cache/@babel-plugin-transform-dotall-regex-npm-7.27.1-cda1a36d12-2173e5b13f.zip/node_modules/@babel/plugin-transform-dotall-regex/",\ "packageDependencies": [\ @@ -3406,6 +4371,20 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-duplicate-keys-virtual-408fe5763a/0/cache/@babel-plugin-transform-duplicate-keys-npm-7.27.1-0b21c3b329-987b718d2f.zip/node_modules/@babel/plugin-transform-duplicate-keys/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-plugin-utils", "npm:7.27.1"],\ + ["@babel/plugin-transform-duplicate-keys", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:7.27.1", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-duplicate-keys-virtual-4e8e4ae6d3/0/cache/@babel-plugin-transform-duplicate-keys-npm-7.27.1-0b21c3b329-987b718d2f.zip/node_modules/@babel/plugin-transform-duplicate-keys/",\ "packageDependencies": [\ @@ -3429,6 +4408,28 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["npm:7.29.0", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-duplicate-named-capturing-groups-regex-npm-7.29.0-ac722e23a4-7fa7b77325.zip/node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-duplicate-named-capturing-groups-regex", "npm:7.29.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.29.0", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-duplicate-named-capturing-groups-regex-virtual-c1279cacd5/0/cache/@babel-plugin-transform-duplicate-named-capturing-groups-regex-npm-7.29.0-ac722e23a4-7fa7b77325.zip/node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-create-regexp-features-plugin", "virtual:e3e6b1a70aadff47ed1f260b4095d249a4446765ad221eb056476f18d152e6cbc3e2fc7389026a6b20dd4c964a4996d7535a694ec3c65d9940d7bd86550e5b4f#npm:7.28.5"],\ + ["@babel/helper-plugin-utils", "npm:7.28.6"],\ + ["@babel/plugin-transform-duplicate-named-capturing-groups-regex", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.29.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:7.27.1", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-duplicate-named-capturing-groups-regex-virtual-113c9b3330/0/cache/@babel-plugin-transform-duplicate-named-capturing-groups-regex-npm-7.27.1-17e5efed8f-2a10961353.zip/node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex/",\ "packageDependencies": [\ @@ -3453,6 +4454,20 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-dynamic-import-virtual-b9339afa60/0/cache/@babel-plugin-transform-dynamic-import-npm-7.27.1-ae3564e9cd-7a9fbc8d17.zip/node_modules/@babel/plugin-transform-dynamic-import/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-plugin-utils", "npm:7.27.1"],\ + ["@babel/plugin-transform-dynamic-import", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:7.27.1", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-dynamic-import-virtual-92b24be029/0/cache/@babel-plugin-transform-dynamic-import-npm-7.27.1-ae3564e9cd-7a9fbc8d17.zip/node_modules/@babel/plugin-transform-dynamic-import/",\ "packageDependencies": [\ @@ -3476,6 +4491,28 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["npm:7.28.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-explicit-resource-management-npm-7.28.6-832d08c78b-36d638a253.zip/node_modules/@babel/plugin-transform-explicit-resource-management/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-explicit-resource-management", "npm:7.28.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-explicit-resource-management-virtual-9c5c5273ee/0/cache/@babel-plugin-transform-explicit-resource-management-npm-7.28.6-832d08c78b-36d638a253.zip/node_modules/@babel/plugin-transform-explicit-resource-management/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-plugin-utils", "npm:7.28.6"],\ + ["@babel/plugin-transform-destructuring", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.5"],\ + ["@babel/plugin-transform-explicit-resource-management", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:7.28.0", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-explicit-resource-management-virtual-0c624ba58b/0/cache/@babel-plugin-transform-explicit-resource-management-npm-7.28.0-8a17cc633d-93d7835160.zip/node_modules/@babel/plugin-transform-explicit-resource-management/",\ "packageDependencies": [\ @@ -3500,6 +4537,27 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["npm:7.28.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-exponentiation-operator-npm-7.28.6-9c4ecd76db-b232152499.zip/node_modules/@babel/plugin-transform-exponentiation-operator/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-exponentiation-operator", "npm:7.28.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:52d503c49267f89637716357bba7fc21b367bc46f4d11e84f08561d81627afd7f56afa8a51659c6bcf293c6b0881994b6298ebb176bfe3f5cf844839de36c0c8#npm:7.28.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-exponentiation-operator-virtual-19b7374250/0/cache/@babel-plugin-transform-exponentiation-operator-npm-7.28.6-9c4ecd76db-b232152499.zip/node_modules/@babel/plugin-transform-exponentiation-operator/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-plugin-utils", "npm:7.28.6"],\ + ["@babel/plugin-transform-exponentiation-operator", "virtual:52d503c49267f89637716357bba7fc21b367bc46f4d11e84f08561d81627afd7f56afa8a51659c6bcf293c6b0881994b6298ebb176bfe3f5cf844839de36c0c8#npm:7.28.6"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:7.27.1", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-exponentiation-operator-virtual-611cbf6e0e/0/cache/@babel-plugin-transform-exponentiation-operator-npm-7.27.1-ce51b745ac-dbbedd2472.zip/node_modules/@babel/plugin-transform-exponentiation-operator/",\ "packageDependencies": [\ @@ -3523,6 +4581,20 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-export-namespace-from-virtual-9f05374d70/0/cache/@babel-plugin-transform-export-namespace-from-npm-7.27.1-584dda771c-85082923ec.zip/node_modules/@babel/plugin-transform-export-namespace-from/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-plugin-utils", "npm:7.27.1"],\ + ["@babel/plugin-transform-export-namespace-from", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:7.27.1", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-export-namespace-from-virtual-05f12f0dad/0/cache/@babel-plugin-transform-export-namespace-from-npm-7.27.1-584dda771c-85082923ec.zip/node_modules/@babel/plugin-transform-export-namespace-from/",\ "packageDependencies": [\ @@ -3546,6 +4618,28 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["npm:7.27.1", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-flow-strip-types-npm-7.27.1-9daffb69e5-22e260866b.zip/node_modules/@babel/plugin-transform-flow-strip-types/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-flow-strip-types", "npm:7.27.1"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:82f1406940f5a316cde091a391b5bd8b74df45b6ac80e495c6686b635e8dced9679ab5ec050275c887feef7e7730454ca1b352fcca3193e2c52f5831c5b3e1e8#npm:7.27.1", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-flow-strip-types-virtual-de8b626f7f/0/cache/@babel-plugin-transform-flow-strip-types-npm-7.27.1-9daffb69e5-22e260866b.zip/node_modules/@babel/plugin-transform-flow-strip-types/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-plugin-utils", "npm:7.27.1"],\ + ["@babel/plugin-syntax-flow", "virtual:de8b626f7f73cfe044d89b5025dc5c009b7fb07c2e3f949bb8b126df35e611da94268e8baab4767450b0c1a017c0c3385076788ca9e47c10d6b1cf534ca09a26#npm:7.28.6"],\ + ["@babel/plugin-transform-flow-strip-types", "virtual:82f1406940f5a316cde091a391b5bd8b74df45b6ac80e495c6686b635e8dced9679ab5ec050275c887feef7e7730454ca1b352fcca3193e2c52f5831c5b3e1e8#npm:7.27.1"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:92d2e4022e4bb4c9141e2c92a469cf026788d9459bc883a3abd75441412d29300aa93517fb0742aa50dc275fb1eee2ca30dfdd67d68c60382894c4ec05506401#npm:7.25.9", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-flow-strip-types-virtual-e2538d58dc/0/cache/@babel-plugin-transform-flow-strip-types-npm-7.25.9-81ac349629-a3ffc76bbc.zip/node_modules/@babel/plugin-transform-flow-strip-types/",\ "packageDependencies": [\ @@ -3577,6 +4671,21 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["virtual:52d503c49267f89637716357bba7fc21b367bc46f4d11e84f08561d81627afd7f56afa8a51659c6bcf293c6b0881994b6298ebb176bfe3f5cf844839de36c0c8#npm:7.27.1", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-for-of-virtual-e034cce408/0/cache/@babel-plugin-transform-for-of-npm-7.27.1-57bb1bd6d3-705c591d17.zip/node_modules/@babel/plugin-transform-for-of/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-plugin-utils", "npm:7.27.1"],\ + ["@babel/helper-skip-transparent-expression-wrappers", "npm:7.27.1"],\ + ["@babel/plugin-transform-for-of", "virtual:52d503c49267f89637716357bba7fc21b367bc46f4d11e84f08561d81627afd7f56afa8a51659c6bcf293c6b0881994b6298ebb176bfe3f5cf844839de36c0c8#npm:7.27.1"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:7.27.1", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-for-of-virtual-6b09f065d1/0/cache/@babel-plugin-transform-for-of-npm-7.27.1-57bb1bd6d3-705c591d17.zip/node_modules/@babel/plugin-transform-for-of/",\ "packageDependencies": [\ @@ -3623,6 +4732,22 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-function-name-virtual-1f64a17e04/0/cache/@babel-plugin-transform-function-name-npm-7.27.1-ed7f7430eb-26a2a183c3.zip/node_modules/@babel/plugin-transform-function-name/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-compilation-targets", "npm:7.27.2"],\ + ["@babel/helper-plugin-utils", "npm:7.27.1"],\ + ["@babel/plugin-transform-function-name", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1"],\ + ["@babel/traverse", "npm:7.27.4"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:7.27.1", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-function-name-virtual-a8960ba23f/0/cache/@babel-plugin-transform-function-name-npm-7.27.1-ed7f7430eb-26a2a183c3.zip/node_modules/@babel/plugin-transform-function-name/",\ "packageDependencies": [\ @@ -3664,6 +4789,27 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["npm:7.28.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-json-strings-npm-7.28.6-9aa34eb962-69d82a1a0a.zip/node_modules/@babel/plugin-transform-json-strings/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-json-strings", "npm:7.28.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-json-strings-virtual-31f0c2b4b6/0/cache/@babel-plugin-transform-json-strings-npm-7.28.6-9aa34eb962-69d82a1a0a.zip/node_modules/@babel/plugin-transform-json-strings/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-plugin-utils", "npm:7.28.6"],\ + ["@babel/plugin-transform-json-strings", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:7.27.1", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-json-strings-virtual-598b3f88d4/0/cache/@babel-plugin-transform-json-strings-npm-7.27.1-65f3c4eee2-2c05a02f63.zip/node_modules/@babel/plugin-transform-json-strings/",\ "packageDependencies": [\ @@ -3694,6 +4840,20 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-literals-virtual-0c7f2d1558/0/cache/@babel-plugin-transform-literals-npm-7.27.1-16084b62dc-0a76d12ab1.zip/node_modules/@babel/plugin-transform-literals/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-plugin-utils", "npm:7.27.1"],\ + ["@babel/plugin-transform-literals", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:7.27.1", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-literals-virtual-0444dacf61/0/cache/@babel-plugin-transform-literals-npm-7.27.1-16084b62dc-0a76d12ab1.zip/node_modules/@babel/plugin-transform-literals/",\ "packageDependencies": [\ @@ -3738,6 +4898,27 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["npm:7.28.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-logical-assignment-operators-npm-7.28.6-f6632db254-36095d5d1c.zip/node_modules/@babel/plugin-transform-logical-assignment-operators/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-logical-assignment-operators", "npm:7.28.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-logical-assignment-operators-virtual-6b9fadd5b4/0/cache/@babel-plugin-transform-logical-assignment-operators-npm-7.28.6-f6632db254-36095d5d1c.zip/node_modules/@babel/plugin-transform-logical-assignment-operators/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-plugin-utils", "npm:7.28.6"],\ + ["@babel/plugin-transform-logical-assignment-operators", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:7.27.1", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-logical-assignment-operators-virtual-fededbbc43/0/cache/@babel-plugin-transform-logical-assignment-operators-npm-7.27.1-b46ecdb249-2757955d81.zip/node_modules/@babel/plugin-transform-logical-assignment-operators/",\ "packageDependencies": [\ @@ -3775,6 +4956,20 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-member-expression-literals-virtual-734ff7ab6f/0/cache/@babel-plugin-transform-member-expression-literals-npm-7.27.1-2d8a23c4c7-804121430a.zip/node_modules/@babel/plugin-transform-member-expression-literals/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-plugin-utils", "npm:7.27.1"],\ + ["@babel/plugin-transform-member-expression-literals", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:7.27.1", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-member-expression-literals-virtual-b8c2dd26a8/0/cache/@babel-plugin-transform-member-expression-literals-npm-7.27.1-2d8a23c4c7-804121430a.zip/node_modules/@babel/plugin-transform-member-expression-literals/",\ "packageDependencies": [\ @@ -3798,6 +4993,21 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-modules-amd-virtual-7290155606/0/cache/@babel-plugin-transform-modules-amd-npm-7.27.1-dbd9a5ef9f-5ca9257981.zip/node_modules/@babel/plugin-transform-modules-amd/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-module-transforms", "virtual:72901556064e4971386b93e072b4bca822a98467863d4fbe66646170a852ffb991e5665fdccab87ef05f1ad576d1c72a01e27a673395538debbbdbaace624b9d#npm:7.27.3"],\ + ["@babel/helper-plugin-utils", "npm:7.27.1"],\ + ["@babel/plugin-transform-modules-amd", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:7.27.1", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-modules-amd-virtual-755180d3d9/0/cache/@babel-plugin-transform-modules-amd-npm-7.27.1-dbd9a5ef9f-5ca9257981.zip/node_modules/@babel/plugin-transform-modules-amd/",\ "packageDependencies": [\ @@ -3829,6 +5039,28 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["npm:7.28.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-modules-commonjs-npm-7.28.6-5c5a0ea6f2-ec6ea2958e.zip/node_modules/@babel/plugin-transform-modules-commonjs/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-modules-commonjs", "npm:7.28.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-modules-commonjs-virtual-6977a62a09/0/cache/@babel-plugin-transform-modules-commonjs-npm-7.28.6-5c5a0ea6f2-ec6ea2958e.zip/node_modules/@babel/plugin-transform-modules-commonjs/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-module-transforms", "virtual:a74bfc561b28f961f46b2ec8ae406d012b5fbed31a317cc6e0c8e0e4bc61a668944b271114f1150bc3cadae9a39987a6be16fb9362801892abacc23919c76dd7#npm:7.28.6"],\ + ["@babel/helper-plugin-utils", "npm:7.28.6"],\ + ["@babel/plugin-transform-modules-commonjs", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:3b95fee5276ca1e92877c795d1cd5e41ac701a83ac80c6a2964af07482110846c560542d261bc7379c970f57296b151bdaee10825618876feae647ed67865acd#npm:7.26.3", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-modules-commonjs-virtual-6a40aa4ac7/0/cache/@babel-plugin-transform-modules-commonjs-npm-7.26.3-7c9b991fc5-f817f02fa0.zip/node_modules/@babel/plugin-transform-modules-commonjs/",\ "packageDependencies": [\ @@ -3868,6 +5100,30 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["npm:7.29.4", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-modules-systemjs-npm-7.29.4-4fe41bad48-79269e6ec8.zip/node_modules/@babel/plugin-transform-modules-systemjs/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-modules-systemjs", "npm:7.29.4"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.29.4", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-modules-systemjs-virtual-a958827ce6/0/cache/@babel-plugin-transform-modules-systemjs-npm-7.29.4-4fe41bad48-79269e6ec8.zip/node_modules/@babel/plugin-transform-modules-systemjs/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-module-transforms", "virtual:a74bfc561b28f961f46b2ec8ae406d012b5fbed31a317cc6e0c8e0e4bc61a668944b271114f1150bc3cadae9a39987a6be16fb9362801892abacc23919c76dd7#npm:7.28.6"],\ + ["@babel/helper-plugin-utils", "npm:7.28.6"],\ + ["@babel/helper-validator-identifier", "npm:7.28.5"],\ + ["@babel/plugin-transform-modules-systemjs", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.29.4"],\ + ["@babel/traverse", "npm:7.29.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:7.27.1", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-modules-systemjs-virtual-851f74c2ac/0/cache/@babel-plugin-transform-modules-systemjs-npm-7.27.1-8b05b5a514-06d7bf76ac.zip/node_modules/@babel/plugin-transform-modules-systemjs/",\ "packageDependencies": [\ @@ -3894,6 +5150,21 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-modules-umd-virtual-0da4205ec4/0/cache/@babel-plugin-transform-modules-umd-npm-7.27.1-b62536925c-7388932863.zip/node_modules/@babel/plugin-transform-modules-umd/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-module-transforms", "virtual:72901556064e4971386b93e072b4bca822a98467863d4fbe66646170a852ffb991e5665fdccab87ef05f1ad576d1c72a01e27a673395538debbbdbaace624b9d#npm:7.27.3"],\ + ["@babel/helper-plugin-utils", "npm:7.27.1"],\ + ["@babel/plugin-transform-modules-umd", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:7.27.1", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-modules-umd-virtual-d05208513a/0/cache/@babel-plugin-transform-modules-umd-npm-7.27.1-b62536925c-7388932863.zip/node_modules/@babel/plugin-transform-modules-umd/",\ "packageDependencies": [\ @@ -3925,6 +5196,28 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["npm:7.29.0", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-named-capturing-groups-regex-npm-7.29.0-724a50bbb0-ed8c27699c.zip/node_modules/@babel/plugin-transform-named-capturing-groups-regex/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-named-capturing-groups-regex", "npm:7.29.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.29.0", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-named-capturing-groups-regex-virtual-c843c39fbd/0/cache/@babel-plugin-transform-named-capturing-groups-regex-npm-7.29.0-724a50bbb0-ed8c27699c.zip/node_modules/@babel/plugin-transform-named-capturing-groups-regex/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-create-regexp-features-plugin", "virtual:e3e6b1a70aadff47ed1f260b4095d249a4446765ad221eb056476f18d152e6cbc3e2fc7389026a6b20dd4c964a4996d7535a694ec3c65d9940d7bd86550e5b4f#npm:7.28.5"],\ + ["@babel/helper-plugin-utils", "npm:7.28.6"],\ + ["@babel/plugin-transform-named-capturing-groups-regex", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.29.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:7.27.1", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-named-capturing-groups-regex-virtual-52f7beeef7/0/cache/@babel-plugin-transform-named-capturing-groups-regex-npm-7.27.1-12b8abead5-a711c92d97.zip/node_modules/@babel/plugin-transform-named-capturing-groups-regex/",\ "packageDependencies": [\ @@ -3964,6 +5257,20 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-new-target-virtual-967aa2f86e/0/cache/@babel-plugin-transform-new-target-npm-7.27.1-93bf8bdaef-620d78ee47.zip/node_modules/@babel/plugin-transform-new-target/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-plugin-utils", "npm:7.27.1"],\ + ["@babel/plugin-transform-new-target", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:7.27.1", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-new-target-virtual-8067556028/0/cache/@babel-plugin-transform-new-target-npm-7.27.1-93bf8bdaef-620d78ee47.zip/node_modules/@babel/plugin-transform-new-target/",\ "packageDependencies": [\ @@ -3994,6 +5301,27 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["npm:7.28.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-nullish-coalescing-operator-npm-7.28.6-d32f31ce81-88106952ca.zip/node_modules/@babel/plugin-transform-nullish-coalescing-operator/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-nullish-coalescing-operator", "npm:7.28.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-nullish-coalescing-operator-virtual-896fd6ce4d/0/cache/@babel-plugin-transform-nullish-coalescing-operator-npm-7.28.6-d32f31ce81-88106952ca.zip/node_modules/@babel/plugin-transform-nullish-coalescing-operator/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-plugin-utils", "npm:7.28.6"],\ + ["@babel/plugin-transform-nullish-coalescing-operator", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:7.27.1", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-nullish-coalescing-operator-virtual-9dd4395417/0/cache/@babel-plugin-transform-nullish-coalescing-operator-npm-7.27.1-3a841ec416-15333f4888.zip/node_modules/@babel/plugin-transform-nullish-coalescing-operator/",\ "packageDependencies": [\ @@ -4038,6 +5366,27 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["npm:7.28.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-numeric-separator-npm-7.28.6-6a6d5b8b1a-4b5ca60e48.zip/node_modules/@babel/plugin-transform-numeric-separator/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-numeric-separator", "npm:7.28.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-numeric-separator-virtual-d245d20ba8/0/cache/@babel-plugin-transform-numeric-separator-npm-7.28.6-6a6d5b8b1a-4b5ca60e48.zip/node_modules/@babel/plugin-transform-numeric-separator/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-plugin-utils", "npm:7.28.6"],\ + ["@babel/plugin-transform-numeric-separator", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:7.27.1", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-numeric-separator-virtual-ed66774723/0/cache/@babel-plugin-transform-numeric-separator-npm-7.27.1-a8403cac09-049b958911.zip/node_modules/@babel/plugin-transform-numeric-separator/",\ "packageDependencies": [\ @@ -4082,6 +5431,47 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["npm:7.28.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-object-rest-spread-npm-7.28.6-667586c66e-9c8c51a515.zip/node_modules/@babel/plugin-transform-object-rest-spread/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-object-rest-spread", "npm:7.28.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-object-rest-spread-virtual-77893bc37f/0/cache/@babel-plugin-transform-object-rest-spread-npm-7.28.6-667586c66e-9c8c51a515.zip/node_modules/@babel/plugin-transform-object-rest-spread/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-compilation-targets", "npm:7.28.6"],\ + ["@babel/helper-plugin-utils", "npm:7.28.6"],\ + ["@babel/plugin-transform-destructuring", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.5"],\ + ["@babel/plugin-transform-object-rest-spread", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6"],\ + ["@babel/plugin-transform-parameters", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.7"],\ + ["@babel/traverse", "npm:7.29.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:52d503c49267f89637716357bba7fc21b367bc46f4d11e84f08561d81627afd7f56afa8a51659c6bcf293c6b0881994b6298ebb176bfe3f5cf844839de36c0c8#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-object-rest-spread-virtual-e6bad36102/0/cache/@babel-plugin-transform-object-rest-spread-npm-7.25.9-3f0cb70408-a157ac5af2.zip/node_modules/@babel/plugin-transform-object-rest-spread/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-compilation-targets", "npm:7.25.9"],\ + ["@babel/helper-plugin-utils", "npm:7.25.9"],\ + ["@babel/plugin-transform-object-rest-spread", "virtual:52d503c49267f89637716357bba7fc21b367bc46f4d11e84f08561d81627afd7f56afa8a51659c6bcf293c6b0881994b6298ebb176bfe3f5cf844839de36c0c8#npm:7.25.9"],\ + ["@babel/plugin-transform-parameters", "virtual:e6bad36102f33ac136a59983a5c80ac50f9833a78c4f5354d23411e946e22ddbce2d475acdf47a21d7caf6dc8ccc07e4c98dcebc20192aefd5791adbcf95d461#npm:7.25.9"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:7.28.0", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-object-rest-spread-virtual-2e85f3cac1/0/cache/@babel-plugin-transform-object-rest-spread-npm-7.28.0-7aa5a9958a-55d37dbc0d.zip/node_modules/@babel/plugin-transform-object-rest-spread/",\ "packageDependencies": [\ @@ -4125,6 +5515,21 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-object-super-virtual-3d45ce56cd/0/cache/@babel-plugin-transform-object-super-npm-7.27.1-1268b11683-46b819cb9a.zip/node_modules/@babel/plugin-transform-object-super/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-plugin-utils", "npm:7.27.1"],\ + ["@babel/helper-replace-supers", "virtual:3d45ce56cd05721a04dcdf36fdb13744b3d1f4f28c3738b6ad288d2aeab42d4e40664b6ddea660c0edee7a626a6188de540814d5cb2e50f2bc895e6af694ae16#npm:7.27.1"],\ + ["@babel/plugin-transform-object-super", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:7.27.1", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-object-super-virtual-5228be1ee7/0/cache/@babel-plugin-transform-object-super-npm-7.27.1-1268b11683-46b819cb9a.zip/node_modules/@babel/plugin-transform-object-super/",\ "packageDependencies": [\ @@ -4156,6 +5561,27 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["npm:7.28.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-optional-catch-binding-npm-7.28.6-0832afefe6-ee24a17def.zip/node_modules/@babel/plugin-transform-optional-catch-binding/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-optional-catch-binding", "npm:7.28.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-optional-catch-binding-virtual-2045492a0a/0/cache/@babel-plugin-transform-optional-catch-binding-npm-7.28.6-0832afefe6-ee24a17def.zip/node_modules/@babel/plugin-transform-optional-catch-binding/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-plugin-utils", "npm:7.28.6"],\ + ["@babel/plugin-transform-optional-catch-binding", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:7.27.1", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-optional-catch-binding-virtual-566507decd/0/cache/@babel-plugin-transform-optional-catch-binding-npm-7.27.1-5810c95838-f4356b04cf.zip/node_modules/@babel/plugin-transform-optional-catch-binding/",\ "packageDependencies": [\ @@ -4200,6 +5626,28 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["npm:7.28.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-optional-chaining-npm-7.28.6-a86aecc9f1-c7cf29f993.zip/node_modules/@babel/plugin-transform-optional-chaining/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-optional-chaining", "npm:7.28.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-optional-chaining-virtual-e48fcbfc03/0/cache/@babel-plugin-transform-optional-chaining-npm-7.28.6-a86aecc9f1-c7cf29f993.zip/node_modules/@babel/plugin-transform-optional-chaining/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-plugin-utils", "npm:7.28.6"],\ + ["@babel/helper-skip-transparent-expression-wrappers", "npm:7.27.1"],\ + ["@babel/plugin-transform-optional-chaining", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:7.27.1", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-optional-chaining-virtual-65ab09de7a/0/cache/@babel-plugin-transform-optional-chaining-npm-7.27.1-6a18b9cc63-34b0f96400.zip/node_modules/@babel/plugin-transform-optional-chaining/",\ "packageDependencies": [\ @@ -4229,6 +5677,21 @@ const RAW_RUNTIME_STATE = "@types/babel__core"\ ],\ "linkType": "HARD"\ + }],\ + ["virtual:f5705dd4d1b595260378bfc921d26febf3454c23aa2b33c0cac42a99ae0cbb257400c6e76320825dd59bf31f175235711a814f94007d938923cc6e3814ce0bcb#npm:7.27.1", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-optional-chaining-virtual-4ede5764a3/0/cache/@babel-plugin-transform-optional-chaining-npm-7.27.1-6a18b9cc63-34b0f96400.zip/node_modules/@babel/plugin-transform-optional-chaining/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-plugin-utils", "npm:7.27.1"],\ + ["@babel/helper-skip-transparent-expression-wrappers", "npm:7.27.1"],\ + ["@babel/plugin-transform-optional-chaining", "virtual:f5705dd4d1b595260378bfc921d26febf3454c23aa2b33c0cac42a99ae0cbb257400c6e76320825dd59bf31f175235711a814f94007d938923cc6e3814ce0bcb#npm:7.27.1"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["@babel/plugin-transform-parameters", [\ @@ -4246,6 +5709,20 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.7", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-parameters-virtual-bd25eaa583/0/cache/@babel-plugin-transform-parameters-npm-7.27.7-b002e2d6ef-ba0aa8c977.zip/node_modules/@babel/plugin-transform-parameters/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-plugin-utils", "npm:7.27.1"],\ + ["@babel/plugin-transform-parameters", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.7"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:7.27.7", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-parameters-virtual-fa0a9f11c8/0/cache/@babel-plugin-transform-parameters-npm-7.27.7-b002e2d6ef-ba0aa8c977.zip/node_modules/@babel/plugin-transform-parameters/",\ "packageDependencies": [\ @@ -4273,6 +5750,20 @@ const RAW_RUNTIME_STATE = "@types/babel__core"\ ],\ "linkType": "HARD"\ + }],\ + ["virtual:e6bad36102f33ac136a59983a5c80ac50f9833a78c4f5354d23411e946e22ddbce2d475acdf47a21d7caf6dc8ccc07e4c98dcebc20192aefd5791adbcf95d461#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-parameters-virtual-aeb72dea4b/0/cache/@babel-plugin-transform-parameters-npm-7.25.9-29a857a3d8-014009a176.zip/node_modules/@babel/plugin-transform-parameters/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-plugin-utils", "npm:7.25.9"],\ + ["@babel/plugin-transform-parameters", "virtual:e6bad36102f33ac136a59983a5c80ac50f9833a78c4f5354d23411e946e22ddbce2d475acdf47a21d7caf6dc8ccc07e4c98dcebc20192aefd5791adbcf95d461#npm:7.25.9"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["@babel/plugin-transform-private-methods", [\ @@ -4290,6 +5781,28 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["npm:7.28.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-private-methods-npm-7.28.6-d9be3e96cd-b80179b28f.zip/node_modules/@babel/plugin-transform-private-methods/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-private-methods", "npm:7.28.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:52d503c49267f89637716357bba7fc21b367bc46f4d11e84f08561d81627afd7f56afa8a51659c6bcf293c6b0881994b6298ebb176bfe3f5cf844839de36c0c8#npm:7.28.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-private-methods-virtual-4f94097136/0/cache/@babel-plugin-transform-private-methods-npm-7.28.6-d9be3e96cd-b80179b28f.zip/node_modules/@babel/plugin-transform-private-methods/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-create-class-features-plugin", "virtual:fca36d4f78d4d369cde0554121f85544e2d73974021110eaf22c58cce085094171cd9969dfb7666a57d595eacad856f7b3c432f97f5d05a50543f41e3cab7a1c#npm:7.29.3"],\ + ["@babel/helper-plugin-utils", "npm:7.28.6"],\ + ["@babel/plugin-transform-private-methods", "virtual:52d503c49267f89637716357bba7fc21b367bc46f4d11e84f08561d81627afd7f56afa8a51659c6bcf293c6b0881994b6298ebb176bfe3f5cf844839de36c0c8#npm:7.28.6"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:7.27.1", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-private-methods-virtual-cfdf1ed640/0/cache/@babel-plugin-transform-private-methods-npm-7.27.1-71100e51a7-c76f8f6056.zip/node_modules/@babel/plugin-transform-private-methods/",\ "packageDependencies": [\ @@ -4336,6 +5849,29 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["npm:7.28.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-private-property-in-object-npm-7.28.6-b7bb3c0654-d02008c62f.zip/node_modules/@babel/plugin-transform-private-property-in-object/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-private-property-in-object", "npm:7.28.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-private-property-in-object-virtual-942c2d5eb5/0/cache/@babel-plugin-transform-private-property-in-object-npm-7.28.6-b7bb3c0654-d02008c62f.zip/node_modules/@babel/plugin-transform-private-property-in-object/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-annotate-as-pure", "npm:7.27.3"],\ + ["@babel/helper-create-class-features-plugin", "virtual:fca36d4f78d4d369cde0554121f85544e2d73974021110eaf22c58cce085094171cd9969dfb7666a57d595eacad856f7b3c432f97f5d05a50543f41e3cab7a1c#npm:7.29.3"],\ + ["@babel/helper-plugin-utils", "npm:7.28.6"],\ + ["@babel/plugin-transform-private-property-in-object", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:7.27.1", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-private-property-in-object-virtual-b20ac16a59/0/cache/@babel-plugin-transform-private-property-in-object-npm-7.27.1-b7636d14a5-d4466d42a0.zip/node_modules/@babel/plugin-transform-private-property-in-object/",\ "packageDependencies": [\ @@ -4377,6 +5913,20 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-property-literals-virtual-61175714d7/0/cache/@babel-plugin-transform-property-literals-npm-7.27.1-608e9f0cae-7caec27d5e.zip/node_modules/@babel/plugin-transform-property-literals/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-plugin-utils", "npm:7.27.1"],\ + ["@babel/plugin-transform-property-literals", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:7.27.1", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-property-literals-virtual-fdea03fa42/0/cache/@babel-plugin-transform-property-literals-npm-7.27.1-608e9f0cae-7caec27d5e.zip/node_modules/@babel/plugin-transform-property-literals/",\ "packageDependencies": [\ @@ -4400,6 +5950,27 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["npm:7.28.0", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-react-display-name-npm-7.28.0-0bf8b6c694-d623644a07.zip/node_modules/@babel/plugin-transform-react-display-name/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-react-display-name", "npm:7.28.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:19b010fdd6ea7b0d829362c4f5afacd10a03b9de462b3cd3defcbb49c4d4028784a14f8524dbedfcb3fe06cd01b7ff9282792c1d51e2193e808b37d897172b0c#npm:7.28.0", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-react-display-name-virtual-a121ade35f/0/cache/@babel-plugin-transform-react-display-name-npm-7.28.0-0bf8b6c694-d623644a07.zip/node_modules/@babel/plugin-transform-react-display-name/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-plugin-utils", "npm:7.27.1"],\ + ["@babel/plugin-transform-react-display-name", "virtual:19b010fdd6ea7b0d829362c4f5afacd10a03b9de462b3cd3defcbb49c4d4028784a14f8524dbedfcb3fe06cd01b7ff9282792c1d51e2193e808b37d897172b0c#npm:7.28.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:a0f05d4176851cd983798e47db743d453b6b718826bc38dbaed3c3dfd102982b34018a0f9ff355e133cc62e94e97cf8d5a637788d8f7c3ed5a595cb0c7a05961#npm:7.25.9", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-react-display-name-virtual-d1d74f7f50/0/cache/@babel-plugin-transform-react-display-name-npm-7.25.9-b5a9d1be46-dc7affde0e.zip/node_modules/@babel/plugin-transform-react-display-name/",\ "packageDependencies": [\ @@ -4423,6 +5994,31 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["npm:7.28.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-react-jsx-npm-7.28.6-f09f9ef5e5-c6eade7309.zip/node_modules/@babel/plugin-transform-react-jsx/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-react-jsx", "npm:7.28.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:19b010fdd6ea7b0d829362c4f5afacd10a03b9de462b3cd3defcbb49c4d4028784a14f8524dbedfcb3fe06cd01b7ff9282792c1d51e2193e808b37d897172b0c#npm:7.28.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-react-jsx-virtual-22e573733c/0/cache/@babel-plugin-transform-react-jsx-npm-7.28.6-f09f9ef5e5-c6eade7309.zip/node_modules/@babel/plugin-transform-react-jsx/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-annotate-as-pure", "npm:7.27.3"],\ + ["@babel/helper-module-imports", "npm:7.28.6"],\ + ["@babel/helper-plugin-utils", "npm:7.28.6"],\ + ["@babel/plugin-syntax-jsx", "virtual:22e573733cdd420986bdef8fc236a203eee4630979ea3a0e8048b4084102ccefcda6e0271fddfd7a1396ff3728ba9e1666b64bdecc52db7ee1d11fff3f667895#npm:7.28.6"],\ + ["@babel/plugin-transform-react-jsx", "virtual:19b010fdd6ea7b0d829362c4f5afacd10a03b9de462b3cd3defcbb49c4d4028784a14f8524dbedfcb3fe06cd01b7ff9282792c1d51e2193e808b37d897172b0c#npm:7.28.6"],\ + ["@babel/types", "npm:7.29.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:a0f05d4176851cd983798e47db743d453b6b718826bc38dbaed3c3dfd102982b34018a0f9ff355e133cc62e94e97cf8d5a637788d8f7c3ed5a595cb0c7a05961#npm:7.25.9", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-react-jsx-virtual-f551b07eb3/0/cache/@babel-plugin-transform-react-jsx-npm-7.25.9-ace1d732cc-eb179ecdf0.zip/node_modules/@babel/plugin-transform-react-jsx/",\ "packageDependencies": [\ @@ -4442,6 +6038,29 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["@babel/plugin-transform-react-jsx-development", [\ + ["npm:7.27.1", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-react-jsx-development-npm-7.27.1-c6780deed1-b88865d5b8.zip/node_modules/@babel/plugin-transform-react-jsx-development/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-react-jsx-development", "npm:7.27.1"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:19b010fdd6ea7b0d829362c4f5afacd10a03b9de462b3cd3defcbb49c4d4028784a14f8524dbedfcb3fe06cd01b7ff9282792c1d51e2193e808b37d897172b0c#npm:7.27.1", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-react-jsx-development-virtual-9f08553912/0/cache/@babel-plugin-transform-react-jsx-development-npm-7.27.1-c6780deed1-b88865d5b8.zip/node_modules/@babel/plugin-transform-react-jsx-development/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/plugin-transform-react-jsx", "virtual:19b010fdd6ea7b0d829362c4f5afacd10a03b9de462b3cd3defcbb49c4d4028784a14f8524dbedfcb3fe06cd01b7ff9282792c1d51e2193e808b37d897172b0c#npm:7.28.6"],\ + ["@babel/plugin-transform-react-jsx-development", "virtual:19b010fdd6ea7b0d829362c4f5afacd10a03b9de462b3cd3defcbb49c4d4028784a14f8524dbedfcb3fe06cd01b7ff9282792c1d51e2193e808b37d897172b0c#npm:7.27.1"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["@babel/plugin-transform-react-jsx-self", [\ ["npm:7.25.9", {\ "packageLocation": "./.yarn/cache/@babel-plugin-transform-react-jsx-self-npm-7.25.9-763ed3d4ff-41c833cd7f.zip/node_modules/@babel/plugin-transform-react-jsx-self/",\ @@ -4488,6 +6107,30 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["@babel/plugin-transform-react-pure-annotations", [\ + ["npm:7.27.1", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-react-pure-annotations-npm-7.27.1-1c3be838d1-a6f591c5e8.zip/node_modules/@babel/plugin-transform-react-pure-annotations/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-react-pure-annotations", "npm:7.27.1"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:19b010fdd6ea7b0d829362c4f5afacd10a03b9de462b3cd3defcbb49c4d4028784a14f8524dbedfcb3fe06cd01b7ff9282792c1d51e2193e808b37d897172b0c#npm:7.27.1", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-react-pure-annotations-virtual-43b16a6d4e/0/cache/@babel-plugin-transform-react-pure-annotations-npm-7.27.1-1c3be838d1-a6f591c5e8.zip/node_modules/@babel/plugin-transform-react-pure-annotations/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-annotate-as-pure", "npm:7.27.3"],\ + ["@babel/helper-plugin-utils", "npm:7.27.1"],\ + ["@babel/plugin-transform-react-pure-annotations", "virtual:19b010fdd6ea7b0d829362c4f5afacd10a03b9de462b3cd3defcbb49c4d4028784a14f8524dbedfcb3fe06cd01b7ff9282792c1d51e2193e808b37d897172b0c#npm:7.27.1"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["@babel/plugin-transform-regenerator", [\ ["npm:7.25.9", {\ "packageLocation": "./.yarn/cache/@babel-plugin-transform-regenerator-npm-7.25.9-c341e2ff83-1c09e8087b.zip/node_modules/@babel/plugin-transform-regenerator/",\ @@ -4503,6 +6146,27 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["npm:7.29.0", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-regenerator-npm-7.29.0-62daf829e8-c8fa9da743.zip/node_modules/@babel/plugin-transform-regenerator/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-regenerator", "npm:7.29.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.29.0", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-regenerator-virtual-eaeee68033/0/cache/@babel-plugin-transform-regenerator-npm-7.29.0-62daf829e8-c8fa9da743.zip/node_modules/@babel/plugin-transform-regenerator/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-plugin-utils", "npm:7.28.6"],\ + ["@babel/plugin-transform-regenerator", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.29.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:7.28.0", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-regenerator-virtual-914db6bd71/0/cache/@babel-plugin-transform-regenerator-npm-7.28.0-0bb426eb26-f8d4e63585.zip/node_modules/@babel/plugin-transform-regenerator/",\ "packageDependencies": [\ @@ -4541,6 +6205,28 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["npm:7.28.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-regexp-modifiers-npm-7.28.6-602f45b5a7-5aacc57003.zip/node_modules/@babel/plugin-transform-regexp-modifiers/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-regexp-modifiers", "npm:7.28.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-regexp-modifiers-virtual-04c41a5bfb/0/cache/@babel-plugin-transform-regexp-modifiers-npm-7.28.6-602f45b5a7-5aacc57003.zip/node_modules/@babel/plugin-transform-regexp-modifiers/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-create-regexp-features-plugin", "virtual:e3e6b1a70aadff47ed1f260b4095d249a4446765ad221eb056476f18d152e6cbc3e2fc7389026a6b20dd4c964a4996d7535a694ec3c65d9940d7bd86550e5b4f#npm:7.28.5"],\ + ["@babel/helper-plugin-utils", "npm:7.28.6"],\ + ["@babel/plugin-transform-regexp-modifiers", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:7.27.1", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-regexp-modifiers-virtual-c6c54c82aa/0/cache/@babel-plugin-transform-regexp-modifiers-npm-7.27.1-cee91a1fcf-f6cb385fe0.zip/node_modules/@babel/plugin-transform-regexp-modifiers/",\ "packageDependencies": [\ @@ -4565,6 +6251,20 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-reserved-words-virtual-dea9c42ac0/0/cache/@babel-plugin-transform-reserved-words-npm-7.27.1-da9ded5cec-dea0b66742.zip/node_modules/@babel/plugin-transform-reserved-words/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-plugin-utils", "npm:7.27.1"],\ + ["@babel/plugin-transform-reserved-words", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:7.27.1", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-reserved-words-virtual-81a427f38a/0/cache/@babel-plugin-transform-reserved-words-npm-7.27.1-da9ded5cec-dea0b66742.zip/node_modules/@babel/plugin-transform-reserved-words/",\ "packageDependencies": [\ @@ -4581,6 +6281,13 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["@babel/plugin-transform-runtime", [\ + ["npm:7.23.3", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-runtime-npm-7.23.3-c52746b76a-f513306d56.zip/node_modules/@babel/plugin-transform-runtime/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-runtime", "npm:7.23.3"]\ + ],\ + "linkType": "SOFT"\ + }],\ ["npm:7.25.9", {\ "packageLocation": "./.yarn/cache/@babel-plugin-transform-runtime-npm-7.25.9-4f4b0f8e6b-d8d4f04a47.zip/node_modules/@babel/plugin-transform-runtime/",\ "packageDependencies": [\ @@ -4588,6 +6295,25 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["virtual:52d503c49267f89637716357bba7fc21b367bc46f4d11e84f08561d81627afd7f56afa8a51659c6bcf293c6b0881994b6298ebb176bfe3f5cf844839de36c0c8#npm:7.23.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-runtime-virtual-402ea7e211/0/cache/@babel-plugin-transform-runtime-npm-7.23.3-c52746b76a-f513306d56.zip/node_modules/@babel/plugin-transform-runtime/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-module-imports", "npm:7.22.15"],\ + ["@babel/helper-plugin-utils", "npm:7.22.5"],\ + ["@babel/plugin-transform-runtime", "virtual:52d503c49267f89637716357bba7fc21b367bc46f4d11e84f08561d81627afd7f56afa8a51659c6bcf293c6b0881994b6298ebb176bfe3f5cf844839de36c0c8#npm:7.23.3"],\ + ["@types/babel__core", null],\ + ["babel-plugin-polyfill-corejs2", "virtual:402ea7e211d921dcb42b7c59ca0204eb64a21f2a5173af36864ec3228199d0d16b9c304d156c9e1bd903d0691ae9b3ed1e1909b35a2d9d6f64d924ed365f9ac7#npm:0.4.17"],\ + ["babel-plugin-polyfill-corejs3", "virtual:402ea7e211d921dcb42b7c59ca0204eb64a21f2a5173af36864ec3228199d0d16b9c304d156c9e1bd903d0691ae9b3ed1e1909b35a2d9d6f64d924ed365f9ac7#npm:0.8.7"],\ + ["babel-plugin-polyfill-regenerator", "virtual:402ea7e211d921dcb42b7c59ca0204eb64a21f2a5173af36864ec3228199d0d16b9c304d156c9e1bd903d0691ae9b3ed1e1909b35a2d9d6f64d924ed365f9ac7#npm:0.5.5"],\ + ["semver", "npm:6.3.1"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:a0f05d4176851cd983798e47db743d453b6b718826bc38dbaed3c3dfd102982b34018a0f9ff355e133cc62e94e97cf8d5a637788d8f7c3ed5a595cb0c7a05961#npm:7.25.9", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-runtime-virtual-30266fe90b/0/cache/@babel-plugin-transform-runtime-npm-7.25.9-4f4b0f8e6b-d8d4f04a47.zip/node_modules/@babel/plugin-transform-runtime/",\ "packageDependencies": [\ @@ -4623,6 +6349,20 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-shorthand-properties-virtual-ee254b94b4/0/cache/@babel-plugin-transform-shorthand-properties-npm-7.27.1-114632891f-fbba6e2aef.zip/node_modules/@babel/plugin-transform-shorthand-properties/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-plugin-utils", "npm:7.27.1"],\ + ["@babel/plugin-transform-shorthand-properties", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:7.27.1", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-shorthand-properties-virtual-a5eb2cbb94/0/cache/@babel-plugin-transform-shorthand-properties-npm-7.27.1-114632891f-fbba6e2aef.zip/node_modules/@babel/plugin-transform-shorthand-properties/",\ "packageDependencies": [\ @@ -4667,6 +6407,28 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["npm:7.28.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-spread-npm-7.28.6-658f047c1b-1fa02ac60a.zip/node_modules/@babel/plugin-transform-spread/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-spread", "npm:7.28.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-spread-virtual-a516078015/0/cache/@babel-plugin-transform-spread-npm-7.28.6-658f047c1b-1fa02ac60a.zip/node_modules/@babel/plugin-transform-spread/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-plugin-utils", "npm:7.28.6"],\ + ["@babel/helper-skip-transparent-expression-wrappers", "npm:7.27.1"],\ + ["@babel/plugin-transform-spread", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:7.27.1", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-spread-virtual-74b391c84c/0/cache/@babel-plugin-transform-spread-npm-7.27.1-93b5426802-3edd28b07e.zip/node_modules/@babel/plugin-transform-spread/",\ "packageDependencies": [\ @@ -4713,6 +6475,20 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-sticky-regex-virtual-5570c23c2c/0/cache/@babel-plugin-transform-sticky-regex-npm-7.27.1-e0308c6eee-e1414a502e.zip/node_modules/@babel/plugin-transform-sticky-regex/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-plugin-utils", "npm:7.27.1"],\ + ["@babel/plugin-transform-sticky-regex", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:7.27.1", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-sticky-regex-virtual-273576b848/0/cache/@babel-plugin-transform-sticky-regex-npm-7.27.1-e0308c6eee-e1414a502e.zip/node_modules/@babel/plugin-transform-sticky-regex/",\ "packageDependencies": [\ @@ -4750,6 +6526,20 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-template-literals-virtual-4d56498da7/0/cache/@babel-plugin-transform-template-literals-npm-7.27.1-e8a9aeaebf-93aad78250.zip/node_modules/@babel/plugin-transform-template-literals/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-plugin-utils", "npm:7.27.1"],\ + ["@babel/plugin-transform-template-literals", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:7.27.1", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-template-literals-virtual-7ad02bf993/0/cache/@babel-plugin-transform-template-literals-npm-7.27.1-e8a9aeaebf-93aad78250.zip/node_modules/@babel/plugin-transform-template-literals/",\ "packageDependencies": [\ @@ -4773,6 +6563,20 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-typeof-symbol-virtual-819bf81e0a/0/cache/@babel-plugin-transform-typeof-symbol-npm-7.27.1-56795eb29a-812d736402.zip/node_modules/@babel/plugin-transform-typeof-symbol/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-plugin-utils", "npm:7.27.1"],\ + ["@babel/plugin-transform-typeof-symbol", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:7.27.1", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-typeof-symbol-virtual-63aa62ac0e/0/cache/@babel-plugin-transform-typeof-symbol-npm-7.27.1-56795eb29a-812d736402.zip/node_modules/@babel/plugin-transform-typeof-symbol/",\ "packageDependencies": [\ @@ -4848,6 +6652,20 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-unicode-escapes-virtual-6486ea96dd/0/cache/@babel-plugin-transform-unicode-escapes-npm-7.27.1-61a6253b0b-87b9e49dee.zip/node_modules/@babel/plugin-transform-unicode-escapes/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-plugin-utils", "npm:7.27.1"],\ + ["@babel/plugin-transform-unicode-escapes", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:7.27.1", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-unicode-escapes-virtual-961a6140d3/0/cache/@babel-plugin-transform-unicode-escapes-npm-7.27.1-61a6253b0b-87b9e49dee.zip/node_modules/@babel/plugin-transform-unicode-escapes/",\ "packageDependencies": [\ @@ -4871,6 +6689,28 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["npm:7.28.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-unicode-property-regex-npm-7.28.6-666f50c157-d14e8c51aa.zip/node_modules/@babel/plugin-transform-unicode-property-regex/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-unicode-property-regex", "npm:7.28.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-unicode-property-regex-virtual-9b2167fadd/0/cache/@babel-plugin-transform-unicode-property-regex-npm-7.28.6-666f50c157-d14e8c51aa.zip/node_modules/@babel/plugin-transform-unicode-property-regex/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-create-regexp-features-plugin", "virtual:e3e6b1a70aadff47ed1f260b4095d249a4446765ad221eb056476f18d152e6cbc3e2fc7389026a6b20dd4c964a4996d7535a694ec3c65d9940d7bd86550e5b4f#npm:7.28.5"],\ + ["@babel/helper-plugin-utils", "npm:7.28.6"],\ + ["@babel/plugin-transform-unicode-property-regex", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:7.27.1", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-unicode-property-regex-virtual-e98840efe6/0/cache/@babel-plugin-transform-unicode-property-regex-npm-7.27.1-b5fb4d5460-5d99c89537.zip/node_modules/@babel/plugin-transform-unicode-property-regex/",\ "packageDependencies": [\ @@ -4902,6 +6742,21 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-unicode-regex-virtual-8f481b0e17/0/cache/@babel-plugin-transform-unicode-regex-npm-7.27.1-9b283ef768-a34d89a2b7.zip/node_modules/@babel/plugin-transform-unicode-regex/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-create-regexp-features-plugin", "virtual:8f481b0e174b07cbbbb8643b9adff6c69f1e93b37fe73b87a9acc0c2156f755606a8f6e4f3292e49fd3d0b894cf9861f2cdcc82044d3a4232f6f5d516ffd0b4d#npm:7.27.1"],\ + ["@babel/helper-plugin-utils", "npm:7.27.1"],\ + ["@babel/plugin-transform-unicode-regex", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:7.27.1", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-unicode-regex-virtual-a87b4e9f39/0/cache/@babel-plugin-transform-unicode-regex-npm-7.27.1-9b283ef768-a34d89a2b7.zip/node_modules/@babel/plugin-transform-unicode-regex/",\ "packageDependencies": [\ @@ -4941,6 +6796,28 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["npm:7.28.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-unicode-sets-regex-npm-7.28.6-335f885d51-423971fe2e.zip/node_modules/@babel/plugin-transform-unicode-sets-regex/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-unicode-sets-regex", "npm:7.28.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-unicode-sets-regex-virtual-fed11e56ea/0/cache/@babel-plugin-transform-unicode-sets-regex-npm-7.28.6-335f885d51-423971fe2e.zip/node_modules/@babel/plugin-transform-unicode-sets-regex/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-create-regexp-features-plugin", "virtual:e3e6b1a70aadff47ed1f260b4095d249a4446765ad221eb056476f18d152e6cbc3e2fc7389026a6b20dd4c964a4996d7535a694ec3c65d9940d7bd86550e5b4f#npm:7.28.5"],\ + ["@babel/helper-plugin-utils", "npm:7.28.6"],\ + ["@babel/plugin-transform-unicode-sets-regex", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:7.27.1", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-unicode-sets-regex-virtual-df64f43f8b/0/cache/@babel-plugin-transform-unicode-sets-regex-npm-7.27.1-5b2c0a4c1f-295126074c.zip/node_modules/@babel/plugin-transform-unicode-sets-regex/",\ "packageDependencies": [\ @@ -4965,6 +6842,13 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["npm:7.29.5", {\ + "packageLocation": "./.yarn/cache/@babel-preset-env-npm-7.29.5-c351ba88eb-2e54630764.zip/node_modules/@babel/preset-env/",\ + "packageDependencies": [\ + ["@babel/preset-env", "npm:7.29.5"]\ + ],\ + "linkType": "SOFT"\ + }],\ ["virtual:2ecc1e95c1d00dc9958b1b002bacd33b93499eda964824ca098f5d458945e68ac78b36c75c288e72d1af771baf072dca7432317fe3381c51ab8c749004dda38d#npm:7.28.0", {\ "packageLocation": "./.yarn/__virtual__/@babel-preset-env-virtual-799de7047e/0/cache/@babel-preset-env-npm-7.28.0-964e29aeee-8814453ffe.zip/node_modules/@babel/preset-env/",\ "packageDependencies": [\ @@ -5047,6 +6931,90 @@ const RAW_RUNTIME_STATE = "@types/babel__core"\ ],\ "linkType": "HARD"\ + }],\ + ["virtual:52d503c49267f89637716357bba7fc21b367bc46f4d11e84f08561d81627afd7f56afa8a51659c6bcf293c6b0881994b6298ebb176bfe3f5cf844839de36c0c8#npm:7.29.5", {\ + "packageLocation": "./.yarn/__virtual__/@babel-preset-env-virtual-1e092109d8/0/cache/@babel-preset-env-npm-7.29.5-c351ba88eb-2e54630764.zip/node_modules/@babel/preset-env/",\ + "packageDependencies": [\ + ["@babel/compat-data", "npm:7.29.3"],\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-compilation-targets", "npm:7.28.6"],\ + ["@babel/helper-plugin-utils", "npm:7.28.6"],\ + ["@babel/helper-validator-option", "npm:7.27.1"],\ + ["@babel/plugin-bugfix-firefox-class-in-computed-class-key", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.5"],\ + ["@babel/plugin-bugfix-safari-class-field-initializer-scope", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1"],\ + ["@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1"],\ + ["@babel/plugin-bugfix-safari-rest-destructuring-rhs-array", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.29.3"],\ + ["@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1"],\ + ["@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6"],\ + ["@babel/plugin-proposal-private-property-in-object", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.21.0-placeholder-for-preset-env.2"],\ + ["@babel/plugin-syntax-import-assertions", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6"],\ + ["@babel/plugin-syntax-import-attributes", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6"],\ + ["@babel/plugin-syntax-unicode-sets-regex", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.18.6"],\ + ["@babel/plugin-transform-arrow-functions", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1"],\ + ["@babel/plugin-transform-async-generator-functions", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.29.0"],\ + ["@babel/plugin-transform-async-to-generator", "virtual:52d503c49267f89637716357bba7fc21b367bc46f4d11e84f08561d81627afd7f56afa8a51659c6bcf293c6b0881994b6298ebb176bfe3f5cf844839de36c0c8#npm:7.28.6"],\ + ["@babel/plugin-transform-block-scoped-functions", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1"],\ + ["@babel/plugin-transform-block-scoping", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6"],\ + ["@babel/plugin-transform-class-properties", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6"],\ + ["@babel/plugin-transform-class-static-block", "virtual:52d503c49267f89637716357bba7fc21b367bc46f4d11e84f08561d81627afd7f56afa8a51659c6bcf293c6b0881994b6298ebb176bfe3f5cf844839de36c0c8#npm:7.28.6"],\ + ["@babel/plugin-transform-classes", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6"],\ + ["@babel/plugin-transform-computed-properties", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6"],\ + ["@babel/plugin-transform-destructuring", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.5"],\ + ["@babel/plugin-transform-dotall-regex", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6"],\ + ["@babel/plugin-transform-duplicate-keys", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1"],\ + ["@babel/plugin-transform-duplicate-named-capturing-groups-regex", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.29.0"],\ + ["@babel/plugin-transform-dynamic-import", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1"],\ + ["@babel/plugin-transform-explicit-resource-management", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6"],\ + ["@babel/plugin-transform-exponentiation-operator", "virtual:52d503c49267f89637716357bba7fc21b367bc46f4d11e84f08561d81627afd7f56afa8a51659c6bcf293c6b0881994b6298ebb176bfe3f5cf844839de36c0c8#npm:7.28.6"],\ + ["@babel/plugin-transform-export-namespace-from", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1"],\ + ["@babel/plugin-transform-for-of", "virtual:52d503c49267f89637716357bba7fc21b367bc46f4d11e84f08561d81627afd7f56afa8a51659c6bcf293c6b0881994b6298ebb176bfe3f5cf844839de36c0c8#npm:7.27.1"],\ + ["@babel/plugin-transform-function-name", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1"],\ + ["@babel/plugin-transform-json-strings", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6"],\ + ["@babel/plugin-transform-literals", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1"],\ + ["@babel/plugin-transform-logical-assignment-operators", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6"],\ + ["@babel/plugin-transform-member-expression-literals", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1"],\ + ["@babel/plugin-transform-modules-amd", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1"],\ + ["@babel/plugin-transform-modules-commonjs", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6"],\ + ["@babel/plugin-transform-modules-systemjs", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.29.4"],\ + ["@babel/plugin-transform-modules-umd", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1"],\ + ["@babel/plugin-transform-named-capturing-groups-regex", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.29.0"],\ + ["@babel/plugin-transform-new-target", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1"],\ + ["@babel/plugin-transform-nullish-coalescing-operator", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6"],\ + ["@babel/plugin-transform-numeric-separator", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6"],\ + ["@babel/plugin-transform-object-rest-spread", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6"],\ + ["@babel/plugin-transform-object-super", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1"],\ + ["@babel/plugin-transform-optional-catch-binding", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6"],\ + ["@babel/plugin-transform-optional-chaining", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6"],\ + ["@babel/plugin-transform-parameters", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.7"],\ + ["@babel/plugin-transform-private-methods", "virtual:52d503c49267f89637716357bba7fc21b367bc46f4d11e84f08561d81627afd7f56afa8a51659c6bcf293c6b0881994b6298ebb176bfe3f5cf844839de36c0c8#npm:7.28.6"],\ + ["@babel/plugin-transform-private-property-in-object", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6"],\ + ["@babel/plugin-transform-property-literals", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1"],\ + ["@babel/plugin-transform-regenerator", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.29.0"],\ + ["@babel/plugin-transform-regexp-modifiers", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6"],\ + ["@babel/plugin-transform-reserved-words", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1"],\ + ["@babel/plugin-transform-shorthand-properties", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1"],\ + ["@babel/plugin-transform-spread", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6"],\ + ["@babel/plugin-transform-sticky-regex", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1"],\ + ["@babel/plugin-transform-template-literals", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1"],\ + ["@babel/plugin-transform-typeof-symbol", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1"],\ + ["@babel/plugin-transform-unicode-escapes", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1"],\ + ["@babel/plugin-transform-unicode-property-regex", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6"],\ + ["@babel/plugin-transform-unicode-regex", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.27.1"],\ + ["@babel/plugin-transform-unicode-sets-regex", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:7.28.6"],\ + ["@babel/preset-env", "virtual:52d503c49267f89637716357bba7fc21b367bc46f4d11e84f08561d81627afd7f56afa8a51659c6bcf293c6b0881994b6298ebb176bfe3f5cf844839de36c0c8#npm:7.29.5"],\ + ["@babel/preset-modules", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:0.1.6-no-external-plugins"],\ + ["@types/babel__core", null],\ + ["babel-plugin-polyfill-corejs2", "virtual:402ea7e211d921dcb42b7c59ca0204eb64a21f2a5173af36864ec3228199d0d16b9c304d156c9e1bd903d0691ae9b3ed1e1909b35a2d9d6f64d924ed365f9ac7#npm:0.4.17"],\ + ["babel-plugin-polyfill-corejs3", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:0.14.2"],\ + ["babel-plugin-polyfill-regenerator", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:0.6.8"],\ + ["core-js-compat", "npm:3.49.0"],\ + ["semver", "npm:6.3.1"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["@babel/preset-flow", [\ @@ -5057,6 +7025,13 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["npm:7.27.1", {\ + "packageLocation": "./.yarn/cache/@babel-preset-flow-npm-7.27.1-26f996004d-f3f25b390d.zip/node_modules/@babel/preset-flow/",\ + "packageDependencies": [\ + ["@babel/preset-flow", "npm:7.27.1"]\ + ],\ + "linkType": "SOFT"\ + }],\ ["virtual:3b95fee5276ca1e92877c795d1cd5e41ac701a83ac80c6a2964af07482110846c560542d261bc7379c970f57296b151bdaee10825618876feae647ed67865acd#npm:7.25.9", {\ "packageLocation": "./.yarn/__virtual__/@babel-preset-flow-virtual-92d2e4022e/0/cache/@babel-preset-flow-npm-7.25.9-0e1dae7fd6-b1591ea63a.zip/node_modules/@babel/preset-flow/",\ "packageDependencies": [\ @@ -5072,6 +7047,22 @@ const RAW_RUNTIME_STATE = "@types/babel__core"\ ],\ "linkType": "HARD"\ + }],\ + ["virtual:52d503c49267f89637716357bba7fc21b367bc46f4d11e84f08561d81627afd7f56afa8a51659c6bcf293c6b0881994b6298ebb176bfe3f5cf844839de36c0c8#npm:7.27.1", {\ + "packageLocation": "./.yarn/__virtual__/@babel-preset-flow-virtual-82f1406940/0/cache/@babel-preset-flow-npm-7.27.1-26f996004d-f3f25b390d.zip/node_modules/@babel/preset-flow/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-plugin-utils", "npm:7.27.1"],\ + ["@babel/helper-validator-option", "npm:7.27.1"],\ + ["@babel/plugin-transform-flow-strip-types", "virtual:82f1406940f5a316cde091a391b5bd8b74df45b6ac80e495c6686b635e8dced9679ab5ec050275c887feef7e7730454ca1b352fcca3193e2c52f5831c5b3e1e8#npm:7.27.1"],\ + ["@babel/preset-flow", "virtual:52d503c49267f89637716357bba7fc21b367bc46f4d11e84f08561d81627afd7f56afa8a51659c6bcf293c6b0881994b6298ebb176bfe3f5cf844839de36c0c8#npm:7.27.1"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["@babel/preset-modules", [\ @@ -5082,6 +7073,22 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:0.1.6-no-external-plugins", {\ + "packageLocation": "./.yarn/__virtual__/@babel-preset-modules-virtual-d0024e1bb2/0/cache/@babel-preset-modules-npm-0.1.6-no-external-plugins-0ae0b52ff3-039aba98a6.zip/node_modules/@babel/preset-modules/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-plugin-utils", "npm:7.22.5"],\ + ["@babel/preset-modules", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:0.1.6-no-external-plugins"],\ + ["@babel/types", "npm:7.24.6"],\ + ["@types/babel__core", null],\ + ["esutils", "npm:2.0.3"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:0.1.6-no-external-plugins", {\ "packageLocation": "./.yarn/__virtual__/@babel-preset-modules-virtual-d37c86fd75/0/cache/@babel-preset-modules-npm-0.1.6-no-external-plugins-0ae0b52ff3-039aba98a6.zip/node_modules/@babel/preset-modules/",\ "packageDependencies": [\ @@ -5099,6 +7106,34 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["@babel/preset-react", [\ + ["npm:7.28.5", {\ + "packageLocation": "./.yarn/cache/@babel-preset-react-npm-7.28.5-c8cf58f638-c00d43b277.zip/node_modules/@babel/preset-react/",\ + "packageDependencies": [\ + ["@babel/preset-react", "npm:7.28.5"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:52d503c49267f89637716357bba7fc21b367bc46f4d11e84f08561d81627afd7f56afa8a51659c6bcf293c6b0881994b6298ebb176bfe3f5cf844839de36c0c8#npm:7.28.5", {\ + "packageLocation": "./.yarn/__virtual__/@babel-preset-react-virtual-19b010fdd6/0/cache/@babel-preset-react-npm-7.28.5-c8cf58f638-c00d43b277.zip/node_modules/@babel/preset-react/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-plugin-utils", "npm:7.27.1"],\ + ["@babel/helper-validator-option", "npm:7.27.1"],\ + ["@babel/plugin-transform-react-display-name", "virtual:19b010fdd6ea7b0d829362c4f5afacd10a03b9de462b3cd3defcbb49c4d4028784a14f8524dbedfcb3fe06cd01b7ff9282792c1d51e2193e808b37d897172b0c#npm:7.28.0"],\ + ["@babel/plugin-transform-react-jsx", "virtual:19b010fdd6ea7b0d829362c4f5afacd10a03b9de462b3cd3defcbb49c4d4028784a14f8524dbedfcb3fe06cd01b7ff9282792c1d51e2193e808b37d897172b0c#npm:7.28.6"],\ + ["@babel/plugin-transform-react-jsx-development", "virtual:19b010fdd6ea7b0d829362c4f5afacd10a03b9de462b3cd3defcbb49c4d4028784a14f8524dbedfcb3fe06cd01b7ff9282792c1d51e2193e808b37d897172b0c#npm:7.27.1"],\ + ["@babel/plugin-transform-react-pure-annotations", "virtual:19b010fdd6ea7b0d829362c4f5afacd10a03b9de462b3cd3defcbb49c4d4028784a14f8524dbedfcb3fe06cd01b7ff9282792c1d51e2193e808b37d897172b0c#npm:7.27.1"],\ + ["@babel/preset-react", "virtual:52d503c49267f89637716357bba7fc21b367bc46f4d11e84f08561d81627afd7f56afa8a51659c6bcf293c6b0881994b6298ebb176bfe3f5cf844839de36c0c8#npm:7.28.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["@babel/preset-typescript", [\ ["npm:7.26.0", {\ "packageLocation": "./.yarn/cache/@babel-preset-typescript-npm-7.26.0-0771d290dd-81a6082616.zip/node_modules/@babel/preset-typescript/",\ @@ -5297,6 +7332,20 @@ const RAW_RUNTIME_STATE = ["debug", "virtual:66b3390b4eccbfa0e7f88b649ba0bbc12a2944432838d6fddbf862e3ce97448fd27286b33697fdcd278339dcbac4ff595eb84b91eeb93160166752a0fcae7007#npm:4.3.4"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:7.29.0", {\ + "packageLocation": "./.yarn/cache/@babel-traverse-npm-7.29.0-85d5d916b6-3a0d0438f1.zip/node_modules/@babel/traverse/",\ + "packageDependencies": [\ + ["@babel/code-frame", "npm:7.29.0"],\ + ["@babel/generator", "npm:7.29.1"],\ + ["@babel/helper-globals", "npm:7.28.0"],\ + ["@babel/parser", "npm:7.29.3"],\ + ["@babel/template", "npm:7.28.6"],\ + ["@babel/traverse", "npm:7.29.0"],\ + ["@babel/types", "npm:7.29.0"],\ + ["debug", "virtual:66b3390b4eccbfa0e7f88b649ba0bbc12a2944432838d6fddbf862e3ce97448fd27286b33697fdcd278339dcbac4ff595eb84b91eeb93160166752a0fcae7007#npm:4.3.4"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["@babel/types", [\ @@ -5801,21 +7850,58 @@ const RAW_RUNTIME_STATE = ["npm:1.2.4", {\ "packageLocation": "./.yarn/cache/@cypress-xvfb-npm-1.2.4-396a3691f7-cb995b069f.zip/node_modules/@cypress/xvfb/",\ "packageDependencies": [\ - ["@cypress/xvfb", "npm:1.2.4"],\ - ["debug", "virtual:396a3691f7b25accf085fe2fff1f56eb7540eff3f2e928a7572ca1de9b831ff8f22136404f236aaed35d90369918dfc34392844d0f822a310563f34746dfb015#npm:3.2.7"],\ - ["lodash.once", "npm:4.1.1"]\ + ["@cypress/xvfb", "npm:1.2.4"],\ + ["debug", "virtual:396a3691f7b25accf085fe2fff1f56eb7540eff3f2e928a7572ca1de9b831ff8f22136404f236aaed35d90369918dfc34392844d0f822a310563f34746dfb015#npm:3.2.7"],\ + ["lodash.once", "npm:4.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@dabh/diagnostics", [\ + ["npm:2.0.3", {\ + "packageLocation": "./.yarn/cache/@dabh-diagnostics-npm-2.0.3-0f2cd64f24-14e449a7f4.zip/node_modules/@dabh/diagnostics/",\ + "packageDependencies": [\ + ["@dabh/diagnostics", "npm:2.0.3"],\ + ["colorspace", "npm:1.1.4"],\ + ["enabled", "npm:2.0.0"],\ + ["kuler", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@devexpress/bin-v8-flags-filter", [\ + ["npm:1.3.0", {\ + "packageLocation": "./.yarn/cache/@devexpress-bin-v8-flags-filter-npm-1.3.0-81ef659541-d8a46970ce.zip/node_modules/@devexpress/bin-v8-flags-filter/",\ + "packageDependencies": [\ + ["@devexpress/bin-v8-flags-filter", "npm:1.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@devexpress/callsite-record", [\ + ["npm:4.1.7", {\ + "packageLocation": "./.yarn/cache/@devexpress-callsite-record-npm-4.1.7-5b508aea95-03f70e0b0a.zip/node_modules/@devexpress/callsite-record/",\ + "packageDependencies": [\ + ["@devexpress/callsite-record", "npm:4.1.7"],\ + ["@types/lodash", "npm:4.17.24"],\ + ["callsite", "npm:1.0.0"],\ + ["chalk", "npm:2.4.2"],\ + ["error-stack-parser", "npm:2.1.4"],\ + ["highlight-es", "npm:1.0.3"],\ + ["lodash", "npm:4.18.1"],\ + ["pinkie-promise", "npm:2.0.1"]\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@dabh/diagnostics", [\ - ["npm:2.0.3", {\ - "packageLocation": "./.yarn/cache/@dabh-diagnostics-npm-2.0.3-0f2cd64f24-14e449a7f4.zip/node_modules/@dabh/diagnostics/",\ + ["@electron/asar", [\ + ["npm:3.4.1", {\ + "packageLocation": "./.yarn/cache/@electron-asar-npm-3.4.1-4a96ab90b1-c41c6b0a5e.zip/node_modules/@electron/asar/",\ "packageDependencies": [\ - ["@dabh/diagnostics", "npm:2.0.3"],\ - ["colorspace", "npm:1.1.4"],\ - ["enabled", "npm:2.0.0"],\ - ["kuler", "npm:2.0.0"]\ + ["@electron/asar", "npm:3.4.1"],\ + ["commander", "npm:5.1.0"],\ + ["glob", "npm:7.2.3"],\ + ["minimatch", "npm:3.1.5"]\ ],\ "linkType": "HARD"\ }]\ @@ -6931,6 +9017,17 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["@jridgewell/remapping", [\ + ["npm:2.3.5", {\ + "packageLocation": "./.yarn/cache/@jridgewell-remapping-npm-2.3.5-df8dacc063-c2bb01856e.zip/node_modules/@jridgewell/remapping/",\ + "packageDependencies": [\ + ["@jridgewell/gen-mapping", "npm:0.3.5"],\ + ["@jridgewell/remapping", "npm:2.3.5"],\ + ["@jridgewell/trace-mapping", "npm:0.3.25"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["@jridgewell/resolve-uri", [\ ["npm:3.1.2", {\ "packageLocation": "./.yarn/cache/@jridgewell-resolve-uri-npm-3.1.2-5bc4245992-97106439d7.zip/node_modules/@jridgewell/resolve-uri/",\ @@ -7639,6 +9736,37 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["@nodelib/fs.scandir", [\ + ["npm:2.1.5", {\ + "packageLocation": "./.yarn/cache/@nodelib-fs.scandir-npm-2.1.5-89c67370dd-6ab2a9b8a1.zip/node_modules/@nodelib/fs.scandir/",\ + "packageDependencies": [\ + ["@nodelib/fs.scandir", "npm:2.1.5"],\ + ["@nodelib/fs.stat", "npm:2.0.5"],\ + ["run-parallel", "npm:1.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@nodelib/fs.stat", [\ + ["npm:2.0.5", {\ + "packageLocation": "./.yarn/cache/@nodelib-fs.stat-npm-2.0.5-01f4dd3030-012480b5ca.zip/node_modules/@nodelib/fs.stat/",\ + "packageDependencies": [\ + ["@nodelib/fs.stat", "npm:2.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@nodelib/fs.walk", [\ + ["npm:1.2.8", {\ + "packageLocation": "./.yarn/cache/@nodelib-fs.walk-npm-1.2.8-b4a89da548-40033e33e9.zip/node_modules/@nodelib/fs.walk/",\ + "packageDependencies": [\ + ["@nodelib/fs.scandir", "npm:2.1.5"],\ + ["@nodelib/fs.walk", "npm:1.2.8"],\ + ["fastq", "npm:1.20.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["@npmcli/agent", [\ ["npm:2.2.1", {\ "packageLocation": "./.yarn/cache/@npmcli-agent-npm-2.2.1-8af33193ae-d4a48128f6.zip/node_modules/@npmcli/agent/",\ @@ -9338,6 +11466,13 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["@types/estree", [\ + ["npm:0.0.46", {\ + "packageLocation": "./.yarn/cache/@types-estree-npm-0.0.46-173c5af455-9c0b108100.zip/node_modules/@types/estree/",\ + "packageDependencies": [\ + ["@types/estree", "npm:0.0.46"]\ + ],\ + "linkType": "HARD"\ + }],\ ["npm:1.0.5", {\ "packageLocation": "./.yarn/cache/@types-estree-npm-1.0.5-5b7faed3b4-7de6d928dd.zip/node_modules/@types/estree/",\ "packageDependencies": [\ @@ -9353,6 +11488,17 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["@types/glob", [\ + ["npm:7.2.0", {\ + "packageLocation": "./.yarn/cache/@types-glob-npm-7.2.0-772334bf9a-6ae717fedf.zip/node_modules/@types/glob/",\ + "packageDependencies": [\ + ["@types/glob", "npm:7.2.0"],\ + ["@types/minimatch", "npm:5.1.2"],\ + ["@types/node", "npm:20.11.20"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["@types/graceful-fs", [\ ["npm:4.1.9", {\ "packageLocation": "./.yarn/cache/@types-graceful-fs-npm-4.1.9-ebd697fe83-79d746a8f0.zip/node_modules/@types/graceful-fs/",\ @@ -9422,6 +11568,15 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["@types/lodash", [\ + ["npm:4.17.24", {\ + "packageLocation": "./.yarn/cache/@types-lodash-npm-4.17.24-4a04035060-0f2082565f.zip/node_modules/@types/lodash/",\ + "packageDependencies": [\ + ["@types/lodash", "npm:4.17.24"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["@types/md5", [\ ["npm:2.3.5", {\ "packageLocation": "./.yarn/cache/@types-md5-npm-2.3.5-bd5c825c57-a86baf0521.zip/node_modules/@types/md5/",\ @@ -9431,6 +11586,15 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["@types/minimatch", [\ + ["npm:5.1.2", {\ + "packageLocation": "./.yarn/cache/@types-minimatch-npm-5.1.2-aab9c394d3-94db5060d2.zip/node_modules/@types/minimatch/",\ + "packageDependencies": [\ + ["@types/minimatch", "npm:5.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["@types/mocha", [\ ["npm:10.0.6", {\ "packageLocation": "./.yarn/cache/@types-mocha-npm-10.0.6-a687c1962c-fc73626e81.zip/node_modules/@types/mocha/",\ @@ -9469,6 +11633,14 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "HARD"\ }],\ + ["npm:20.14.5", {\ + "packageLocation": "./.yarn/cache/@types-node-npm-20.14.5-07c835e492-74c7974a8c.zip/node_modules/@types/node/",\ + "packageDependencies": [\ + ["@types/node", "npm:20.14.5"],\ + ["undici-types", "npm:5.26.5"]\ + ],\ + "linkType": "HARD"\ + }],\ ["npm:20.19.37", {\ "packageLocation": "./.yarn/cache/@types-node-npm-20.19.37-9cf5ed1a85-7e0d561d0d.zip/node_modules/@types/node/",\ "packageDependencies": [\ @@ -10184,6 +12356,16 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["acorn-hammerhead", [\ + ["npm:0.6.2", {\ + "packageLocation": "./.yarn/cache/acorn-hammerhead-npm-0.6.2-273516ed8d-72638825c7.zip/node_modules/acorn-hammerhead/",\ + "packageDependencies": [\ + ["@types/estree", "npm:0.0.46"],\ + ["acorn-hammerhead", "npm:0.6.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["acorn-loose", [\ ["npm:8.5.2", {\ "packageLocation": "./.yarn/cache/acorn-loose-npm-8.5.2-ceac973573-3a86f4263a.zip/node_modules/acorn-loose/",\ @@ -10204,6 +12386,15 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["address", [\ + ["npm:2.0.3", {\ + "packageLocation": "./.yarn/cache/address-npm-2.0.3-cde39e6a0a-b367b0166f.zip/node_modules/address/",\ + "packageDependencies": [\ + ["address", "npm:2.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["adm-zip", [\ ["npm:0.5.17", {\ "packageLocation": "./.yarn/cache/adm-zip-npm-0.5.17-574142a08f-035ea96d04.zip/node_modules/adm-zip/",\ @@ -10944,6 +13135,41 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["array-find", [\ + ["npm:1.0.0", {\ + "packageLocation": "./.yarn/cache/array-find-npm-1.0.0-e6a7eed080-6588ebfd15.zip/node_modules/array-find/",\ + "packageDependencies": [\ + ["array-find", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["array-union", [\ + ["npm:1.0.2", {\ + "packageLocation": "./.yarn/cache/array-union-npm-1.0.2-cc61ee268f-82cec6421b.zip/node_modules/array-union/",\ + "packageDependencies": [\ + ["array-union", "npm:1.0.2"],\ + ["array-uniq", "npm:1.0.3"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:2.1.0", {\ + "packageLocation": "./.yarn/cache/array-union-npm-2.1.0-4e4852b221-5bee12395c.zip/node_modules/array-union/",\ + "packageDependencies": [\ + ["array-union", "npm:2.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["array-uniq", [\ + ["npm:1.0.3", {\ + "packageLocation": "./.yarn/cache/array-uniq-npm-1.0.3-e7f5d6f3a1-1625f06b09.zip/node_modules/array-uniq/",\ + "packageDependencies": [\ + ["array-uniq", "npm:1.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["arrify", [\ ["npm:2.0.1", {\ "packageLocation": "./.yarn/cache/arrify-npm-2.0.1-38c408f77c-067c4c1afd.zip/node_modules/arrify/",\ @@ -11029,6 +13255,13 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["async", [\ + ["npm:3.2.3", {\ + "packageLocation": "./.yarn/cache/async-npm-3.2.3-e9d6b79c88-1265841be4.zip/node_modules/async/",\ + "packageDependencies": [\ + ["async", "npm:3.2.3"]\ + ],\ + "linkType": "HARD"\ + }],\ ["npm:3.2.5", {\ "packageLocation": "./.yarn/cache/async-npm-3.2.5-f5dbdabdfc-323c3615c3.zip/node_modules/async/",\ "packageDependencies": [\ @@ -11044,6 +13277,15 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["async-exit-hook", [\ + ["npm:1.1.2", {\ + "packageLocation": "./.yarn/cache/async-exit-hook-npm-1.1.2-f74a635a86-171ec1547c.zip/node_modules/async-exit-hook/",\ + "packageDependencies": [\ + ["async-exit-hook", "npm:1.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["async-limiter", [\ ["npm:1.0.1", {\ "packageLocation": "./.yarn/cache/async-limiter-npm-1.0.1-7e6819bcdb-2b849695b4.zip/node_modules/async-limiter/",\ @@ -11250,6 +13492,20 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["babel-plugin-module-resolver", [\ + ["npm:5.0.0", {\ + "packageLocation": "./.yarn/cache/babel-plugin-module-resolver-npm-5.0.0-67eb48a53b-13924d6ec9.zip/node_modules/babel-plugin-module-resolver/",\ + "packageDependencies": [\ + ["babel-plugin-module-resolver", "npm:5.0.0"],\ + ["find-babel-config", "npm:2.1.2"],\ + ["glob", "npm:8.1.0"],\ + ["pkg-up", "npm:3.1.0"],\ + ["reselect", "npm:4.1.8"],\ + ["resolve", "patch:resolve@npm%3A1.22.12#optional!builtin::version=1.22.12&hash=c3c19d"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["babel-plugin-polyfill-corejs2", [\ ["npm:0.4.11", {\ "packageLocation": "./.yarn/cache/babel-plugin-polyfill-corejs2-npm-0.4.11-77e1239277-9c79908bed.zip/node_modules/babel-plugin-polyfill-corejs2/",\ @@ -11265,6 +13521,13 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["npm:0.4.17", {\ + "packageLocation": "./.yarn/cache/babel-plugin-polyfill-corejs2-npm-0.4.17-0f25e0dfad-35796b7f96.zip/node_modules/babel-plugin-polyfill-corejs2/",\ + "packageDependencies": [\ + ["babel-plugin-polyfill-corejs2", "npm:0.4.17"]\ + ],\ + "linkType": "SOFT"\ + }],\ ["virtual:30266fe90b6c6acabdec7f60d7efd58c2002a45de7dc431778779c77a8a9e1df5b6dcb463505341af0f36ac01c0cc6fdd6615065124cce787469b0700078696a#npm:0.4.11", {\ "packageLocation": "./.yarn/__virtual__/babel-plugin-polyfill-corejs2-virtual-65a4f85f0c/0/cache/babel-plugin-polyfill-corejs2-npm-0.4.11-77e1239277-9c79908bed.zip/node_modules/babel-plugin-polyfill-corejs2/",\ "packageDependencies": [\ @@ -11281,6 +13544,22 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "HARD"\ }],\ + ["virtual:402ea7e211d921dcb42b7c59ca0204eb64a21f2a5173af36864ec3228199d0d16b9c304d156c9e1bd903d0691ae9b3ed1e1909b35a2d9d6f64d924ed365f9ac7#npm:0.4.17", {\ + "packageLocation": "./.yarn/__virtual__/babel-plugin-polyfill-corejs2-virtual-52932ed2e9/0/cache/babel-plugin-polyfill-corejs2-npm-0.4.17-0f25e0dfad-35796b7f96.zip/node_modules/babel-plugin-polyfill-corejs2/",\ + "packageDependencies": [\ + ["@babel/compat-data", "npm:7.29.3"],\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-define-polyfill-provider", "virtual:52932ed2e99ea77b7c0835dd86793defed3a8a47e205168da2148a25e25a8012db3a8b7b40f1fc51532c83ad7f6285bb2fe662bf6c0d97f942fa6b662ad73096#npm:0.6.8"],\ + ["@types/babel__core", null],\ + ["babel-plugin-polyfill-corejs2", "virtual:402ea7e211d921dcb42b7c59ca0204eb64a21f2a5173af36864ec3228199d0d16b9c304d156c9e1bd903d0691ae9b3ed1e1909b35a2d9d6f64d924ed365f9ac7#npm:0.4.17"],\ + ["semver", "npm:6.3.1"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:0.4.14", {\ "packageLocation": "./.yarn/__virtual__/babel-plugin-polyfill-corejs2-virtual-1093375579/0/cache/babel-plugin-polyfill-corejs2-npm-0.4.14-63d074d369-8ec00a1b82.zip/node_modules/babel-plugin-polyfill-corejs2/",\ "packageDependencies": [\ @@ -11313,6 +13592,35 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["npm:0.14.2", {\ + "packageLocation": "./.yarn/cache/babel-plugin-polyfill-corejs3-npm-0.14.2-a37e45ac92-bb500bfec7.zip/node_modules/babel-plugin-polyfill-corejs3/",\ + "packageDependencies": [\ + ["babel-plugin-polyfill-corejs3", "npm:0.14.2"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["npm:0.8.7", {\ + "packageLocation": "./.yarn/cache/babel-plugin-polyfill-corejs3-npm-0.8.7-76de93c569-defbc6de3d.zip/node_modules/babel-plugin-polyfill-corejs3/",\ + "packageDependencies": [\ + ["babel-plugin-polyfill-corejs3", "npm:0.8.7"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:0.14.2", {\ + "packageLocation": "./.yarn/__virtual__/babel-plugin-polyfill-corejs3-virtual-a765778d9a/0/cache/babel-plugin-polyfill-corejs3-npm-0.14.2-a37e45ac92-bb500bfec7.zip/node_modules/babel-plugin-polyfill-corejs3/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-define-polyfill-provider", "virtual:52932ed2e99ea77b7c0835dd86793defed3a8a47e205168da2148a25e25a8012db3a8b7b40f1fc51532c83ad7f6285bb2fe662bf6c0d97f942fa6b662ad73096#npm:0.6.8"],\ + ["@types/babel__core", null],\ + ["babel-plugin-polyfill-corejs3", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:0.14.2"],\ + ["core-js-compat", "npm:3.49.0"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:30266fe90b6c6acabdec7f60d7efd58c2002a45de7dc431778779c77a8a9e1df5b6dcb463505341af0f36ac01c0cc6fdd6615065124cce787469b0700078696a#npm:0.10.6", {\ "packageLocation": "./.yarn/__virtual__/babel-plugin-polyfill-corejs3-virtual-88d57c0493/0/cache/babel-plugin-polyfill-corejs3-npm-0.10.6-066bf0a146-360ac9054a.zip/node_modules/babel-plugin-polyfill-corejs3/",\ "packageDependencies": [\ @@ -11328,6 +13636,21 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "HARD"\ }],\ + ["virtual:402ea7e211d921dcb42b7c59ca0204eb64a21f2a5173af36864ec3228199d0d16b9c304d156c9e1bd903d0691ae9b3ed1e1909b35a2d9d6f64d924ed365f9ac7#npm:0.8.7", {\ + "packageLocation": "./.yarn/__virtual__/babel-plugin-polyfill-corejs3-virtual-da7aa50ccb/0/cache/babel-plugin-polyfill-corejs3-npm-0.8.7-76de93c569-defbc6de3d.zip/node_modules/babel-plugin-polyfill-corejs3/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-define-polyfill-provider", "virtual:da7aa50ccb5638dc18828407d4d630a3cfefc4e29017f81d33e18e9a0f1fc8d759386caa6bb75255a3276490de88ef336900bd4f93c6fc900e1932d834a94ea1#npm:0.4.4"],\ + ["@types/babel__core", null],\ + ["babel-plugin-polyfill-corejs3", "virtual:402ea7e211d921dcb42b7c59ca0204eb64a21f2a5173af36864ec3228199d0d16b9c304d156c9e1bd903d0691ae9b3ed1e1909b35a2d9d6f64d924ed365f9ac7#npm:0.8.7"],\ + ["core-js-compat", "npm:3.49.0"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:0.13.0", {\ "packageLocation": "./.yarn/__virtual__/babel-plugin-polyfill-corejs3-virtual-37a6952afd/0/cache/babel-plugin-polyfill-corejs3-npm-0.13.0-180f7738ff-aa36f9a095.zip/node_modules/babel-plugin-polyfill-corejs3/",\ "packageDependencies": [\ @@ -11345,6 +13668,13 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["babel-plugin-polyfill-regenerator", [\ + ["npm:0.5.5", {\ + "packageLocation": "./.yarn/cache/babel-plugin-polyfill-regenerator-npm-0.5.5-4829ad3cd0-3a9b482867.zip/node_modules/babel-plugin-polyfill-regenerator/",\ + "packageDependencies": [\ + ["babel-plugin-polyfill-regenerator", "npm:0.5.5"]\ + ],\ + "linkType": "SOFT"\ + }],\ ["npm:0.6.2", {\ "packageLocation": "./.yarn/cache/babel-plugin-polyfill-regenerator-npm-0.6.2-c6dd64788f-1502335710.zip/node_modules/babel-plugin-polyfill-regenerator/",\ "packageDependencies": [\ @@ -11359,6 +13689,27 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["npm:0.6.8", {\ + "packageLocation": "./.yarn/cache/babel-plugin-polyfill-regenerator-npm-0.6.8-59675073c3-974464353d.zip/node_modules/babel-plugin-polyfill-regenerator/",\ + "packageDependencies": [\ + ["babel-plugin-polyfill-regenerator", "npm:0.6.8"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:0.6.8", {\ + "packageLocation": "./.yarn/__virtual__/babel-plugin-polyfill-regenerator-virtual-3cb6df76a9/0/cache/babel-plugin-polyfill-regenerator-npm-0.6.8-59675073c3-974464353d.zip/node_modules/babel-plugin-polyfill-regenerator/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-define-polyfill-provider", "virtual:52932ed2e99ea77b7c0835dd86793defed3a8a47e205168da2148a25e25a8012db3a8b7b40f1fc51532c83ad7f6285bb2fe662bf6c0d97f942fa6b662ad73096#npm:0.6.8"],\ + ["@types/babel__core", null],\ + ["babel-plugin-polyfill-regenerator", "virtual:1e092109d87964b53348a76cbd00650334dd1609136cd852fcab2dba058d4cac7af193d00051de0bbf8752d7a84d9831fe069c31083253494ae4fd29ed2e8e03#npm:0.6.8"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:30266fe90b6c6acabdec7f60d7efd58c2002a45de7dc431778779c77a8a9e1df5b6dcb463505341af0f36ac01c0cc6fdd6615065124cce787469b0700078696a#npm:0.6.2", {\ "packageLocation": "./.yarn/__virtual__/babel-plugin-polyfill-regenerator-virtual-eb9726568d/0/cache/babel-plugin-polyfill-regenerator-npm-0.6.2-c6dd64788f-1502335710.zip/node_modules/babel-plugin-polyfill-regenerator/",\ "packageDependencies": [\ @@ -11373,6 +13724,20 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "HARD"\ }],\ + ["virtual:402ea7e211d921dcb42b7c59ca0204eb64a21f2a5173af36864ec3228199d0d16b9c304d156c9e1bd903d0691ae9b3ed1e1909b35a2d9d6f64d924ed365f9ac7#npm:0.5.5", {\ + "packageLocation": "./.yarn/__virtual__/babel-plugin-polyfill-regenerator-virtual-5c8d421141/0/cache/babel-plugin-polyfill-regenerator-npm-0.5.5-4829ad3cd0-3a9b482867.zip/node_modules/babel-plugin-polyfill-regenerator/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/helper-define-polyfill-provider", "virtual:5c8d4211418a5210d7ed844d0d5a7c331030bd3c5df35f80e4259d52dde835381127b0f6584e0cf939c5e10bd7a1130ff81cc277c52b6e9d709b5e5d4b829e2a#npm:0.5.0"],\ + ["@types/babel__core", null],\ + ["babel-plugin-polyfill-regenerator", "virtual:402ea7e211d921dcb42b7c59ca0204eb64a21f2a5173af36864ec3228199d0d16b9c304d156c9e1bd903d0691ae9b3ed1e1909b35a2d9d6f64d924ed365f9ac7#npm:0.5.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:799de7047ec984c6c76064fe587c3275ef377eb947c3ced539527c591b7cef71c5430134b7c5d6a449c67479a56f0d556a60a8a07354e45b18c83f419c10a557#npm:0.6.5", {\ "packageLocation": "./.yarn/__virtual__/babel-plugin-polyfill-regenerator-virtual-cc9d1c126f/0/cache/babel-plugin-polyfill-regenerator-npm-0.6.5-80a67684cc-ed1932fa9a.zip/node_modules/babel-plugin-polyfill-regenerator/",\ "packageDependencies": [\ @@ -11414,6 +13779,15 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["babel-plugin-syntax-trailing-function-commas", [\ + ["npm:6.22.0", {\ + "packageLocation": "./.yarn/cache/babel-plugin-syntax-trailing-function-commas-npm-6.22.0-1be1a2e94e-d8b9039ded.zip/node_modules/babel-plugin-syntax-trailing-function-commas/",\ + "packageDependencies": [\ + ["babel-plugin-syntax-trailing-function-commas", "npm:6.22.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["babel-plugin-transform-flow-enums", [\ ["npm:0.0.2", {\ "packageLocation": "./.yarn/cache/babel-plugin-transform-flow-enums-npm-0.0.2-dbfa5d78ce-fd52aef544.zip/node_modules/babel-plugin-transform-flow-enums/",\ @@ -11616,6 +13990,15 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["baseline-browser-mapping", [\ + ["npm:2.10.30", {\ + "packageLocation": "./.yarn/cache/baseline-browser-mapping-npm-2.10.30-3f87010121-40f635dc8c.zip/node_modules/baseline-browser-mapping/",\ + "packageDependencies": [\ + ["baseline-browser-mapping", "npm:2.10.30"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["bcrypt-pbkdf", [\ ["npm:1.0.2", {\ "packageLocation": "./.yarn/cache/bcrypt-pbkdf-npm-1.0.2-80db8b16ed-13a4cde058.zip/node_modules/bcrypt-pbkdf/",\ @@ -11690,6 +14073,22 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["bowser", [\ + ["npm:1.6.0", {\ + "packageLocation": "./.yarn/cache/bowser-npm-1.6.0-5ce87005b6-0253ea41af.zip/node_modules/bowser/",\ + "packageDependencies": [\ + ["bowser", "npm:1.6.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:2.14.1", {\ + "packageLocation": "./.yarn/cache/bowser-npm-2.14.1-41eaeb0dd6-a002f0795e.zip/node_modules/bowser/",\ + "packageDependencies": [\ + ["bowser", "npm:2.14.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["brace-expansion", [\ ["npm:1.1.13", {\ "packageLocation": "./.yarn/cache/brace-expansion-npm-1.1.13-551b297c64-b5f4329fdb.zip/node_modules/brace-expansion/",\ @@ -11788,6 +14187,18 @@ const RAW_RUNTIME_STATE = ["update-browserslist-db", "virtual:7df10d33cd6842659a3529d46decd4f1eeb5ec25fc4c848cff54ea69abd11a20a55277c57a073bbb3a702942d2ae57b9433c8450dcbffbc4f38ee3eb9668c39d#npm:1.2.3"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:4.28.2", {\ + "packageLocation": "./.yarn/cache/browserslist-npm-4.28.2-8923c4854e-cff88386e5.zip/node_modules/browserslist/",\ + "packageDependencies": [\ + ["baseline-browser-mapping", "npm:2.10.30"],\ + ["browserslist", "npm:4.28.2"],\ + ["caniuse-lite", "npm:1.0.30001793"],\ + ["electron-to-chromium", "npm:1.5.358"],\ + ["node-releases", "npm:2.0.44"],\ + ["update-browserslist-db", "virtual:8923c4854ee54c9683db1ece07bd6bb7b51fd3d328b956f666f7df11748e3e667e96b548dc7eb350f4baa24ac05db23b149d8355af215d27f6292217fb69ecf9#npm:1.2.3"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["bser", [\ @@ -12041,6 +14452,15 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["callsite", [\ + ["npm:1.0.0", {\ + "packageLocation": "./.yarn/cache/callsite-npm-1.0.0-897924017b-39fc89ef9d.zip/node_modules/callsite/",\ + "packageDependencies": [\ + ["callsite", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["callsites", [\ ["npm:2.0.0", {\ "packageLocation": "./.yarn/cache/callsites-npm-2.0.0-cc39942b7f-be2f67b247.zip/node_modules/callsites/",\ @@ -12105,6 +14525,13 @@ const RAW_RUNTIME_STATE = ["caniuse-lite", "npm:1.0.30001727"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:1.0.30001793", {\ + "packageLocation": "./.yarn/cache/caniuse-lite-npm-1.0.30001793-d05254d2b9-5a1ac39f2f.zip/node_modules/caniuse-lite/",\ + "packageDependencies": [\ + ["caniuse-lite", "npm:1.0.30001793"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["capital-case", [\ @@ -12129,6 +14556,19 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["chai", [\ + ["npm:4.3.4", {\ + "packageLocation": "./.yarn/cache/chai-npm-4.3.4-808f3b5355-68bcba6972.zip/node_modules/chai/",\ + "packageDependencies": [\ + ["assertion-error", "npm:1.1.0"],\ + ["chai", "npm:4.3.4"],\ + ["check-error", "npm:1.0.3"],\ + ["deep-eql", "npm:3.0.1"],\ + ["get-func-name", "npm:2.0.2"],\ + ["pathval", "npm:1.1.1"],\ + ["type-detect", "npm:4.1.0"]\ + ],\ + "linkType": "HARD"\ + }],\ ["npm:4.5.0", {\ "packageLocation": "./.yarn/cache/chai-npm-4.5.0-428447e206-cde341aee1.zip/node_modules/chai/",\ "packageDependencies": [\ @@ -12323,6 +14763,17 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["chrome-remote-interface", [\ + ["npm:0.32.2", {\ + "packageLocation": "./.yarn/cache/chrome-remote-interface-npm-0.32.2-e5d9302a0c-24f8dd4dd3.zip/node_modules/chrome-remote-interface/",\ + "packageDependencies": [\ + ["chrome-remote-interface", "npm:0.32.2"],\ + ["commander", "npm:2.11.0"],\ + ["ws", "virtual:f5211d03eceb5c615629f746a3045d2fa91c38ed5392d5803bbd628fe39c1e446acff433cc73b52e3dd04db2cd7cd15da2104cc82362f80d1b6e17fa5edd6959#npm:7.5.10"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["chromium-edge-launcher", [\ ["npm:0.2.0", {\ "packageLocation": "./.yarn/cache/chromium-edge-launcher-npm-0.2.0-0dd84584c9-9c58094cb6.zip/node_modules/chromium-edge-launcher/",\ @@ -12339,6 +14790,13 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["ci-info", [\ + ["npm:1.6.0", {\ + "packageLocation": "./.yarn/cache/ci-info-npm-1.6.0-2d91706840-dfc058f60c.zip/node_modules/ci-info/",\ + "packageDependencies": [\ + ["ci-info", "npm:1.6.0"]\ + ],\ + "linkType": "HARD"\ + }],\ ["npm:2.0.0", {\ "packageLocation": "./.yarn/cache/ci-info-npm-2.0.0-78012236a1-3b374666a8.zip/node_modules/ci-info/",\ "packageDependencies": [\ @@ -12619,6 +15077,15 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["coffeescript", [\ + ["npm:2.7.0", {\ + "packageLocation": "./.yarn/cache/coffeescript-npm-2.7.0-f0f27e9a2d-702620f24a.zip/node_modules/coffeescript/",\ + "packageDependencies": [\ + ["coffeescript", "npm:2.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["collect-v8-coverage", [\ ["npm:1.0.2", {\ "packageLocation": "./.yarn/cache/collect-v8-coverage-npm-1.0.2-bd20d0c572-30ea7d5c9e.zip/node_modules/collect-v8-coverage/",\ @@ -12752,10 +15219,17 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "HARD"\ }],\ - ["npm:14.0.0", {\ - "packageLocation": "./.yarn/cache/commander-npm-14.0.0-1e0a7932ab-c05418bfc3.zip/node_modules/commander/",\ + ["npm:14.0.0", {\ + "packageLocation": "./.yarn/cache/commander-npm-14.0.0-1e0a7932ab-c05418bfc3.zip/node_modules/commander/",\ + "packageDependencies": [\ + ["commander", "npm:14.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:2.11.0", {\ + "packageLocation": "./.yarn/cache/commander-npm-2.11.0-c1edb3e469-d8940de4ce.zip/node_modules/commander/",\ "packageDependencies": [\ - ["commander", "npm:14.0.0"]\ + ["commander", "npm:2.11.0"]\ ],\ "linkType": "HARD"\ }],\ @@ -12766,6 +15240,13 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "HARD"\ }],\ + ["npm:5.1.0", {\ + "packageLocation": "./.yarn/cache/commander-npm-5.1.0-7e939e7832-3e2ef5c003.zip/node_modules/commander/",\ + "packageDependencies": [\ + ["commander", "npm:5.1.0"]\ + ],\ + "linkType": "HARD"\ + }],\ ["npm:6.2.1", {\ "packageLocation": "./.yarn/cache/commander-npm-6.2.1-d5b635f237-25b88c2efd.zip/node_modules/commander/",\ "packageDependencies": [\ @@ -12909,6 +15390,14 @@ const RAW_RUNTIME_STATE = ["core-js-compat", "npm:3.44.0"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:3.49.0", {\ + "packageLocation": "./.yarn/cache/core-js-compat-npm-3.49.0-7124aa5467-eb35ad9b31.zip/node_modules/core-js-compat/",\ + "packageDependencies": [\ + ["browserslist", "npm:4.28.2"],\ + ["core-js-compat", "npm:3.49.0"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["core-util-is", [\ @@ -12981,6 +15470,15 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["crypto-md5", [\ + ["npm:1.0.0", {\ + "packageLocation": "./.yarn/cache/crypto-md5-npm-1.0.0-56b18cf042-94bd7227bf.zip/node_modules/crypto-md5/",\ + "packageDependencies": [\ + ["crypto-md5", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["css-select", [\ ["npm:5.2.2", {\ "packageLocation": "./.yarn/cache/css-select-npm-5.2.2-6385fe3687-ebb6a88446.zip/node_modules/css-select/",\ @@ -13451,6 +15949,13 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["npm:4.3.1", {\ + "packageLocation": "./.yarn/cache/debug-npm-4.3.1-22e08d605e-37b9f90428.zip/node_modules/debug/",\ + "packageDependencies": [\ + ["debug", "npm:4.3.1"]\ + ],\ + "linkType": "SOFT"\ + }],\ ["npm:4.3.4", {\ "packageLocation": "./.yarn/cache/debug-npm-4.3.4-4513954577-0073c3bcbd.zip/node_modules/debug/",\ "packageDependencies": [\ @@ -13576,6 +16081,20 @@ const RAW_RUNTIME_STATE = "supports-color"\ ],\ "linkType": "HARD"\ + }],\ + ["virtual:9b086e85bda08aac10d43a9852217b3b4aa5a0a5ec994ac94da6247808903c582420884117f58df264b4a072dbf67f0969c7dc8ba6dcf202cf842f9649a4104e#npm:4.3.1", {\ + "packageLocation": "./.yarn/__virtual__/debug-virtual-46a782d0b9/0/cache/debug-npm-4.3.1-22e08d605e-37b9f90428.zip/node_modules/debug/",\ + "packageDependencies": [\ + ["@types/supports-color", null],\ + ["debug", "virtual:9b086e85bda08aac10d43a9852217b3b4aa5a0a5ec994ac94da6247808903c582420884117f58df264b4a072dbf67f0969c7dc8ba6dcf202cf842f9649a4104e#npm:4.3.1"],\ + ["ms", "npm:2.1.2"],\ + ["supports-color", null]\ + ],\ + "packagePeers": [\ + "@types/supports-color",\ + "supports-color"\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["decamelize", [\ @@ -13597,6 +16116,27 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["dedent", [\ + ["npm:0.4.0", {\ + "packageLocation": "./.yarn/cache/dedent-npm-0.4.0-3981bb2373-dd99c0ea75.zip/node_modules/dedent/",\ + "packageDependencies": [\ + ["dedent", "npm:0.4.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:0.6.0", {\ + "packageLocation": "./.yarn/cache/dedent-npm-0.6.0-caa47ac627-b72cbd2bab.zip/node_modules/dedent/",\ + "packageDependencies": [\ + ["dedent", "npm:0.6.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:0.7.0", {\ + "packageLocation": "./.yarn/cache/dedent-npm-0.7.0-2dbb45a4c5-87de191050.zip/node_modules/dedent/",\ + "packageDependencies": [\ + ["dedent", "npm:0.7.0"]\ + ],\ + "linkType": "HARD"\ + }],\ ["npm:1.6.0", {\ "packageLocation": "./.yarn/cache/dedent-npm-1.6.0-2a2b4ba2b1-f100cb1100.zip/node_modules/dedent/",\ "packageDependencies": [\ @@ -13619,6 +16159,14 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["deep-eql", [\ + ["npm:3.0.1", {\ + "packageLocation": "./.yarn/cache/deep-eql-npm-3.0.1-9a66c09c65-d8f8e141ec.zip/node_modules/deep-eql/",\ + "packageDependencies": [\ + ["deep-eql", "npm:3.0.1"],\ + ["type-detect", "npm:4.1.0"]\ + ],\ + "linkType": "HARD"\ + }],\ ["npm:4.1.4", {\ "packageLocation": "./.yarn/cache/deep-eql-npm-4.1.4-bc4d39c2ca-f04f4d581f.zip/node_modules/deep-eql/",\ "packageDependencies": [\ @@ -13688,6 +16236,36 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["del", [\ + ["npm:3.0.0", {\ + "packageLocation": "./.yarn/cache/del-npm-3.0.0-e5f4cb556d-88192c1041.zip/node_modules/del/",\ + "packageDependencies": [\ + ["del", "npm:3.0.0"],\ + ["globby", "npm:6.1.0"],\ + ["is-path-cwd", "npm:1.0.0"],\ + ["is-path-in-cwd", "npm:1.0.1"],\ + ["p-map", "npm:1.2.0"],\ + ["pify", "npm:3.0.0"],\ + ["rimraf", "npm:2.7.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:5.1.0", {\ + "packageLocation": "./.yarn/cache/del-npm-5.1.0-eb4ac07f4c-d9e4ef2c12.zip/node_modules/del/",\ + "packageDependencies": [\ + ["del", "npm:5.1.0"],\ + ["globby", "npm:10.0.2"],\ + ["graceful-fs", "npm:4.2.11"],\ + ["is-glob", "npm:4.0.3"],\ + ["is-path-cwd", "npm:2.2.0"],\ + ["is-path-inside", "npm:3.0.3"],\ + ["p-map", "npm:3.0.0"],\ + ["rimraf", "npm:3.0.2"],\ + ["slash", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["delaunator", [\ ["npm:5.1.0", {\ "packageLocation": "./.yarn/cache/delaunator-npm-5.1.0-206e2b64e9-ede01ddbb6.zip/node_modules/delaunator/",\ @@ -13823,6 +16401,24 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["device-specs", [\ + ["npm:1.0.1", {\ + "packageLocation": "./.yarn/cache/device-specs-npm-1.0.1-cfce364981-7faedcef87.zip/node_modules/device-specs/",\ + "packageDependencies": [\ + ["device-specs", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["devtools-protocol", [\ + ["npm:0.0.1109433", {\ + "packageLocation": "./.yarn/cache/devtools-protocol-npm-0.0.1109433-bde7006142-5d718bdca5.zip/node_modules/devtools-protocol/",\ + "packageDependencies": [\ + ["devtools-protocol", "npm:0.0.1109433"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["diff", [\ ["npm:4.0.4", {\ "packageLocation": "./.yarn/cache/diff-npm-4.0.4-e9ea573423-5019b3f5ae.zip/node_modules/diff/",\ @@ -13848,6 +16444,16 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["dir-glob", [\ + ["npm:3.0.1", {\ + "packageLocation": "./.yarn/cache/dir-glob-npm-3.0.1-1aea628b1b-fa05e18324.zip/node_modules/dir-glob/",\ + "packageDependencies": [\ + ["dir-glob", "npm:3.0.1"],\ + ["path-type", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["dom-accessibility-api", [\ ["npm:0.5.16", {\ "packageLocation": "./.yarn/cache/dom-accessibility-api-npm-0.5.16-d3e2310666-377b4a7f9e.zip/node_modules/dom-accessibility-api/",\ @@ -14029,6 +16635,13 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "HARD"\ }],\ + ["npm:1.5.358", {\ + "packageLocation": "./.yarn/cache/electron-to-chromium-npm-1.5.358-7a5d8d3b34-fa692b18c3.zip/node_modules/electron-to-chromium/",\ + "packageDependencies": [\ + ["electron-to-chromium", "npm:1.5.358"]\ + ],\ + "linkType": "HARD"\ + }],\ ["npm:1.5.76", {\ "packageLocation": "./.yarn/cache/electron-to-chromium-npm-1.5.76-4183712803-2e8ead6caf.zip/node_modules/electron-to-chromium/",\ "packageDependencies": [\ @@ -14037,6 +16650,24 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["elegant-spinner", [\ + ["npm:1.0.1", {\ + "packageLocation": "./.yarn/cache/elegant-spinner-npm-1.0.1-8b799f39a6-d6a773d950.zip/node_modules/elegant-spinner/",\ + "packageDependencies": [\ + ["elegant-spinner", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["email-validator", [\ + ["npm:2.0.4", {\ + "packageLocation": "./.yarn/cache/email-validator-npm-2.0.4-ac07d6a6c7-8444077b05.zip/node_modules/email-validator/",\ + "packageDependencies": [\ + ["email-validator", "npm:2.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["emittery", [\ ["npm:0.13.1", {\ "packageLocation": "./.yarn/cache/emittery-npm-0.13.1-cb6cd1bb03-fbe214171d.zip/node_modules/emittery/",\ @@ -14044,6 +16675,13 @@ const RAW_RUNTIME_STATE = ["emittery", "npm:0.13.1"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:0.4.1", {\ + "packageLocation": "./.yarn/cache/emittery-npm-0.4.1-24c9b05f5e-2f74fbea08.zip/node_modules/emittery/",\ + "packageDependencies": [\ + ["emittery", "npm:0.4.1"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["emoji-regex", [\ @@ -14379,6 +17017,16 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["esotope-hammerhead", [\ + ["npm:0.6.9", {\ + "packageLocation": "./.yarn/cache/esotope-hammerhead-npm-0.6.9-f5d0620e9b-f361e87e93.zip/node_modules/esotope-hammerhead/",\ + "packageDependencies": [\ + ["@types/estree", "npm:0.0.46"],\ + ["esotope-hammerhead", "npm:0.6.9"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["esprima", [\ ["npm:4.0.1", {\ "packageLocation": "./.yarn/cache/esprima-npm-4.0.1-1084e98778-f1d3c622ad.zip/node_modules/esprima/",\ @@ -14453,6 +17101,23 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["execa", [\ + ["npm:3.4.0", {\ + "packageLocation": "./.yarn/cache/execa-npm-3.4.0-ac88a31854-dba9c74383.zip/node_modules/execa/",\ + "packageDependencies": [\ + ["cross-spawn", "npm:7.0.6"],\ + ["execa", "npm:3.4.0"],\ + ["get-stream", "npm:5.2.0"],\ + ["human-signals", "npm:1.1.1"],\ + ["is-stream", "npm:2.0.1"],\ + ["merge-stream", "npm:2.0.0"],\ + ["npm-run-path", "npm:4.0.1"],\ + ["onetime", "npm:5.1.2"],\ + ["p-finally", "npm:2.0.1"],\ + ["signal-exit", "npm:3.0.7"],\ + ["strip-final-newline", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ ["npm:4.1.0", {\ "packageLocation": "./.yarn/cache/execa-npm-4.1.0-cc675b4189-ed58e41fe4.zip/node_modules/execa/",\ "packageDependencies": [\ @@ -14625,6 +17290,20 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["fast-glob", [\ + ["npm:3.3.3", {\ + "packageLocation": "./.yarn/cache/fast-glob-npm-3.3.3-2a653be532-dcc6432b26.zip/node_modules/fast-glob/",\ + "packageDependencies": [\ + ["@nodelib/fs.stat", "npm:2.0.5"],\ + ["@nodelib/fs.walk", "npm:1.2.8"],\ + ["fast-glob", "npm:3.3.3"],\ + ["glob-parent", "npm:5.1.2"],\ + ["merge2", "npm:1.4.1"],\ + ["micromatch", "npm:4.0.8"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["fast-json-stable-stringify", [\ ["npm:2.1.0", {\ "packageLocation": "./.yarn/cache/fast-json-stable-stringify-npm-2.1.0-02e8905fda-2c20055c1f.zip/node_modules/fast-json-stable-stringify/",\ @@ -14666,6 +17345,16 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["fastq", [\ + ["npm:1.20.1", {\ + "packageLocation": "./.yarn/cache/fastq-npm-1.20.1-61577b2c25-ab2fe3a7a1.zip/node_modules/fastq/",\ + "packageDependencies": [\ + ["fastq", "npm:1.20.1"],\ + ["reusify", "npm:1.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["fb-watchman", [\ ["npm:2.0.2", {\ "packageLocation": "./.yarn/cache/fb-watchman-npm-2.0.2-bcb6f8f831-4f95d336fb.zip/node_modules/fb-watchman/",\ @@ -14771,6 +17460,16 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["find-babel-config", [\ + ["npm:2.1.2", {\ + "packageLocation": "./.yarn/cache/find-babel-config-npm-2.1.2-489c2d0cc1-f0fae1a912.zip/node_modules/find-babel-config/",\ + "packageDependencies": [\ + ["find-babel-config", "npm:2.1.2"],\ + ["json5", "npm:2.2.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["find-cache-dir", [\ ["npm:2.1.0", {\ "packageLocation": "./.yarn/cache/find-cache-dir-npm-2.1.0-772aa82638-60ad475a6d.zip/node_modules/find-cache-dir/",\ @@ -14971,6 +17670,16 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["fs-extra", [\ + ["npm:10.1.0", {\ + "packageLocation": "./.yarn/cache/fs-extra-npm-10.1.0-86573680ed-05ce2c3b59.zip/node_modules/fs-extra/",\ + "packageDependencies": [\ + ["fs-extra", "npm:10.1.0"],\ + ["graceful-fs", "npm:4.2.11"],\ + ["jsonfile", "npm:6.1.0"],\ + ["universalify", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ ["npm:11.2.0", {\ "packageLocation": "./.yarn/cache/fs-extra-npm-11.2.0-6783080799-0579bf6726.zip/node_modules/fs-extra/",\ "packageDependencies": [\ @@ -15134,6 +17843,19 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["get-os-info", [\ + ["npm:1.0.2", {\ + "packageLocation": "./.yarn/cache/get-os-info-npm-1.0.2-85ccd30eef-4c8000b582.zip/node_modules/get-os-info/",\ + "packageDependencies": [\ + ["get-os-info", "npm:1.0.2"],\ + ["getos", "npm:3.2.1"],\ + ["macos-release", "npm:3.4.0"],\ + ["os-family", "npm:1.1.0"],\ + ["windows-release", "npm:5.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["get-package-type", [\ ["npm:0.1.0", {\ "packageLocation": "./.yarn/cache/get-package-type-npm-0.1.0-6c70cdc8ab-bba0811116.zip/node_modules/get-package-type/",\ @@ -15154,6 +17876,15 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["get-stdin", [\ + ["npm:4.0.1", {\ + "packageLocation": "./.yarn/cache/get-stdin-npm-4.0.1-10c6ac0b43-4f73d3fe05.zip/node_modules/get-stdin/",\ + "packageDependencies": [\ + ["get-stdin", "npm:4.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["get-stream", [\ ["npm:5.2.0", {\ "packageLocation": "./.yarn/cache/get-stream-npm-5.2.0-2cfd3b452b-13a73148dc.zip/node_modules/get-stream/",\ @@ -15295,6 +18026,48 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["globby", [\ + ["npm:10.0.2", {\ + "packageLocation": "./.yarn/cache/globby-npm-10.0.2-9b274c88d3-6974752014.zip/node_modules/globby/",\ + "packageDependencies": [\ + ["@types/glob", "npm:7.2.0"],\ + ["array-union", "npm:2.1.0"],\ + ["dir-glob", "npm:3.0.1"],\ + ["fast-glob", "npm:3.3.3"],\ + ["glob", "npm:7.2.3"],\ + ["globby", "npm:10.0.2"],\ + ["ignore", "npm:5.3.2"],\ + ["merge2", "npm:1.4.1"],\ + ["slash", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:11.1.0", {\ + "packageLocation": "./.yarn/cache/globby-npm-11.1.0-bdcdf20c71-288e95e310.zip/node_modules/globby/",\ + "packageDependencies": [\ + ["array-union", "npm:2.1.0"],\ + ["dir-glob", "npm:3.0.1"],\ + ["fast-glob", "npm:3.3.3"],\ + ["globby", "npm:11.1.0"],\ + ["ignore", "npm:5.3.2"],\ + ["merge2", "npm:1.4.1"],\ + ["slash", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:6.1.0", {\ + "packageLocation": "./.yarn/cache/globby-npm-6.1.0-590bfb2681-18109d6b9d.zip/node_modules/globby/",\ + "packageDependencies": [\ + ["array-union", "npm:1.0.2"],\ + ["glob", "npm:7.2.3"],\ + ["globby", "npm:6.1.0"],\ + ["object-assign", "npm:4.1.1"],\ + ["pify", "npm:2.3.0"],\ + ["pinkie-promise", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["gopd", [\ ["npm:1.0.1", {\ "packageLocation": "./.yarn/cache/gopd-npm-1.0.1-10c1d0b534-5fbc7ad57b.zip/node_modules/gopd/",\ @@ -15321,6 +18094,16 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["graphlib", [\ + ["npm:2.1.8", {\ + "packageLocation": "./.yarn/cache/graphlib-npm-2.1.8-9fab334669-37cbd851d3.zip/node_modules/graphlib/",\ + "packageDependencies": [\ + ["graphlib", "npm:2.1.8"],\ + ["lodash", "npm:4.18.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["graphql", [\ ["npm:16.8.1", {\ "packageLocation": "./.yarn/cache/graphql-npm-16.8.1-c2cd08b4c0-7a09d3ec5f.zip/node_modules/graphql/",\ @@ -15462,6 +18245,14 @@ const RAW_RUNTIME_STATE = ["hasown", "npm:2.0.2"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:2.0.3", {\ + "packageLocation": "./.yarn/cache/hasown-npm-2.0.3-185c1cc302-619526379c.zip/node_modules/hasown/",\ + "packageDependencies": [\ + ["function-bind", "npm:1.1.2"],\ + ["hasown", "npm:2.0.3"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["he", [\ @@ -15561,6 +18352,18 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["highlight-es", [\ + ["npm:1.0.3", {\ + "packageLocation": "./.yarn/cache/highlight-es-npm-1.0.3-bc2bcc9d6b-442e1d3302.zip/node_modules/highlight-es/",\ + "packageDependencies": [\ + ["chalk", "npm:2.4.2"],\ + ["highlight-es", "npm:1.0.3"],\ + ["is-es2016-keyword", "npm:1.0.0"],\ + ["js-tokens", "npm:3.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["hosted-git-info", [\ ["npm:2.8.9", {\ "packageLocation": "./.yarn/cache/hosted-git-info-npm-2.8.9-62c44fa93f-96da7d4123.zip/node_modules/hosted-git-info/",\ @@ -15625,6 +18428,13 @@ const RAW_RUNTIME_STATE = ["http-cache-semantics", "npm:4.1.1"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:4.2.0", {\ + "packageLocation": "./.yarn/cache/http-cache-semantics-npm-4.2.0-fadacfb3ad-4efd2dfcfe.zip/node_modules/http-cache-semantics/",\ + "packageDependencies": [\ + ["http-cache-semantics", "npm:4.2.0"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["http-errors", [\ @@ -15683,6 +18493,15 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["http-status-codes", [\ + ["npm:2.3.0", {\ + "packageLocation": "./.yarn/cache/http-status-codes-npm-2.3.0-2ae4a17e36-1b8a01940b.zip/node_modules/http-status-codes/",\ + "packageDependencies": [\ + ["http-status-codes", "npm:2.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["httpntlm", [\ ["npm:1.8.13", {\ "packageLocation": "./.yarn/cache/httpntlm-npm-1.8.13-ac5f1035f2-b66750977a.zip/node_modules/httpntlm/",\ @@ -15741,6 +18560,15 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["humanize-duration", [\ + ["npm:3.33.2", {\ + "packageLocation": "./.yarn/cache/humanize-duration-npm-3.33.2-7def8b12df-ac6bc74b09.zip/node_modules/humanize-duration/",\ + "packageDependencies": [\ + ["humanize-duration", "npm:3.33.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["i18next", [\ ["npm:24.2.3", {\ "packageLocation": "./.yarn/cache/i18next-npm-24.2.3-4d61aea223-6c73d964f2.zip/node_modules/i18next/",\ @@ -15773,6 +18601,14 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "HARD"\ }],\ + ["npm:0.5.1", {\ + "packageLocation": "./.yarn/cache/iconv-lite-npm-0.5.1-8f82a50a5f-19c8127722.zip/node_modules/iconv-lite/",\ + "packageDependencies": [\ + ["iconv-lite", "npm:0.5.1"],\ + ["safer-buffer", "npm:2.1.2"]\ + ],\ + "linkType": "HARD"\ + }],\ ["npm:0.6.3", {\ "packageLocation": "./.yarn/cache/iconv-lite-npm-0.6.3-24b8aae27e-24e3292dd3.zip/node_modules/iconv-lite/",\ "packageDependencies": [\ @@ -15799,6 +18635,15 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["ignore", [\ + ["npm:5.3.2", {\ + "packageLocation": "./.yarn/cache/ignore-npm-5.3.2-346d3ba017-cceb6a4570.zip/node_modules/ignore/",\ + "packageDependencies": [\ + ["ignore", "npm:5.3.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["image-size", [\ ["npm:1.2.1", {\ "packageLocation": "./.yarn/cache/image-size-npm-1.2.1-e285f3c080-b290c6cc56.zip/node_modules/image-size/",\ @@ -15820,6 +18665,15 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["import-lazy", [\ + ["npm:3.1.0", {\ + "packageLocation": "./.yarn/cache/import-lazy-npm-3.1.0-d268fae3e2-b202acbbec.zip/node_modules/import-lazy/",\ + "packageDependencies": [\ + ["import-lazy", "npm:3.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["import-local", [\ ["npm:3.2.0", {\ "packageLocation": "./.yarn/cache/import-local-npm-3.2.0-bf54ec7842-0b0b0b412b.zip/node_modules/import-local/",\ @@ -15841,6 +18695,16 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["indent-string", [\ + ["npm:1.2.2", {\ + "packageLocation": "./.yarn/cache/indent-string-npm-1.2.2-73c84c6e36-b4d3b160ee.zip/node_modules/indent-string/",\ + "packageDependencies": [\ + ["get-stdin", "npm:4.0.1"],\ + ["indent-string", "npm:1.2.2"],\ + ["minimist", "npm:1.2.8"],\ + ["repeating", "npm:1.1.3"]\ + ],\ + "linkType": "HARD"\ + }],\ ["npm:4.0.0", {\ "packageLocation": "./.yarn/cache/indent-string-npm-4.0.0-7b717435b2-cd3f5cbc9c.zip/node_modules/indent-string/",\ "packageDependencies": [\ @@ -16032,6 +18896,16 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["is-ci", [\ + ["npm:1.2.1", {\ + "packageLocation": "./.yarn/cache/is-ci-npm-1.2.1-6a67118112-eca06c5626.zip/node_modules/is-ci/",\ + "packageDependencies": [\ + ["ci-info", "npm:1.6.0"],\ + ["is-ci", "npm:1.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["is-core-module", [\ ["npm:2.13.1", {\ "packageLocation": "./.yarn/cache/is-core-module-npm-2.13.1-36e17434f9-d53bd0cc24.zip/node_modules/is-core-module/",\ @@ -16044,8 +18918,16 @@ const RAW_RUNTIME_STATE = ["npm:2.16.1", {\ "packageLocation": "./.yarn/cache/is-core-module-npm-2.16.1-a54837229e-452b2c2fb7.zip/node_modules/is-core-module/",\ "packageDependencies": [\ - ["hasown", "npm:2.0.2"],\ - ["is-core-module", "npm:2.16.1"]\ + ["hasown", "npm:2.0.2"],\ + ["is-core-module", "npm:2.16.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:2.16.2", {\ + "packageLocation": "./.yarn/cache/is-core-module-npm-2.16.2-f7b0e85c93-6ee7535d82.zip/node_modules/is-core-module/",\ + "packageDependencies": [\ + ["hasown", "npm:2.0.3"],\ + ["is-core-module", "npm:2.16.2"]\ ],\ "linkType": "HARD"\ }]\ @@ -16075,7 +18957,23 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["is-es2016-keyword", [\ + ["npm:1.0.0", {\ + "packageLocation": "./.yarn/cache/is-es2016-keyword-npm-1.0.0-926966d039-a6063599e2.zip/node_modules/is-es2016-keyword/",\ + "packageDependencies": [\ + ["is-es2016-keyword", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["is-extglob", [\ + ["npm:1.0.0", {\ + "packageLocation": "./.yarn/cache/is-extglob-npm-1.0.0-6d00ab629f-5eea8517fe.zip/node_modules/is-extglob/",\ + "packageDependencies": [\ + ["is-extglob", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ ["npm:2.1.1", {\ "packageLocation": "./.yarn/cache/is-extglob-npm-2.1.1-0870ea68b5-df033653d0.zip/node_modules/is-extglob/",\ "packageDependencies": [\ @@ -16084,6 +18982,15 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["is-finite", [\ + ["npm:1.1.0", {\ + "packageLocation": "./.yarn/cache/is-finite-npm-1.1.0-c6324c0f8f-532b97ed3d.zip/node_modules/is-finite/",\ + "packageDependencies": [\ + ["is-finite", "npm:1.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["is-fullwidth-code-point", [\ ["npm:3.0.0", {\ "packageLocation": "./.yarn/cache/is-fullwidth-code-point-npm-3.0.0-1ecf4ebee5-44a30c2945.zip/node_modules/is-fullwidth-code-point/",\ @@ -16113,6 +19020,14 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["is-glob", [\ + ["npm:2.0.1", {\ + "packageLocation": "./.yarn/cache/is-glob-npm-2.0.1-f316041d6e-089f5f9364.zip/node_modules/is-glob/",\ + "packageDependencies": [\ + ["is-extglob", "npm:1.0.0"],\ + ["is-glob", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ ["npm:4.0.3", {\ "packageLocation": "./.yarn/cache/is-glob-npm-4.0.3-cb87bf1bdb-3ed74f2b0c.zip/node_modules/is-glob/",\ "packageDependencies": [\ @@ -16179,7 +19094,41 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["is-path-cwd", [\ + ["npm:1.0.0", {\ + "packageLocation": "./.yarn/cache/is-path-cwd-npm-1.0.0-e4a6dc5f50-ade6d8d59b.zip/node_modules/is-path-cwd/",\ + "packageDependencies": [\ + ["is-path-cwd", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:2.2.0", {\ + "packageLocation": "./.yarn/cache/is-path-cwd-npm-2.2.0-e35e4aab5f-46a840921b.zip/node_modules/is-path-cwd/",\ + "packageDependencies": [\ + ["is-path-cwd", "npm:2.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-path-in-cwd", [\ + ["npm:1.0.1", {\ + "packageLocation": "./.yarn/cache/is-path-in-cwd-npm-1.0.1-2cbe369511-bacfc67c0d.zip/node_modules/is-path-in-cwd/",\ + "packageDependencies": [\ + ["is-path-in-cwd", "npm:1.0.1"],\ + ["is-path-inside", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["is-path-inside", [\ + ["npm:1.0.1", {\ + "packageLocation": "./.yarn/cache/is-path-inside-npm-1.0.1-cd0d417091-07e52c8116.zip/node_modules/is-path-inside/",\ + "packageDependencies": [\ + ["is-path-inside", "npm:1.0.1"],\ + ["path-is-inside", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }],\ ["npm:3.0.3", {\ "packageLocation": "./.yarn/cache/is-path-inside-npm-3.0.3-2ea0ef44fd-abd50f0618.zip/node_modules/is-path-inside/",\ "packageDependencies": [\ @@ -16207,6 +19156,15 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["is-podman", [\ + ["npm:1.0.1", {\ + "packageLocation": "./.yarn/cache/is-podman-npm-1.0.1-ee44473753-9a72f5fced.zip/node_modules/is-podman/",\ + "packageDependencies": [\ + ["is-podman", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["is-potential-custom-element-name", [\ ["npm:1.0.1", {\ "packageLocation": "./.yarn/cache/is-potential-custom-element-name-npm-1.0.1-f352f606f8-ced7bbbb64.zip/node_modules/is-potential-custom-element-name/",\ @@ -16260,6 +19218,15 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["is-utf8", [\ + ["npm:0.2.1", {\ + "packageLocation": "./.yarn/cache/is-utf8-npm-0.2.1-46ab364e2f-167ccd2be8.zip/node_modules/is-utf8/",\ + "packageDependencies": [\ + ["is-utf8", "npm:0.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["is-wsl", [\ ["npm:2.2.0", {\ "packageLocation": "./.yarn/cache/is-wsl-npm-2.2.0-2ba10d6393-20849846ae.zip/node_modules/is-wsl/",\ @@ -17296,6 +20263,13 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["js-tokens", [\ + ["npm:3.0.2", {\ + "packageLocation": "./.yarn/cache/js-tokens-npm-3.0.2-fe6fb334bd-a2d47dbe77.zip/node_modules/js-tokens/",\ + "packageDependencies": [\ + ["js-tokens", "npm:3.0.2"]\ + ],\ + "linkType": "HARD"\ + }],\ ["npm:4.0.0", {\ "packageLocation": "./.yarn/cache/js-tokens-npm-4.0.0-0ac852e9e2-af37d0d913.zip/node_modules/js-tokens/",\ "packageDependencies": [\ @@ -17765,6 +20739,16 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["linux-platform-info", [\ + ["npm:0.0.3", {\ + "packageLocation": "./.yarn/cache/linux-platform-info-npm-0.0.3-52ed848324-12622e35e9.zip/node_modules/linux-platform-info/",\ + "packageDependencies": [\ + ["linux-platform-info", "npm:0.0.3"],\ + ["os-family", "npm:1.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["liquid-json", [\ ["npm:0.3.1", {\ "packageLocation": "./.yarn/cache/liquid-json-npm-0.3.1-ebd19d9d7f-c35bfb86d5.zip/node_modules/liquid-json/",\ @@ -17951,6 +20935,19 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["log-update-async-hook", [\ + ["npm:2.0.7", {\ + "packageLocation": "./.yarn/cache/log-update-async-hook-npm-2.0.7-5eaaa2c8a9-ade8430b1e.zip/node_modules/log-update-async-hook/",\ + "packageDependencies": [\ + ["ansi-escapes", "npm:4.3.2"],\ + ["async-exit-hook", "npm:1.1.2"],\ + ["log-update-async-hook", "npm:2.0.7"],\ + ["onetime", "npm:2.0.1"],\ + ["wrap-ansi", "npm:7.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["logform", [\ ["npm:2.7.0", {\ "packageLocation": "./.yarn/cache/logform-npm-2.7.0-7a34a0bd17-4b861bfd67.zip/node_modules/logform/",\ @@ -18018,6 +21015,13 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "HARD"\ }],\ + ["npm:11.0.2", {\ + "packageLocation": "./.yarn/cache/lru-cache-npm-11.0.2-72e1eedbe6-25fcb66e9d.zip/node_modules/lru-cache/",\ + "packageDependencies": [\ + ["lru-cache", "npm:11.0.2"]\ + ],\ + "linkType": "HARD"\ + }],\ ["npm:5.1.1", {\ "packageLocation": "./.yarn/cache/lru-cache-npm-5.1.1-f475882a51-951d2673dc.zip/node_modules/lru-cache/",\ "packageDependencies": [\ @@ -18062,6 +21066,15 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["macos-release", [\ + ["npm:3.4.0", {\ + "packageLocation": "./.yarn/cache/macos-release-npm-3.4.0-47c3964d0e-f4c0cb8b3f.zip/node_modules/macos-release/",\ + "packageDependencies": [\ + ["macos-release", "npm:3.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["magic-string", [\ ["npm:0.30.21", {\ "packageLocation": "./.yarn/cache/magic-string-npm-0.30.21-9a226cb21e-57d5691f41.zip/node_modules/magic-string/",\ @@ -18082,6 +21095,14 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "HARD"\ }],\ + ["npm:3.1.0", {\ + "packageLocation": "./.yarn/cache/make-dir-npm-3.1.0-d1d7505142-484200020a.zip/node_modules/make-dir/",\ + "packageDependencies": [\ + ["make-dir", "npm:3.1.0"],\ + ["semver", "npm:6.3.1"]\ + ],\ + "linkType": "HARD"\ + }],\ ["npm:4.0.0", {\ "packageLocation": "./.yarn/cache/make-dir-npm-4.0.0-ec3cd921cc-bf0731a2dd.zip/node_modules/make-dir/",\ "packageDependencies": [\ @@ -18145,6 +21166,16 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["match-url-wildcard", [\ + ["npm:0.0.4", {\ + "packageLocation": "./.yarn/cache/match-url-wildcard-npm-0.0.4-c6f9992247-647e29a522.zip/node_modules/match-url-wildcard/",\ + "packageDependencies": [\ + ["escape-string-regexp", "npm:1.0.5"],\ + ["match-url-wildcard", "npm:0.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["math-intrinsics", [\ ["npm:1.1.0", {\ "packageLocation": "./.yarn/cache/math-intrinsics-npm-1.1.0-9204d80e7d-11df2eda46.zip/node_modules/math-intrinsics/",\ @@ -18203,6 +21234,14 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["merge-stream", [\ + ["npm:1.0.1", {\ + "packageLocation": "./.yarn/cache/merge-stream-npm-1.0.1-8b7634c25d-3be7887dff.zip/node_modules/merge-stream/",\ + "packageDependencies": [\ + ["merge-stream", "npm:1.0.1"],\ + ["readable-stream", "npm:2.3.8"]\ + ],\ + "linkType": "HARD"\ + }],\ ["npm:2.0.0", {\ "packageLocation": "./.yarn/cache/merge-stream-npm-2.0.0-2ac83efea5-6fa4dcc8d8.zip/node_modules/merge-stream/",\ "packageDependencies": [\ @@ -18211,6 +21250,15 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["merge2", [\ + ["npm:1.4.1", {\ + "packageLocation": "./.yarn/cache/merge2-npm-1.4.1-a2507bd06c-7268db63ed.zip/node_modules/merge2/",\ + "packageDependencies": [\ + ["merge2", "npm:1.4.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["metro", [\ ["npm:0.81.0", {\ "packageLocation": "./.yarn/cache/metro-npm-0.81.0-659f8bee22-56955726fe.zip/node_modules/metro/",\ @@ -18676,6 +21724,13 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["mime", [\ + ["npm:1.4.1", {\ + "packageLocation": "./.yarn/cache/mime-npm-1.4.1-d0e583698c-94eccd9d1a.zip/node_modules/mime/",\ + "packageDependencies": [\ + ["mime", "npm:1.4.1"]\ + ],\ + "linkType": "HARD"\ + }],\ ["npm:1.6.0", {\ "packageLocation": "./.yarn/cache/mime-npm-1.6.0-60ae95038a-b7d98bb1e0.zip/node_modules/mime/",\ "packageDependencies": [\ @@ -18698,6 +21753,13 @@ const RAW_RUNTIME_STATE = ["mime-db", "npm:1.52.0"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:1.54.0", {\ + "packageLocation": "./.yarn/cache/mime-db-npm-1.54.0-82cccb9d70-9e7834be3d.zip/node_modules/mime-db/",\ + "packageDependencies": [\ + ["mime-db", "npm:1.54.0"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["mime-format", [\ @@ -18729,6 +21791,13 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["mimic-fn", [\ + ["npm:1.2.0", {\ + "packageLocation": "./.yarn/cache/mimic-fn-npm-1.2.0-960bf15ab7-69c0820515.zip/node_modules/mimic-fn/",\ + "packageDependencies": [\ + ["mimic-fn", "npm:1.2.0"]\ + ],\ + "linkType": "HARD"\ + }],\ ["npm:2.1.0", {\ "packageLocation": "./.yarn/cache/mimic-fn-npm-2.1.0-4fbeb3abb4-d2421a3444.zip/node_modules/mimic-fn/",\ "packageDependencies": [\ @@ -18970,6 +22039,15 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["moment-duration-format-commonjs", [\ + ["npm:1.0.1", {\ + "packageLocation": "./.yarn/cache/moment-duration-format-commonjs-npm-1.0.1-6dd796883f-c454edcf5f.zip/node_modules/moment-duration-format-commonjs/",\ + "packageDependencies": [\ + ["moment-duration-format-commonjs", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["monocart-coverage-reports", [\ ["npm:2.12.9", {\ "packageLocation": "./.yarn/cache/monocart-coverage-reports-npm-2.12.9-d4ac94a2bd-483aaadf94.zip/node_modules/monocart-coverage-reports/",\ @@ -19106,6 +22184,15 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["mustache", [\ + ["npm:2.3.2", {\ + "packageLocation": "./.yarn/cache/mustache-npm-2.3.2-c66c21dab1-1b3f0599a6.zip/node_modules/mustache/",\ + "packageDependencies": [\ + ["mustache", "npm:2.3.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["mute-stream", [\ ["npm:0.0.8", {\ "packageLocation": "./.yarn/cache/mute-stream-npm-0.0.8-489a7d6c2b-a2d2e79dde.zip/node_modules/mute-stream/",\ @@ -19157,6 +22244,13 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "HARD"\ }],\ + ["npm:3.3.12", {\ + "packageLocation": "./.yarn/cache/nanoid-npm-3.3.12-41f8e0bb94-6eec280694.zip/node_modules/nanoid/",\ + "packageDependencies": [\ + ["nanoid", "npm:3.3.12"]\ + ],\ + "linkType": "HARD"\ + }],\ ["npm:5.1.9", {\ "packageLocation": "./.yarn/cache/nanoid-npm-5.1.9-f644460319-a8cc355ed2.zip/node_modules/nanoid/",\ "packageDependencies": [\ @@ -19407,6 +22501,13 @@ const RAW_RUNTIME_STATE = ["node-releases", "npm:2.0.19"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:2.0.44", {\ + "packageLocation": "./.yarn/cache/node-releases-npm-2.0.44-405bda900e-c6bc49ac7f.zip/node_modules/node-releases/",\ + "packageDependencies": [\ + ["node-releases", "npm:2.0.44"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["node-stream-zip", [\ @@ -19624,6 +22725,14 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["onetime", [\ + ["npm:2.0.1", {\ + "packageLocation": "./.yarn/cache/onetime-npm-2.0.1-6c39ecc911-5b4f6079e6.zip/node_modules/onetime/",\ + "packageDependencies": [\ + ["mimic-fn", "npm:1.2.0"],\ + ["onetime", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ ["npm:5.1.2", {\ "packageLocation": "./.yarn/cache/onetime-npm-5.1.2-3ed148fa42-e9fd0695a0.zip/node_modules/onetime/",\ "packageDependencies": [\ @@ -19691,6 +22800,15 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["os-family", [\ + ["npm:1.1.0", {\ + "packageLocation": "./.yarn/cache/os-family-npm-1.1.0-1dbc219142-866dfcdcd3.zip/node_modules/os-family/",\ + "packageDependencies": [\ + ["os-family", "npm:1.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["ospath", [\ ["npm:1.2.2", {\ "packageLocation": "./.yarn/cache/ospath-npm-1.2.2-c8f45523a8-505f48a4f4.zip/node_modules/ospath/",\ @@ -19794,6 +22912,15 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["p-finally", [\ + ["npm:2.0.1", {\ + "packageLocation": "./.yarn/cache/p-finally-npm-2.0.1-b59964aa17-6306a2851c.zip/node_modules/p-finally/",\ + "packageDependencies": [\ + ["p-finally", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["p-limit", [\ ["npm:2.3.0", {\ "packageLocation": "./.yarn/cache/p-limit-npm-2.3.0-94a0310039-84ff17f1a3.zip/node_modules/p-limit/",\ @@ -19863,6 +22990,21 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["p-map", [\ + ["npm:1.2.0", {\ + "packageLocation": "./.yarn/cache/p-map-npm-1.2.0-28313e49b6-e7fd1175f5.zip/node_modules/p-map/",\ + "packageDependencies": [\ + ["p-map", "npm:1.2.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:3.0.0", {\ + "packageLocation": "./.yarn/cache/p-map-npm-3.0.0-e4f17c4167-d4a0664d2a.zip/node_modules/p-map/",\ + "packageDependencies": [\ + ["aggregate-error", "npm:3.1.0"],\ + ["p-map", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ ["npm:4.0.0", {\ "packageLocation": "./.yarn/cache/p-map-npm-4.0.0-4677ae07c7-7ba4a2b1e2.zip/node_modules/p-map/",\ "packageDependencies": [\ @@ -19954,6 +23096,20 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["parse5", [\ + ["npm:1.5.1", {\ + "packageLocation": "./.yarn/cache/parse5-npm-1.5.1-bf560a8338-e919ca870f.zip/node_modules/parse5/",\ + "packageDependencies": [\ + ["parse5", "npm:1.5.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:2.2.3", {\ + "packageLocation": "./.yarn/cache/parse5-npm-2.2.3-02a2b2d7ed-79536063a5.zip/node_modules/parse5/",\ + "packageDependencies": [\ + ["parse5", "npm:2.2.3"]\ + ],\ + "linkType": "HARD"\ + }],\ ["npm:7.1.2", {\ "packageLocation": "./.yarn/cache/parse5-npm-7.1.2-aa9a92c270-3c86806bb0.zip/node_modules/parse5/",\ "packageDependencies": [\ @@ -20046,6 +23202,15 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["path-is-inside", [\ + ["npm:1.0.2", {\ + "packageLocation": "./.yarn/cache/path-is-inside-npm-1.0.2-7dd0711668-0b5b6c92d3.zip/node_modules/path-is-inside/",\ + "packageDependencies": [\ + ["path-is-inside", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["path-key", [\ ["npm:3.1.1", {\ "packageLocation": "./.yarn/cache/path-key-npm-3.1.1-0e66ea8321-55cd7a9dd4.zip/node_modules/path-key/",\ @@ -20102,6 +23267,15 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["path-type", [\ + ["npm:4.0.0", {\ + "packageLocation": "./.yarn/cache/path-type-npm-4.0.0-10d47fc86a-5b1e2daa24.zip/node_modules/path-type/",\ + "packageDependencies": [\ + ["path-type", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["pathe", [\ ["npm:2.0.3", {\ "packageLocation": "./.yarn/cache/pathe-npm-2.0.3-0924246ee0-01e9a69928.zip/node_modules/pathe/",\ @@ -20187,6 +23361,13 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "HARD"\ }],\ + ["npm:3.0.0", {\ + "packageLocation": "./.yarn/cache/pify-npm-3.0.0-679ee405c8-668c1dc8d9.zip/node_modules/pify/",\ + "packageDependencies": [\ + ["pify", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ ["npm:4.0.1", {\ "packageLocation": "./.yarn/cache/pify-npm-4.0.1-062756097b-8b97cbf9dc.zip/node_modules/pify/",\ "packageDependencies": [\ @@ -20195,6 +23376,40 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["pinkie", [\ + ["npm:1.0.0", {\ + "packageLocation": "./.yarn/cache/pinkie-npm-1.0.0-1864baf29a-3fe1d9ebf0.zip/node_modules/pinkie/",\ + "packageDependencies": [\ + ["pinkie", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:2.0.4", {\ + "packageLocation": "./.yarn/cache/pinkie-npm-2.0.4-cffce4fb09-11d207257a.zip/node_modules/pinkie/",\ + "packageDependencies": [\ + ["pinkie", "npm:2.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["pinkie-promise", [\ + ["npm:1.0.0", {\ + "packageLocation": "./.yarn/cache/pinkie-promise-npm-1.0.0-e0c57d0c18-9dc945fd77.zip/node_modules/pinkie-promise/",\ + "packageDependencies": [\ + ["pinkie", "npm:1.0.0"],\ + ["pinkie-promise", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:2.0.1", {\ + "packageLocation": "./.yarn/cache/pinkie-promise-npm-2.0.1-095439b8c5-b53a4a2e73.zip/node_modules/pinkie-promise/",\ + "packageDependencies": [\ + ["pinkie", "npm:2.0.4"],\ + ["pinkie-promise", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["pirates", [\ ["npm:4.0.6", {\ "packageLocation": "./.yarn/cache/pirates-npm-4.0.6-a8ec571a43-d02dda76f4.zip/node_modules/pirates/",\ @@ -20239,6 +23454,16 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["pkg-up", [\ + ["npm:3.1.0", {\ + "packageLocation": "./.yarn/cache/pkg-up-npm-3.1.0-1eebe033b7-5bac346b7c.zip/node_modules/pkg-up/",\ + "packageDependencies": [\ + ["find-up", "npm:3.0.0"],\ + ["pkg-up", "npm:3.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["playwright", [\ ["npm:1.60.0", {\ "packageLocation": "./.yarn/cache/playwright-npm-1.60.0-f1d6ab02ce-8569770637.zip/node_modules/playwright/",\ @@ -20260,6 +23485,13 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["pngjs", [\ + ["npm:3.4.0", {\ + "packageLocation": "./.yarn/cache/pngjs-npm-3.4.0-4e495c1dad-0e9227a413.zip/node_modules/pngjs/",\ + "packageDependencies": [\ + ["pngjs", "npm:3.4.0"]\ + ],\ + "linkType": "HARD"\ + }],\ ["npm:7.0.0", {\ "packageLocation": "./.yarn/cache/pngjs-npm-7.0.0-788de6ba02-e843ebbb0d.zip/node_modules/pngjs/",\ "packageDependencies": [\ @@ -20492,6 +23724,15 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["pretty-hrtime", [\ + ["npm:1.0.3", {\ + "packageLocation": "./.yarn/cache/pretty-hrtime-npm-1.0.3-32fd75fcbd-0a462e88a0.zip/node_modules/pretty-hrtime/",\ + "packageDependencies": [\ + ["pretty-hrtime", "npm:1.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["pretty-ms", [\ ["npm:7.0.1", {\ "packageLocation": "./.yarn/cache/pretty-ms-npm-7.0.1-d748cac064-a39aac23cc.zip/node_modules/pretty-ms/",\ @@ -20586,6 +23827,16 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["promisify-event", [\ + ["npm:1.0.0", {\ + "packageLocation": "./.yarn/cache/promisify-event-npm-1.0.0-a5273093c5-c97a76603d.zip/node_modules/promisify-event/",\ + "packageDependencies": [\ + ["pinkie-promise", "npm:2.0.1"],\ + ["promisify-event", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["prompts", [\ ["npm:2.4.2", {\ "packageLocation": "./.yarn/cache/prompts-npm-2.4.2-f5d25d5eea-c52536521a.zip/node_modules/prompts/",\ @@ -20690,6 +23941,15 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["qrcode-terminal", [\ + ["npm:0.10.0", {\ + "packageLocation": "./.yarn/cache/qrcode-terminal-npm-0.10.0-fd8a08eb4f-d0d408be60.zip/node_modules/qrcode-terminal/",\ + "packageDependencies": [\ + ["qrcode-terminal", "npm:0.10.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["qs", [\ ["npm:6.14.2", {\ "packageLocation": "./.yarn/cache/qs-npm-6.14.2-dc981e3564-682933a85b.zip/node_modules/qs/",\ @@ -20727,6 +23987,15 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["queue-microtask", [\ + ["npm:1.2.3", {\ + "packageLocation": "./.yarn/cache/queue-microtask-npm-1.2.3-fcc98e4e2d-72900df061.zip/node_modules/queue-microtask/",\ + "packageDependencies": [\ + ["queue-microtask", "npm:1.2.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["range-parser", [\ ["npm:1.2.1", {\ "packageLocation": "./.yarn/cache/range-parser-npm-1.2.1-1a470fa390-ce21ef2a2d.zip/node_modules/range-parser/",\ @@ -20963,6 +24232,16 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["read-file-relative", [\ + ["npm:1.2.0", {\ + "packageLocation": "./.yarn/cache/read-file-relative-npm-1.2.0-5afc91dbd8-95b8f99a31.zip/node_modules/read-file-relative/",\ + "packageDependencies": [\ + ["callsite", "npm:1.0.0"],\ + ["read-file-relative", "npm:1.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["read-package-json-fast", [\ ["npm:4.0.0", {\ "packageLocation": "./.yarn/cache/read-package-json-fast-npm-4.0.0-59ef005465-bf0becd7d0.zip/node_modules/read-package-json-fast/",\ @@ -21117,6 +24396,14 @@ const RAW_RUNTIME_STATE = ["regenerate-unicode-properties", "npm:10.2.0"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:10.2.2", {\ + "packageLocation": "./.yarn/cache/regenerate-unicode-properties-npm-10.2.2-7d116b2ed9-5041ee3118.zip/node_modules/regenerate-unicode-properties/",\ + "packageDependencies": [\ + ["regenerate", "npm:1.4.2"],\ + ["regenerate-unicode-properties", "npm:10.2.2"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["regenerator-runtime", [\ @@ -21183,6 +24470,19 @@ const RAW_RUNTIME_STATE = ["unicode-match-property-value-ecmascript", "npm:2.1.0"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:6.4.0", {\ + "packageLocation": "./.yarn/cache/regexpu-core-npm-6.4.0-8966e0bc82-bf5f85a502.zip/node_modules/regexpu-core/",\ + "packageDependencies": [\ + ["regenerate", "npm:1.4.2"],\ + ["regenerate-unicode-properties", "npm:10.2.2"],\ + ["regexpu-core", "npm:6.4.0"],\ + ["regjsgen", "npm:0.8.0"],\ + ["regjsparser", "npm:0.13.1"],\ + ["unicode-match-property-ecmascript", "npm:2.0.0"],\ + ["unicode-match-property-value-ecmascript", "npm:2.2.1"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["regjsgen", [\ @@ -21203,6 +24503,14 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "HARD"\ }],\ + ["npm:0.13.1", {\ + "packageLocation": "./.yarn/cache/regjsparser-npm-0.13.1-dd1b4b99ce-3383e9dab8.zip/node_modules/regjsparser/",\ + "packageDependencies": [\ + ["jsesc", "npm:3.1.0"],\ + ["regjsparser", "npm:0.13.1"]\ + ],\ + "linkType": "HARD"\ + }],\ ["npm:0.9.1", {\ "packageLocation": "./.yarn/cache/regjsparser-npm-0.9.1-47cd7c2ee2-be7757ef76.zip/node_modules/regjsparser/",\ "packageDependencies": [\ @@ -21230,6 +24538,25 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["repeating", [\ + ["npm:1.1.3", {\ + "packageLocation": "./.yarn/cache/repeating-npm-1.1.3-a1ca72906a-a10e45c779.zip/node_modules/repeating/",\ + "packageDependencies": [\ + ["is-finite", "npm:1.1.0"],\ + ["repeating", "npm:1.1.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["replicator", [\ + ["npm:1.0.5", {\ + "packageLocation": "./.yarn/cache/replicator-npm-1.0.5-cbc6b8ce66-df7cb4e2bd.zip/node_modules/replicator/",\ + "packageDependencies": [\ + ["replicator", "npm:1.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["request-progress", [\ ["npm:3.0.0", {\ "packageLocation": "./.yarn/cache/request-progress-npm-3.0.0-f79f1c9e67-c25b1c75fb.zip/node_modules/request-progress/",\ @@ -21267,6 +24594,15 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["reselect", [\ + ["npm:4.1.8", {\ + "packageLocation": "./.yarn/cache/reselect-npm-4.1.8-cad5f0a3f3-199984d987.zip/node_modules/reselect/",\ + "packageDependencies": [\ + ["reselect", "npm:4.1.8"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["resolve", [\ ["patch:resolve@npm%3A1.22.10#optional!builtin::version=1.22.10&hash=c3c19d", {\ "packageLocation": "./.yarn/cache/resolve-patch-b5982cfa8c-d4d878bfe3.zip/node_modules/resolve/",\ @@ -21278,6 +24614,17 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "HARD"\ }],\ + ["patch:resolve@npm%3A1.22.12#optional!builtin::version=1.22.12&hash=c3c19d", {\ + "packageLocation": "./.yarn/cache/resolve-patch-2234730f98-f80ad2c2b6.zip/node_modules/resolve/",\ + "packageDependencies": [\ + ["es-errors", "npm:1.3.0"],\ + ["is-core-module", "npm:2.16.2"],\ + ["path-parse", "npm:1.0.7"],\ + ["resolve", "patch:resolve@npm%3A1.22.12#optional!builtin::version=1.22.12&hash=c3c19d"],\ + ["supports-preserve-symlinks-flag", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ ["patch:resolve@npm%3A1.22.8#optional!builtin::version=1.22.8&hash=c3c19d", {\ "packageLocation": "./.yarn/cache/resolve-patch-4254c24959-f345cd37f5.zip/node_modules/resolve/",\ "packageDependencies": [\ @@ -21290,6 +24637,14 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["resolve-cwd", [\ + ["npm:1.0.0", {\ + "packageLocation": "./.yarn/cache/resolve-cwd-npm-1.0.0-c02922d9df-92ba282fbe.zip/node_modules/resolve-cwd/",\ + "packageDependencies": [\ + ["resolve-cwd", "npm:1.0.0"],\ + ["resolve-from", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ ["npm:3.0.0", {\ "packageLocation": "./.yarn/cache/resolve-cwd-npm-3.0.0-e6f4e296bf-546e081601.zip/node_modules/resolve-cwd/",\ "packageDependencies": [\ @@ -21300,6 +24655,13 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["resolve-from", [\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/resolve-from-npm-2.0.0-7d5a73a272-02db4c30fe.zip/node_modules/resolve-from/",\ + "packageDependencies": [\ + ["resolve-from", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ ["npm:3.0.0", {\ "packageLocation": "./.yarn/cache/resolve-from-npm-3.0.0-0bff35697e-c4189f1592.zip/node_modules/resolve-from/",\ "packageDependencies": [\ @@ -21307,6 +24669,13 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "HARD"\ }],\ + ["npm:4.0.0", {\ + "packageLocation": "./.yarn/cache/resolve-from-npm-4.0.0-f758ec21bf-91eb76ce83.zip/node_modules/resolve-from/",\ + "packageDependencies": [\ + ["resolve-from", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ ["npm:5.0.0", {\ "packageLocation": "./.yarn/cache/resolve-from-npm-5.0.0-15c9db4d33-be18a5e4d7.zip/node_modules/resolve-from/",\ "packageDependencies": [\ @@ -21362,6 +24731,15 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["reusify", [\ + ["npm:1.1.0", {\ + "packageLocation": "./.yarn/cache/reusify-npm-1.1.0-96242be57f-af47851b54.zip/node_modules/reusify/",\ + "packageDependencies": [\ + ["reusify", "npm:1.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["rfdc", [\ ["npm:1.3.1", {\ "packageLocation": "./.yarn/cache/rfdc-npm-1.3.1-80aaa71f8d-44cc6a82e2.zip/node_modules/rfdc/",\ @@ -21388,6 +24766,14 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "HARD"\ }],\ + ["npm:2.7.1", {\ + "packageLocation": "./.yarn/cache/rimraf-npm-2.7.1-9a71f3cc37-4586c296c7.zip/node_modules/rimraf/",\ + "packageDependencies": [\ + ["glob", "npm:7.2.3"],\ + ["rimraf", "npm:2.7.1"]\ + ],\ + "linkType": "HARD"\ + }],\ ["npm:3.0.2", {\ "packageLocation": "./.yarn/cache/rimraf-npm-3.0.2-2cb7dac69a-063ffaccaa.zip/node_modules/rimraf/",\ "packageDependencies": [\ @@ -21477,6 +24863,16 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["run-parallel", [\ + ["npm:1.2.0", {\ + "packageLocation": "./.yarn/cache/run-parallel-npm-1.2.0-3f47ff2034-cb4f97ad25.zip/node_modules/run-parallel/",\ + "packageDependencies": [\ + ["queue-microtask", "npm:1.2.3"],\ + ["run-parallel", "npm:1.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["rxjs", [\ ["npm:7.8.1", {\ "packageLocation": "./.yarn/cache/rxjs-npm-7.8.1-41c443a75b-b10cac1a52.zip/node_modules/rxjs/",\ @@ -21538,6 +24934,14 @@ const RAW_RUNTIME_STATE = ["truncate-utf8-bytes", "npm:1.0.2"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:1.6.4", {\ + "packageLocation": "./.yarn/cache/sanitize-filename-npm-1.6.4-3df31c4b93-9fb32f8ae5.zip/node_modules/sanitize-filename/",\ + "packageDependencies": [\ + ["sanitize-filename", "npm:1.6.4"],\ + ["truncate-utf8-bytes", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["saxes", [\ @@ -21735,6 +25139,13 @@ const RAW_RUNTIME_STATE = ["set-cookie-parser", "npm:2.6.0"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:2.7.2", {\ + "packageLocation": "./.yarn/cache/set-cookie-parser-npm-2.7.2-e1a4d1221b-4b6f5ec4e3.zip/node_modules/set-cookie-parser/",\ + "packageDependencies": [\ + ["set-cookie-parser", "npm:2.7.2"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["set-function-length", [\ @@ -22344,6 +25755,14 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["strip-bom", [\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/strip-bom-npm-2.0.0-5c4b64ed5a-08efb746bc.zip/node_modules/strip-bom/",\ + "packageDependencies": [\ + ["is-utf8", "npm:0.2.1"],\ + ["strip-bom", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ ["npm:4.0.0", {\ "packageLocation": "./.yarn/cache/strip-bom-npm-4.0.0-97d367a64d-9dbcfbaf50.zip/node_modules/strip-bom/",\ "packageDependencies": [\ @@ -22512,6 +25931,273 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["testcafe", [\ + ["npm:3.7.4", {\ + "packageLocation": "./.yarn/cache/testcafe-npm-3.7.4-52d503c492-ea2a366a16.zip/node_modules/testcafe/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.29.0"],\ + ["@babel/plugin-proposal-decorators", "virtual:52d503c49267f89637716357bba7fc21b367bc46f4d11e84f08561d81627afd7f56afa8a51659c6bcf293c6b0881994b6298ebb176bfe3f5cf844839de36c0c8#npm:7.29.0"],\ + ["@babel/plugin-syntax-dynamic-import", "virtual:52d503c49267f89637716357bba7fc21b367bc46f4d11e84f08561d81627afd7f56afa8a51659c6bcf293c6b0881994b6298ebb176bfe3f5cf844839de36c0c8#npm:7.8.3"],\ + ["@babel/plugin-syntax-import-meta", "virtual:52d503c49267f89637716357bba7fc21b367bc46f4d11e84f08561d81627afd7f56afa8a51659c6bcf293c6b0881994b6298ebb176bfe3f5cf844839de36c0c8#npm:7.10.4"],\ + ["@babel/plugin-transform-async-generator-functions", "virtual:52d503c49267f89637716357bba7fc21b367bc46f4d11e84f08561d81627afd7f56afa8a51659c6bcf293c6b0881994b6298ebb176bfe3f5cf844839de36c0c8#npm:7.25.9"],\ + ["@babel/plugin-transform-async-to-generator", "virtual:52d503c49267f89637716357bba7fc21b367bc46f4d11e84f08561d81627afd7f56afa8a51659c6bcf293c6b0881994b6298ebb176bfe3f5cf844839de36c0c8#npm:7.28.6"],\ + ["@babel/plugin-transform-class-properties", "virtual:52d503c49267f89637716357bba7fc21b367bc46f4d11e84f08561d81627afd7f56afa8a51659c6bcf293c6b0881994b6298ebb176bfe3f5cf844839de36c0c8#npm:7.25.9"],\ + ["@babel/plugin-transform-class-static-block", "virtual:52d503c49267f89637716357bba7fc21b367bc46f4d11e84f08561d81627afd7f56afa8a51659c6bcf293c6b0881994b6298ebb176bfe3f5cf844839de36c0c8#npm:7.28.6"],\ + ["@babel/plugin-transform-exponentiation-operator", "virtual:52d503c49267f89637716357bba7fc21b367bc46f4d11e84f08561d81627afd7f56afa8a51659c6bcf293c6b0881994b6298ebb176bfe3f5cf844839de36c0c8#npm:7.28.6"],\ + ["@babel/plugin-transform-for-of", "virtual:52d503c49267f89637716357bba7fc21b367bc46f4d11e84f08561d81627afd7f56afa8a51659c6bcf293c6b0881994b6298ebb176bfe3f5cf844839de36c0c8#npm:7.27.1"],\ + ["@babel/plugin-transform-object-rest-spread", "virtual:52d503c49267f89637716357bba7fc21b367bc46f4d11e84f08561d81627afd7f56afa8a51659c6bcf293c6b0881994b6298ebb176bfe3f5cf844839de36c0c8#npm:7.25.9"],\ + ["@babel/plugin-transform-private-methods", "virtual:52d503c49267f89637716357bba7fc21b367bc46f4d11e84f08561d81627afd7f56afa8a51659c6bcf293c6b0881994b6298ebb176bfe3f5cf844839de36c0c8#npm:7.28.6"],\ + ["@babel/plugin-transform-runtime", "virtual:52d503c49267f89637716357bba7fc21b367bc46f4d11e84f08561d81627afd7f56afa8a51659c6bcf293c6b0881994b6298ebb176bfe3f5cf844839de36c0c8#npm:7.23.3"],\ + ["@babel/preset-env", "virtual:52d503c49267f89637716357bba7fc21b367bc46f4d11e84f08561d81627afd7f56afa8a51659c6bcf293c6b0881994b6298ebb176bfe3f5cf844839de36c0c8#npm:7.29.5"],\ + ["@babel/preset-flow", "virtual:52d503c49267f89637716357bba7fc21b367bc46f4d11e84f08561d81627afd7f56afa8a51659c6bcf293c6b0881994b6298ebb176bfe3f5cf844839de36c0c8#npm:7.27.1"],\ + ["@babel/preset-react", "virtual:52d503c49267f89637716357bba7fc21b367bc46f4d11e84f08561d81627afd7f56afa8a51659c6bcf293c6b0881994b6298ebb176bfe3f5cf844839de36c0c8#npm:7.28.5"],\ + ["@babel/runtime", "npm:7.29.2"],\ + ["@devexpress/bin-v8-flags-filter", "npm:1.3.0"],\ + ["@devexpress/callsite-record", "npm:4.1.7"],\ + ["@types/node", "npm:20.14.5"],\ + ["address", "npm:2.0.3"],\ + ["async-exit-hook", "npm:1.1.2"],\ + ["babel-plugin-module-resolver", "npm:5.0.0"],\ + ["babel-plugin-syntax-trailing-function-commas", "npm:6.22.0"],\ + ["bowser", "npm:2.14.1"],\ + ["callsite", "npm:1.0.0"],\ + ["chai", "npm:4.3.4"],\ + ["chalk", "npm:2.4.2"],\ + ["chrome-remote-interface", "npm:0.32.2"],\ + ["coffeescript", "npm:2.7.0"],\ + ["commander", "npm:8.3.0"],\ + ["debug", "virtual:66b3390b4eccbfa0e7f88b649ba0bbc12a2944432838d6fddbf862e3ce97448fd27286b33697fdcd278339dcbac4ff595eb84b91eeb93160166752a0fcae7007#npm:4.3.4"],\ + ["dedent", "npm:0.4.0"],\ + ["del", "npm:3.0.0"],\ + ["device-specs", "npm:1.0.1"],\ + ["devtools-protocol", "npm:0.0.1109433"],\ + ["diff", "npm:8.0.4"],\ + ["elegant-spinner", "npm:1.0.1"],\ + ["email-validator", "npm:2.0.4"],\ + ["emittery", "npm:0.4.1"],\ + ["error-stack-parser", "npm:2.1.4"],\ + ["execa", "npm:4.1.0"],\ + ["get-os-info", "npm:1.0.2"],\ + ["globby", "npm:11.1.0"],\ + ["graceful-fs", "npm:4.2.11"],\ + ["graphlib", "npm:2.1.8"],\ + ["http-status-codes", "npm:2.3.0"],\ + ["humanize-duration", "npm:3.33.2"],\ + ["import-lazy", "npm:3.1.0"],\ + ["indent-string", "npm:1.2.2"],\ + ["is-ci", "npm:1.2.1"],\ + ["is-docker", "npm:2.2.1"],\ + ["is-glob", "npm:2.0.1"],\ + ["is-podman", "npm:1.0.1"],\ + ["is-stream", "npm:2.0.1"],\ + ["json5", "npm:2.2.3"],\ + ["lodash", "npm:4.17.23"],\ + ["log-update-async-hook", "npm:2.0.7"],\ + ["make-dir", "npm:3.1.0"],\ + ["mime-db", "npm:1.54.0"],\ + ["moment", "npm:2.30.1"],\ + ["moment-duration-format-commonjs", "npm:1.0.1"],\ + ["mustache", "npm:2.3.2"],\ + ["nanoid", "npm:3.3.12"],\ + ["os-family", "npm:1.1.0"],\ + ["parse5", "npm:1.5.1"],\ + ["pify", "npm:2.3.0"],\ + ["pinkie", "npm:2.0.4"],\ + ["pngjs", "npm:3.4.0"],\ + ["pretty-hrtime", "npm:1.0.3"],\ + ["promisify-event", "npm:1.0.0"],\ + ["prompts", "npm:2.4.2"],\ + ["qrcode-terminal", "npm:0.10.0"],\ + ["read-file-relative", "npm:1.2.0"],\ + ["replicator", "npm:1.0.5"],\ + ["resolve-cwd", "npm:1.0.0"],\ + ["resolve-from", "npm:4.0.0"],\ + ["sanitize-filename", "npm:1.6.4"],\ + ["semver", "npm:7.6.0"],\ + ["set-cookie-parser", "npm:2.7.2"],\ + ["source-map-support", "npm:0.5.21"],\ + ["strip-bom", "npm:2.0.0"],\ + ["testcafe", "npm:3.7.4"],\ + ["testcafe-browser-tools", "npm:2.0.26"],\ + ["testcafe-hammerhead", "npm:31.7.7"],\ + ["testcafe-legacy-api", "npm:5.1.8"],\ + ["testcafe-reporter-json", "npm:2.2.0"],\ + ["testcafe-reporter-list", "npm:2.2.0"],\ + ["testcafe-reporter-minimal", "npm:2.2.0"],\ + ["testcafe-reporter-spec", "npm:2.2.0"],\ + ["testcafe-reporter-xunit", "npm:2.2.3"],\ + ["testcafe-selector-generator", "npm:0.1.0"],\ + ["time-limit-promise", "npm:1.0.4"],\ + ["tmp", "npm:0.2.5"],\ + ["tree-kill", "npm:1.2.2"],\ + ["typescript", "patch:typescript@npm%3A4.7.4#optional!builtin::version=4.7.4&hash=65a307"],\ + ["unquote", "npm:1.1.1"],\ + ["url-to-options", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["testcafe-browser-tools", [\ + ["npm:2.0.26", {\ + "packageLocation": "./.yarn/unplugged/testcafe-browser-tools-npm-2.0.26-77c1cdb7b2/node_modules/testcafe-browser-tools/",\ + "packageDependencies": [\ + ["array-find", "npm:1.0.0"],\ + ["debug", "virtual:66b3390b4eccbfa0e7f88b649ba0bbc12a2944432838d6fddbf862e3ce97448fd27286b33697fdcd278339dcbac4ff595eb84b91eeb93160166752a0fcae7007#npm:4.3.4"],\ + ["dedent", "npm:0.7.0"],\ + ["del", "npm:5.1.0"],\ + ["execa", "npm:3.4.0"],\ + ["fs-extra", "npm:10.1.0"],\ + ["graceful-fs", "npm:4.2.11"],\ + ["linux-platform-info", "npm:0.0.3"],\ + ["lodash", "npm:4.18.1"],\ + ["mkdirp", "npm:0.5.6"],\ + ["mustache", "npm:2.3.2"],\ + ["nanoid", "npm:3.3.12"],\ + ["os-family", "npm:1.1.0"],\ + ["pify", "npm:2.3.0"],\ + ["pinkie", "npm:2.0.4"],\ + ["read-file-relative", "npm:1.2.0"],\ + ["testcafe-browser-tools", "npm:2.0.26"],\ + ["which-promise", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["testcafe-hammerhead", [\ + ["npm:31.7.7", {\ + "packageLocation": "./.yarn/cache/testcafe-hammerhead-npm-31.7.7-9b086e85bd-899c3cafe3.zip/node_modules/testcafe-hammerhead/",\ + "packageDependencies": [\ + ["@adobe/css-tools", "npm:4.4.4"],\ + ["@electron/asar", "npm:3.4.1"],\ + ["acorn-hammerhead", "npm:0.6.2"],\ + ["bowser", "npm:1.6.0"],\ + ["crypto-md5", "npm:1.0.0"],\ + ["debug", "virtual:9b086e85bda08aac10d43a9852217b3b4aa5a0a5ec994ac94da6247808903c582420884117f58df264b4a072dbf67f0969c7dc8ba6dcf202cf842f9649a4104e#npm:4.3.1"],\ + ["esotope-hammerhead", "npm:0.6.9"],\ + ["http-cache-semantics", "npm:4.2.0"],\ + ["httpntlm", "npm:1.8.13"],\ + ["iconv-lite", "npm:0.5.1"],\ + ["lodash", "npm:4.17.23"],\ + ["lru-cache", "npm:11.0.2"],\ + ["match-url-wildcard", "npm:0.0.4"],\ + ["merge-stream", "npm:1.0.1"],\ + ["mime", "npm:1.4.1"],\ + ["mustache", "npm:2.3.2"],\ + ["nanoid", "npm:3.3.12"],\ + ["os-family", "npm:1.1.0"],\ + ["parse5", "npm:7.3.0"],\ + ["pinkie", "npm:2.0.4"],\ + ["read-file-relative", "npm:1.2.0"],\ + ["semver", "npm:7.5.3"],\ + ["testcafe-hammerhead", "npm:31.7.7"],\ + ["tough-cookie", "npm:4.1.3"],\ + ["tunnel-agent", "npm:0.6.0"],\ + ["ws", "virtual:f5211d03eceb5c615629f746a3045d2fa91c38ed5392d5803bbd628fe39c1e446acff433cc73b52e3dd04db2cd7cd15da2104cc82362f80d1b6e17fa5edd6959#npm:7.5.10"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["testcafe-legacy-api", [\ + ["npm:5.1.8", {\ + "packageLocation": "./.yarn/cache/testcafe-legacy-api-npm-5.1.8-42fa733243-0e7e897eec.zip/node_modules/testcafe-legacy-api/",\ + "packageDependencies": [\ + ["async", "npm:3.2.3"],\ + ["dedent", "npm:0.6.0"],\ + ["highlight-es", "npm:1.0.3"],\ + ["lodash", "npm:4.18.1"],\ + ["moment", "npm:2.30.1"],\ + ["mustache", "npm:2.3.2"],\ + ["os-family", "npm:1.1.0"],\ + ["parse5", "npm:2.2.3"],\ + ["pify", "npm:2.3.0"],\ + ["pinkie", "npm:2.0.4"],\ + ["read-file-relative", "npm:1.2.0"],\ + ["strip-bom", "npm:2.0.0"],\ + ["testcafe-hammerhead", "npm:31.7.7"],\ + ["testcafe-legacy-api", "npm:5.1.8"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["testcafe-reporter-allure", [\ + ["workspace:packages/testcafe-reporter-allure", {\ + "packageLocation": "./packages/testcafe-reporter-allure/",\ + "packageDependencies": [\ + ["@babel/cli", "virtual:2ecc1e95c1d00dc9958b1b002bacd33b93499eda964824ca098f5d458945e68ac78b36c75c288e72d1af771baf072dca7432317fe3381c51ab8c749004dda38d#npm:7.28.0"],\ + ["@babel/core", "npm:7.28.0"],\ + ["@babel/preset-env", "virtual:2ecc1e95c1d00dc9958b1b002bacd33b93499eda964824ca098f5d458945e68ac78b36c75c288e72d1af771baf072dca7432317fe3381c51ab8c749004dda38d#npm:7.28.0"],\ + ["@babel/preset-typescript", "virtual:2ecc1e95c1d00dc9958b1b002bacd33b93499eda964824ca098f5d458945e68ac78b36c75c288e72d1af771baf072dca7432317fe3381c51ab8c749004dda38d#npm:7.27.1"],\ + ["@types/babel__core", "npm:7.20.5"],\ + ["@types/babel__preset-env", "npm:7.10.0"],\ + ["@types/node", "npm:20.19.37"],\ + ["allure-commandline", "npm:2.29.0"],\ + ["allure-js-commons", "virtual:2ecc1e95c1d00dc9958b1b002bacd33b93499eda964824ca098f5d458945e68ac78b36c75c288e72d1af771baf072dca7432317fe3381c51ab8c749004dda38d#workspace:packages/allure-js-commons"],\ + ["allure-vitest", "virtual:2ecc1e95c1d00dc9958b1b002bacd33b93499eda964824ca098f5d458945e68ac78b36c75c288e72d1af771baf072dca7432317fe3381c51ab8c749004dda38d#workspace:packages/allure-vitest"],\ + ["babel-plugin-add-module-exports", "npm:1.0.4"],\ + ["npm-run-all2", "npm:8.0.1"],\ + ["rimraf", "npm:6.0.0"],\ + ["testcafe", "npm:3.7.4"],\ + ["testcafe-reporter-allure", "workspace:packages/testcafe-reporter-allure"],\ + ["typescript", "patch:typescript@npm%3A6.0.3#optional!builtin::version=6.0.3&hash=5786d5"],\ + ["vitest", "virtual:2ecc1e95c1d00dc9958b1b002bacd33b93499eda964824ca098f5d458945e68ac78b36c75c288e72d1af771baf072dca7432317fe3381c51ab8c749004dda38d#npm:4.0.18"]\ + ],\ + "linkType": "SOFT"\ + }]\ + ]],\ + ["testcafe-reporter-json", [\ + ["npm:2.2.0", {\ + "packageLocation": "./.yarn/cache/testcafe-reporter-json-npm-2.2.0-927dba3861-7edb8cfcf8.zip/node_modules/testcafe-reporter-json/",\ + "packageDependencies": [\ + ["testcafe-reporter-json", "npm:2.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["testcafe-reporter-list", [\ + ["npm:2.2.0", {\ + "packageLocation": "./.yarn/cache/testcafe-reporter-list-npm-2.2.0-936d4104ed-ba473ca217.zip/node_modules/testcafe-reporter-list/",\ + "packageDependencies": [\ + ["testcafe-reporter-list", "npm:2.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["testcafe-reporter-minimal", [\ + ["npm:2.2.0", {\ + "packageLocation": "./.yarn/cache/testcafe-reporter-minimal-npm-2.2.0-5e3a1739b5-1919a793c0.zip/node_modules/testcafe-reporter-minimal/",\ + "packageDependencies": [\ + ["testcafe-reporter-minimal", "npm:2.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["testcafe-reporter-spec", [\ + ["npm:2.2.0", {\ + "packageLocation": "./.yarn/cache/testcafe-reporter-spec-npm-2.2.0-b4d8072498-c17b6be1d8.zip/node_modules/testcafe-reporter-spec/",\ + "packageDependencies": [\ + ["testcafe-reporter-spec", "npm:2.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["testcafe-reporter-xunit", [\ + ["npm:2.2.3", {\ + "packageLocation": "./.yarn/cache/testcafe-reporter-xunit-npm-2.2.3-666423df74-d5b9654d64.zip/node_modules/testcafe-reporter-xunit/",\ + "packageDependencies": [\ + ["testcafe-reporter-xunit", "npm:2.2.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["testcafe-selector-generator", [\ + ["npm:0.1.0", {\ + "packageLocation": "./.yarn/cache/testcafe-selector-generator-npm-0.1.0-e3fbe291b5-d0d6cb603b.zip/node_modules/testcafe-selector-generator/",\ + "packageDependencies": [\ + ["testcafe-selector-generator", "npm:0.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["text-hex", [\ ["npm:1.0.0", {\ "packageLocation": "./.yarn/cache/text-hex-npm-1.0.0-22389e4d56-1138f68adc.zip/node_modules/text-hex/",\ @@ -22579,6 +26265,15 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["time-limit-promise", [\ + ["npm:1.0.4", {\ + "packageLocation": "./.yarn/cache/time-limit-promise-npm-1.0.4-e2e455a305-8a76b40040.zip/node_modules/time-limit-promise/",\ + "packageDependencies": [\ + ["time-limit-promise", "npm:1.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["tiny-case", [\ ["npm:1.0.3", {\ "packageLocation": "./.yarn/cache/tiny-case-npm-1.0.3-8c9747c74e-3f7a30c39d.zip/node_modules/tiny-case/",\ @@ -22719,6 +26414,17 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["tough-cookie", [\ + ["npm:4.1.3", {\ + "packageLocation": "./.yarn/cache/tough-cookie-npm-4.1.3-08285e2518-cf148c359b.zip/node_modules/tough-cookie/",\ + "packageDependencies": [\ + ["psl", "npm:1.9.0"],\ + ["punycode", "npm:2.3.1"],\ + ["tough-cookie", "npm:4.1.3"],\ + ["universalify", "npm:0.2.0"],\ + ["url-parse", "npm:1.5.10"]\ + ],\ + "linkType": "HARD"\ + }],\ ["npm:5.1.1", {\ "packageLocation": "./.yarn/cache/tough-cookie-npm-5.1.1-dcddc41cc2-6cb1e38216.zip/node_modules/tough-cookie/",\ "packageDependencies": [\ @@ -22930,6 +26636,13 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["typescript", [\ + ["patch:typescript@npm%3A4.7.4#optional!builtin::version=4.7.4&hash=65a307", {\ + "packageLocation": "./.yarn/cache/typescript-patch-7bbffa1f44-cd6f51368b.zip/node_modules/typescript/",\ + "packageDependencies": [\ + ["typescript", "patch:typescript@npm%3A4.7.4#optional!builtin::version=4.7.4&hash=65a307"]\ + ],\ + "linkType": "HARD"\ + }],\ ["patch:typescript@npm%3A5.4.5#optional!builtin::version=5.4.5&hash=5adc0c", {\ "packageLocation": "./.yarn/cache/typescript-patch-6e159bfddb-760f7d92fb.zip/node_modules/typescript/",\ "packageDependencies": [\ @@ -23024,6 +26737,13 @@ const RAW_RUNTIME_STATE = ["unicode-match-property-value-ecmascript", "npm:2.1.0"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:2.2.1", {\ + "packageLocation": "./.yarn/cache/unicode-match-property-value-ecmascript-npm-2.2.1-0b3c4504a2-a42bebebab.zip/node_modules/unicode-match-property-value-ecmascript/",\ + "packageDependencies": [\ + ["unicode-match-property-value-ecmascript", "npm:2.2.1"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["unicode-property-aliases-ecmascript", [\ @@ -23089,6 +26809,15 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["unquote", [\ + ["npm:1.1.1", {\ + "packageLocation": "./.yarn/cache/unquote-npm-1.1.1-11903c1689-71745867d0.zip/node_modules/unquote/",\ + "packageDependencies": [\ + ["unquote", "npm:1.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["unrs-resolver", [\ ["npm:1.9.0", {\ "packageLocation": "./.yarn/unplugged/unrs-resolver-npm-1.9.0-a3a94fc304/node_modules/unrs-resolver/",\ @@ -23179,6 +26908,21 @@ const RAW_RUNTIME_STATE = "browserslist"\ ],\ "linkType": "HARD"\ + }],\ + ["virtual:8923c4854ee54c9683db1ece07bd6bb7b51fd3d328b956f666f7df11748e3e667e96b548dc7eb350f4baa24ac05db23b149d8355af215d27f6292217fb69ecf9#npm:1.2.3", {\ + "packageLocation": "./.yarn/__virtual__/update-browserslist-db-virtual-dc49eb3b55/0/cache/update-browserslist-db-npm-1.2.3-de1d320326-059f774300.zip/node_modules/update-browserslist-db/",\ + "packageDependencies": [\ + ["@types/browserslist", null],\ + ["browserslist", "npm:4.28.2"],\ + ["escalade", "npm:3.2.0"],\ + ["picocolors", "npm:1.1.1"],\ + ["update-browserslist-db", "virtual:8923c4854ee54c9683db1ece07bd6bb7b51fd3d328b956f666f7df11748e3e667e96b548dc7eb350f4baa24ac05db23b149d8355af215d27f6292217fb69ecf9#npm:1.2.3"]\ + ],\ + "packagePeers": [\ + "@types/browserslist",\ + "browserslist"\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["upper-case-first", [\ @@ -23212,6 +26956,15 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["url-to-options", [\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/url-to-options-npm-2.0.0-5c49006293-104741b13c.zip/node_modules/url-to-options/",\ + "packageDependencies": [\ + ["url-to-options", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["use-debounce", [\ ["npm:10.1.1", {\ "packageLocation": "./.yarn/cache/use-debounce-npm-10.1.1-24393a8948-3d8d45eabc.zip/node_modules/use-debounce/",\ @@ -23777,6 +27530,18 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["which-promise", [\ + ["npm:1.0.0", {\ + "packageLocation": "./.yarn/cache/which-promise-npm-1.0.0-a25bf5eda8-b5a9609116.zip/node_modules/which-promise/",\ + "packageDependencies": [\ + ["pify", "npm:2.3.0"],\ + ["pinkie-promise", "npm:1.0.0"],\ + ["which", "npm:1.3.1"],\ + ["which-promise", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["which-typed-array", [\ ["npm:1.1.14", {\ "packageLocation": "./.yarn/cache/which-typed-array-npm-1.1.14-ec6088a34d-56253d2c9d.zip/node_modules/which-typed-array/",\ @@ -23802,6 +27567,16 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["windows-release", [\ + ["npm:5.1.1", {\ + "packageLocation": "./.yarn/cache/windows-release-npm-5.1.1-f855bc5122-8d15388ccf.zip/node_modules/windows-release/",\ + "packageDependencies": [\ + ["execa", "npm:5.1.1"],\ + ["windows-release", "npm:5.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["winston", [\ ["npm:3.17.0", {\ "packageLocation": "./.yarn/cache/winston-npm-3.17.0-9ec81417be-220309a0ea.zip/node_modules/winston/",\ diff --git a/.yarn/cache/@adobe-css-tools-npm-4.4.4-a2900386bf-0abd471573.zip b/.yarn/cache/@adobe-css-tools-npm-4.4.4-a2900386bf-0abd471573.zip new file mode 100644 index 000000000..10235a6d2 Binary files /dev/null and b/.yarn/cache/@adobe-css-tools-npm-4.4.4-a2900386bf-0abd471573.zip differ diff --git a/.yarn/cache/@babel-compat-data-npm-7.29.3-6a1cb34af5-3c29661756.zip b/.yarn/cache/@babel-compat-data-npm-7.29.3-6a1cb34af5-3c29661756.zip new file mode 100644 index 000000000..25ad2bca9 Binary files /dev/null and b/.yarn/cache/@babel-compat-data-npm-7.29.3-6a1cb34af5-3c29661756.zip differ diff --git a/.yarn/cache/@babel-core-npm-7.29.0-a74bfc561b-25f4e91688.zip b/.yarn/cache/@babel-core-npm-7.29.0-a74bfc561b-25f4e91688.zip new file mode 100644 index 000000000..624e6b04e Binary files /dev/null and b/.yarn/cache/@babel-core-npm-7.29.0-a74bfc561b-25f4e91688.zip differ diff --git a/.yarn/cache/@babel-generator-npm-7.29.1-b1bf16fe79-61fe4ddd6e.zip b/.yarn/cache/@babel-generator-npm-7.29.1-b1bf16fe79-61fe4ddd6e.zip new file mode 100644 index 000000000..dac522116 Binary files /dev/null and b/.yarn/cache/@babel-generator-npm-7.29.1-b1bf16fe79-61fe4ddd6e.zip differ diff --git a/.yarn/cache/@babel-helper-compilation-targets-npm-7.28.6-8880f389c9-f512a5aeee.zip b/.yarn/cache/@babel-helper-compilation-targets-npm-7.28.6-8880f389c9-f512a5aeee.zip new file mode 100644 index 000000000..ff63e1b68 Binary files /dev/null and b/.yarn/cache/@babel-helper-compilation-targets-npm-7.28.6-8880f389c9-f512a5aeee.zip differ diff --git a/.yarn/cache/@babel-helper-create-class-features-plugin-npm-7.29.3-cbb13991d7-3f72aaa26d.zip b/.yarn/cache/@babel-helper-create-class-features-plugin-npm-7.29.3-cbb13991d7-3f72aaa26d.zip new file mode 100644 index 000000000..785d9747a Binary files /dev/null and b/.yarn/cache/@babel-helper-create-class-features-plugin-npm-7.29.3-cbb13991d7-3f72aaa26d.zip differ diff --git a/.yarn/cache/@babel-helper-create-regexp-features-plugin-npm-7.28.5-bf1c1b99dc-d8791350fe.zip b/.yarn/cache/@babel-helper-create-regexp-features-plugin-npm-7.28.5-bf1c1b99dc-d8791350fe.zip new file mode 100644 index 000000000..3fbf723f1 Binary files /dev/null and b/.yarn/cache/@babel-helper-create-regexp-features-plugin-npm-7.28.5-bf1c1b99dc-d8791350fe.zip differ diff --git a/.yarn/cache/@babel-helper-define-polyfill-provider-npm-0.4.4-7dfaee32d2-16c312e40e.zip b/.yarn/cache/@babel-helper-define-polyfill-provider-npm-0.4.4-7dfaee32d2-16c312e40e.zip new file mode 100644 index 000000000..6cad61c54 Binary files /dev/null and b/.yarn/cache/@babel-helper-define-polyfill-provider-npm-0.4.4-7dfaee32d2-16c312e40e.zip differ diff --git a/.yarn/cache/@babel-helper-define-polyfill-provider-npm-0.5.0-f9749c8844-f849e816ec.zip b/.yarn/cache/@babel-helper-define-polyfill-provider-npm-0.5.0-f9749c8844-f849e816ec.zip new file mode 100644 index 000000000..d0acdb562 Binary files /dev/null and b/.yarn/cache/@babel-helper-define-polyfill-provider-npm-0.5.0-f9749c8844-f849e816ec.zip differ diff --git a/.yarn/cache/@babel-helper-define-polyfill-provider-npm-0.6.8-65b6b31041-a6f9fbb825.zip b/.yarn/cache/@babel-helper-define-polyfill-provider-npm-0.6.8-65b6b31041-a6f9fbb825.zip new file mode 100644 index 000000000..2ab442600 Binary files /dev/null and b/.yarn/cache/@babel-helper-define-polyfill-provider-npm-0.6.8-65b6b31041-a6f9fbb825.zip differ diff --git a/.yarn/cache/@babel-helper-member-expression-to-functions-npm-7.28.5-2fb0be8c55-05e0857cf7.zip b/.yarn/cache/@babel-helper-member-expression-to-functions-npm-7.28.5-2fb0be8c55-05e0857cf7.zip new file mode 100644 index 000000000..9a117ca55 Binary files /dev/null and b/.yarn/cache/@babel-helper-member-expression-to-functions-npm-7.28.5-2fb0be8c55-05e0857cf7.zip differ diff --git a/.yarn/cache/@babel-helper-module-imports-npm-7.28.6-5b95b9145c-64b1380d74.zip b/.yarn/cache/@babel-helper-module-imports-npm-7.28.6-5b95b9145c-64b1380d74.zip new file mode 100644 index 000000000..6b77ecc2c Binary files /dev/null and b/.yarn/cache/@babel-helper-module-imports-npm-7.28.6-5b95b9145c-64b1380d74.zip differ diff --git a/.yarn/cache/@babel-helper-module-transforms-npm-7.28.6-5923cf5a95-2e421c7db7.zip b/.yarn/cache/@babel-helper-module-transforms-npm-7.28.6-5923cf5a95-2e421c7db7.zip new file mode 100644 index 000000000..48651a8a4 Binary files /dev/null and b/.yarn/cache/@babel-helper-module-transforms-npm-7.28.6-5923cf5a95-2e421c7db7.zip differ diff --git a/.yarn/cache/@babel-helper-plugin-utils-npm-7.28.6-766c984cfe-21c853bbc1.zip b/.yarn/cache/@babel-helper-plugin-utils-npm-7.28.6-766c984cfe-21c853bbc1.zip new file mode 100644 index 000000000..e3aecc264 Binary files /dev/null and b/.yarn/cache/@babel-helper-plugin-utils-npm-7.28.6-766c984cfe-21c853bbc1.zip differ diff --git a/.yarn/cache/@babel-helper-replace-supers-npm-7.28.6-f11a32993b-ad2724713a.zip b/.yarn/cache/@babel-helper-replace-supers-npm-7.28.6-f11a32993b-ad2724713a.zip new file mode 100644 index 000000000..cba428933 Binary files /dev/null and b/.yarn/cache/@babel-helper-replace-supers-npm-7.28.6-f11a32993b-ad2724713a.zip differ diff --git a/.yarn/cache/@babel-parser-npm-7.29.3-1f668babfe-10e8f34e0f.zip b/.yarn/cache/@babel-parser-npm-7.29.3-1f668babfe-10e8f34e0f.zip new file mode 100644 index 000000000..eaed63aec Binary files /dev/null and b/.yarn/cache/@babel-parser-npm-7.29.3-1f668babfe-10e8f34e0f.zip differ diff --git a/.yarn/cache/@babel-plugin-bugfix-firefox-class-in-computed-class-key-npm-7.28.5-086662e626-750de98b34.zip b/.yarn/cache/@babel-plugin-bugfix-firefox-class-in-computed-class-key-npm-7.28.5-086662e626-750de98b34.zip new file mode 100644 index 000000000..4e7f639e9 Binary files /dev/null and b/.yarn/cache/@babel-plugin-bugfix-firefox-class-in-computed-class-key-npm-7.28.5-086662e626-750de98b34.zip differ diff --git a/.yarn/cache/@babel-plugin-bugfix-safari-rest-destructuring-rhs-array-npm-7.29.3-b596546234-fd13198afc.zip b/.yarn/cache/@babel-plugin-bugfix-safari-rest-destructuring-rhs-array-npm-7.29.3-b596546234-fd13198afc.zip new file mode 100644 index 000000000..0c7c5fd7a Binary files /dev/null and b/.yarn/cache/@babel-plugin-bugfix-safari-rest-destructuring-rhs-array-npm-7.29.3-b596546234-fd13198afc.zip differ diff --git a/.yarn/cache/@babel-plugin-bugfix-v8-static-class-fields-redefine-readonly-npm-7.28.6-3c82220942-9377897aa7.zip b/.yarn/cache/@babel-plugin-bugfix-v8-static-class-fields-redefine-readonly-npm-7.28.6-3c82220942-9377897aa7.zip new file mode 100644 index 000000000..7e441e99e Binary files /dev/null and b/.yarn/cache/@babel-plugin-bugfix-v8-static-class-fields-redefine-readonly-npm-7.28.6-3c82220942-9377897aa7.zip differ diff --git a/.yarn/cache/@babel-plugin-proposal-decorators-npm-7.29.0-53506059c7-fa7b9aa1a4.zip b/.yarn/cache/@babel-plugin-proposal-decorators-npm-7.29.0-53506059c7-fa7b9aa1a4.zip new file mode 100644 index 000000000..a7d8faea3 Binary files /dev/null and b/.yarn/cache/@babel-plugin-proposal-decorators-npm-7.29.0-53506059c7-fa7b9aa1a4.zip differ diff --git a/.yarn/cache/@babel-plugin-syntax-decorators-npm-7.28.6-6f7f1e1fb2-6c7544eaa5.zip b/.yarn/cache/@babel-plugin-syntax-decorators-npm-7.28.6-6f7f1e1fb2-6c7544eaa5.zip new file mode 100644 index 000000000..9f85d5966 Binary files /dev/null and b/.yarn/cache/@babel-plugin-syntax-decorators-npm-7.28.6-6f7f1e1fb2-6c7544eaa5.zip differ diff --git a/.yarn/cache/@babel-plugin-syntax-flow-npm-7.28.6-710c92ad1d-3dfe5d8168.zip b/.yarn/cache/@babel-plugin-syntax-flow-npm-7.28.6-710c92ad1d-3dfe5d8168.zip new file mode 100644 index 000000000..e36da0eec Binary files /dev/null and b/.yarn/cache/@babel-plugin-syntax-flow-npm-7.28.6-710c92ad1d-3dfe5d8168.zip differ diff --git a/.yarn/cache/@babel-plugin-syntax-import-assertions-npm-7.28.6-b159f02dc0-25017235e1.zip b/.yarn/cache/@babel-plugin-syntax-import-assertions-npm-7.28.6-b159f02dc0-25017235e1.zip new file mode 100644 index 000000000..362b14c3a Binary files /dev/null and b/.yarn/cache/@babel-plugin-syntax-import-assertions-npm-7.28.6-b159f02dc0-25017235e1.zip differ diff --git a/.yarn/cache/@babel-plugin-syntax-import-attributes-npm-7.28.6-05b2209c0a-6c8c6a5988.zip b/.yarn/cache/@babel-plugin-syntax-import-attributes-npm-7.28.6-05b2209c0a-6c8c6a5988.zip new file mode 100644 index 000000000..0526a007b Binary files /dev/null and b/.yarn/cache/@babel-plugin-syntax-import-attributes-npm-7.28.6-05b2209c0a-6c8c6a5988.zip differ diff --git a/.yarn/cache/@babel-plugin-syntax-jsx-npm-7.28.6-ece0d63d10-572e38f5c1.zip b/.yarn/cache/@babel-plugin-syntax-jsx-npm-7.28.6-ece0d63d10-572e38f5c1.zip new file mode 100644 index 000000000..bb75839f7 Binary files /dev/null and b/.yarn/cache/@babel-plugin-syntax-jsx-npm-7.28.6-ece0d63d10-572e38f5c1.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-async-generator-functions-npm-7.29.0-20cf975e94-e2c064a5eb.zip b/.yarn/cache/@babel-plugin-transform-async-generator-functions-npm-7.29.0-20cf975e94-e2c064a5eb.zip new file mode 100644 index 000000000..cc86a6daf Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-async-generator-functions-npm-7.29.0-20cf975e94-e2c064a5eb.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-async-to-generator-npm-7.28.6-52e8bb7562-bca5774263.zip b/.yarn/cache/@babel-plugin-transform-async-to-generator-npm-7.28.6-52e8bb7562-bca5774263.zip new file mode 100644 index 000000000..fdd202e45 Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-async-to-generator-npm-7.28.6-52e8bb7562-bca5774263.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-block-scoping-npm-7.28.6-c38d97babf-7ab8a08560.zip b/.yarn/cache/@babel-plugin-transform-block-scoping-npm-7.28.6-c38d97babf-7ab8a08560.zip new file mode 100644 index 000000000..2c086d26b Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-block-scoping-npm-7.28.6-c38d97babf-7ab8a08560.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-class-properties-npm-7.28.6-87e84c4458-200f30d44b.zip b/.yarn/cache/@babel-plugin-transform-class-properties-npm-7.28.6-87e84c4458-200f30d44b.zip new file mode 100644 index 000000000..34dcaba19 Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-class-properties-npm-7.28.6-87e84c4458-200f30d44b.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-class-static-block-npm-7.28.6-69c8a3886f-bea7836846.zip b/.yarn/cache/@babel-plugin-transform-class-static-block-npm-7.28.6-69c8a3886f-bea7836846.zip new file mode 100644 index 000000000..48b6f681e Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-class-static-block-npm-7.28.6-69c8a3886f-bea7836846.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-classes-npm-7.28.6-99600ed6ed-9c3278a314.zip b/.yarn/cache/@babel-plugin-transform-classes-npm-7.28.6-99600ed6ed-9c3278a314.zip new file mode 100644 index 000000000..637ffd431 Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-classes-npm-7.28.6-99600ed6ed-9c3278a314.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-computed-properties-npm-7.28.6-f40893c73e-4a5e270f7e.zip b/.yarn/cache/@babel-plugin-transform-computed-properties-npm-7.28.6-f40893c73e-4a5e270f7e.zip new file mode 100644 index 000000000..fa5d44fd3 Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-computed-properties-npm-7.28.6-f40893c73e-4a5e270f7e.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-destructuring-npm-7.28.5-5a0083928d-9cc67d3377.zip b/.yarn/cache/@babel-plugin-transform-destructuring-npm-7.28.5-5a0083928d-9cc67d3377.zip new file mode 100644 index 000000000..f962f52b0 Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-destructuring-npm-7.28.5-5a0083928d-9cc67d3377.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-dotall-regex-npm-7.28.6-12e6a9b67b-866ffbbdee.zip b/.yarn/cache/@babel-plugin-transform-dotall-regex-npm-7.28.6-12e6a9b67b-866ffbbdee.zip new file mode 100644 index 000000000..b54acf4b0 Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-dotall-regex-npm-7.28.6-12e6a9b67b-866ffbbdee.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-duplicate-named-capturing-groups-regex-npm-7.29.0-ac722e23a4-7fa7b77325.zip b/.yarn/cache/@babel-plugin-transform-duplicate-named-capturing-groups-regex-npm-7.29.0-ac722e23a4-7fa7b77325.zip new file mode 100644 index 000000000..7334daa6b Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-duplicate-named-capturing-groups-regex-npm-7.29.0-ac722e23a4-7fa7b77325.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-explicit-resource-management-npm-7.28.6-832d08c78b-36d638a253.zip b/.yarn/cache/@babel-plugin-transform-explicit-resource-management-npm-7.28.6-832d08c78b-36d638a253.zip new file mode 100644 index 000000000..c613b0ce2 Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-explicit-resource-management-npm-7.28.6-832d08c78b-36d638a253.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-exponentiation-operator-npm-7.28.6-9c4ecd76db-b232152499.zip b/.yarn/cache/@babel-plugin-transform-exponentiation-operator-npm-7.28.6-9c4ecd76db-b232152499.zip new file mode 100644 index 000000000..fe94767b2 Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-exponentiation-operator-npm-7.28.6-9c4ecd76db-b232152499.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-flow-strip-types-npm-7.27.1-9daffb69e5-22e260866b.zip b/.yarn/cache/@babel-plugin-transform-flow-strip-types-npm-7.27.1-9daffb69e5-22e260866b.zip new file mode 100644 index 000000000..35ff02787 Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-flow-strip-types-npm-7.27.1-9daffb69e5-22e260866b.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-json-strings-npm-7.28.6-9aa34eb962-69d82a1a0a.zip b/.yarn/cache/@babel-plugin-transform-json-strings-npm-7.28.6-9aa34eb962-69d82a1a0a.zip new file mode 100644 index 000000000..3e7a32c9b Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-json-strings-npm-7.28.6-9aa34eb962-69d82a1a0a.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-logical-assignment-operators-npm-7.28.6-f6632db254-36095d5d1c.zip b/.yarn/cache/@babel-plugin-transform-logical-assignment-operators-npm-7.28.6-f6632db254-36095d5d1c.zip new file mode 100644 index 000000000..b51ae30b4 Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-logical-assignment-operators-npm-7.28.6-f6632db254-36095d5d1c.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-modules-commonjs-npm-7.28.6-5c5a0ea6f2-ec6ea2958e.zip b/.yarn/cache/@babel-plugin-transform-modules-commonjs-npm-7.28.6-5c5a0ea6f2-ec6ea2958e.zip new file mode 100644 index 000000000..f16fa1bf0 Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-modules-commonjs-npm-7.28.6-5c5a0ea6f2-ec6ea2958e.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-modules-systemjs-npm-7.29.4-4fe41bad48-79269e6ec8.zip b/.yarn/cache/@babel-plugin-transform-modules-systemjs-npm-7.29.4-4fe41bad48-79269e6ec8.zip new file mode 100644 index 000000000..071cc40c5 Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-modules-systemjs-npm-7.29.4-4fe41bad48-79269e6ec8.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-named-capturing-groups-regex-npm-7.29.0-724a50bbb0-ed8c27699c.zip b/.yarn/cache/@babel-plugin-transform-named-capturing-groups-regex-npm-7.29.0-724a50bbb0-ed8c27699c.zip new file mode 100644 index 000000000..fe49e6d97 Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-named-capturing-groups-regex-npm-7.29.0-724a50bbb0-ed8c27699c.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-nullish-coalescing-operator-npm-7.28.6-d32f31ce81-88106952ca.zip b/.yarn/cache/@babel-plugin-transform-nullish-coalescing-operator-npm-7.28.6-d32f31ce81-88106952ca.zip new file mode 100644 index 000000000..d67f8ce76 Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-nullish-coalescing-operator-npm-7.28.6-d32f31ce81-88106952ca.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-numeric-separator-npm-7.28.6-6a6d5b8b1a-4b5ca60e48.zip b/.yarn/cache/@babel-plugin-transform-numeric-separator-npm-7.28.6-6a6d5b8b1a-4b5ca60e48.zip new file mode 100644 index 000000000..3b5a98022 Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-numeric-separator-npm-7.28.6-6a6d5b8b1a-4b5ca60e48.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-object-rest-spread-npm-7.28.6-667586c66e-9c8c51a515.zip b/.yarn/cache/@babel-plugin-transform-object-rest-spread-npm-7.28.6-667586c66e-9c8c51a515.zip new file mode 100644 index 000000000..c57ea3f32 Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-object-rest-spread-npm-7.28.6-667586c66e-9c8c51a515.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-optional-catch-binding-npm-7.28.6-0832afefe6-ee24a17def.zip b/.yarn/cache/@babel-plugin-transform-optional-catch-binding-npm-7.28.6-0832afefe6-ee24a17def.zip new file mode 100644 index 000000000..b779fc3d2 Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-optional-catch-binding-npm-7.28.6-0832afefe6-ee24a17def.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-optional-chaining-npm-7.28.6-a86aecc9f1-c7cf29f993.zip b/.yarn/cache/@babel-plugin-transform-optional-chaining-npm-7.28.6-a86aecc9f1-c7cf29f993.zip new file mode 100644 index 000000000..a765a7296 Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-optional-chaining-npm-7.28.6-a86aecc9f1-c7cf29f993.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-private-methods-npm-7.28.6-d9be3e96cd-b80179b28f.zip b/.yarn/cache/@babel-plugin-transform-private-methods-npm-7.28.6-d9be3e96cd-b80179b28f.zip new file mode 100644 index 000000000..c1ba936c5 Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-private-methods-npm-7.28.6-d9be3e96cd-b80179b28f.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-private-property-in-object-npm-7.28.6-b7bb3c0654-d02008c62f.zip b/.yarn/cache/@babel-plugin-transform-private-property-in-object-npm-7.28.6-b7bb3c0654-d02008c62f.zip new file mode 100644 index 000000000..8df06fd6a Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-private-property-in-object-npm-7.28.6-b7bb3c0654-d02008c62f.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-react-display-name-npm-7.28.0-0bf8b6c694-d623644a07.zip b/.yarn/cache/@babel-plugin-transform-react-display-name-npm-7.28.0-0bf8b6c694-d623644a07.zip new file mode 100644 index 000000000..5f751e537 Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-react-display-name-npm-7.28.0-0bf8b6c694-d623644a07.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-react-jsx-development-npm-7.27.1-c6780deed1-b88865d5b8.zip b/.yarn/cache/@babel-plugin-transform-react-jsx-development-npm-7.27.1-c6780deed1-b88865d5b8.zip new file mode 100644 index 000000000..b8eafdeb2 Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-react-jsx-development-npm-7.27.1-c6780deed1-b88865d5b8.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-react-jsx-npm-7.28.6-f09f9ef5e5-c6eade7309.zip b/.yarn/cache/@babel-plugin-transform-react-jsx-npm-7.28.6-f09f9ef5e5-c6eade7309.zip new file mode 100644 index 000000000..649ca1b2e Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-react-jsx-npm-7.28.6-f09f9ef5e5-c6eade7309.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-react-pure-annotations-npm-7.27.1-1c3be838d1-a6f591c5e8.zip b/.yarn/cache/@babel-plugin-transform-react-pure-annotations-npm-7.27.1-1c3be838d1-a6f591c5e8.zip new file mode 100644 index 000000000..9f11110cf Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-react-pure-annotations-npm-7.27.1-1c3be838d1-a6f591c5e8.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-regenerator-npm-7.29.0-62daf829e8-c8fa9da743.zip b/.yarn/cache/@babel-plugin-transform-regenerator-npm-7.29.0-62daf829e8-c8fa9da743.zip new file mode 100644 index 000000000..a0e4b2711 Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-regenerator-npm-7.29.0-62daf829e8-c8fa9da743.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-regexp-modifiers-npm-7.28.6-602f45b5a7-5aacc57003.zip b/.yarn/cache/@babel-plugin-transform-regexp-modifiers-npm-7.28.6-602f45b5a7-5aacc57003.zip new file mode 100644 index 000000000..00441db85 Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-regexp-modifiers-npm-7.28.6-602f45b5a7-5aacc57003.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-runtime-npm-7.23.3-c52746b76a-f513306d56.zip b/.yarn/cache/@babel-plugin-transform-runtime-npm-7.23.3-c52746b76a-f513306d56.zip new file mode 100644 index 000000000..902b5bf2d Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-runtime-npm-7.23.3-c52746b76a-f513306d56.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-spread-npm-7.28.6-658f047c1b-1fa02ac60a.zip b/.yarn/cache/@babel-plugin-transform-spread-npm-7.28.6-658f047c1b-1fa02ac60a.zip new file mode 100644 index 000000000..ca2265d97 Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-spread-npm-7.28.6-658f047c1b-1fa02ac60a.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-unicode-property-regex-npm-7.28.6-666f50c157-d14e8c51aa.zip b/.yarn/cache/@babel-plugin-transform-unicode-property-regex-npm-7.28.6-666f50c157-d14e8c51aa.zip new file mode 100644 index 000000000..faf985017 Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-unicode-property-regex-npm-7.28.6-666f50c157-d14e8c51aa.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-unicode-sets-regex-npm-7.28.6-335f885d51-423971fe2e.zip b/.yarn/cache/@babel-plugin-transform-unicode-sets-regex-npm-7.28.6-335f885d51-423971fe2e.zip new file mode 100644 index 000000000..f56efeab3 Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-unicode-sets-regex-npm-7.28.6-335f885d51-423971fe2e.zip differ diff --git a/.yarn/cache/@babel-preset-env-npm-7.29.5-c351ba88eb-2e54630764.zip b/.yarn/cache/@babel-preset-env-npm-7.29.5-c351ba88eb-2e54630764.zip new file mode 100644 index 000000000..8615d3527 Binary files /dev/null and b/.yarn/cache/@babel-preset-env-npm-7.29.5-c351ba88eb-2e54630764.zip differ diff --git a/.yarn/cache/@babel-preset-flow-npm-7.27.1-26f996004d-f3f25b390d.zip b/.yarn/cache/@babel-preset-flow-npm-7.27.1-26f996004d-f3f25b390d.zip new file mode 100644 index 000000000..8db32c1a8 Binary files /dev/null and b/.yarn/cache/@babel-preset-flow-npm-7.27.1-26f996004d-f3f25b390d.zip differ diff --git a/.yarn/cache/@babel-preset-react-npm-7.28.5-c8cf58f638-c00d43b277.zip b/.yarn/cache/@babel-preset-react-npm-7.28.5-c8cf58f638-c00d43b277.zip new file mode 100644 index 000000000..407cd359f Binary files /dev/null and b/.yarn/cache/@babel-preset-react-npm-7.28.5-c8cf58f638-c00d43b277.zip differ diff --git a/.yarn/cache/@babel-traverse-npm-7.29.0-85d5d916b6-3a0d0438f1.zip b/.yarn/cache/@babel-traverse-npm-7.29.0-85d5d916b6-3a0d0438f1.zip new file mode 100644 index 000000000..d45bb446b Binary files /dev/null and b/.yarn/cache/@babel-traverse-npm-7.29.0-85d5d916b6-3a0d0438f1.zip differ diff --git a/.yarn/cache/@devexpress-bin-v8-flags-filter-npm-1.3.0-81ef659541-d8a46970ce.zip b/.yarn/cache/@devexpress-bin-v8-flags-filter-npm-1.3.0-81ef659541-d8a46970ce.zip new file mode 100644 index 000000000..98907f931 Binary files /dev/null and b/.yarn/cache/@devexpress-bin-v8-flags-filter-npm-1.3.0-81ef659541-d8a46970ce.zip differ diff --git a/.yarn/cache/@devexpress-callsite-record-npm-4.1.7-5b508aea95-03f70e0b0a.zip b/.yarn/cache/@devexpress-callsite-record-npm-4.1.7-5b508aea95-03f70e0b0a.zip new file mode 100644 index 000000000..f30f44df8 Binary files /dev/null and b/.yarn/cache/@devexpress-callsite-record-npm-4.1.7-5b508aea95-03f70e0b0a.zip differ diff --git a/.yarn/cache/@electron-asar-npm-3.4.1-4a96ab90b1-c41c6b0a5e.zip b/.yarn/cache/@electron-asar-npm-3.4.1-4a96ab90b1-c41c6b0a5e.zip new file mode 100644 index 000000000..b33eaa1be Binary files /dev/null and b/.yarn/cache/@electron-asar-npm-3.4.1-4a96ab90b1-c41c6b0a5e.zip differ diff --git a/.yarn/cache/@jridgewell-remapping-npm-2.3.5-df8dacc063-c2bb01856e.zip b/.yarn/cache/@jridgewell-remapping-npm-2.3.5-df8dacc063-c2bb01856e.zip new file mode 100644 index 000000000..3376d7035 Binary files /dev/null and b/.yarn/cache/@jridgewell-remapping-npm-2.3.5-df8dacc063-c2bb01856e.zip differ diff --git a/.yarn/cache/@nodelib-fs.scandir-npm-2.1.5-89c67370dd-6ab2a9b8a1.zip b/.yarn/cache/@nodelib-fs.scandir-npm-2.1.5-89c67370dd-6ab2a9b8a1.zip new file mode 100644 index 000000000..be4c69e50 Binary files /dev/null and b/.yarn/cache/@nodelib-fs.scandir-npm-2.1.5-89c67370dd-6ab2a9b8a1.zip differ diff --git a/.yarn/cache/@nodelib-fs.stat-npm-2.0.5-01f4dd3030-012480b5ca.zip b/.yarn/cache/@nodelib-fs.stat-npm-2.0.5-01f4dd3030-012480b5ca.zip new file mode 100644 index 000000000..e86d01e26 Binary files /dev/null and b/.yarn/cache/@nodelib-fs.stat-npm-2.0.5-01f4dd3030-012480b5ca.zip differ diff --git a/.yarn/cache/@nodelib-fs.walk-npm-1.2.8-b4a89da548-40033e33e9.zip b/.yarn/cache/@nodelib-fs.walk-npm-1.2.8-b4a89da548-40033e33e9.zip new file mode 100644 index 000000000..3a3786d47 Binary files /dev/null and b/.yarn/cache/@nodelib-fs.walk-npm-1.2.8-b4a89da548-40033e33e9.zip differ diff --git a/.yarn/cache/@types-estree-npm-0.0.46-173c5af455-9c0b108100.zip b/.yarn/cache/@types-estree-npm-0.0.46-173c5af455-9c0b108100.zip new file mode 100644 index 000000000..801beaaba Binary files /dev/null and b/.yarn/cache/@types-estree-npm-0.0.46-173c5af455-9c0b108100.zip differ diff --git a/.yarn/cache/@types-glob-npm-7.2.0-772334bf9a-6ae717fedf.zip b/.yarn/cache/@types-glob-npm-7.2.0-772334bf9a-6ae717fedf.zip new file mode 100644 index 000000000..f3ad9aedc Binary files /dev/null and b/.yarn/cache/@types-glob-npm-7.2.0-772334bf9a-6ae717fedf.zip differ diff --git a/.yarn/cache/@types-lodash-npm-4.17.24-4a04035060-0f2082565f.zip b/.yarn/cache/@types-lodash-npm-4.17.24-4a04035060-0f2082565f.zip new file mode 100644 index 000000000..ccf4e81ed Binary files /dev/null and b/.yarn/cache/@types-lodash-npm-4.17.24-4a04035060-0f2082565f.zip differ diff --git a/.yarn/cache/@types-minimatch-npm-5.1.2-aab9c394d3-94db5060d2.zip b/.yarn/cache/@types-minimatch-npm-5.1.2-aab9c394d3-94db5060d2.zip new file mode 100644 index 000000000..2a03433ab Binary files /dev/null and b/.yarn/cache/@types-minimatch-npm-5.1.2-aab9c394d3-94db5060d2.zip differ diff --git a/.yarn/cache/@types-node-npm-20.14.5-07c835e492-74c7974a8c.zip b/.yarn/cache/@types-node-npm-20.14.5-07c835e492-74c7974a8c.zip new file mode 100644 index 000000000..b5deb0bb3 Binary files /dev/null and b/.yarn/cache/@types-node-npm-20.14.5-07c835e492-74c7974a8c.zip differ diff --git a/.yarn/cache/acorn-hammerhead-npm-0.6.2-273516ed8d-72638825c7.zip b/.yarn/cache/acorn-hammerhead-npm-0.6.2-273516ed8d-72638825c7.zip new file mode 100644 index 000000000..bc52d3a78 Binary files /dev/null and b/.yarn/cache/acorn-hammerhead-npm-0.6.2-273516ed8d-72638825c7.zip differ diff --git a/.yarn/cache/address-npm-2.0.3-cde39e6a0a-b367b0166f.zip b/.yarn/cache/address-npm-2.0.3-cde39e6a0a-b367b0166f.zip new file mode 100644 index 000000000..54d3c947f Binary files /dev/null and b/.yarn/cache/address-npm-2.0.3-cde39e6a0a-b367b0166f.zip differ diff --git a/.yarn/cache/array-find-npm-1.0.0-e6a7eed080-6588ebfd15.zip b/.yarn/cache/array-find-npm-1.0.0-e6a7eed080-6588ebfd15.zip new file mode 100644 index 000000000..028a61718 Binary files /dev/null and b/.yarn/cache/array-find-npm-1.0.0-e6a7eed080-6588ebfd15.zip differ diff --git a/.yarn/cache/array-union-npm-1.0.2-cc61ee268f-82cec6421b.zip b/.yarn/cache/array-union-npm-1.0.2-cc61ee268f-82cec6421b.zip new file mode 100644 index 000000000..9b896dc08 Binary files /dev/null and b/.yarn/cache/array-union-npm-1.0.2-cc61ee268f-82cec6421b.zip differ diff --git a/.yarn/cache/array-union-npm-2.1.0-4e4852b221-5bee12395c.zip b/.yarn/cache/array-union-npm-2.1.0-4e4852b221-5bee12395c.zip new file mode 100644 index 000000000..b51da2ed3 Binary files /dev/null and b/.yarn/cache/array-union-npm-2.1.0-4e4852b221-5bee12395c.zip differ diff --git a/.yarn/cache/array-uniq-npm-1.0.3-e7f5d6f3a1-1625f06b09.zip b/.yarn/cache/array-uniq-npm-1.0.3-e7f5d6f3a1-1625f06b09.zip new file mode 100644 index 000000000..79ecb3c1a Binary files /dev/null and b/.yarn/cache/array-uniq-npm-1.0.3-e7f5d6f3a1-1625f06b09.zip differ diff --git a/.yarn/cache/async-exit-hook-npm-1.1.2-f74a635a86-171ec1547c.zip b/.yarn/cache/async-exit-hook-npm-1.1.2-f74a635a86-171ec1547c.zip new file mode 100644 index 000000000..928dea17e Binary files /dev/null and b/.yarn/cache/async-exit-hook-npm-1.1.2-f74a635a86-171ec1547c.zip differ diff --git a/.yarn/cache/async-npm-3.2.3-e9d6b79c88-1265841be4.zip b/.yarn/cache/async-npm-3.2.3-e9d6b79c88-1265841be4.zip new file mode 100644 index 000000000..bb49044c6 Binary files /dev/null and b/.yarn/cache/async-npm-3.2.3-e9d6b79c88-1265841be4.zip differ diff --git a/.yarn/cache/babel-plugin-module-resolver-npm-5.0.0-67eb48a53b-13924d6ec9.zip b/.yarn/cache/babel-plugin-module-resolver-npm-5.0.0-67eb48a53b-13924d6ec9.zip new file mode 100644 index 000000000..36ec53b67 Binary files /dev/null and b/.yarn/cache/babel-plugin-module-resolver-npm-5.0.0-67eb48a53b-13924d6ec9.zip differ diff --git a/.yarn/cache/babel-plugin-polyfill-corejs2-npm-0.4.17-0f25e0dfad-35796b7f96.zip b/.yarn/cache/babel-plugin-polyfill-corejs2-npm-0.4.17-0f25e0dfad-35796b7f96.zip new file mode 100644 index 000000000..835b8fb1b Binary files /dev/null and b/.yarn/cache/babel-plugin-polyfill-corejs2-npm-0.4.17-0f25e0dfad-35796b7f96.zip differ diff --git a/.yarn/cache/babel-plugin-polyfill-corejs3-npm-0.14.2-a37e45ac92-bb500bfec7.zip b/.yarn/cache/babel-plugin-polyfill-corejs3-npm-0.14.2-a37e45ac92-bb500bfec7.zip new file mode 100644 index 000000000..089d71d44 Binary files /dev/null and b/.yarn/cache/babel-plugin-polyfill-corejs3-npm-0.14.2-a37e45ac92-bb500bfec7.zip differ diff --git a/.yarn/cache/babel-plugin-polyfill-corejs3-npm-0.8.7-76de93c569-defbc6de3d.zip b/.yarn/cache/babel-plugin-polyfill-corejs3-npm-0.8.7-76de93c569-defbc6de3d.zip new file mode 100644 index 000000000..a39753e59 Binary files /dev/null and b/.yarn/cache/babel-plugin-polyfill-corejs3-npm-0.8.7-76de93c569-defbc6de3d.zip differ diff --git a/.yarn/cache/babel-plugin-polyfill-regenerator-npm-0.5.5-4829ad3cd0-3a9b482867.zip b/.yarn/cache/babel-plugin-polyfill-regenerator-npm-0.5.5-4829ad3cd0-3a9b482867.zip new file mode 100644 index 000000000..06ced8ee6 Binary files /dev/null and b/.yarn/cache/babel-plugin-polyfill-regenerator-npm-0.5.5-4829ad3cd0-3a9b482867.zip differ diff --git a/.yarn/cache/babel-plugin-polyfill-regenerator-npm-0.6.8-59675073c3-974464353d.zip b/.yarn/cache/babel-plugin-polyfill-regenerator-npm-0.6.8-59675073c3-974464353d.zip new file mode 100644 index 000000000..4c49a6402 Binary files /dev/null and b/.yarn/cache/babel-plugin-polyfill-regenerator-npm-0.6.8-59675073c3-974464353d.zip differ diff --git a/.yarn/cache/babel-plugin-syntax-trailing-function-commas-npm-6.22.0-1be1a2e94e-d8b9039ded.zip b/.yarn/cache/babel-plugin-syntax-trailing-function-commas-npm-6.22.0-1be1a2e94e-d8b9039ded.zip new file mode 100644 index 000000000..bb1092e12 Binary files /dev/null and b/.yarn/cache/babel-plugin-syntax-trailing-function-commas-npm-6.22.0-1be1a2e94e-d8b9039ded.zip differ diff --git a/.yarn/cache/baseline-browser-mapping-npm-2.10.30-3f87010121-40f635dc8c.zip b/.yarn/cache/baseline-browser-mapping-npm-2.10.30-3f87010121-40f635dc8c.zip new file mode 100644 index 000000000..18e1edfc5 Binary files /dev/null and b/.yarn/cache/baseline-browser-mapping-npm-2.10.30-3f87010121-40f635dc8c.zip differ diff --git a/.yarn/cache/bowser-npm-1.6.0-5ce87005b6-0253ea41af.zip b/.yarn/cache/bowser-npm-1.6.0-5ce87005b6-0253ea41af.zip new file mode 100644 index 000000000..eb53ceaeb Binary files /dev/null and b/.yarn/cache/bowser-npm-1.6.0-5ce87005b6-0253ea41af.zip differ diff --git a/.yarn/cache/bowser-npm-2.14.1-41eaeb0dd6-a002f0795e.zip b/.yarn/cache/bowser-npm-2.14.1-41eaeb0dd6-a002f0795e.zip new file mode 100644 index 000000000..c01504995 Binary files /dev/null and b/.yarn/cache/bowser-npm-2.14.1-41eaeb0dd6-a002f0795e.zip differ diff --git a/.yarn/cache/browserslist-npm-4.28.2-8923c4854e-cff88386e5.zip b/.yarn/cache/browserslist-npm-4.28.2-8923c4854e-cff88386e5.zip new file mode 100644 index 000000000..c8694bc36 Binary files /dev/null and b/.yarn/cache/browserslist-npm-4.28.2-8923c4854e-cff88386e5.zip differ diff --git a/.yarn/cache/callsite-npm-1.0.0-897924017b-39fc89ef9d.zip b/.yarn/cache/callsite-npm-1.0.0-897924017b-39fc89ef9d.zip new file mode 100644 index 000000000..020feabfa Binary files /dev/null and b/.yarn/cache/callsite-npm-1.0.0-897924017b-39fc89ef9d.zip differ diff --git a/.yarn/cache/caniuse-lite-npm-1.0.30001793-d05254d2b9-5a1ac39f2f.zip b/.yarn/cache/caniuse-lite-npm-1.0.30001793-d05254d2b9-5a1ac39f2f.zip new file mode 100644 index 000000000..91d6e2f18 Binary files /dev/null and b/.yarn/cache/caniuse-lite-npm-1.0.30001793-d05254d2b9-5a1ac39f2f.zip differ diff --git a/.yarn/cache/chai-npm-4.3.4-808f3b5355-68bcba6972.zip b/.yarn/cache/chai-npm-4.3.4-808f3b5355-68bcba6972.zip new file mode 100644 index 000000000..3d9946bce Binary files /dev/null and b/.yarn/cache/chai-npm-4.3.4-808f3b5355-68bcba6972.zip differ diff --git a/.yarn/cache/chrome-remote-interface-npm-0.32.2-e5d9302a0c-24f8dd4dd3.zip b/.yarn/cache/chrome-remote-interface-npm-0.32.2-e5d9302a0c-24f8dd4dd3.zip new file mode 100644 index 000000000..a792b5259 Binary files /dev/null and b/.yarn/cache/chrome-remote-interface-npm-0.32.2-e5d9302a0c-24f8dd4dd3.zip differ diff --git a/.yarn/cache/ci-info-npm-1.6.0-2d91706840-dfc058f60c.zip b/.yarn/cache/ci-info-npm-1.6.0-2d91706840-dfc058f60c.zip new file mode 100644 index 000000000..21b6e4bd9 Binary files /dev/null and b/.yarn/cache/ci-info-npm-1.6.0-2d91706840-dfc058f60c.zip differ diff --git a/.yarn/cache/coffeescript-npm-2.7.0-f0f27e9a2d-702620f24a.zip b/.yarn/cache/coffeescript-npm-2.7.0-f0f27e9a2d-702620f24a.zip new file mode 100644 index 000000000..203381fe2 Binary files /dev/null and b/.yarn/cache/coffeescript-npm-2.7.0-f0f27e9a2d-702620f24a.zip differ diff --git a/.yarn/cache/commander-npm-2.11.0-c1edb3e469-d8940de4ce.zip b/.yarn/cache/commander-npm-2.11.0-c1edb3e469-d8940de4ce.zip new file mode 100644 index 000000000..6a157e1ba Binary files /dev/null and b/.yarn/cache/commander-npm-2.11.0-c1edb3e469-d8940de4ce.zip differ diff --git a/.yarn/cache/commander-npm-5.1.0-7e939e7832-3e2ef5c003.zip b/.yarn/cache/commander-npm-5.1.0-7e939e7832-3e2ef5c003.zip new file mode 100644 index 000000000..f7e482542 Binary files /dev/null and b/.yarn/cache/commander-npm-5.1.0-7e939e7832-3e2ef5c003.zip differ diff --git a/.yarn/cache/core-js-compat-npm-3.49.0-7124aa5467-eb35ad9b31.zip b/.yarn/cache/core-js-compat-npm-3.49.0-7124aa5467-eb35ad9b31.zip new file mode 100644 index 000000000..9f905c6c2 Binary files /dev/null and b/.yarn/cache/core-js-compat-npm-3.49.0-7124aa5467-eb35ad9b31.zip differ diff --git a/.yarn/cache/crypto-md5-npm-1.0.0-56b18cf042-94bd7227bf.zip b/.yarn/cache/crypto-md5-npm-1.0.0-56b18cf042-94bd7227bf.zip new file mode 100644 index 000000000..e762b8284 Binary files /dev/null and b/.yarn/cache/crypto-md5-npm-1.0.0-56b18cf042-94bd7227bf.zip differ diff --git a/.yarn/cache/debug-npm-4.3.1-22e08d605e-37b9f90428.zip b/.yarn/cache/debug-npm-4.3.1-22e08d605e-37b9f90428.zip new file mode 100644 index 000000000..8d327cf82 Binary files /dev/null and b/.yarn/cache/debug-npm-4.3.1-22e08d605e-37b9f90428.zip differ diff --git a/.yarn/cache/dedent-npm-0.4.0-3981bb2373-dd99c0ea75.zip b/.yarn/cache/dedent-npm-0.4.0-3981bb2373-dd99c0ea75.zip new file mode 100644 index 000000000..5c723f6fa Binary files /dev/null and b/.yarn/cache/dedent-npm-0.4.0-3981bb2373-dd99c0ea75.zip differ diff --git a/.yarn/cache/dedent-npm-0.6.0-caa47ac627-b72cbd2bab.zip b/.yarn/cache/dedent-npm-0.6.0-caa47ac627-b72cbd2bab.zip new file mode 100644 index 000000000..9b340ddb9 Binary files /dev/null and b/.yarn/cache/dedent-npm-0.6.0-caa47ac627-b72cbd2bab.zip differ diff --git a/.yarn/cache/dedent-npm-0.7.0-2dbb45a4c5-87de191050.zip b/.yarn/cache/dedent-npm-0.7.0-2dbb45a4c5-87de191050.zip new file mode 100644 index 000000000..64afea838 Binary files /dev/null and b/.yarn/cache/dedent-npm-0.7.0-2dbb45a4c5-87de191050.zip differ diff --git a/.yarn/cache/deep-eql-npm-3.0.1-9a66c09c65-d8f8e141ec.zip b/.yarn/cache/deep-eql-npm-3.0.1-9a66c09c65-d8f8e141ec.zip new file mode 100644 index 000000000..36aacf96d Binary files /dev/null and b/.yarn/cache/deep-eql-npm-3.0.1-9a66c09c65-d8f8e141ec.zip differ diff --git a/.yarn/cache/del-npm-3.0.0-e5f4cb556d-88192c1041.zip b/.yarn/cache/del-npm-3.0.0-e5f4cb556d-88192c1041.zip new file mode 100644 index 000000000..dcd7953f9 Binary files /dev/null and b/.yarn/cache/del-npm-3.0.0-e5f4cb556d-88192c1041.zip differ diff --git a/.yarn/cache/del-npm-5.1.0-eb4ac07f4c-d9e4ef2c12.zip b/.yarn/cache/del-npm-5.1.0-eb4ac07f4c-d9e4ef2c12.zip new file mode 100644 index 000000000..65cc97958 Binary files /dev/null and b/.yarn/cache/del-npm-5.1.0-eb4ac07f4c-d9e4ef2c12.zip differ diff --git a/.yarn/cache/device-specs-npm-1.0.1-cfce364981-7faedcef87.zip b/.yarn/cache/device-specs-npm-1.0.1-cfce364981-7faedcef87.zip new file mode 100644 index 000000000..8761ca8db Binary files /dev/null and b/.yarn/cache/device-specs-npm-1.0.1-cfce364981-7faedcef87.zip differ diff --git a/.yarn/cache/devtools-protocol-npm-0.0.1109433-bde7006142-5d718bdca5.zip b/.yarn/cache/devtools-protocol-npm-0.0.1109433-bde7006142-5d718bdca5.zip new file mode 100644 index 000000000..6d6caf515 Binary files /dev/null and b/.yarn/cache/devtools-protocol-npm-0.0.1109433-bde7006142-5d718bdca5.zip differ diff --git a/.yarn/cache/dir-glob-npm-3.0.1-1aea628b1b-fa05e18324.zip b/.yarn/cache/dir-glob-npm-3.0.1-1aea628b1b-fa05e18324.zip new file mode 100644 index 000000000..e292fec5b Binary files /dev/null and b/.yarn/cache/dir-glob-npm-3.0.1-1aea628b1b-fa05e18324.zip differ diff --git a/.yarn/cache/electron-to-chromium-npm-1.5.358-7a5d8d3b34-fa692b18c3.zip b/.yarn/cache/electron-to-chromium-npm-1.5.358-7a5d8d3b34-fa692b18c3.zip new file mode 100644 index 000000000..1f3b1d622 Binary files /dev/null and b/.yarn/cache/electron-to-chromium-npm-1.5.358-7a5d8d3b34-fa692b18c3.zip differ diff --git a/.yarn/cache/elegant-spinner-npm-1.0.1-8b799f39a6-d6a773d950.zip b/.yarn/cache/elegant-spinner-npm-1.0.1-8b799f39a6-d6a773d950.zip new file mode 100644 index 000000000..99d41f7b1 Binary files /dev/null and b/.yarn/cache/elegant-spinner-npm-1.0.1-8b799f39a6-d6a773d950.zip differ diff --git a/.yarn/cache/email-validator-npm-2.0.4-ac07d6a6c7-8444077b05.zip b/.yarn/cache/email-validator-npm-2.0.4-ac07d6a6c7-8444077b05.zip new file mode 100644 index 000000000..b7339beb2 Binary files /dev/null and b/.yarn/cache/email-validator-npm-2.0.4-ac07d6a6c7-8444077b05.zip differ diff --git a/.yarn/cache/emittery-npm-0.4.1-24c9b05f5e-2f74fbea08.zip b/.yarn/cache/emittery-npm-0.4.1-24c9b05f5e-2f74fbea08.zip new file mode 100644 index 000000000..d4a206dc7 Binary files /dev/null and b/.yarn/cache/emittery-npm-0.4.1-24c9b05f5e-2f74fbea08.zip differ diff --git a/.yarn/cache/esotope-hammerhead-npm-0.6.9-f5d0620e9b-f361e87e93.zip b/.yarn/cache/esotope-hammerhead-npm-0.6.9-f5d0620e9b-f361e87e93.zip new file mode 100644 index 000000000..ca7b64b8f Binary files /dev/null and b/.yarn/cache/esotope-hammerhead-npm-0.6.9-f5d0620e9b-f361e87e93.zip differ diff --git a/.yarn/cache/execa-npm-3.4.0-ac88a31854-dba9c74383.zip b/.yarn/cache/execa-npm-3.4.0-ac88a31854-dba9c74383.zip new file mode 100644 index 000000000..b7fdfe21f Binary files /dev/null and b/.yarn/cache/execa-npm-3.4.0-ac88a31854-dba9c74383.zip differ diff --git a/.yarn/cache/fast-glob-npm-3.3.3-2a653be532-dcc6432b26.zip b/.yarn/cache/fast-glob-npm-3.3.3-2a653be532-dcc6432b26.zip new file mode 100644 index 000000000..877464c03 Binary files /dev/null and b/.yarn/cache/fast-glob-npm-3.3.3-2a653be532-dcc6432b26.zip differ diff --git a/.yarn/cache/fastq-npm-1.20.1-61577b2c25-ab2fe3a7a1.zip b/.yarn/cache/fastq-npm-1.20.1-61577b2c25-ab2fe3a7a1.zip new file mode 100644 index 000000000..4a7040e90 Binary files /dev/null and b/.yarn/cache/fastq-npm-1.20.1-61577b2c25-ab2fe3a7a1.zip differ diff --git a/.yarn/cache/find-babel-config-npm-2.1.2-489c2d0cc1-f0fae1a912.zip b/.yarn/cache/find-babel-config-npm-2.1.2-489c2d0cc1-f0fae1a912.zip new file mode 100644 index 000000000..b826954b6 Binary files /dev/null and b/.yarn/cache/find-babel-config-npm-2.1.2-489c2d0cc1-f0fae1a912.zip differ diff --git a/.yarn/cache/fs-extra-npm-10.1.0-86573680ed-05ce2c3b59.zip b/.yarn/cache/fs-extra-npm-10.1.0-86573680ed-05ce2c3b59.zip new file mode 100644 index 000000000..f4c72281a Binary files /dev/null and b/.yarn/cache/fs-extra-npm-10.1.0-86573680ed-05ce2c3b59.zip differ diff --git a/.yarn/cache/get-os-info-npm-1.0.2-85ccd30eef-4c8000b582.zip b/.yarn/cache/get-os-info-npm-1.0.2-85ccd30eef-4c8000b582.zip new file mode 100644 index 000000000..4e71ae8dd Binary files /dev/null and b/.yarn/cache/get-os-info-npm-1.0.2-85ccd30eef-4c8000b582.zip differ diff --git a/.yarn/cache/get-stdin-npm-4.0.1-10c6ac0b43-4f73d3fe05.zip b/.yarn/cache/get-stdin-npm-4.0.1-10c6ac0b43-4f73d3fe05.zip new file mode 100644 index 000000000..eea9cd6d7 Binary files /dev/null and b/.yarn/cache/get-stdin-npm-4.0.1-10c6ac0b43-4f73d3fe05.zip differ diff --git a/.yarn/cache/globby-npm-10.0.2-9b274c88d3-6974752014.zip b/.yarn/cache/globby-npm-10.0.2-9b274c88d3-6974752014.zip new file mode 100644 index 000000000..354deca9b Binary files /dev/null and b/.yarn/cache/globby-npm-10.0.2-9b274c88d3-6974752014.zip differ diff --git a/.yarn/cache/globby-npm-11.1.0-bdcdf20c71-288e95e310.zip b/.yarn/cache/globby-npm-11.1.0-bdcdf20c71-288e95e310.zip new file mode 100644 index 000000000..041303caa Binary files /dev/null and b/.yarn/cache/globby-npm-11.1.0-bdcdf20c71-288e95e310.zip differ diff --git a/.yarn/cache/globby-npm-6.1.0-590bfb2681-18109d6b9d.zip b/.yarn/cache/globby-npm-6.1.0-590bfb2681-18109d6b9d.zip new file mode 100644 index 000000000..4c5fea70a Binary files /dev/null and b/.yarn/cache/globby-npm-6.1.0-590bfb2681-18109d6b9d.zip differ diff --git a/.yarn/cache/graphlib-npm-2.1.8-9fab334669-37cbd851d3.zip b/.yarn/cache/graphlib-npm-2.1.8-9fab334669-37cbd851d3.zip new file mode 100644 index 000000000..096a48ce6 Binary files /dev/null and b/.yarn/cache/graphlib-npm-2.1.8-9fab334669-37cbd851d3.zip differ diff --git a/.yarn/cache/hasown-npm-2.0.3-185c1cc302-619526379c.zip b/.yarn/cache/hasown-npm-2.0.3-185c1cc302-619526379c.zip new file mode 100644 index 000000000..3bcc208ea Binary files /dev/null and b/.yarn/cache/hasown-npm-2.0.3-185c1cc302-619526379c.zip differ diff --git a/.yarn/cache/highlight-es-npm-1.0.3-bc2bcc9d6b-442e1d3302.zip b/.yarn/cache/highlight-es-npm-1.0.3-bc2bcc9d6b-442e1d3302.zip new file mode 100644 index 000000000..be667da8e Binary files /dev/null and b/.yarn/cache/highlight-es-npm-1.0.3-bc2bcc9d6b-442e1d3302.zip differ diff --git a/.yarn/cache/http-cache-semantics-npm-4.2.0-fadacfb3ad-4efd2dfcfe.zip b/.yarn/cache/http-cache-semantics-npm-4.2.0-fadacfb3ad-4efd2dfcfe.zip new file mode 100644 index 000000000..c79a4b052 Binary files /dev/null and b/.yarn/cache/http-cache-semantics-npm-4.2.0-fadacfb3ad-4efd2dfcfe.zip differ diff --git a/.yarn/cache/http-status-codes-npm-2.3.0-2ae4a17e36-1b8a01940b.zip b/.yarn/cache/http-status-codes-npm-2.3.0-2ae4a17e36-1b8a01940b.zip new file mode 100644 index 000000000..a414fcf2c Binary files /dev/null and b/.yarn/cache/http-status-codes-npm-2.3.0-2ae4a17e36-1b8a01940b.zip differ diff --git a/.yarn/cache/humanize-duration-npm-3.33.2-7def8b12df-ac6bc74b09.zip b/.yarn/cache/humanize-duration-npm-3.33.2-7def8b12df-ac6bc74b09.zip new file mode 100644 index 000000000..6099d918b Binary files /dev/null and b/.yarn/cache/humanize-duration-npm-3.33.2-7def8b12df-ac6bc74b09.zip differ diff --git a/.yarn/cache/iconv-lite-npm-0.5.1-8f82a50a5f-19c8127722.zip b/.yarn/cache/iconv-lite-npm-0.5.1-8f82a50a5f-19c8127722.zip new file mode 100644 index 000000000..5549abf74 Binary files /dev/null and b/.yarn/cache/iconv-lite-npm-0.5.1-8f82a50a5f-19c8127722.zip differ diff --git a/.yarn/cache/ignore-npm-5.3.2-346d3ba017-cceb6a4570.zip b/.yarn/cache/ignore-npm-5.3.2-346d3ba017-cceb6a4570.zip new file mode 100644 index 000000000..e7580729a Binary files /dev/null and b/.yarn/cache/ignore-npm-5.3.2-346d3ba017-cceb6a4570.zip differ diff --git a/.yarn/cache/import-lazy-npm-3.1.0-d268fae3e2-b202acbbec.zip b/.yarn/cache/import-lazy-npm-3.1.0-d268fae3e2-b202acbbec.zip new file mode 100644 index 000000000..3f16d0004 Binary files /dev/null and b/.yarn/cache/import-lazy-npm-3.1.0-d268fae3e2-b202acbbec.zip differ diff --git a/.yarn/cache/indent-string-npm-1.2.2-73c84c6e36-b4d3b160ee.zip b/.yarn/cache/indent-string-npm-1.2.2-73c84c6e36-b4d3b160ee.zip new file mode 100644 index 000000000..d2279a0b7 Binary files /dev/null and b/.yarn/cache/indent-string-npm-1.2.2-73c84c6e36-b4d3b160ee.zip differ diff --git a/.yarn/cache/is-ci-npm-1.2.1-6a67118112-eca06c5626.zip b/.yarn/cache/is-ci-npm-1.2.1-6a67118112-eca06c5626.zip new file mode 100644 index 000000000..4f4956398 Binary files /dev/null and b/.yarn/cache/is-ci-npm-1.2.1-6a67118112-eca06c5626.zip differ diff --git a/.yarn/cache/is-core-module-npm-2.16.2-f7b0e85c93-6ee7535d82.zip b/.yarn/cache/is-core-module-npm-2.16.2-f7b0e85c93-6ee7535d82.zip new file mode 100644 index 000000000..a68b97967 Binary files /dev/null and b/.yarn/cache/is-core-module-npm-2.16.2-f7b0e85c93-6ee7535d82.zip differ diff --git a/.yarn/cache/is-es2016-keyword-npm-1.0.0-926966d039-a6063599e2.zip b/.yarn/cache/is-es2016-keyword-npm-1.0.0-926966d039-a6063599e2.zip new file mode 100644 index 000000000..09e41c25e Binary files /dev/null and b/.yarn/cache/is-es2016-keyword-npm-1.0.0-926966d039-a6063599e2.zip differ diff --git a/.yarn/cache/is-extglob-npm-1.0.0-6d00ab629f-5eea8517fe.zip b/.yarn/cache/is-extglob-npm-1.0.0-6d00ab629f-5eea8517fe.zip new file mode 100644 index 000000000..be124d85d Binary files /dev/null and b/.yarn/cache/is-extglob-npm-1.0.0-6d00ab629f-5eea8517fe.zip differ diff --git a/.yarn/cache/is-finite-npm-1.1.0-c6324c0f8f-532b97ed3d.zip b/.yarn/cache/is-finite-npm-1.1.0-c6324c0f8f-532b97ed3d.zip new file mode 100644 index 000000000..d4f48eb98 Binary files /dev/null and b/.yarn/cache/is-finite-npm-1.1.0-c6324c0f8f-532b97ed3d.zip differ diff --git a/.yarn/cache/is-glob-npm-2.0.1-f316041d6e-089f5f9364.zip b/.yarn/cache/is-glob-npm-2.0.1-f316041d6e-089f5f9364.zip new file mode 100644 index 000000000..98e1709ba Binary files /dev/null and b/.yarn/cache/is-glob-npm-2.0.1-f316041d6e-089f5f9364.zip differ diff --git a/.yarn/cache/is-path-cwd-npm-1.0.0-e4a6dc5f50-ade6d8d59b.zip b/.yarn/cache/is-path-cwd-npm-1.0.0-e4a6dc5f50-ade6d8d59b.zip new file mode 100644 index 000000000..678fe83cf Binary files /dev/null and b/.yarn/cache/is-path-cwd-npm-1.0.0-e4a6dc5f50-ade6d8d59b.zip differ diff --git a/.yarn/cache/is-path-cwd-npm-2.2.0-e35e4aab5f-46a840921b.zip b/.yarn/cache/is-path-cwd-npm-2.2.0-e35e4aab5f-46a840921b.zip new file mode 100644 index 000000000..95fe55975 Binary files /dev/null and b/.yarn/cache/is-path-cwd-npm-2.2.0-e35e4aab5f-46a840921b.zip differ diff --git a/.yarn/cache/is-path-in-cwd-npm-1.0.1-2cbe369511-bacfc67c0d.zip b/.yarn/cache/is-path-in-cwd-npm-1.0.1-2cbe369511-bacfc67c0d.zip new file mode 100644 index 000000000..1022c6570 Binary files /dev/null and b/.yarn/cache/is-path-in-cwd-npm-1.0.1-2cbe369511-bacfc67c0d.zip differ diff --git a/.yarn/cache/is-path-inside-npm-1.0.1-cd0d417091-07e52c8116.zip b/.yarn/cache/is-path-inside-npm-1.0.1-cd0d417091-07e52c8116.zip new file mode 100644 index 000000000..95d9df294 Binary files /dev/null and b/.yarn/cache/is-path-inside-npm-1.0.1-cd0d417091-07e52c8116.zip differ diff --git a/.yarn/cache/is-podman-npm-1.0.1-ee44473753-9a72f5fced.zip b/.yarn/cache/is-podman-npm-1.0.1-ee44473753-9a72f5fced.zip new file mode 100644 index 000000000..cd2399340 Binary files /dev/null and b/.yarn/cache/is-podman-npm-1.0.1-ee44473753-9a72f5fced.zip differ diff --git a/.yarn/cache/is-utf8-npm-0.2.1-46ab364e2f-167ccd2be8.zip b/.yarn/cache/is-utf8-npm-0.2.1-46ab364e2f-167ccd2be8.zip new file mode 100644 index 000000000..952563a49 Binary files /dev/null and b/.yarn/cache/is-utf8-npm-0.2.1-46ab364e2f-167ccd2be8.zip differ diff --git a/.yarn/cache/js-tokens-npm-3.0.2-fe6fb334bd-a2d47dbe77.zip b/.yarn/cache/js-tokens-npm-3.0.2-fe6fb334bd-a2d47dbe77.zip new file mode 100644 index 000000000..29f1871bf Binary files /dev/null and b/.yarn/cache/js-tokens-npm-3.0.2-fe6fb334bd-a2d47dbe77.zip differ diff --git a/.yarn/cache/linux-platform-info-npm-0.0.3-52ed848324-12622e35e9.zip b/.yarn/cache/linux-platform-info-npm-0.0.3-52ed848324-12622e35e9.zip new file mode 100644 index 000000000..5580fb41d Binary files /dev/null and b/.yarn/cache/linux-platform-info-npm-0.0.3-52ed848324-12622e35e9.zip differ diff --git a/.yarn/cache/log-update-async-hook-npm-2.0.7-5eaaa2c8a9-ade8430b1e.zip b/.yarn/cache/log-update-async-hook-npm-2.0.7-5eaaa2c8a9-ade8430b1e.zip new file mode 100644 index 000000000..452a3e2bc Binary files /dev/null and b/.yarn/cache/log-update-async-hook-npm-2.0.7-5eaaa2c8a9-ade8430b1e.zip differ diff --git a/.yarn/cache/lru-cache-npm-11.0.2-72e1eedbe6-25fcb66e9d.zip b/.yarn/cache/lru-cache-npm-11.0.2-72e1eedbe6-25fcb66e9d.zip new file mode 100644 index 000000000..e5f979bc8 Binary files /dev/null and b/.yarn/cache/lru-cache-npm-11.0.2-72e1eedbe6-25fcb66e9d.zip differ diff --git a/.yarn/cache/macos-release-npm-3.4.0-47c3964d0e-f4c0cb8b3f.zip b/.yarn/cache/macos-release-npm-3.4.0-47c3964d0e-f4c0cb8b3f.zip new file mode 100644 index 000000000..1d64b007e Binary files /dev/null and b/.yarn/cache/macos-release-npm-3.4.0-47c3964d0e-f4c0cb8b3f.zip differ diff --git a/.yarn/cache/make-dir-npm-3.1.0-d1d7505142-484200020a.zip b/.yarn/cache/make-dir-npm-3.1.0-d1d7505142-484200020a.zip new file mode 100644 index 000000000..e466cd8a1 Binary files /dev/null and b/.yarn/cache/make-dir-npm-3.1.0-d1d7505142-484200020a.zip differ diff --git a/.yarn/cache/match-url-wildcard-npm-0.0.4-c6f9992247-647e29a522.zip b/.yarn/cache/match-url-wildcard-npm-0.0.4-c6f9992247-647e29a522.zip new file mode 100644 index 000000000..53111d348 Binary files /dev/null and b/.yarn/cache/match-url-wildcard-npm-0.0.4-c6f9992247-647e29a522.zip differ diff --git a/.yarn/cache/merge-stream-npm-1.0.1-8b7634c25d-3be7887dff.zip b/.yarn/cache/merge-stream-npm-1.0.1-8b7634c25d-3be7887dff.zip new file mode 100644 index 000000000..d121c24d0 Binary files /dev/null and b/.yarn/cache/merge-stream-npm-1.0.1-8b7634c25d-3be7887dff.zip differ diff --git a/.yarn/cache/merge2-npm-1.4.1-a2507bd06c-7268db63ed.zip b/.yarn/cache/merge2-npm-1.4.1-a2507bd06c-7268db63ed.zip new file mode 100644 index 000000000..76aa4f0b4 Binary files /dev/null and b/.yarn/cache/merge2-npm-1.4.1-a2507bd06c-7268db63ed.zip differ diff --git a/.yarn/cache/mime-db-npm-1.54.0-82cccb9d70-9e7834be3d.zip b/.yarn/cache/mime-db-npm-1.54.0-82cccb9d70-9e7834be3d.zip new file mode 100644 index 000000000..81a817d4d Binary files /dev/null and b/.yarn/cache/mime-db-npm-1.54.0-82cccb9d70-9e7834be3d.zip differ diff --git a/.yarn/cache/mime-npm-1.4.1-d0e583698c-94eccd9d1a.zip b/.yarn/cache/mime-npm-1.4.1-d0e583698c-94eccd9d1a.zip new file mode 100644 index 000000000..b6ab6c7b5 Binary files /dev/null and b/.yarn/cache/mime-npm-1.4.1-d0e583698c-94eccd9d1a.zip differ diff --git a/.yarn/cache/mimic-fn-npm-1.2.0-960bf15ab7-69c0820515.zip b/.yarn/cache/mimic-fn-npm-1.2.0-960bf15ab7-69c0820515.zip new file mode 100644 index 000000000..ae711478f Binary files /dev/null and b/.yarn/cache/mimic-fn-npm-1.2.0-960bf15ab7-69c0820515.zip differ diff --git a/.yarn/cache/moment-duration-format-commonjs-npm-1.0.1-6dd796883f-c454edcf5f.zip b/.yarn/cache/moment-duration-format-commonjs-npm-1.0.1-6dd796883f-c454edcf5f.zip new file mode 100644 index 000000000..264441e67 Binary files /dev/null and b/.yarn/cache/moment-duration-format-commonjs-npm-1.0.1-6dd796883f-c454edcf5f.zip differ diff --git a/.yarn/cache/mustache-npm-2.3.2-c66c21dab1-1b3f0599a6.zip b/.yarn/cache/mustache-npm-2.3.2-c66c21dab1-1b3f0599a6.zip new file mode 100644 index 000000000..aa1773fb0 Binary files /dev/null and b/.yarn/cache/mustache-npm-2.3.2-c66c21dab1-1b3f0599a6.zip differ diff --git a/.yarn/cache/nanoid-npm-3.3.12-41f8e0bb94-6eec280694.zip b/.yarn/cache/nanoid-npm-3.3.12-41f8e0bb94-6eec280694.zip new file mode 100644 index 000000000..210ea2375 Binary files /dev/null and b/.yarn/cache/nanoid-npm-3.3.12-41f8e0bb94-6eec280694.zip differ diff --git a/.yarn/cache/node-releases-npm-2.0.44-405bda900e-c6bc49ac7f.zip b/.yarn/cache/node-releases-npm-2.0.44-405bda900e-c6bc49ac7f.zip new file mode 100644 index 000000000..92f4e88b7 Binary files /dev/null and b/.yarn/cache/node-releases-npm-2.0.44-405bda900e-c6bc49ac7f.zip differ diff --git a/.yarn/cache/onetime-npm-2.0.1-6c39ecc911-5b4f6079e6.zip b/.yarn/cache/onetime-npm-2.0.1-6c39ecc911-5b4f6079e6.zip new file mode 100644 index 000000000..af010df7a Binary files /dev/null and b/.yarn/cache/onetime-npm-2.0.1-6c39ecc911-5b4f6079e6.zip differ diff --git a/.yarn/cache/os-family-npm-1.1.0-1dbc219142-866dfcdcd3.zip b/.yarn/cache/os-family-npm-1.1.0-1dbc219142-866dfcdcd3.zip new file mode 100644 index 000000000..e3a6e3265 Binary files /dev/null and b/.yarn/cache/os-family-npm-1.1.0-1dbc219142-866dfcdcd3.zip differ diff --git a/.yarn/cache/p-finally-npm-2.0.1-b59964aa17-6306a2851c.zip b/.yarn/cache/p-finally-npm-2.0.1-b59964aa17-6306a2851c.zip new file mode 100644 index 000000000..3ec70960e Binary files /dev/null and b/.yarn/cache/p-finally-npm-2.0.1-b59964aa17-6306a2851c.zip differ diff --git a/.yarn/cache/p-map-npm-1.2.0-28313e49b6-e7fd1175f5.zip b/.yarn/cache/p-map-npm-1.2.0-28313e49b6-e7fd1175f5.zip new file mode 100644 index 000000000..9d9160e25 Binary files /dev/null and b/.yarn/cache/p-map-npm-1.2.0-28313e49b6-e7fd1175f5.zip differ diff --git a/.yarn/cache/p-map-npm-3.0.0-e4f17c4167-d4a0664d2a.zip b/.yarn/cache/p-map-npm-3.0.0-e4f17c4167-d4a0664d2a.zip new file mode 100644 index 000000000..2d234908a Binary files /dev/null and b/.yarn/cache/p-map-npm-3.0.0-e4f17c4167-d4a0664d2a.zip differ diff --git a/.yarn/cache/parse5-npm-1.5.1-bf560a8338-e919ca870f.zip b/.yarn/cache/parse5-npm-1.5.1-bf560a8338-e919ca870f.zip new file mode 100644 index 000000000..081e2536a Binary files /dev/null and b/.yarn/cache/parse5-npm-1.5.1-bf560a8338-e919ca870f.zip differ diff --git a/.yarn/cache/parse5-npm-2.2.3-02a2b2d7ed-79536063a5.zip b/.yarn/cache/parse5-npm-2.2.3-02a2b2d7ed-79536063a5.zip new file mode 100644 index 000000000..07337c6b9 Binary files /dev/null and b/.yarn/cache/parse5-npm-2.2.3-02a2b2d7ed-79536063a5.zip differ diff --git a/.yarn/cache/path-is-inside-npm-1.0.2-7dd0711668-0b5b6c92d3.zip b/.yarn/cache/path-is-inside-npm-1.0.2-7dd0711668-0b5b6c92d3.zip new file mode 100644 index 000000000..bfca0c80e Binary files /dev/null and b/.yarn/cache/path-is-inside-npm-1.0.2-7dd0711668-0b5b6c92d3.zip differ diff --git a/.yarn/cache/path-type-npm-4.0.0-10d47fc86a-5b1e2daa24.zip b/.yarn/cache/path-type-npm-4.0.0-10d47fc86a-5b1e2daa24.zip new file mode 100644 index 000000000..f37ca5bcc Binary files /dev/null and b/.yarn/cache/path-type-npm-4.0.0-10d47fc86a-5b1e2daa24.zip differ diff --git a/.yarn/cache/pify-npm-3.0.0-679ee405c8-668c1dc8d9.zip b/.yarn/cache/pify-npm-3.0.0-679ee405c8-668c1dc8d9.zip new file mode 100644 index 000000000..acdbd6567 Binary files /dev/null and b/.yarn/cache/pify-npm-3.0.0-679ee405c8-668c1dc8d9.zip differ diff --git a/.yarn/cache/pinkie-npm-1.0.0-1864baf29a-3fe1d9ebf0.zip b/.yarn/cache/pinkie-npm-1.0.0-1864baf29a-3fe1d9ebf0.zip new file mode 100644 index 000000000..fbee69c7d Binary files /dev/null and b/.yarn/cache/pinkie-npm-1.0.0-1864baf29a-3fe1d9ebf0.zip differ diff --git a/.yarn/cache/pinkie-npm-2.0.4-cffce4fb09-11d207257a.zip b/.yarn/cache/pinkie-npm-2.0.4-cffce4fb09-11d207257a.zip new file mode 100644 index 000000000..ecc40ed33 Binary files /dev/null and b/.yarn/cache/pinkie-npm-2.0.4-cffce4fb09-11d207257a.zip differ diff --git a/.yarn/cache/pinkie-promise-npm-1.0.0-e0c57d0c18-9dc945fd77.zip b/.yarn/cache/pinkie-promise-npm-1.0.0-e0c57d0c18-9dc945fd77.zip new file mode 100644 index 000000000..de020aedc Binary files /dev/null and b/.yarn/cache/pinkie-promise-npm-1.0.0-e0c57d0c18-9dc945fd77.zip differ diff --git a/.yarn/cache/pinkie-promise-npm-2.0.1-095439b8c5-b53a4a2e73.zip b/.yarn/cache/pinkie-promise-npm-2.0.1-095439b8c5-b53a4a2e73.zip new file mode 100644 index 000000000..b7f8a1b93 Binary files /dev/null and b/.yarn/cache/pinkie-promise-npm-2.0.1-095439b8c5-b53a4a2e73.zip differ diff --git a/.yarn/cache/pkg-up-npm-3.1.0-1eebe033b7-5bac346b7c.zip b/.yarn/cache/pkg-up-npm-3.1.0-1eebe033b7-5bac346b7c.zip new file mode 100644 index 000000000..cb3a63d96 Binary files /dev/null and b/.yarn/cache/pkg-up-npm-3.1.0-1eebe033b7-5bac346b7c.zip differ diff --git a/.yarn/cache/pngjs-npm-3.4.0-4e495c1dad-0e9227a413.zip b/.yarn/cache/pngjs-npm-3.4.0-4e495c1dad-0e9227a413.zip new file mode 100644 index 000000000..20895f816 Binary files /dev/null and b/.yarn/cache/pngjs-npm-3.4.0-4e495c1dad-0e9227a413.zip differ diff --git a/.yarn/cache/pretty-hrtime-npm-1.0.3-32fd75fcbd-0a462e88a0.zip b/.yarn/cache/pretty-hrtime-npm-1.0.3-32fd75fcbd-0a462e88a0.zip new file mode 100644 index 000000000..ab292cbd6 Binary files /dev/null and b/.yarn/cache/pretty-hrtime-npm-1.0.3-32fd75fcbd-0a462e88a0.zip differ diff --git a/.yarn/cache/promisify-event-npm-1.0.0-a5273093c5-c97a76603d.zip b/.yarn/cache/promisify-event-npm-1.0.0-a5273093c5-c97a76603d.zip new file mode 100644 index 000000000..d31f2a5bd Binary files /dev/null and b/.yarn/cache/promisify-event-npm-1.0.0-a5273093c5-c97a76603d.zip differ diff --git a/.yarn/cache/qrcode-terminal-npm-0.10.0-fd8a08eb4f-d0d408be60.zip b/.yarn/cache/qrcode-terminal-npm-0.10.0-fd8a08eb4f-d0d408be60.zip new file mode 100644 index 000000000..442f0e69a Binary files /dev/null and b/.yarn/cache/qrcode-terminal-npm-0.10.0-fd8a08eb4f-d0d408be60.zip differ diff --git a/.yarn/cache/queue-microtask-npm-1.2.3-fcc98e4e2d-72900df061.zip b/.yarn/cache/queue-microtask-npm-1.2.3-fcc98e4e2d-72900df061.zip new file mode 100644 index 000000000..6ebde3fc1 Binary files /dev/null and b/.yarn/cache/queue-microtask-npm-1.2.3-fcc98e4e2d-72900df061.zip differ diff --git a/.yarn/cache/read-file-relative-npm-1.2.0-5afc91dbd8-95b8f99a31.zip b/.yarn/cache/read-file-relative-npm-1.2.0-5afc91dbd8-95b8f99a31.zip new file mode 100644 index 000000000..98bd20e8f Binary files /dev/null and b/.yarn/cache/read-file-relative-npm-1.2.0-5afc91dbd8-95b8f99a31.zip differ diff --git a/.yarn/cache/regenerate-unicode-properties-npm-10.2.2-7d116b2ed9-5041ee3118.zip b/.yarn/cache/regenerate-unicode-properties-npm-10.2.2-7d116b2ed9-5041ee3118.zip new file mode 100644 index 000000000..141a101a9 Binary files /dev/null and b/.yarn/cache/regenerate-unicode-properties-npm-10.2.2-7d116b2ed9-5041ee3118.zip differ diff --git a/.yarn/cache/regexpu-core-npm-6.4.0-8966e0bc82-bf5f85a502.zip b/.yarn/cache/regexpu-core-npm-6.4.0-8966e0bc82-bf5f85a502.zip new file mode 100644 index 000000000..84c7dc5a0 Binary files /dev/null and b/.yarn/cache/regexpu-core-npm-6.4.0-8966e0bc82-bf5f85a502.zip differ diff --git a/.yarn/cache/regjsparser-npm-0.13.1-dd1b4b99ce-3383e9dab8.zip b/.yarn/cache/regjsparser-npm-0.13.1-dd1b4b99ce-3383e9dab8.zip new file mode 100644 index 000000000..8fc9fd0a7 Binary files /dev/null and b/.yarn/cache/regjsparser-npm-0.13.1-dd1b4b99ce-3383e9dab8.zip differ diff --git a/.yarn/cache/repeating-npm-1.1.3-a1ca72906a-a10e45c779.zip b/.yarn/cache/repeating-npm-1.1.3-a1ca72906a-a10e45c779.zip new file mode 100644 index 000000000..13eb27037 Binary files /dev/null and b/.yarn/cache/repeating-npm-1.1.3-a1ca72906a-a10e45c779.zip differ diff --git a/.yarn/cache/replicator-npm-1.0.5-cbc6b8ce66-df7cb4e2bd.zip b/.yarn/cache/replicator-npm-1.0.5-cbc6b8ce66-df7cb4e2bd.zip new file mode 100644 index 000000000..e04246cc1 Binary files /dev/null and b/.yarn/cache/replicator-npm-1.0.5-cbc6b8ce66-df7cb4e2bd.zip differ diff --git a/.yarn/cache/reselect-npm-4.1.8-cad5f0a3f3-199984d987.zip b/.yarn/cache/reselect-npm-4.1.8-cad5f0a3f3-199984d987.zip new file mode 100644 index 000000000..270ef58ca Binary files /dev/null and b/.yarn/cache/reselect-npm-4.1.8-cad5f0a3f3-199984d987.zip differ diff --git a/.yarn/cache/resolve-cwd-npm-1.0.0-c02922d9df-92ba282fbe.zip b/.yarn/cache/resolve-cwd-npm-1.0.0-c02922d9df-92ba282fbe.zip new file mode 100644 index 000000000..4e59365e9 Binary files /dev/null and b/.yarn/cache/resolve-cwd-npm-1.0.0-c02922d9df-92ba282fbe.zip differ diff --git a/.yarn/cache/resolve-from-npm-2.0.0-7d5a73a272-02db4c30fe.zip b/.yarn/cache/resolve-from-npm-2.0.0-7d5a73a272-02db4c30fe.zip new file mode 100644 index 000000000..4f9fbcfb5 Binary files /dev/null and b/.yarn/cache/resolve-from-npm-2.0.0-7d5a73a272-02db4c30fe.zip differ diff --git a/.yarn/cache/resolve-from-npm-4.0.0-f758ec21bf-91eb76ce83.zip b/.yarn/cache/resolve-from-npm-4.0.0-f758ec21bf-91eb76ce83.zip new file mode 100644 index 000000000..6f45f0ef4 Binary files /dev/null and b/.yarn/cache/resolve-from-npm-4.0.0-f758ec21bf-91eb76ce83.zip differ diff --git a/.yarn/cache/resolve-npm-1.22.12-36aa35b43a-1d2a081e4b.zip b/.yarn/cache/resolve-npm-1.22.12-36aa35b43a-1d2a081e4b.zip new file mode 100644 index 000000000..fd97cccbd Binary files /dev/null and b/.yarn/cache/resolve-npm-1.22.12-36aa35b43a-1d2a081e4b.zip differ diff --git a/.yarn/cache/resolve-patch-2234730f98-f80ad2c2b6.zip b/.yarn/cache/resolve-patch-2234730f98-f80ad2c2b6.zip new file mode 100644 index 000000000..2332574e5 Binary files /dev/null and b/.yarn/cache/resolve-patch-2234730f98-f80ad2c2b6.zip differ diff --git a/.yarn/cache/reusify-npm-1.1.0-96242be57f-af47851b54.zip b/.yarn/cache/reusify-npm-1.1.0-96242be57f-af47851b54.zip new file mode 100644 index 000000000..f44171676 Binary files /dev/null and b/.yarn/cache/reusify-npm-1.1.0-96242be57f-af47851b54.zip differ diff --git a/.yarn/cache/rimraf-npm-2.7.1-9a71f3cc37-4586c296c7.zip b/.yarn/cache/rimraf-npm-2.7.1-9a71f3cc37-4586c296c7.zip new file mode 100644 index 000000000..cad5d8ceb Binary files /dev/null and b/.yarn/cache/rimraf-npm-2.7.1-9a71f3cc37-4586c296c7.zip differ diff --git a/.yarn/cache/run-parallel-npm-1.2.0-3f47ff2034-cb4f97ad25.zip b/.yarn/cache/run-parallel-npm-1.2.0-3f47ff2034-cb4f97ad25.zip new file mode 100644 index 000000000..fefbad56f Binary files /dev/null and b/.yarn/cache/run-parallel-npm-1.2.0-3f47ff2034-cb4f97ad25.zip differ diff --git a/.yarn/cache/sanitize-filename-npm-1.6.4-3df31c4b93-9fb32f8ae5.zip b/.yarn/cache/sanitize-filename-npm-1.6.4-3df31c4b93-9fb32f8ae5.zip new file mode 100644 index 000000000..d8b3b68e6 Binary files /dev/null and b/.yarn/cache/sanitize-filename-npm-1.6.4-3df31c4b93-9fb32f8ae5.zip differ diff --git a/.yarn/cache/set-cookie-parser-npm-2.7.2-e1a4d1221b-4b6f5ec4e3.zip b/.yarn/cache/set-cookie-parser-npm-2.7.2-e1a4d1221b-4b6f5ec4e3.zip new file mode 100644 index 000000000..30a917f19 Binary files /dev/null and b/.yarn/cache/set-cookie-parser-npm-2.7.2-e1a4d1221b-4b6f5ec4e3.zip differ diff --git a/.yarn/cache/strip-bom-npm-2.0.0-5c4b64ed5a-08efb746bc.zip b/.yarn/cache/strip-bom-npm-2.0.0-5c4b64ed5a-08efb746bc.zip new file mode 100644 index 000000000..b33e06cce Binary files /dev/null and b/.yarn/cache/strip-bom-npm-2.0.0-5c4b64ed5a-08efb746bc.zip differ diff --git a/.yarn/cache/testcafe-browser-tools-npm-2.0.26-77c1cdb7b2-590f1030ac.zip b/.yarn/cache/testcafe-browser-tools-npm-2.0.26-77c1cdb7b2-590f1030ac.zip new file mode 100644 index 000000000..79c012d81 Binary files /dev/null and b/.yarn/cache/testcafe-browser-tools-npm-2.0.26-77c1cdb7b2-590f1030ac.zip differ diff --git a/.yarn/cache/testcafe-hammerhead-npm-31.7.7-9b086e85bd-899c3cafe3.zip b/.yarn/cache/testcafe-hammerhead-npm-31.7.7-9b086e85bd-899c3cafe3.zip new file mode 100644 index 000000000..a7636f3b5 Binary files /dev/null and b/.yarn/cache/testcafe-hammerhead-npm-31.7.7-9b086e85bd-899c3cafe3.zip differ diff --git a/.yarn/cache/testcafe-legacy-api-npm-5.1.8-42fa733243-0e7e897eec.zip b/.yarn/cache/testcafe-legacy-api-npm-5.1.8-42fa733243-0e7e897eec.zip new file mode 100644 index 000000000..863ccf222 Binary files /dev/null and b/.yarn/cache/testcafe-legacy-api-npm-5.1.8-42fa733243-0e7e897eec.zip differ diff --git a/.yarn/cache/testcafe-npm-3.7.4-52d503c492-ea2a366a16.zip b/.yarn/cache/testcafe-npm-3.7.4-52d503c492-ea2a366a16.zip new file mode 100644 index 000000000..d9cbf089d Binary files /dev/null and b/.yarn/cache/testcafe-npm-3.7.4-52d503c492-ea2a366a16.zip differ diff --git a/.yarn/cache/testcafe-reporter-json-npm-2.2.0-927dba3861-7edb8cfcf8.zip b/.yarn/cache/testcafe-reporter-json-npm-2.2.0-927dba3861-7edb8cfcf8.zip new file mode 100644 index 000000000..abeeb969a Binary files /dev/null and b/.yarn/cache/testcafe-reporter-json-npm-2.2.0-927dba3861-7edb8cfcf8.zip differ diff --git a/.yarn/cache/testcafe-reporter-list-npm-2.2.0-936d4104ed-ba473ca217.zip b/.yarn/cache/testcafe-reporter-list-npm-2.2.0-936d4104ed-ba473ca217.zip new file mode 100644 index 000000000..80f1c3e10 Binary files /dev/null and b/.yarn/cache/testcafe-reporter-list-npm-2.2.0-936d4104ed-ba473ca217.zip differ diff --git a/.yarn/cache/testcafe-reporter-minimal-npm-2.2.0-5e3a1739b5-1919a793c0.zip b/.yarn/cache/testcafe-reporter-minimal-npm-2.2.0-5e3a1739b5-1919a793c0.zip new file mode 100644 index 000000000..7182a3b2f Binary files /dev/null and b/.yarn/cache/testcafe-reporter-minimal-npm-2.2.0-5e3a1739b5-1919a793c0.zip differ diff --git a/.yarn/cache/testcafe-reporter-spec-npm-2.2.0-b4d8072498-c17b6be1d8.zip b/.yarn/cache/testcafe-reporter-spec-npm-2.2.0-b4d8072498-c17b6be1d8.zip new file mode 100644 index 000000000..b2003fd90 Binary files /dev/null and b/.yarn/cache/testcafe-reporter-spec-npm-2.2.0-b4d8072498-c17b6be1d8.zip differ diff --git a/.yarn/cache/testcafe-reporter-xunit-npm-2.2.3-666423df74-d5b9654d64.zip b/.yarn/cache/testcafe-reporter-xunit-npm-2.2.3-666423df74-d5b9654d64.zip new file mode 100644 index 000000000..573f8ee3d Binary files /dev/null and b/.yarn/cache/testcafe-reporter-xunit-npm-2.2.3-666423df74-d5b9654d64.zip differ diff --git a/.yarn/cache/testcafe-selector-generator-npm-0.1.0-e3fbe291b5-d0d6cb603b.zip b/.yarn/cache/testcafe-selector-generator-npm-0.1.0-e3fbe291b5-d0d6cb603b.zip new file mode 100644 index 000000000..f09b11883 Binary files /dev/null and b/.yarn/cache/testcafe-selector-generator-npm-0.1.0-e3fbe291b5-d0d6cb603b.zip differ diff --git a/.yarn/cache/time-limit-promise-npm-1.0.4-e2e455a305-8a76b40040.zip b/.yarn/cache/time-limit-promise-npm-1.0.4-e2e455a305-8a76b40040.zip new file mode 100644 index 000000000..3afc8b621 Binary files /dev/null and b/.yarn/cache/time-limit-promise-npm-1.0.4-e2e455a305-8a76b40040.zip differ diff --git a/.yarn/cache/tough-cookie-npm-4.1.3-08285e2518-cf148c359b.zip b/.yarn/cache/tough-cookie-npm-4.1.3-08285e2518-cf148c359b.zip new file mode 100644 index 000000000..d9d583b03 Binary files /dev/null and b/.yarn/cache/tough-cookie-npm-4.1.3-08285e2518-cf148c359b.zip differ diff --git a/.yarn/cache/typescript-npm-4.7.4-65aa6ffb42-f056b2313a.zip b/.yarn/cache/typescript-npm-4.7.4-65aa6ffb42-f056b2313a.zip new file mode 100644 index 000000000..8fe2cfddf Binary files /dev/null and b/.yarn/cache/typescript-npm-4.7.4-65aa6ffb42-f056b2313a.zip differ diff --git a/.yarn/cache/typescript-patch-7bbffa1f44-cd6f51368b.zip b/.yarn/cache/typescript-patch-7bbffa1f44-cd6f51368b.zip new file mode 100644 index 000000000..b20448fff Binary files /dev/null and b/.yarn/cache/typescript-patch-7bbffa1f44-cd6f51368b.zip differ diff --git a/.yarn/cache/unicode-match-property-value-ecmascript-npm-2.2.1-0b3c4504a2-a42bebebab.zip b/.yarn/cache/unicode-match-property-value-ecmascript-npm-2.2.1-0b3c4504a2-a42bebebab.zip new file mode 100644 index 000000000..a25e295db Binary files /dev/null and b/.yarn/cache/unicode-match-property-value-ecmascript-npm-2.2.1-0b3c4504a2-a42bebebab.zip differ diff --git a/.yarn/cache/unquote-npm-1.1.1-11903c1689-71745867d0.zip b/.yarn/cache/unquote-npm-1.1.1-11903c1689-71745867d0.zip new file mode 100644 index 000000000..101c41122 Binary files /dev/null and b/.yarn/cache/unquote-npm-1.1.1-11903c1689-71745867d0.zip differ diff --git a/.yarn/cache/url-to-options-npm-2.0.0-5c49006293-104741b13c.zip b/.yarn/cache/url-to-options-npm-2.0.0-5c49006293-104741b13c.zip new file mode 100644 index 000000000..20240debb Binary files /dev/null and b/.yarn/cache/url-to-options-npm-2.0.0-5c49006293-104741b13c.zip differ diff --git a/.yarn/cache/which-promise-npm-1.0.0-a25bf5eda8-b5a9609116.zip b/.yarn/cache/which-promise-npm-1.0.0-a25bf5eda8-b5a9609116.zip new file mode 100644 index 000000000..84c79b435 Binary files /dev/null and b/.yarn/cache/which-promise-npm-1.0.0-a25bf5eda8-b5a9609116.zip differ diff --git a/.yarn/cache/windows-release-npm-5.1.1-f855bc5122-8d15388ccf.zip b/.yarn/cache/windows-release-npm-5.1.1-f855bc5122-8d15388ccf.zip new file mode 100644 index 000000000..65d04df5e Binary files /dev/null and b/.yarn/cache/windows-release-npm-5.1.1-f855bc5122-8d15388ccf.zip differ diff --git a/README.md b/README.md index 9a96719ca..419017367 100644 --- a/README.md +++ b/README.md @@ -61,6 +61,7 @@ Minimum supported framework versions by package: - `allure-jest`: `jest`, `jest-circus`, and matching Jest environments `>= 24.8.0` - `allure-mocha`: `mocha >= 6.2.0` - `allure-playwright`: `@playwright/test >= 1.53.0` +- `testcafe-reporter-allure`: `testcafe >= 2.5.0` - `allure-vitest`: `vitest >= 1.3.0` - `newman-reporter-allure`: `newman >= 3.5.0` - `allure-js-commons`: shared runtime and reporter SDK used to build integrations @@ -135,6 +136,12 @@ npx allure open ./allure-report [Read more](/packages/allure-playwright/README.md) +### TestCafe + +Canonical package name: `testcafe-reporter-allure` + +[Read more](/packages/testcafe-reporter-allure/README.md) + ### Cypress ![npm](https://img.shields.io/npm/dm/allure-cypress.svg) ![npm](https://img.shields.io/npm/v/allure-cypress.svg) diff --git a/packages/testcafe-reporter-allure/README.md b/packages/testcafe-reporter-allure/README.md new file mode 100644 index 000000000..296fde9d5 --- /dev/null +++ b/packages/testcafe-reporter-allure/README.md @@ -0,0 +1,319 @@ +# Allure TestCafe + +> Allure Framework integration for [TestCafe](https://testcafe.io) + +[Allure Report logo](https://allurereport.org "Allure Report") + +- 📚 [Documentation](https://allurereport.org/docs/) - discover official documentation for Allure Report +- ❓ [Questions and Support](https://github.com/orgs/allure-framework/discussions/categories/questions-support) - get help from the team and community +- 📢 [Official annoucements](https://github.com/orgs/allure-framework/discussions/categories/announcements) - be in touch with the latest updates +- 💬 [General Discussion](https://github.com/orgs/allure-framework/discussions/categories/general-discussion) - engage in casual conversations, share insights and ideas with the community + +--- + +`testcafe-reporter-allure` adds [Allure Report](https://allurereport.org/) support to TestCafe. It writes `allure-results`, captures TestCafe actions as steps, and works with the standard `allure-js-commons` runtime API. + +## Features + +- writes standard Allure results from TestCafe runs +- captures built-in TestCafe actions and assertions such as `click`, `typeText`, and `expect(...).eql(...)` as Allure steps +- supports standard runtime API imports from `allure-js-commons` +- supports labels, links, descriptions, parameters, attachments, and nested steps +- supports `fixture.meta(...)`, `test.meta(...)`, and inline `@allure.*` title annotations +- attaches screenshots, videos, warnings, quarantine details, and execution details +- supports Allure test plans in JS/CJS TestCafe config files and the runner API + +## Installation + +Install the reporter: + +```shell +npm install -D testcafe-reporter-allure +``` + +Install an Allure CLI to build and open the report: + +- Allure Report 2: [installation guide](https://allurereport.org/docs/install/) +- Allure Report 3: + +```shell +npm install -D allure +``` + +## Requirements + +- `testcafe >= 2.5.0` + +## Recommended setup + +Keep Allure test plan filtering enabled in every JS/CJS config or runner setup: + +- it is recommended for Allure 3 smart retries +- it is recommended for agent-mode workflows +- the helper is safe to leave enabled permanently + +If `ALLURE_TESTPLAN_PATH` is not set, `createAllureTestPlanFilter()` returns `undefined` and TestCafe runs normally. + +Create a `.testcaferc.cjs` file: + +```js +const { createAllureTestPlanFilter } = require("testcafe-reporter-allure/testplan"); + +module.exports = { + src: ["tests/**/*.test.js"], + browsers: ["chromium:headless --guest"], + reporter: ["spec", "allure"], + filter: createAllureTestPlanFilter(), +}; +``` + +Run TestCafe with that config: + +```shell +testcafe --config-file .testcaferc.cjs +``` + +This creates results in `./allure-results`. + +Generate and open the report: + +```shell +allure generate ./allure-results -o ./allure-report +allure open ./allure-report +``` + +Or with Allure Report 3: + +```shell +npx allure generate ./allure-results +npx allure open ./allure-report +``` + +## Direct CLI usage + +For one-off local runs, you can still start TestCafe directly: + +```shell +testcafe "chromium:headless --guest" tests -r spec,allure +``` + +If you want test plan support, prefer running through a JS/CJS config file or the runner API so `createAllureTestPlanFilter()` stays enabled. + +## Configuration file usage + +Use the reporter by name and keep test plan filtering configured: + +```js +const { createAllureTestPlanFilter } = require("testcafe-reporter-allure/testplan"); + +module.exports = { + src: ["tests/**/*.test.js"], + browsers: ["chromium:headless --guest"], + reporter: ["spec", "allure"], + filter: createAllureTestPlanFilter(), +}; +``` + +JSON config files cannot use function-based filters. For the recommended Allure setup, use `.testcaferc.js`, `.testcaferc.cjs`, or the runner API. + +## Runner API usage + +Use the runner API when you want to customize the output directory or reporter options while keeping test plan support enabled: + +```js +const createTestCafe = require("testcafe"); +const createAllureTestCafeReporter = require("testcafe-reporter-allure"); +const { createAllureTestPlanFilter } = require("testcafe-reporter-allure/testplan"); + +(async () => { + const testcafe = await createTestCafe(); + + try { + const runner = testcafe.createRunner(); + + await runner + .src(["tests/**/*.test.js"]) + .browsers(["chromium:headless --guest"]) + .filter(createAllureTestPlanFilter()) + .reporter( + createAllureTestCafeReporter({ + resultsDir: "./out/allure-results", + links: { + issue: { + urlTemplate: "https://issues.example.com/%s", + nameTemplate: "ISSUE-%s", + }, + }, + globalLabels: [ + { + name: "component", + value: "web", + }, + ], + environmentInfo: { + target: "staging", + }, + }), + ) + .run(); + } finally { + await testcafe.close(); + } +})(); +``` + +Available options: + +- `resultsDir` +- `captureActionsAsSteps` +- `links` +- `globalLabels` +- `environmentInfo` +- `categories` + +## Runtime API + +Once the Allure reporter is enabled, you can use standard imports from `allure-js-commons` inside your tests: + +```js +const { attachment, owner, severity, step } = require("allure-js-commons"); + +fixture`Authentication`.page`https://example.com/login`; + +test("sign in", async (t) => { + await owner("alice"); + await severity("critical"); + + await step("Submit credentials", async (ctx) => { + await ctx.parameter("login", "demo-user"); + await attachment("payload.json", JSON.stringify({ login: "demo-user" }), "application/json"); + + await t.typeText("#login", "demo-user").typeText("#password", "secret").click("#submit"); + }); +}); +``` + +## Automatic action steps + +The reporter captures common TestCafe actions and assertions as steps automatically, including: + +- `t.click(...)` +- `t.typeText(...)` +- `t.pressKey(...)` +- `t.navigateTo(...)` +- `t.request(...)` +- `t.takeScreenshot(...)` +- `t.expect(...).eql(...)` +- `t.expect(...).ok()` + +If you want to keep only explicit runtime API steps, disable automatic action capture: + +```js +createAllureTestCafeReporter({ + captureActionsAsSteps: false, +}); +``` + +## Metadata + +You can add Allure metadata through `meta(...)`: + +```js +fixture`Checkout`.meta({ + "allure.label.epic": "Storefront", + "allure.label.feature": "Checkout", +}); + +test.meta({ + "allure.id": "42", + "allure.label.story": "Pay with card", + "allure.link.issue": "PAY-42", +})("pay with card", async (t) => { + await t.expect(true).ok(); +}); +``` + +You can also add inline title annotations: + +```js +test("pay with card @allure.id=42 @allure.label.tag=smoke", async (t) => { + await t.expect(true).ok(); +}); +``` + +## Test plan support + +Allure test plans are recommended for everyday TestCafe setup. Keep the filter helper configured in your JS/CJS config or runner API, and control selection by setting `ALLURE_TESTPLAN_PATH`. + +Create an Allure test plan file: + +```json +{ + "version": "1.0", + "tests": [ + { + "selector": "tests/auth.test.js#Authentication#sign in" + }, + { + "id": "42" + } + ] +} +``` + +Set `ALLURE_TESTPLAN_PATH`, then use the helper in a JS/CJS config: + +```js +const { createAllureTestPlanFilter } = require("testcafe-reporter-allure/testplan"); + +module.exports = { + src: ["tests/**/*.test.js"], + browsers: ["chromium:headless --guest"], + reporter: ["allure"], + filter: createAllureTestPlanFilter(), +}; +``` + +Or with the runner API: + +```js +const { createAllureTestPlanFilter } = require("testcafe-reporter-allure/testplan"); + +await runner.src(["tests/**/*.test.js"]).filter(createAllureTestPlanFilter()).reporter("allure").run(); +``` + +## Result artifacts + +Depending on your TestCafe setup, the reporter can include: + +- screenshots +- recorded videos +- warnings +- quarantine information +- browser information +- execution log attachments + +## Example + +```js +const { epic, feature, story, step } = require("allure-js-commons"); +const { Selector } = require("testcafe"); + +fixture`Orders`.page`https://example.com/orders`; + +test("create order", async (t) => { + await epic("Storefront"); + await feature("Orders"); + await story("Create order"); + + await step("Open creation form", async () => { + await t.click("[data-test=create-order]"); + }); + + await step("Submit order", async () => { + await t.typeText("#name", "Sample order").click("#save"); + }); + + await t.expect(Selector("[data-test=success]").exists).ok(); +}); +``` diff --git a/packages/testcafe-reporter-allure/babel.cjs.json b/packages/testcafe-reporter-allure/babel.cjs.json new file mode 100644 index 000000000..8d5e10dfa --- /dev/null +++ b/packages/testcafe-reporter-allure/babel.cjs.json @@ -0,0 +1,16 @@ +{ + "presets": [ + [ + "@babel/preset-typescript", + { + "rewriteImportExtensions": true + } + ], + ["@babel/preset-env", { "modules": "commonjs" }] + ], + "plugins": ["babel-plugin-add-module-exports"], + "targets": { + "esmodules": false, + "node": 18 + } +} diff --git a/packages/testcafe-reporter-allure/babel.esm.json b/packages/testcafe-reporter-allure/babel.esm.json new file mode 100644 index 000000000..bc8432e04 --- /dev/null +++ b/packages/testcafe-reporter-allure/babel.esm.json @@ -0,0 +1,15 @@ +{ + "presets": [ + [ + "@babel/preset-typescript", + { + "rewriteImportExtensions": true + } + ], + ["@babel/preset-env", { "modules": false }] + ], + "targets": { + "esmodules": true, + "node": 18 + } +} diff --git a/packages/testcafe-reporter-allure/package.json b/packages/testcafe-reporter-allure/package.json new file mode 100644 index 000000000..86da5a01a --- /dev/null +++ b/packages/testcafe-reporter-allure/package.json @@ -0,0 +1,88 @@ +{ + "name": "testcafe-reporter-allure", + "version": "3.7.1", + "description": "Allure TestCafe integration", + "keywords": [ + "allure", + "e2e", + "html", + "report", + "reporter", + "test", + "testcafe", + "testing", + "testops" + ], + "homepage": "https://allurereport.org/", + "license": "Apache-2.0", + "author": { + "name": "Qameta Software", + "email": "allure@qameta.io", + "url": "https://qameta.io/" + }, + "repository": { + "type": "git", + "url": "https://github.com/allure-framework/allure-js.git", + "directory": "packages/testcafe-reporter-allure" + }, + "files": [ + "dist" + ], + "main": "./dist/cjs/index.js", + "module": "./dist/esm/index.js", + "types": "./dist/types/index.d.ts", + "exports": { + ".": { + "types": "./dist/types/index.d.ts", + "import": "./dist/esm/index.js", + "require": "./dist/cjs/index.js" + }, + "./testplan": { + "types": "./dist/types/testplan.d.ts", + "import": "./dist/esm/testplan.js", + "require": "./dist/cjs/testplan.js" + } + }, + "scripts": { + "allure-report": "allure serve ./out/allure-results", + "clean": "rimraf ./dist ./out", + "compile": "run-s 'compile:*'", + "compile:esm": "babel --config-file ./babel.esm.json ./src --out-dir ./dist/esm --extensions '.ts' --source-maps", + "compile:cjs": "babel --config-file ./babel.cjs.json ./src --out-dir ./dist/cjs --extensions '.ts' --source-maps", + "compile:types": "tsc", + "compile:fixup": "node ./scripts/fixup.mjs", + "generate-report": "allure generate ./out/allure-results -o ./out/allure-report --clean", + "lint": "oxlint --import-plugin src test", + "lint:fix": "oxlint --import-plugin --fix src test", + "pretest": "run-s clean compile", + "test": "vitest run" + }, + "dependencies": { + "allure-js-commons": "workspace:*" + }, + "devDependencies": { + "@babel/cli": "^7.28.0", + "@babel/core": "^7.28.0", + "@babel/preset-env": "^7.28.0", + "@babel/preset-typescript": "^7.27.1", + "@types/babel__core": "^7.20.5", + "@types/babel__preset-env": "^7.10.0", + "@types/node": "^20.19.0", + "allure-commandline": "^2.29.0", + "allure-vitest": "workspace:*", + "babel-plugin-add-module-exports": "^1.0.4", + "npm-run-all2": "^8.0.0", + "rimraf": "^6.0.0", + "testcafe": "^3.7.2", + "typescript": "^6.0.3", + "vitest": "^4.0.18" + }, + "peerDependencies": { + "testcafe": ">=2.5.0" + }, + "peerDependenciesMeta": { + "testcafe": { + "optional": true + } + } +} diff --git a/packages/testcafe-reporter-allure/scripts/fixup.mjs b/packages/testcafe-reporter-allure/scripts/fixup.mjs new file mode 100644 index 000000000..90cc64099 --- /dev/null +++ b/packages/testcafe-reporter-allure/scripts/fixup.mjs @@ -0,0 +1,38 @@ +import { mkdirSync, writeFileSync } from "node:fs"; +import { join, resolve } from "node:path"; +import { fileURLToPath } from "node:url"; + +const dirname = fileURLToPath(new URL(".", import.meta.url)); +const esmBuildPath = resolve(dirname, "../dist/esm"); +const cjsBuildPath = resolve(dirname, "../dist/cjs"); + +try { + mkdirSync(esmBuildPath, { recursive: true }); +} catch {} + +try { + mkdirSync(cjsBuildPath, { recursive: true }); +} catch {} + +writeFileSync( + join(esmBuildPath, "package.json"), + JSON.stringify( + { + type: "module", + }, + null, + 2, + ), + "utf8", +); +writeFileSync( + join(cjsBuildPath, "package.json"), + JSON.stringify( + { + type: "commonjs", + }, + null, + 2, + ), + "utf8", +); diff --git a/packages/testcafe-reporter-allure/src/globalRuntime.ts b/packages/testcafe-reporter-allure/src/globalRuntime.ts new file mode 100644 index 000000000..4320673ae --- /dev/null +++ b/packages/testcafe-reporter-allure/src/globalRuntime.ts @@ -0,0 +1,150 @@ +import type { RuntimeMessage } from "allure-js-commons/sdk"; +import { MessageTestRuntime, setGlobalTestRuntime } from "allure-js-commons/sdk/runtime"; + +import type { AllureTestCafeRuntimeEnvelope, TestCafeTestRunTrackerModule } from "./model.js"; +import { createRuntimeAttachmentEnvelope } from "./utils.js"; + +type TestCafeTestRunTrackerImport = TestCafeTestRunTrackerModule & { + default?: TestCafeTestRunTrackerModule; +}; + +type TestCafeModuleImport = { + t?: { + report?: (value: unknown) => PromiseLike | unknown; + }; + default?: TestCafeModuleImport; +}; + +let globalRuntime: AllureTestCafeGlobalRuntime | undefined; +let testRunTrackerCache: TestCafeTestRunTrackerModule | null | undefined; +let testRunTrackerPromise: Promise | undefined; +let testCafeModuleCache: TestCafeModuleImport | null | undefined; +let testCafeModulePromise: Promise | undefined; + +const getTestRunTracker = (value: TestCafeTestRunTrackerImport) => { + return typeof value.resolveContextTestRun === "function" || value.activeTestRuns ? value : (value.default ?? null); +}; + +const loadTestRunTracker = async () => { + if (testRunTrackerCache !== undefined) { + return testRunTrackerCache; + } + + if (typeof require === "function") { + try { + const testRunTracker = require("testcafe/lib/api/test-run-tracker") as TestCafeTestRunTrackerModule; + + testRunTrackerCache = getTestRunTracker(testRunTracker); + return testRunTrackerCache; + } catch { + testRunTrackerCache = null; + return testRunTrackerCache; + } + } + + testRunTrackerPromise ??= import("testcafe/lib/api/test-run-tracker") + .then((testRunTracker) => getTestRunTracker(testRunTracker as unknown as TestCafeTestRunTrackerImport)) + .catch(() => null) + .then((testRunTracker) => { + testRunTrackerCache = testRunTracker; + return testRunTracker; + }); + + return await testRunTrackerPromise; +}; + +const getTestCafeModule = (value: TestCafeModuleImport) => { + return value?.t?.report ? value : (value.default ?? null); +}; + +const loadTestCafeModule = async () => { + if (testCafeModuleCache !== undefined) { + return testCafeModuleCache; + } + + if (typeof require === "function") { + try { + const testCafeModule = require("testcafe") as TestCafeModuleImport; + + testCafeModuleCache = getTestCafeModule(testCafeModule); + return testCafeModuleCache; + } catch { + testCafeModuleCache = null; + return testCafeModuleCache; + } + } + + testCafeModulePromise ??= import("testcafe") + .then((testCafeModule) => getTestCafeModule(testCafeModule as unknown as TestCafeModuleImport)) + .catch(() => null) + .then((testCafeModule) => { + testCafeModuleCache = testCafeModule; + return testCafeModule; + }); + + return await testCafeModulePromise; +}; + +const resolveCurrentTestRun = async () => { + try { + const testRunTracker = await loadTestRunTracker(); + const currentTestRun = testRunTracker?.resolveContextTestRun?.(); + + if (currentTestRun) { + return currentTestRun; + } + + const activeTestRuns = Object.values(testRunTracker?.activeTestRuns ?? {}); + + return activeTestRuns.length === 1 ? activeTestRuns[0] : undefined; + } catch { + return undefined; + } +}; + +const addRuntimeEnvelopeToCurrentTestRun = async (envelope: AllureTestCafeRuntimeEnvelope) => { + const currentTestRun = await resolveCurrentTestRun(); + + if (!currentTestRun?.reportDataLog?.addData) { + return false; + } + + await currentTestRun.reportDataLog.addData([envelope]); + return true; +}; + +const reportRuntimeEnvelopeThroughTestController = async (envelope: AllureTestCafeRuntimeEnvelope) => { + const testCafeModule = await loadTestCafeModule(); + + if (!testCafeModule?.t?.report) { + return false; + } + + try { + await testCafeModule.t.report(envelope); + return true; + } catch { + return false; + } +}; + +export const addRuntimeMessageToCurrentTestRun = async (message: RuntimeMessage) => { + const envelope = createRuntimeAttachmentEnvelope(message); + + if (await addRuntimeEnvelopeToCurrentTestRun(envelope)) { + return true; + } + + return await reportRuntimeEnvelopeThroughTestController(envelope); +}; + +class AllureTestCafeGlobalRuntime extends MessageTestRuntime { + async sendMessage(message: RuntimeMessage) { + await addRuntimeMessageToCurrentTestRun(message); + } +} + +export const installGlobalTestRuntime = () => { + globalRuntime ??= new AllureTestCafeGlobalRuntime(); + setGlobalTestRuntime(globalRuntime); +}; diff --git a/packages/testcafe-reporter-allure/src/index.ts b/packages/testcafe-reporter-allure/src/index.ts new file mode 100644 index 000000000..32d8316cc --- /dev/null +++ b/packages/testcafe-reporter-allure/src/index.ts @@ -0,0 +1,17 @@ +import type { AllureTestCafeReporterConfig, TestCafeReporterFactory, TestCafeReporterPlugin } from "./model.js"; +import { createReporterObject } from "./reporter.js"; + +export type { AllureTestCafeReporterConfig } from "./model.js"; +export { createAllureTestPlanFilter } from "./testplan.js"; + +export function createAllureTestCafeReporter(): TestCafeReporterPlugin; +export function createAllureTestCafeReporter(config: AllureTestCafeReporterConfig): TestCafeReporterFactory; +export function createAllureTestCafeReporter(config?: AllureTestCafeReporterConfig) { + if (arguments.length === 0) { + return createReporterObject(); + } + + return () => createReporterObject(config); +} + +export default createAllureTestCafeReporter; diff --git a/packages/testcafe-reporter-allure/src/model.ts b/packages/testcafe-reporter-allure/src/model.ts new file mode 100644 index 000000000..0da0d7fc1 --- /dev/null +++ b/packages/testcafe-reporter-allure/src/model.ts @@ -0,0 +1,211 @@ +import type { Status } from "allure-js-commons"; +import type { RuntimeMessage } from "allure-js-commons/sdk"; +import type { ReporterConfig } from "allure-js-commons/sdk/reporter"; + +export type AllureTestCafeReporterConfig = ReporterConfig & { + captureActionsAsSteps?: boolean; +}; + +export type TestCafeReportDataLog = { + addData: (data: unknown[]) => PromiseLike | unknown; +}; + +export type TestCafeContextTestRun = { + reportDataLog?: TestCafeReportDataLog; +}; + +export type TestCafeTestRunTrackerModule = { + resolveContextTestRun?: () => TestCafeContextTestRun | undefined; + activeTestRuns?: Record; +}; + +export type TestCafeTestStartInfo = { + testRunIds?: string[]; + testId?: string; + startTime?: Date; +}; + +export type TestCafeBrowserInfo = { + testRunId: string; + prettyUserAgent?: string; + userAgent?: string; +}; + +export type TestCafeScreenshotInfo = { + testRunId?: string; + screenshotPath: string; + thumbnailPath?: string; + userAgent?: string; + quarantineAttempt?: number; + takenOnFail?: boolean; + actionId?: string; +}; + +export type TestCafeVideoInfo = { + testRunId?: string; + videoPath: string; + singleFile?: boolean; + timecodes?: number[]; +}; + +export type TestCafeQuarantineAttempt = { + passed?: boolean; +}; + +export type TestCafeTestRunInfo = { + errs: unknown[]; + warnings: string[]; + durationMs: number; + unstable?: boolean; + screenshotPath?: string; + screenshots?: TestCafeScreenshotInfo[]; + videos?: TestCafeVideoInfo[]; + quarantine?: Record; + skipped?: boolean; + reportData?: Record; + browsers?: TestCafeBrowserInfo[]; +}; + +export type TestCafeTaskResult = { + passedCount: number; + failedCount: number; + skippedCount: number; +}; + +export type TestCafeFormattedSelector = { + expression?: string; + timeout?: number; + element?: unknown; +}; + +export type TestCafeFormattedCommand = Record & { + type?: string; + actionId?: string; + selector?: TestCafeFormattedSelector; + destinationSelector?: TestCafeFormattedSelector; + startSelector?: TestCafeFormattedSelector; + endSelector?: TestCafeFormattedSelector; + options?: Record; + name?: string; + url?: string; + keys?: string; + text?: string; + timeout?: number; +}; + +export type TestCafeReporterActionInfo = { + testRunId: string; + test: { + id: string; + name: string; + phase?: string; + }; + fixture: { + id: string; + name: string; + }; + command: TestCafeFormattedCommand; + browser?: TestCafeBrowserInfo; + duration?: number; + err?: unknown; +}; + +export type TestCafeReporterDataInfo = { + testRunId: string; + browser?: TestCafeBrowserInfo; + test?: { + id: string; + name: string; + meta?: Record; + }; + fixture?: { + id: string; + name: string; + path?: string; + meta?: Record; + }; +}; + +export type TestCafeReporterWarningInfo = { + message: string; + testRunId?: string; + actionId?: string; +}; + +export type TestCafeReporterContext = { + formatError?: (error: unknown, prefix?: string) => string; +}; + +export type TestCafeErrorLike = Partial & { + errMsg?: unknown; + originError?: unknown; + actual?: unknown; + expected?: unknown; +}; + +export type TestCafeReporterPlugin = { + noColors?: boolean; + init?: (version: string) => void; + reportTaskStart?: (startTime: Date, userAgents: string[], testCount: number) => Promise | void; + reportFixtureStart?: (name: string, path: string, meta: Record) => Promise | void; + reportTestStart?: ( + name: string, + meta: Record, + testStartInfo: TestCafeTestStartInfo, + ) => Promise | void; + reportTestActionStart?: (apiActionName: string, info: TestCafeReporterActionInfo) => Promise | void; + reportTestActionDone?: (apiActionName: string, info: TestCafeReporterActionInfo) => Promise | void; + reportWarnings?: (warningInfo: TestCafeReporterWarningInfo) => Promise | void; + reportData?: (testRunInfo: TestCafeReporterDataInfo, ...data: unknown[]) => Promise | void; + reportTestDone?: ( + this: TestCafeReporterContext, + name: string, + testRunInfo: TestCafeTestRunInfo, + meta: Record, + ) => Promise | void; + reportTaskDone?: ( + endTime: Date, + passed: number, + warnings: string[], + result: TestCafeTaskResult, + ) => Promise | void; +}; + +export type TestCafeReporterFactory = () => TestCafeReporterPlugin; + +export type FixtureState = { + name: string; + path: string; + relativePath: string; + meta: Record; +}; + +export type StartedTestState = { + rawName: string; + cleanTitle: string; + fullName: string; + titlePath: string[]; + testUuid: string; + testRunId?: string; + fixture: FixtureState; + meta: Record; +}; + +export type StartedTestGroupState = { + rawName: string; + fixture: FixtureState; + meta: Record; + startedTests: StartedTestState[]; +}; + +export type AllureTestCafeRuntimeEnvelope = { + __allure_testcafe_runtime_message__: true; + message: RuntimeMessage; +}; + +export type RuntimeMessagesByTestRun = Record; + +export type ReporterStatusResult = { + status: Status; + formattedErrors?: string; +}; diff --git a/packages/testcafe-reporter-allure/src/reporter.ts b/packages/testcafe-reporter-allure/src/reporter.ts new file mode 100644 index 000000000..055374ec9 --- /dev/null +++ b/packages/testcafe-reporter-allure/src/reporter.ts @@ -0,0 +1,696 @@ +import { ContentType, LabelName, Stage, Status } from "allure-js-commons"; +import { getMessageAndTraceFromError } from "allure-js-commons/sdk"; +import { + ReporterRuntime, + createDefaultWriter, + getEnvironmentLabels, + getFrameworkLabel, + getHostLabel, + getLanguageLabel, + getPackageLabel, + getSuiteLabels, + getThreadLabel, +} from "allure-js-commons/sdk/reporter"; + +import { installGlobalTestRuntime } from "./globalRuntime.js"; +import type { + AllureTestCafeReporterConfig, + FixtureState, + StartedTestGroupState, + StartedTestState, + TestCafeReporterActionInfo, + TestCafeReporterContext, + TestCafeReporterWarningInfo, + TestCafeReporterPlugin, + TestCafeTaskResult, + TestCafeTestRunInfo, + TestCafeTestStartInfo, +} from "./model.js"; +import { + buildStartedTestState, + createFixtureState, + createTestQueueKey, + formatActionStepName, + getActionStatusFromError, + getBrowserInfoByTestRunId, + getBrowserName, + getFormattedErrorText, + getPackageLabelValueFromRelativePath, + getQuarantineAttachmentContent, + getReporterStatusFromErrors, + getRuntimeMessagesByTestRun, + getScreenshotEntries, + getScreenshotName, + getStatusDetailsFromTestCafeError, + getVideoEntries, + getVideoName, + getWarningAttachmentContent, + isAllureRuntimeEnvelope, + isIgnoredActionStep, + mergeFixtureAndTestMeta, + normalizeMeta, + updateStatusDetailsFromFallback, +} from "./utils.js"; + +const EMPTY_FIXTURE_STATE: FixtureState = { + name: "", + path: "", + relativePath: "", + meta: {}, +}; + +const ACTION_INTERRUPTED_MESSAGE = "Test finished before the TestCafe action step completed"; +const DUPLICATE_NAME_INDEX_PARAMETER = "testcafe.internal.sameNameIndex"; + +const getErrorTestRunId = (error: unknown) => + typeof error === "object" && error !== null && typeof (error as { testRunId?: unknown }).testRunId === "string" + ? (error as { testRunId: string }).testRunId + : undefined; + +class AllureTestCafeReporter { + private readonly runtime: ReporterRuntime; + private currentFixture: FixtureState = EMPTY_FIXTURE_STATE; + private readonly startedTests = new Map(); + private readonly sameNameIndexByQueueKey = new Map(); + private readonly startedTestsByRunId = new Map(); + private readonly actionStepsByRunId = new Map>(); + private readonly knownActionStepsByRunId = new Map>(); + private readonly liveRuntimeRuns = new Set(); + private readonly assertionDetailsByRunId = new Map(); + private readonly warningsByRunId = new Map>(); + private testCafeVersion?: string; + + constructor(private readonly config: AllureTestCafeReporterConfig = {}) { + const { resultsDir, captureActionsAsSteps: _captureActionsAsSteps, ...restConfig } = config; + + this.runtime = new ReporterRuntime({ + ...restConfig, + writer: createDefaultWriter({ resultsDir }), + }); + } + + createPlugin = (): TestCafeReporterPlugin => { + const finishTest = this.finishTest; + + return { + noColors: true, + init: (version) => { + installGlobalTestRuntime(); + this.testCafeVersion = version; + }, + reportTaskStart: async () => {}, + reportFixtureStart: async (name, filePath, meta) => { + this.currentFixture = createFixtureState(name, filePath, normalizeMeta(meta)); + }, + reportTestStart: async (name, meta, testStartInfo) => { + this.startTest(name, normalizeMeta(meta), testStartInfo); + }, + reportTestActionStart: async (apiActionName, info) => { + this.handleTestActionStart(apiActionName, info); + }, + reportTestActionDone: async (apiActionName, info) => { + this.handleTestActionDone(apiActionName, info); + }, + reportWarnings: async (warningInfo) => { + this.handleWarning(warningInfo); + }, + reportData: async (testRunInfo, ...data) => { + this.handleReportData(testRunInfo.testRunId, data); + }, + async reportTestDone(this: TestCafeReporterContext, name, testRunInfo, meta) { + await finishTest(this, name, testRunInfo, normalizeMeta(meta)); + }, + reportTaskDone: async (_endTime: Date, _passed: number, _warnings: string[], _result: TestCafeTaskResult) => { + this.runtime.writeEnvironmentInfo(); + this.runtime.writeCategoriesDefinitions(); + }, + }; + }; + + private get captureActionsAsSteps() { + return this.config.captureActionsAsSteps !== false; + } + + private startTest(rawName: string, testMeta: Record, testStartInfo: TestCafeTestStartInfo = {}) { + const mergedMeta = mergeFixtureAndTestMeta(this.currentFixture.meta, testMeta); + const staticMetadata = buildStartedTestState(rawName, this.currentFixture, mergedMeta, this.config.links); + const queueKey = createTestQueueKey(this.currentFixture, rawName); + const currentQueue = this.startedTests.get(queueKey) ?? []; + const sameNameIndex = (this.sameNameIndexByQueueKey.get(queueKey) ?? 0) + 1; + const labels = [ + getLanguageLabel(), + getFrameworkLabel("testcafe"), + getHostLabel(), + getThreadLabel(), + ...getEnvironmentLabels(), + ...staticMetadata.labels, + ...getSuiteLabels(staticMetadata.titlePath), + ]; + + this.sameNameIndexByQueueKey.set(queueKey, sameNameIndex); + + if (this.currentFixture.relativePath) { + labels.push({ + ...getPackageLabel(this.currentFixture.relativePath), + value: getPackageLabelValueFromRelativePath(this.currentFixture.relativePath), + }); + } + + const runIds = testStartInfo.testRunIds?.length ? testStartInfo.testRunIds : [undefined]; + const startedGroup: StartedTestGroupState = { + rawName, + fixture: this.currentFixture, + meta: mergedMeta, + startedTests: runIds.map((testRunId) => { + const testUuid = this.runtime.startTest({ + name: staticMetadata.cleanTitle, + fullName: staticMetadata.fullName, + titlePath: staticMetadata.titlePath, + labels, + links: staticMetadata.links, + parameters: + sameNameIndex > 1 + ? [ + ...staticMetadata.parameters, + { name: DUPLICATE_NAME_INDEX_PARAMETER, value: `${sameNameIndex}`, mode: "hidden" }, + ] + : [...staticMetadata.parameters], + stage: Stage.RUNNING, + start: testStartInfo.startTime?.getTime(), + }); + + const startedTest: StartedTestState = { + rawName, + cleanTitle: staticMetadata.cleanTitle, + fullName: staticMetadata.fullName, + titlePath: staticMetadata.titlePath, + testUuid, + testRunId, + fixture: this.currentFixture, + meta: mergedMeta, + }; + + if (testRunId) { + this.startedTestsByRunId.set(testRunId, startedTest); + } + + return startedTest; + }), + }; + + currentQueue.push(startedGroup); + this.startedTests.set(queueKey, currentQueue); + } + + private finishTest = async ( + context: TestCafeReporterContext, + rawName: string, + testRunInfo: TestCafeTestRunInfo, + testMeta: Record, + ) => { + const startedGroup = this.takeStartedTestGroup(rawName, testMeta); + const errors = testRunInfo.errs ?? []; + const warnings = testRunInfo.warnings ?? []; + const browsers = testRunInfo.browsers ?? []; + const errorsByTestRunId = errors.reduce>((acc, error) => { + const testRunId = getErrorTestRunId(error); + + if (testRunId) { + const groupedErrors = acc.get(testRunId) ?? []; + groupedErrors.push(error); + acc.set(testRunId, groupedErrors); + } + + return acc; + }, new Map()); + const runtimeMessagesByTestRun = getRuntimeMessagesByTestRun(testRunInfo); + const allRuntimeMessages = Object.values(runtimeMessagesByTestRun).flat(); + const browserInfoByTestRunId = getBrowserInfoByTestRunId(browsers); + const screenshots = getScreenshotEntries(testRunInfo); + const videos = getVideoEntries(testRunInfo); + const hasRunScopedWarnings = startedGroup.startedTests.some((startedTest) => + Boolean(startedTest.testRunId && this.warningsByRunId.has(startedTest.testRunId)), + ); + + startedGroup.startedTests.forEach((startedTest) => { + const browser = startedTest.testRunId ? browserInfoByTestRunId.get(startedTest.testRunId) : undefined; + const browserName = getBrowserName(browser); + const runErrors = + startedTest.testRunId && errorsByTestRunId.has(startedTest.testRunId) + ? (errorsByTestRunId.get(startedTest.testRunId) ?? []) + : startedGroup.startedTests.length === 1 + ? errors + : []; + const rawWrapperStatusDetails: { message?: string; trace?: string } = runErrors[0] + ? getMessageAndTraceFromError(runErrors[0] as Partial) + : {}; + const baseStatusDetails: { message?: string; trace?: string; actual?: string; expected?: string } = runErrors[0] + ? getStatusDetailsFromTestCafeError(runErrors[0]) + : {}; + const assertionDetails = startedTest.testRunId + ? this.assertionDetailsByRunId.get(startedTest.testRunId) + : undefined; + const formattedErrors = getFormattedErrorText(context.formatError, runErrors, context); + const runtimeMessages = + startedTest.testRunId && runtimeMessagesByTestRun[startedTest.testRunId] + ? runtimeMessagesByTestRun[startedTest.testRunId] + : startedGroup.startedTests.length === 1 + ? allRuntimeMessages + : []; + const statusResult = testRunInfo.skipped + ? { + status: Status.SKIPPED, + } + : getReporterStatusFromErrors(runErrors); + const statusDetails = updateStatusDetailsFromFallback( + { + ...baseStatusDetails, + actual: baseStatusDetails.actual ?? assertionDetails?.actual, + expected: baseStatusDetails.expected ?? assertionDetails?.expected, + }, + formattedErrors ?? statusResult.formattedErrors, + ); + + if ((!startedTest.testRunId || !this.liveRuntimeRuns.has(startedTest.testRunId)) && runtimeMessages.length > 0) { + this.runtime.applyRuntimeMessages(startedTest.testUuid, runtimeMessages); + } + + this.finalizeRunningActionSteps(startedTest); + + if ( + formattedErrors && + (runErrors.length > 1 || !rawWrapperStatusDetails.trace || !rawWrapperStatusDetails.message) + ) { + this.runtime.writeAttachment(startedTest.testUuid, undefined, "Errors", Buffer.from(formattedErrors, "utf8"), { + contentType: ContentType.TEXT, + }); + } + + this.writeWarningsForStartedTest(startedTest, warnings, hasRunScopedWarnings); + + if (testRunInfo.quarantine && Object.keys(testRunInfo.quarantine).length > 0) { + this.runtime.writeAttachment( + startedTest.testUuid, + undefined, + "Quarantine", + Buffer.from(getQuarantineAttachmentContent(testRunInfo.quarantine), "utf8"), + { + contentType: ContentType.JSON, + }, + ); + } + + this.getScreenshotsForStartedTest(startedGroup.startedTests, startedTest, browserName, screenshots).forEach( + (screenshot, index) => { + this.runtime.writeAttachment( + startedTest.testUuid, + startedTest.testRunId ? this.getKnownActionStepUuid(startedTest.testRunId, screenshot.actionId) : undefined, + getScreenshotName(screenshot, index), + screenshot.screenshotPath, + { + contentType: ContentType.PNG, + }, + ); + }, + ); + + this.getVideosForStartedTest(startedGroup.startedTests, startedTest, videos).forEach((video, index) => { + this.runtime.writeAttachment(startedTest.testUuid, undefined, getVideoName(video, index), video.videoPath, { + contentType: ContentType.MP4, + }); + }); + + this.runtime.updateTest(startedTest.testUuid, (result) => { + result.status = statusResult.status; + result.stage = statusResult.status === Status.SKIPPED ? Stage.PENDING : Stage.FINISHED; + result.statusDetails = statusDetails; + + if (browserName) { + result.parameters.push({ name: "Browser", value: browserName }); + } + + if (testRunInfo.unstable) { + result.labels.push({ name: LabelName.TAG, value: "unstable" }); + } + }); + + this.runtime.stopTest(startedTest.testUuid, { duration: testRunInfo.durationMs }); + this.runtime.writeTest(startedTest.testUuid); + this.cleanupActionState(startedTest); + }); + }; + + private handleReportData(testRunId: string, data: unknown[]) { + const startedTest = this.startedTestsByRunId.get(testRunId); + if (!startedTest) { + return; + } + + const runtimeMessages = data.filter(isAllureRuntimeEnvelope).map((value) => value.message); + + if (runtimeMessages.length === 0) { + return; + } + + this.runtime.applyRuntimeMessages(startedTest.testUuid, runtimeMessages); + this.liveRuntimeRuns.add(testRunId); + } + + private handleWarning({ message, testRunId, actionId }: TestCafeReporterWarningInfo) { + if (!testRunId) { + return; + } + + const warningsByActionId = this.warningsByRunId.get(testRunId) ?? new Map(); + const warningKey = actionId ?? ""; + const warnings = warningsByActionId.get(warningKey) ?? []; + + warnings.push(message); + warningsByActionId.set(warningKey, warnings); + this.warningsByRunId.set(testRunId, warningsByActionId); + } + + private handleTestActionStart(apiActionName: string, info: TestCafeReporterActionInfo) { + if (!this.captureActionsAsSteps || isIgnoredActionStep(apiActionName)) { + return; + } + + const startedTest = this.startedTestsByRunId.get(info.testRunId); + if (!startedTest) { + return; + } + + const actionId = typeof info.command.actionId === "string" ? info.command.actionId : undefined; + if (!actionId) { + return; + } + + const stepUuid = this.runtime.startStep(startedTest.testUuid, undefined, { + name: formatActionStepName(apiActionName, info.command), + }); + + if (!stepUuid) { + return; + } + + const activeActionSteps = this.actionStepsByRunId.get(info.testRunId) ?? new Map(); + const knownActionSteps = this.knownActionStepsByRunId.get(info.testRunId) ?? new Map(); + + activeActionSteps.set(actionId, stepUuid); + knownActionSteps.set(actionId, stepUuid); + this.actionStepsByRunId.set(info.testRunId, activeActionSteps); + this.knownActionStepsByRunId.set(info.testRunId, knownActionSteps); + } + + private handleTestActionDone(apiActionName: string, info: TestCafeReporterActionInfo) { + if (!this.captureActionsAsSteps || isIgnoredActionStep(apiActionName)) { + return; + } + + const startedTest = this.startedTestsByRunId.get(info.testRunId); + if (!startedTest) { + return; + } + + const actionId = typeof info.command.actionId === "string" ? info.command.actionId : undefined; + const activeActionSteps = this.actionStepsByRunId.get(info.testRunId); + let stepUuid = actionId ? activeActionSteps?.get(actionId) : undefined; + + if (!stepUuid) { + stepUuid = this.runtime.startStep(startedTest.testUuid, undefined, { + name: formatActionStepName(apiActionName, info.command), + }); + } + + if (!stepUuid) { + return; + } + + if (actionId) { + const knownActionSteps = this.knownActionStepsByRunId.get(info.testRunId) ?? new Map(); + knownActionSteps.set(actionId, stepUuid); + this.knownActionStepsByRunId.set(info.testRunId, knownActionSteps); + } + + if (info.err) { + const errorInfo = getActionStatusFromError(info.err, info.command); + + this.runtime.updateStep(stepUuid, (stepResult) => { + stepResult.status = errorInfo.status; + stepResult.statusDetails = errorInfo.statusDetails; + }); + + if (startedTest.testRunId && (errorInfo.statusDetails.actual || errorInfo.statusDetails.expected)) { + this.assertionDetailsByRunId.set(startedTest.testRunId, { + actual: errorInfo.statusDetails.actual, + expected: errorInfo.statusDetails.expected, + }); + } + } else { + this.runtime.updateStep(stepUuid, (stepResult) => { + stepResult.status ??= Status.PASSED; + }); + } + + if (typeof info.duration === "number") { + this.runtime.stopStep(stepUuid, { duration: info.duration }); + } else { + this.runtime.stopStep(stepUuid, { stop: Date.now() }); + } + + if (actionId && activeActionSteps) { + activeActionSteps.delete(actionId); + if (activeActionSteps.size === 0) { + this.actionStepsByRunId.delete(info.testRunId); + } + } + } + + private finalizeRunningActionSteps(startedTest: StartedTestState) { + if (!startedTest.testRunId) { + return; + } + + const activeActionSteps = this.actionStepsByRunId.get(startedTest.testRunId); + + if (!activeActionSteps) { + return; + } + + activeActionSteps.forEach((stepUuid) => { + this.runtime.updateStep(stepUuid, (stepResult) => { + stepResult.status ??= Status.BROKEN; + stepResult.statusDetails = { + ...stepResult.statusDetails, + message: stepResult.statusDetails?.message ?? ACTION_INTERRUPTED_MESSAGE, + trace: stepResult.statusDetails?.trace ?? ACTION_INTERRUPTED_MESSAGE, + }; + }); + + this.runtime.stopStep(stepUuid, { stop: Date.now() }); + }); + + this.actionStepsByRunId.delete(startedTest.testRunId); + } + + private cleanupActionState(startedTest: StartedTestState) { + if (!startedTest.testRunId) { + return; + } + + this.startedTestsByRunId.delete(startedTest.testRunId); + this.actionStepsByRunId.delete(startedTest.testRunId); + this.knownActionStepsByRunId.delete(startedTest.testRunId); + this.liveRuntimeRuns.delete(startedTest.testRunId); + this.assertionDetailsByRunId.delete(startedTest.testRunId); + this.warningsByRunId.delete(startedTest.testRunId); + } + + private getScreenshotsForStartedTest( + startedTests: StartedTestState[], + startedTest: StartedTestState, + browserName: string | undefined, + screenshots: TestCafeTestRunInfo["screenshots"], + ) { + if (!screenshots?.length) { + return []; + } + + if (startedTests.length === 1) { + return screenshots; + } + + if (!startedTest.testRunId) { + return []; + } + + const runScopedScreenshots = screenshots.filter((screenshot) => screenshot.testRunId === startedTest.testRunId); + + if (runScopedScreenshots.length > 0) { + return runScopedScreenshots; + } + + if (!browserName) { + return []; + } + + return screenshots.filter((screenshot) => screenshot.userAgent === browserName); + } + + private getVideosForStartedTest( + startedTests: StartedTestState[], + startedTest: StartedTestState, + videos: TestCafeTestRunInfo["videos"], + ) { + if (!videos?.length) { + return []; + } + + if (startedTests.length === 1) { + return videos; + } + + if (!startedTest.testRunId) { + return []; + } + + return videos.filter((video) => video.testRunId === startedTest.testRunId); + } + + private getKnownActionStepUuid(testRunId: string, actionId?: string) { + if (!actionId) { + return undefined; + } + + return this.knownActionStepsByRunId.get(testRunId)?.get(actionId); + } + + private writeWarningsForStartedTest( + startedTest: StartedTestState, + fallbackWarnings: string[], + hasRunScopedWarnings: boolean, + ) { + const runWarningsByActionId = startedTest.testRunId ? this.warningsByRunId.get(startedTest.testRunId) : undefined; + + if (!runWarningsByActionId) { + if (fallbackWarnings.length === 0 || hasRunScopedWarnings) { + return; + } + + this.runtime.writeAttachment( + startedTest.testUuid, + undefined, + "Warnings", + Buffer.from(getWarningAttachmentContent(fallbackWarnings), "utf8"), + { + contentType: ContentType.TEXT, + }, + ); + return; + } + + const testLevelWarnings = [...(runWarningsByActionId.get("") ?? [])]; + + runWarningsByActionId.forEach((warnings, actionId) => { + if (actionId === "") { + return; + } + + const stepUuid = startedTest.testRunId ? this.getKnownActionStepUuid(startedTest.testRunId, actionId) : undefined; + + if (!stepUuid) { + testLevelWarnings.push(...warnings); + return; + } + + this.runtime.writeAttachment( + startedTest.testUuid, + stepUuid, + "Warnings", + Buffer.from(getWarningAttachmentContent(warnings), "utf8"), + { + contentType: ContentType.TEXT, + }, + ); + }); + + if (testLevelWarnings.length > 0) { + this.runtime.writeAttachment( + startedTest.testUuid, + undefined, + "Warnings", + Buffer.from(getWarningAttachmentContent(testLevelWarnings), "utf8"), + { + contentType: ContentType.TEXT, + }, + ); + } + } + + private takeStartedTestGroup(rawName: string, testMeta: Record): StartedTestGroupState { + const queueKey = createTestQueueKey(this.currentFixture, rawName); + const queue = this.startedTests.get(queueKey); + if (queue?.length) { + const startedGroup = queue.shift()!; + if (queue.length === 0) { + this.startedTests.delete(queueKey); + } + return startedGroup; + } + + return this.createFallbackStartedTestGroup(rawName, testMeta); + } + + private createFallbackStartedTestGroup(rawName: string, testMeta: Record): StartedTestGroupState { + const mergedMeta = mergeFixtureAndTestMeta(this.currentFixture.meta, testMeta); + const staticMetadata = buildStartedTestState(rawName, this.currentFixture, mergedMeta, this.config.links); + const labels = [ + getLanguageLabel(), + getFrameworkLabel("testcafe"), + getHostLabel(), + getThreadLabel(), + ...getEnvironmentLabels(), + ...staticMetadata.labels, + ...getSuiteLabels(staticMetadata.titlePath), + ]; + + if (this.currentFixture.relativePath) { + labels.push({ + ...getPackageLabel(this.currentFixture.relativePath), + value: getPackageLabelValueFromRelativePath(this.currentFixture.relativePath), + }); + } + + const testUuid = this.runtime.startTest({ + name: staticMetadata.cleanTitle, + fullName: staticMetadata.fullName, + titlePath: staticMetadata.titlePath, + labels, + links: staticMetadata.links, + parameters: staticMetadata.parameters, + stage: Stage.RUNNING, + }); + + return { + rawName, + fixture: this.currentFixture, + meta: mergedMeta, + startedTests: [ + { + rawName, + cleanTitle: staticMetadata.cleanTitle, + fullName: staticMetadata.fullName, + titlePath: staticMetadata.titlePath, + testUuid, + fixture: this.currentFixture, + meta: mergedMeta, + }, + ], + }; + } +} + +export const createReporterObject = (config: AllureTestCafeReporterConfig = {}) => { + const reporter = new AllureTestCafeReporter(config); + return reporter.createPlugin(); +}; diff --git a/packages/testcafe-reporter-allure/src/testcafe-internal.d.ts b/packages/testcafe-reporter-allure/src/testcafe-internal.d.ts new file mode 100644 index 000000000..5f54ab99b --- /dev/null +++ b/packages/testcafe-reporter-allure/src/testcafe-internal.d.ts @@ -0,0 +1,6 @@ +declare module "testcafe/lib/api/test-run-tracker" { + import type { TestCafeTestRunTrackerModule } from "./model.js"; + + const testRunTracker: TestCafeTestRunTrackerModule; + export = testRunTracker; +} diff --git a/packages/testcafe-reporter-allure/src/testplan.ts b/packages/testcafe-reporter-allure/src/testplan.ts new file mode 100644 index 000000000..e145bc76a --- /dev/null +++ b/packages/testcafe-reporter-allure/src/testplan.ts @@ -0,0 +1,75 @@ +import type { TestPlanV1 } from "allure-js-commons/sdk"; +import { parseTestPlan } from "allure-js-commons/sdk/reporter"; + +import { + getEffectiveAllureId, + getRelativeFixtureSelector, + mergeFixtureAndTestMeta, + normalizeMeta, + resolveTestPlan, +} from "./utils.js"; + +export type CreateAllureTestPlanFilterOptions = { + cwd?: string; +}; + +const splitSelector = (selector: string) => { + const parts = selector.split("#"); + const testName = parts.pop() ?? ""; + const fixtureName = parts.pop() ?? ""; + const fixturePath = parts.join("#"); + + return { + fixturePath, + fixtureName, + testName, + }; +}; + +const selectorsMatch = (planSelector: string, actualSelector: string) => { + if (planSelector === actualSelector) { + return true; + } + + const planned = splitSelector(planSelector); + const actual = splitSelector(actualSelector); + + if (planned.fixtureName !== actual.fixtureName || planned.testName !== actual.testName) { + return false; + } + + return ( + actual.fixturePath.endsWith(`/${planned.fixturePath}`) || + planned.fixturePath.endsWith(`/${actual.fixturePath}`) || + actual.fixturePath === planned.fixturePath + ); +}; + +const isIncludedInPlan = (testPlan: TestPlanV1, selector: string, allureId?: string) => + testPlan.tests.some( + (test) => + (typeof test.selector === "string" && selectorsMatch(test.selector, selector)) || + (allureId && test.id !== undefined && String(test.id) === allureId), + ); + +export const createAllureTestPlanFilter = ({ cwd }: CreateAllureTestPlanFilterOptions = {}) => { + const testPlan = cwd ? resolveTestPlan(cwd) : parseTestPlan(); + + if (!testPlan) { + return undefined; + } + + return ( + testName: string, + fixtureName: string, + fixturePath: string, + testMeta: Record, + fixtureMeta: Record, + ) => { + const mergedMeta = mergeFixtureAndTestMeta(normalizeMeta(fixtureMeta), normalizeMeta(testMeta)); + const selector = getRelativeFixtureSelector(fixturePath, fixtureName, testName); + const allureId = getEffectiveAllureId(mergedMeta, testName); + + return isIncludedInPlan(testPlan, selector, allureId); + }; +}; diff --git a/packages/testcafe-reporter-allure/src/utils.ts b/packages/testcafe-reporter-allure/src/utils.ts new file mode 100644 index 000000000..b4f035b0e --- /dev/null +++ b/packages/testcafe-reporter-allure/src/utils.ts @@ -0,0 +1,782 @@ +import { existsSync } from "node:fs"; +import path from "node:path"; + +import { ContentType, LabelName, LinkType, Status, type Label, type Link, type Parameter } from "allure-js-commons"; +import { extractMetadataFromString, getStatusFromError, stripAnsi, type RuntimeMessage } from "allure-js-commons/sdk"; +import { + formatLink, + getPosixPath, + getRelativePath, + parseTestPlan, + type LinkConfig, +} from "allure-js-commons/sdk/reporter"; + +import type { + AllureTestCafeRuntimeEnvelope, + FixtureState, + ReporterStatusResult, + RuntimeMessagesByTestRun, + StartedTestState, + TestCafeBrowserInfo, + TestCafeErrorLike, + TestCafeFormattedCommand, + TestCafeFormattedSelector, + TestCafeReporterActionInfo, + TestCafeScreenshotInfo, + TestCafeTestRunInfo, + TestCafeVideoInfo, +} from "./model.js"; + +const ALLURE_LINK_PREFIX = "allure.link."; +const ALLURE_LABEL_PREFIX = "allure.label."; +const ACTION_STRING_LIMIT = 120; +const ACTION_OBJECT_KEYS_LIMIT = 5; +const ACTION_ARRAY_ITEMS_LIMIT = 5; +const ACTION_SERIALIZATION_DEPTH_LIMIT = 3; + +const resolveNearestPackageRoot = (filepath: string) => { + let currentDir = path.dirname(path.resolve(filepath)); + + while (true) { + if (existsSync(path.join(currentDir, "package.json"))) { + return currentDir; + } + + const parentDir = path.dirname(currentDir); + + if (parentDir === currentDir) { + return undefined; + } + + currentDir = parentDir; + } +}; + +export const getFixtureRelativePath = (fixturePath: string) => { + if (!path.isAbsolute(fixturePath)) { + return getPosixPath(fixturePath); + } + + const packageRoot = resolveNearestPackageRoot(fixturePath); + const relativePath = packageRoot ? path.relative(packageRoot, fixturePath) : getRelativePath(fixturePath); + + return getPosixPath(relativePath); +}; + +export const getPackageLabelValueFromRelativePath = (relativePath: string) => + relativePath + .split("/") + .filter((segment) => segment) + .join("."); + +const isPlainObject = (value: unknown): value is Record => + typeof value === "object" && value !== null && !Array.isArray(value); + +const asErrorLike = (value: unknown): Partial => { + if (value instanceof Error) { + return value; + } + + if (!isPlainObject(value)) { + return {}; + } + + const originError = (value as TestCafeErrorLike).originError; + + if (originError instanceof Error || isPlainObject(originError)) { + return originError as Partial; + } + + return value as Partial; +}; + +const getTestCafeErrorLike = (value: unknown): TestCafeErrorLike => + isPlainObject(value) || value instanceof Error ? (value as TestCafeErrorLike) : {}; + +const isScalar = (value: unknown): value is string | number | boolean | bigint => + typeof value === "string" || typeof value === "number" || typeof value === "boolean" || typeof value === "bigint"; + +const toScalarStrings = (value: unknown): string[] => { + if (Array.isArray(value)) { + return value.filter(isScalar).map((item) => `${item}`); + } + + if (isScalar(value)) { + return [`${value}`]; + } + + return []; +}; + +const truncateText = (value: string, maxLength: number) => + value.length <= maxLength ? value : `${value.slice(0, Math.max(0, maxLength - 3))}...`; + +const formatActionText = (value: string, maxLength = ACTION_STRING_LIMIT) => truncateText(stripAnsi(value), maxLength); + +const formatErrorFallbackText = (value: unknown): string | undefined => { + if (value === undefined || value === null) { + return undefined; + } + + if (typeof value === "string") { + return stripAnsi(value); + } + + if (typeof value === "number" || typeof value === "boolean" || typeof value === "bigint") { + return `${value}`; + } + + return stripAnsi(formatActionValue(value)); +}; + +const formatSelectorExpression = (selector: TestCafeFormattedSelector | undefined) => { + if (selector?.expression) { + const expression = formatActionText(selector.expression); + const directSelectorMatch = expression.match(/^Selector\((['"`])([\s\S]*)\1\)$/); + + if (directSelectorMatch) { + return formatActionText(directSelectorMatch[2]); + } + + return expression; + } + + return undefined; +}; + +const isAssertionLikeError = (error: unknown) => { + if (!isPlainObject(error)) { + return false; + } + + if (error.code === "E53") { + return true; + } + + if (error.actual !== undefined && error.expected !== undefined) { + return true; + } + + return typeof error.message === "string" && error.message.startsWith("AssertionError"); +}; + +const formatActionValue = (value: unknown, depth = 0): string => { + if (value === undefined) { + return "undefined"; + } + + if (value === null) { + return "null"; + } + + if (typeof value === "string") { + return JSON.stringify(formatActionText(value)); + } + + if (typeof value === "number" || typeof value === "boolean" || typeof value === "bigint") { + return `${value}`; + } + + if (Array.isArray(value)) { + const items = value.slice(0, ACTION_ARRAY_ITEMS_LIMIT).map((item) => formatActionValue(item, depth + 1)); + const suffix = value.length > ACTION_ARRAY_ITEMS_LIMIT ? ", ..." : ""; + return `[${items.join(", ")}${suffix}]`; + } + + if (isPlainObject(value)) { + if (typeof value.expression === "string") { + return formatActionText(value.expression); + } + + if (depth >= ACTION_SERIALIZATION_DEPTH_LIMIT) { + return "{...}"; + } + + const definedEntries = Object.entries(value).filter(([, nestedValue]) => nestedValue !== undefined); + const serializedEntries = definedEntries + .slice(0, ACTION_OBJECT_KEYS_LIMIT) + .map(([key, nestedValue]) => `${key}: ${formatActionValue(nestedValue, depth + 1)}`); + const suffix = definedEntries.length > ACTION_OBJECT_KEYS_LIMIT ? ", ..." : ""; + + return `{ ${serializedEntries.join(", ")}${suffix} }`; + } + + return Object.prototype.toString.call(value); +}; + +const sanitizeActionValue = (value: unknown, depth = 0): unknown => { + if (value === undefined || value === null || typeof value === "number" || typeof value === "boolean") { + return value; + } + + if (typeof value === "bigint") { + return `${value}`; + } + + if (typeof value === "string") { + return formatActionText(value); + } + + if (Array.isArray(value)) { + const sanitizedItems = value.slice(0, ACTION_ARRAY_ITEMS_LIMIT).map((item) => sanitizeActionValue(item, depth + 1)); + + if (value.length > ACTION_ARRAY_ITEMS_LIMIT) { + sanitizedItems.push("..."); + } + + return sanitizedItems; + } + + if (isPlainObject(value)) { + if (depth >= ACTION_SERIALIZATION_DEPTH_LIMIT) { + return "[Object]"; + } + + const definedEntries = Object.entries(value).filter(([, nestedValue]) => nestedValue !== undefined); + const sanitizedRecord = definedEntries + .slice(0, ACTION_OBJECT_KEYS_LIMIT) + .reduce>((acc, [key, nestedValue]) => { + acc[key] = sanitizeActionValue(nestedValue, depth + 1); + return acc; + }, {}); + + if (definedEntries.length > ACTION_OBJECT_KEYS_LIMIT) { + sanitizedRecord["..."] = true; + } + + return sanitizedRecord; + } + + return Object.prototype.toString.call(value); +}; + +const formatActionCall = (name: string, args: Array) => { + const filteredArgs = args.filter((arg): arg is string => Boolean(arg)); + return filteredArgs.length === 0 ? `${name}()` : `${name}(${filteredArgs.join(", ")})`; +}; + +const formatActionRequest = (command: TestCafeFormattedCommand) => { + const method = + isPlainObject(command.options) && typeof command.options.method === "string" + ? command.options.method.toUpperCase() + : undefined; + const url = + typeof command.url === "string" + ? formatActionText(command.url) + : isPlainObject(command.options) && typeof command.options.url === "string" + ? formatActionText(command.options.url) + : undefined; + + if (!method && !url) { + return "request()"; + } + + return `request(${[method, url].filter(Boolean).join(" ")})`; +}; + +const formatAssertionStepName = (apiActionName: string, command: TestCafeFormattedCommand) => { + const actual = formatActionValue(command.actual); + + switch (apiActionName) { + case "ok": + case "notOk": + return `expect(${actual}).${apiActionName}()`; + case "within": + case "notWithin": + return `expect(${actual}).${apiActionName}(${formatActionValue(command.expected)}, ${formatActionValue(command.expected2)})`; + default: + if (command.expected !== undefined) { + return `expect(${actual}).${apiActionName}(${formatActionValue(command.expected)})`; + } + return `expect(${actual}).${apiActionName}()`; + } +}; + +export const normalizeMeta = (value: unknown): Record => (isPlainObject(value) ? value : {}); + +const setSingleLabelValue = (labels: Label[], labelName: LabelName | string, value: string) => { + const idx = labels.findIndex((label) => label.name === labelName); + if (idx !== -1) { + labels[idx] = { name: labelName, value }; + return; + } + + labels.push({ name: labelName, value }); +}; + +export const mergeFixtureAndTestMeta = ( + fixtureMeta: Record, + testMeta: Record, +): Record => ({ + ...fixtureMeta, + ...testMeta, +}); + +export const createFixtureState = ( + fixtureName: string, + fixturePath: string, + meta: Record, +): FixtureState => { + const relativePath = getFixtureRelativePath(fixturePath); + + return { + name: fixtureName, + path: fixturePath, + relativePath, + meta, + }; +}; + +export const createTestQueueKey = (fixture: FixtureState, rawName: string) => + `${fixture.relativePath}::${fixture.name}::${rawName}`; + +export const buildStartedTestState = ( + rawName: string, + fixture: FixtureState, + meta: Record, + linkConfig?: LinkConfig, +): Omit & { + labels: Label[]; + links: Link[]; + parameters: Parameter[]; +} => { + const titleMetadata = extractMetadataFromString(rawName); + const cleanTitle = titleMetadata.cleanTitle || rawName; + const titlePath = [fixture.relativePath, fixture.name].filter(Boolean); + const fullName = [...titlePath, cleanTitle].join("#"); + const labels: Label[] = [...titleMetadata.labels]; + const links = titleMetadata.links.map((link) => (linkConfig ? formatLink(linkConfig, link) : link)); + const parameters: Parameter[] = []; + + for (const [key, value] of Object.entries(meta)) { + if (key === "allure.id") { + const [firstId] = toScalarStrings(value); + if (firstId) { + setSingleLabelValue(labels, LabelName.ALLURE_ID, firstId); + } + continue; + } + + if (key.startsWith(ALLURE_LABEL_PREFIX)) { + const labelName = key.slice(ALLURE_LABEL_PREFIX.length); + toScalarStrings(value).forEach((labelValue) => { + labels.push({ name: labelName, value: labelValue }); + }); + continue; + } + + if (key.startsWith(ALLURE_LINK_PREFIX)) { + const linkType = key.slice(ALLURE_LINK_PREFIX.length) || LinkType.DEFAULT; + toScalarStrings(value).forEach((linkValue) => { + const link: Link = { + type: linkType, + url: linkValue, + }; + + links.push(linkConfig ? formatLink(linkConfig, link) : link); + }); + continue; + } + + if (key.startsWith("allure.")) { + continue; + } + + if (isScalar(value)) { + parameters.push({ name: key, value: `${value}` }); + } + } + + return { + rawName, + cleanTitle, + fullName, + titlePath, + fixture, + meta, + labels, + links, + parameters, + }; +}; + +export const getReporterStatusFromErrors = (errors: unknown[]): ReporterStatusResult => { + const normalizedErrors = errors.filter((error) => error !== undefined && error !== null); + if (normalizedErrors.length === 0) { + return { + status: Status.PASSED, + }; + } + + const status = normalizedErrors.some( + (error) => getStatusFromError(asErrorLike(error)) === Status.FAILED || isAssertionLikeError(error), + ) + ? Status.FAILED + : Status.BROKEN; + + const formattedErrors = normalizedErrors + .map((error) => { + const { message, trace } = getStatusDetailsFromTestCafeError(error); + return [message, trace].filter(Boolean).join("\n") || formatErrorFallbackText(error); + }) + .filter(Boolean) + .join("\n\n"); + + return { + status, + formattedErrors: formattedErrors || undefined, + }; +}; + +export const isIgnoredActionStep = (apiActionName: string) => + apiActionName === "report" || apiActionName === "takeScreenshotOnFail"; + +export const formatActionStepName = (apiActionName: string, command: TestCafeFormattedCommand) => { + if (command.type === "assertion") { + return formatAssertionStepName(apiActionName, command); + } + + switch (apiActionName) { + case "runCustomAction": + return typeof command.name === "string" && command.name.trim() + ? formatActionText(command.name) + : "runCustomAction()"; + case "click": + case "rightClick": + case "doubleClick": + case "hover": + case "scrollIntoView": + case "switchToIframe": + case "clearUpload": + return formatActionCall(apiActionName, [formatSelectorExpression(command.selector)]); + case "typeText": + case "selectText": + case "selectTextAreaContent": + case "setFilesToUpload": + return formatActionCall(apiActionName, [formatSelectorExpression(command.selector)]); + case "drag": + return formatActionCall(apiActionName, [formatSelectorExpression(command.selector)]); + case "dragToElement": + return formatActionCall(apiActionName, [ + formatSelectorExpression(command.selector), + formatSelectorExpression(command.destinationSelector), + ]); + case "scroll": + return formatActionCall(apiActionName, [ + formatSelectorExpression(command.selector), + typeof command.position === "string" ? formatActionText(command.position) : undefined, + typeof command.x === "number" ? `${command.x}` : undefined, + typeof command.y === "number" ? `${command.y}` : undefined, + ]); + case "scrollBy": + return formatActionCall(apiActionName, [ + formatSelectorExpression(command.selector), + typeof command.byX === "number" ? `${command.byX}` : undefined, + typeof command.byY === "number" ? `${command.byY}` : undefined, + ]); + case "pressKey": + return formatActionCall(apiActionName, [ + typeof command.keys === "string" ? formatActionText(command.keys) : formatActionValue(command.keys), + ]); + case "wait": + return formatActionCall(apiActionName, [typeof command.timeout === "number" ? `${command.timeout}` : undefined]); + case "navigateTo": + case "openWindow": + case "getProxyUrl": + return formatActionCall(apiActionName, [ + typeof command.url === "string" ? formatActionText(command.url) : formatActionValue(command.url), + ]); + case "request": + return formatActionRequest(command); + case "takeScreenshot": + return formatActionCall(apiActionName, [ + typeof command.path === "string" ? formatActionText(command.path) : undefined, + ]); + case "takeElementScreenshot": + return formatActionCall(apiActionName, [ + formatSelectorExpression(command.selector), + typeof command.path === "string" ? formatActionText(command.path) : undefined, + ]); + case "useRole": + return formatActionCall(apiActionName, [ + isPlainObject(command.role) && typeof command.role.loginUrl === "string" + ? formatActionText(command.role.loginUrl) + : undefined, + ]); + default: { + const selectorArgument = + formatSelectorExpression(command.selector) ?? + formatSelectorExpression(command.startSelector) ?? + formatSelectorExpression(command.endSelector); + + if (selectorArgument) { + return formatActionCall(apiActionName, [selectorArgument]); + } + + if (typeof command.url === "string") { + return formatActionCall(apiActionName, [formatActionText(command.url)]); + } + + return `${apiActionName}()`; + } + } +}; + +export const getStatusDetailsFromTestCafeError = (error: unknown) => { + const originalError = asErrorLike(error) as Partial & { rawMessage?: unknown }; + const wrapperError = getTestCafeErrorLike(error); + const [errMsg] = toScalarStrings(wrapperError.errMsg); + const [rawMessage] = toScalarStrings(originalError.rawMessage); + const [actual] = toScalarStrings(wrapperError.actual); + const [expected] = toScalarStrings(wrapperError.expected); + const message = + errMsg ?? + (rawMessage ? stripAnsi(rawMessage) : undefined) ?? + (typeof originalError.message === "string" ? stripAnsi(originalError.message) : undefined); + const trace = typeof originalError.stack === "string" ? stripAnsi(originalError.stack) : undefined; + + return { + message, + trace, + actual, + expected, + }; +}; + +export const getActionStatusFromError = (error: unknown, command?: TestCafeFormattedCommand) => { + const status = getStatusFromError(asErrorLike(error)); + const statusDetails = getStatusDetailsFromTestCafeError(error); + const commandActual = command?.actual !== undefined ? formatActionValue(command.actual) : undefined; + const commandExpected = command?.expected !== undefined ? formatActionValue(command.expected) : undefined; + const fallbackText = statusDetails.message || statusDetails.trace ? undefined : formatErrorFallbackText(error); + const isAssertion = command?.type === "assertion" || isAssertionLikeError(error); + + return { + status: isAssertion + ? Status.FAILED + : status === Status.PASSED || status === Status.SKIPPED + ? Status.BROKEN + : status, + statusDetails: updateStatusDetailsFromFallback( + { + ...statusDetails, + actual: statusDetails.actual ?? commandActual, + expected: statusDetails.expected ?? commandExpected, + }, + fallbackText, + ), + }; +}; + +export const createActionLogEntry = ( + event: "start" | "done", + apiActionName: string, + info: TestCafeReporterActionInfo, +) => { + const errorInfo = info.err ? getActionStatusFromError(info.err) : undefined; + + return { + event, + apiActionName, + stepName: formatActionStepName(apiActionName, info.command), + actionId: typeof info.command.actionId === "string" ? info.command.actionId : undefined, + browser: info.browser?.prettyUserAgent ?? info.browser?.userAgent, + duration: info.duration, + status: errorInfo?.status, + statusDetails: errorInfo?.statusDetails, + command: sanitizeActionValue(info.command), + }; +}; + +export const serializeActionLogs = ( + actionLogsByTestRunId: Record[]>, + browsers: TestCafeBrowserInfo[], +) => + JSON.stringify( + { + browsers: browsers.map((browser) => ({ + testRunId: browser.testRunId, + name: browser.prettyUserAgent ?? browser.userAgent, + })), + actions: sanitizeActionValue(actionLogsByTestRunId), + }, + null, + 2, + ); + +export const getRelativeFixtureSelector = (fixturePath: string, fixtureName: string, rawTestName: string) => { + const relativePath = getFixtureRelativePath(fixturePath); + const cleanTitle = extractMetadataFromString(rawTestName).cleanTitle || rawTestName; + + return [relativePath, fixtureName, cleanTitle].filter(Boolean).join("#"); +}; + +export const getEffectiveAllureId = (meta: Record, rawTestName: string): string | undefined => { + const [metaId] = toScalarStrings(meta["allure.id"]); + if (metaId) { + return metaId; + } + + const titleLabels = extractMetadataFromString(rawTestName).labels; + + return titleLabels.find((label) => label.name === LabelName.ALLURE_ID)?.value; +}; + +export const getRuntimeMessagesByTestRun = (testRunInfo: TestCafeTestRunInfo): RuntimeMessagesByTestRun => { + const result: RuntimeMessagesByTestRun = {}; + + for (const [testRunId, payloads] of Object.entries(testRunInfo.reportData ?? {})) { + for (const payload of payloads) { + if (!isAllureRuntimeEnvelope(payload)) { + continue; + } + + result[testRunId] ??= []; + result[testRunId].push(payload.message); + } + } + + return result; +}; + +export const isAllureRuntimeEnvelope = (value: unknown): value is AllureTestCafeRuntimeEnvelope => + isPlainObject(value) && + value.__allure_testcafe_runtime_message__ === true && + "message" in value && + isPlainObject(value.message); + +export const serializeRuntimePayloads = (testRunInfo: TestCafeTestRunInfo, browsers: TestCafeBrowserInfo[]) => { + const browserNamesById = new Map( + browsers.map((browser) => [browser.testRunId, browser.prettyUserAgent ?? browser.userAgent ?? ""]), + ); + const payloads = Object.entries(testRunInfo.reportData ?? {}).reduce>( + (acc, [testRunId, values]) => { + const allureValues = values.filter(isAllureRuntimeEnvelope); + if (allureValues.length) { + acc[testRunId] = allureValues.map((value) => value.message); + } + return acc; + }, + {}, + ); + + return JSON.stringify( + { + browsers: browsers.map((browser) => ({ + ...browser, + name: browserNamesById.get(browser.testRunId), + })), + messages: payloads, + }, + null, + 2, + ); +}; + +export const getScreenshotEntries = (testRunInfo: TestCafeTestRunInfo): TestCafeScreenshotInfo[] => { + if (testRunInfo.screenshots?.length) { + return testRunInfo.screenshots.filter((entry) => existsSync(entry.screenshotPath)); + } + + if (testRunInfo.screenshotPath && existsSync(testRunInfo.screenshotPath)) { + return [ + { + screenshotPath: testRunInfo.screenshotPath, + }, + ]; + } + + return []; +}; + +export const getScreenshotName = (screenshot: TestCafeScreenshotInfo, index: number) => { + const parts = [`Screenshot ${index + 1}`]; + + if (screenshot.takenOnFail) { + parts.push("on fail"); + } + + if (screenshot.userAgent) { + parts.push(screenshot.userAgent); + } + + if (typeof screenshot.quarantineAttempt === "number") { + parts.push(`attempt ${screenshot.quarantineAttempt}`); + } + + return parts.join(" - "); +}; + +export const getVideoEntries = (testRunInfo: TestCafeTestRunInfo): TestCafeVideoInfo[] => + (testRunInfo.videos ?? []).filter((entry) => existsSync(entry.videoPath)); + +export const getVideoName = (_video: TestCafeVideoInfo, index: number) => `Video ${index + 1}`; + +export const getBrowserParameterValues = (browsers: TestCafeBrowserInfo[]) => + browsers + .map((browser) => browser.prettyUserAgent ?? browser.userAgent) + .filter((value): value is string => Boolean(value)); + +export const getBrowserInfoByTestRunId = (browsers: TestCafeBrowserInfo[]) => + new Map(browsers.map((browser) => [browser.testRunId, browser])); + +export const getBrowserName = (browser?: TestCafeBrowserInfo) => browser?.prettyUserAgent ?? browser?.userAgent; + +export const getBrowserStageName = (browser: TestCafeBrowserInfo, index: number) => + `Browser ${index + 1}: ${browser.prettyUserAgent ?? browser.userAgent ?? browser.testRunId}`; + +export const getFormattedErrorText = ( + formatError: ((error: unknown, prefix?: string) => string) | undefined, + errors: unknown[], + formatErrorContext?: unknown, +) => { + if (!formatError || errors.length === 0) { + return undefined; + } + + const formatted = errors.map((error) => stripAnsi(formatError.call(formatErrorContext, error))).join("\n\n"); + + return formatted || undefined; +}; + +export const updateStatusDetailsFromFallback = ( + statusDetails: { message?: string; trace?: string; actual?: string; expected?: string }, + fallbackText: string | undefined, +) => { + if (!fallbackText) { + return statusDetails; + } + + return { + ...statusDetails, + message: statusDetails.message ?? fallbackText, + trace: statusDetails.trace ?? fallbackText, + }; +}; + +export const getWarningAttachmentContent = (warnings: string[]) => + warnings.map((warning) => stripAnsi(warning)).join("\n"); + +export const getQuarantineAttachmentContent = (quarantine: TestCafeTestRunInfo["quarantine"]) => + JSON.stringify(quarantine, null, 2); + +export const createRuntimeAttachmentEnvelope = (message: RuntimeMessage): AllureTestCafeRuntimeEnvelope => ({ + __allure_testcafe_runtime_message__: true, + message, +}); + +export const resolveTestPlan = (cwd?: string) => { + const originalPath = process.env.ALLURE_TESTPLAN_PATH; + + if (originalPath && cwd && !path.isAbsolute(originalPath)) { + process.env.ALLURE_TESTPLAN_PATH = path.resolve(cwd, originalPath); + } + + try { + return parseTestPlan(); + } finally { + process.env.ALLURE_TESTPLAN_PATH = originalPath; + } +}; + +export const PNG_CONTENT_TYPE = ContentType.PNG; diff --git a/packages/testcafe-reporter-allure/test/spec/basic.test.ts b/packages/testcafe-reporter-allure/test/spec/basic.test.ts new file mode 100644 index 000000000..c06f67088 --- /dev/null +++ b/packages/testcafe-reporter-allure/test/spec/basic.test.ts @@ -0,0 +1,322 @@ +import { ContentType, LabelName, Stage, Status } from "allure-js-commons"; +import { expect, it } from "vitest"; + +import { check, runTestCafeInlineTest } from "../utils.js"; + +const PAGE_PATH = "/pages/basic.html"; +const ACTIONS_PAGE_PATH = "/pages/actions.html"; +type StepResultLike = { + name: string; + attachments?: Array<{ name: string; source: string; type: string }>; + steps?: StepResultLike[]; +}; + +const findStepByName = (steps: StepResultLike[], pattern: RegExp): StepResultLike | undefined => { + for (const step of steps) { + if (pattern.test(step.name)) { + return step; + } + + const nestedStep = findStepByName(step.steps ?? [], pattern); + if (nestedStep) { + return nestedStep; + } + } + + return undefined; +}; + +it("captures basic test outcomes and duplicate names", async () => { + const { tests } = await runTestCafeInlineTest({ + "pages/basic.html": "

Allure TestCafe

", + "tests/status.test.js": ` + fixture\`Status fixture\` + .page\`\${process.env.TESTCAFE_BASE_URL}${PAGE_PATH}\`; + + test("duplicate", async t => { + await t.expect(1).eql(1); + }); + + test("duplicate", async t => { + await t.expect(2).eql(2); + }); + + test("assertion failure", async t => { + await t.expect(1).eql(2); + }); + + test("runtime error", async () => { + throw new Error("boom"); + }); + + test.skip("skipped case", async () => {}); + `, + }); + + const failed = tests.find(({ name }) => name === "assertion failure"); + const broken = tests.find(({ name }) => name === "runtime error"); + const skipped = tests.find(({ name }) => name === "skipped case"); + + await check("verifies logical test count and duplicate names", () => { + expect(tests).toHaveLength(5); + expect(tests.filter(({ name }) => name === "duplicate")).toHaveLength(2); + }); + + await check("verifies failed and broken outcome mapping", () => { + expect(failed).toEqual( + expect.objectContaining({ + name: "assertion failure", + fullName: expect.stringMatching(/tests\/status\.test\.js#Status fixture#assertion failure$/), + titlePath: [expect.stringMatching(/tests\/status\.test\.js$/), "Status fixture"], + status: Status.FAILED, + stage: Stage.FINISHED, + labels: expect.arrayContaining([{ name: LabelName.FRAMEWORK, value: "testcafe" }]), + statusDetails: expect.objectContaining({ + message: expect.stringContaining("expected 1"), + }), + }), + ); + + expect(broken).toEqual( + expect.objectContaining({ + name: "runtime error", + fullName: expect.stringMatching(/tests\/status\.test\.js#Status fixture#runtime error$/), + titlePath: [expect.stringMatching(/tests\/status\.test\.js$/), "Status fixture"], + status: Status.BROKEN, + stage: Stage.FINISHED, + statusDetails: expect.objectContaining({ + message: expect.stringContaining("boom"), + trace: expect.stringContaining("Error: boom"), + }), + }), + ); + expect(broken?.statusDetails?.message).not.toBe(broken?.statusDetails?.trace); + }); + + await check("verifies skipped outcome mapping", () => { + expect(skipped).toEqual( + expect.objectContaining({ + name: "skipped case", + status: Status.SKIPPED, + stage: Stage.PENDING, + }), + ); + }); +}); + +it("derives stable testCaseId and historyId values", async () => { + const files = { + "workspace/pages/basic.html": "

Allure TestCafe

", + "workspace/tests/identity.test.js": ` + fixture\`Identity fixture\` + .page\`\${process.env.TESTCAFE_BASE_URL}/workspace${PAGE_PATH}\`; + + test("duplicate", async t => { + await t.expect(1).eql(1); + }); + + test("duplicate", async t => { + await t.expect(2).eql(2); + }); + + test("stable ids", async t => { + await t.expect(true).ok(); + }); + `, + } as const; + + const stableRunOptions = { + projectCwdRelative: "workspace", + testDirName: "identity-stability", + } as const; + + const firstRun = await runTestCafeInlineTest(files, stableRunOptions); + const secondRun = await runTestCafeInlineTest(files, stableRunOptions); + const duplicateResults = firstRun.tests.filter(({ name }) => name === "duplicate"); + const firstStable = firstRun.tests.find(({ name }) => name === "stable ids"); + const secondStable = secondRun.tests.find(({ name }) => name === "stable ids"); + + await check("verifies duplicate tests share testCaseId but keep distinct historyId values", () => { + expect(duplicateResults).toHaveLength(2); + expect(new Set(duplicateResults.map(({ testCaseId }) => testCaseId)).size).toBe(1); + expect(new Set(duplicateResults.map(({ historyId }) => historyId)).size).toBe(2); + expect(duplicateResults.every(({ historyId, testCaseId }) => Boolean(historyId) && Boolean(testCaseId))).toBe(true); + }); + + await check("verifies stable ids remain stable across repeated runs", () => { + expect(firstStable?.testCaseId).toBeTruthy(); + expect(firstStable?.historyId).toBeTruthy(); + expect(secondStable).toEqual( + expect.objectContaining({ + historyId: firstStable?.historyId, + testCaseId: firstStable?.testCaseId, + }), + ); + }); +}); + +it("applies environment labels and reporter global labels", async () => { + const { tests } = await runTestCafeInlineTest( + { + "pages/basic.html": "

Allure TestCafe

", + "tests/labels.test.js": ` + fixture\`Labels fixture\` + .page\`\${process.env.TESTCAFE_BASE_URL}${PAGE_PATH}\`; + + test("global labels", async t => { + await t.expect(true).ok(); + }); + `, + }, + { + env: { + ALLURE_LABEL_team: "platform", + }, + reporterConfig: { + globalLabels: { + layer: "e2e", + }, + }, + }, + ); + + await check("verifies environment and reporter labels are applied", () => { + expect(tests).toEqual([ + expect.objectContaining({ + labels: expect.arrayContaining([ + { name: "team", value: "platform" }, + { name: "layer", value: "e2e" }, + ]), + }), + ]); + }); +}); + +it("captures default TestController actions as steps and nests them under explicit runtime steps", async () => { + const { tests } = await runTestCafeInlineTest({ + "pages/actions.html": + "", + "tests/action-steps.test.js": ` + const { step } = require("allure-js-commons"); + + fixture\`Action fixture\` + .page\`\${process.env.TESTCAFE_BASE_URL}${ACTIONS_PAGE_PATH}\`; + + test("action steps", async t => { + await step("Outer step", async () => { + await t.click("#submit"); + await t.typeText("#name", "super-secret", { confidential: true }); + await t.expect(1).eql(1); + await t.report({ custom: "payload" }); + }); + }); + `, + }); + + const [testResult] = tests; + const [outerStep] = testResult.steps; + const childStepNames = outerStep.steps.map(({ name }) => name); + + await check("verifies explicit runtime steps keep nested automatic TestController steps", () => { + expect(outerStep).toEqual( + expect.objectContaining({ + name: "Outer step", + }), + ); + expect(childStepNames).toEqual(expect.arrayContaining(["click(#submit)", "typeText(#name)", "expect(1).eql(1)"])); + }); + + await check("verifies report actions stay filtered and confidential values stay masked", () => { + expect(childStepNames.join("\n")).not.toContain("report()"); + expect(childStepNames.join("\n")).not.toContain("super-secret"); + }); +}); + +it("captures request and explicit screenshot actions as steps and attachments", async () => { + const { tests, attachments } = await runTestCafeInlineTest( + { + "api/ping.json": JSON.stringify({ ok: true }), + "pages/actions.html": "", + "tests/native-actions.test.js": ` + const { step } = require("allure-js-commons"); + + fixture\`Native action fixture\` + .page\`\${process.env.TESTCAFE_BASE_URL}${ACTIONS_PAGE_PATH}\`; + + test("native actions", async t => { + await step("Outer step", async () => { + const response = await t.request(\`\${process.env.TESTCAFE_BASE_URL}/api/ping.json\`); + await t.expect(response.status).eql(200); + await t.takeScreenshot("manual-shot.png"); + }); + }); + `, + }, + { + screenshots: { + takeOnFails: false, + thumbnails: false, + }, + }, + ); + + const [testResult] = tests; + const [outerStep] = testResult.steps; + const screenshotStep = findStepByName(outerStep?.steps ?? [], /^takeScreenshot\(/); + const screenshotAttachment = screenshotStep?.attachments?.find(({ type }) => type === ContentType.PNG); + + await check("verifies native request and screenshot actions are captured", () => { + expect(testResult.status).toBe(Status.PASSED); + expect(outerStep).toEqual(expect.objectContaining({ name: "Outer step" })); + expect(screenshotStep).toEqual(expect.objectContaining({ name: expect.stringMatching(/^takeScreenshot\(/) })); + expect(screenshotAttachment).toEqual( + expect.objectContaining({ + name: expect.stringContaining("Screenshot"), + source: expect.any(String), + type: ContentType.PNG, + }), + ); + }); + + await check("verifies screenshot attachment bytes are available", () => { + expect(screenshotAttachment?.source && attachments[screenshotAttachment.source]).toBeInstanceOf(Buffer); + }); +}); + +it("attaches screenshots from failed tests", async () => { + const { tests, attachments } = await runTestCafeInlineTest( + { + "pages/basic.html": "

Allure TestCafe

", + "tests/screenshots.test.js": ` + fixture\`Screenshot fixture\` + .page\`\${process.env.TESTCAFE_BASE_URL}${PAGE_PATH}\`; + + test("fails with screenshot", async t => { + await t.expect(1).eql(2); + }); + `, + }, + { + screenshots: true, + }, + ); + + const failed = tests.find(({ name }) => name === "fails with screenshot"); + const failedExpectationStep = findStepByName(failed?.steps ?? [], /^expect\(1\)\.eql\(2\)$/); + const screenshotAttachment = failedExpectationStep?.attachments?.find(({ type }) => type === ContentType.PNG); + + await check("verifies failed tests include screenshot attachments", () => { + expect(failed).toEqual( + expect.objectContaining({ + status: Status.FAILED, + }), + ); + expect(failedExpectationStep).toEqual(expect.objectContaining({ status: Status.FAILED })); + expect(screenshotAttachment?.name).toContain("Screenshot"); + expect(screenshotAttachment?.source).toBeTruthy(); + }); + + await check("verifies screenshot bytes are attached for failed tests", () => { + expect(screenshotAttachment?.source && attachments[screenshotAttachment.source]).toBeInstanceOf(Buffer); + }); +}); diff --git a/packages/testcafe-reporter-allure/test/spec/execution.test.ts b/packages/testcafe-reporter-allure/test/spec/execution.test.ts new file mode 100644 index 000000000..6ef6b87c5 --- /dev/null +++ b/packages/testcafe-reporter-allure/test/spec/execution.test.ts @@ -0,0 +1,167 @@ +import { ContentType, LabelName, Status } from "allure-js-commons"; +import { expect, it } from "vitest"; + +import { check, runTestCafeInlineTest } from "../utils.js"; + +const PAGE_PATH = "/pages/execution.html"; +type StepResultLike = { + name: string; + attachments?: Array<{ name: string; source: string; type: string }>; + steps?: StepResultLike[]; +}; + +const findStepByName = (steps: StepResultLike[], pattern: RegExp): StepResultLike | undefined => { + for (const step of steps) { + if (pattern.test(step.name)) { + return step; + } + + const nestedStep = findStepByName(step.steps ?? [], pattern); + if (nestedStep) { + return nestedStep; + } + } + + return undefined; +}; + +it("keeps runtime labels, parameters, steps, and attachments isolated under runner concurrency", async () => { + const { tests, attachments } = await runTestCafeInlineTest( + { + "pages/execution.html": + "", + "tests/concurrency.test.js": ` + fixture\`Concurrency fixture\` + .page\`\${process.env.TESTCAFE_BASE_URL}${PAGE_PATH}\`; + + test("parallel a", async t => { + await t.typeText("#name", "value-a"); + await t.takeScreenshot("parallel-a.png"); + await t.click("#submit"); + await t.wait(50); + }).meta({ + case: "alpha", + "allure.label.owner": "owner-a", + }); + + test("parallel b", async t => { + await t.typeText("#name", "value-b"); + await t.takeScreenshot("parallel-b.png"); + await t.click("#submit"); + await t.wait(50); + }).meta({ + case: "beta", + "allure.label.owner": "owner-b", + }); + `, + }, + { + concurrency: 2, + screenshots: { + takeOnFails: false, + thumbnails: false, + }, + }, + ); + + const testByName = new Map(tests.map((testResult) => [testResult.name, testResult])); + const first = testByName.get("parallel a"); + const second = testByName.get("parallel b"); + const firstScreenshot = findStepByName(first?.steps ?? [], /^takeScreenshot\(/)?.attachments?.find( + ({ type }) => type === ContentType.PNG, + ); + const secondScreenshot = findStepByName(second?.steps ?? [], /^takeScreenshot\(/)?.attachments?.find( + ({ type }) => type === ContentType.PNG, + ); + + await check("verifies concurrent runs keep labels, parameters, and steps isolated", () => { + expect(tests).toHaveLength(2); + expect(first).toEqual( + expect.objectContaining({ + labels: expect.arrayContaining([{ name: LabelName.OWNER, value: "owner-a" }]), + parameters: expect.arrayContaining([{ name: "case", value: "alpha" }]), + steps: expect.arrayContaining([ + expect.objectContaining({ name: "typeText(#name)", status: Status.PASSED }), + expect.objectContaining({ name: expect.stringContaining("takeScreenshot(") }), + ]), + }), + ); + expect(second).toEqual( + expect.objectContaining({ + labels: expect.arrayContaining([{ name: LabelName.OWNER, value: "owner-b" }]), + parameters: expect.arrayContaining([{ name: "case", value: "beta" }]), + steps: expect.arrayContaining([ + expect.objectContaining({ name: "typeText(#name)", status: Status.PASSED }), + expect.objectContaining({ name: expect.stringContaining("takeScreenshot(") }), + ]), + }), + ); + expect(first?.labels).not.toEqual(expect.arrayContaining([{ name: LabelName.OWNER, value: "owner-b" }])); + expect(second?.labels).not.toEqual(expect.arrayContaining([{ name: LabelName.OWNER, value: "owner-a" }])); + }); + + await check("verifies concurrent screenshots remain distinct and readable", () => { + expect(firstScreenshot).toEqual(expect.objectContaining({ type: ContentType.PNG, source: expect.any(String) })); + expect(secondScreenshot).toEqual(expect.objectContaining({ type: ContentType.PNG, source: expect.any(String) })); + expect(firstScreenshot?.source).not.toBe(secondScreenshot?.source); + expect(firstScreenshot?.source && attachments[firstScreenshot.source]).toBeInstanceOf(Buffer); + expect(secondScreenshot?.source && attachments[secondScreenshot.source]).toBeInstanceOf(Buffer); + }); +}); + +it("captures quarantine details and unstable tagging from real quarantine runs", async () => { + const { tests, attachments } = await runTestCafeInlineTest( + { + "pages/execution.html": "

Quarantine

", + "tests/quarantine.test.js": ` + const fs = require("node:fs"); + const path = require("node:path"); + + fixture\`Quarantine fixture\` + .page\`\${process.env.TESTCAFE_BASE_URL}${PAGE_PATH}\`; + + test("quarantine unstable", async t => { + const attemptFile = path.join(process.cwd(), "quarantine-attempt.txt"); + const currentAttempt = (fs.existsSync(attemptFile) ? Number(fs.readFileSync(attemptFile, "utf8")) : 0) + 1; + + fs.writeFileSync(attemptFile, String(currentAttempt), "utf8"); + + await t.expect(currentAttempt).gte(2); + }); + `, + }, + { + runOptions: { + disableNativeAutomation: true, + quarantineMode: { + successThreshold: 1, + attemptLimit: 2, + }, + }, + }, + ); + + const [testResult] = tests; + const quarantineAttachment = testResult.attachments.find(({ name }) => name === "Quarantine"); + + await check("verifies unstable quarantine runs are surfaced on the logical test", () => { + expect(testResult).toEqual( + expect.objectContaining({ + name: "quarantine unstable", + status: Status.PASSED, + labels: expect.arrayContaining([{ name: LabelName.TAG, value: "unstable" }]), + attachments: expect.arrayContaining([ + expect.objectContaining({ + name: "Quarantine", + type: ContentType.JSON, + }), + ]), + }), + ); + expect(quarantineAttachment?.source).toBeTruthy(); + }); + + await check("verifies quarantine attachment content is preserved", () => { + expect(quarantineAttachment?.source && attachments[quarantineAttachment.source].toString("utf8")).toContain('"1"'); + }); +}); diff --git a/packages/testcafe-reporter-allure/test/spec/hooks.test.ts b/packages/testcafe-reporter-allure/test/spec/hooks.test.ts new file mode 100644 index 000000000..3c2ceb20a --- /dev/null +++ b/packages/testcafe-reporter-allure/test/spec/hooks.test.ts @@ -0,0 +1,148 @@ +import { ContentType, LabelName, Status } from "allure-js-commons"; +import { expect, it } from "vitest"; + +import { check, runTestCafeInlineTest } from "../utils.js"; + +const PAGE_PATH = "/pages/hooks.html"; + +const getAllStepNames = (steps: Array<{ name: string; steps?: Array<{ name: string; steps?: any[] }> }>): string[] => + steps.flatMap((step) => [step.name, ...getAllStepNames(step.steps ?? [])]); + +it("supports runtime APIs inside fixture beforeEach and afterEach hooks", async () => { + const { tests, attachments } = await runTestCafeInlineTest({ + "pages/hooks.html": "", + "tests/fixture-hooks.test.js": ` + const { attachment, owner, step } = require("allure-js-commons"); + + fixture\`Hook fixture\` + .page\`\${process.env.TESTCAFE_BASE_URL}${PAGE_PATH}\` + .beforeEach(async t => { + await owner("fixture-owner"); + await step("fixture beforeEach", async () => { + await t.click("#submit"); + }); + }) + .afterEach(async t => { + await step("fixture afterEach", async () => { + await attachment("after-each.txt", "done", "text/plain"); + await t.pressKey("tab"); + }); + }); + + test("fixture hooks", async t => { + await step("test body", async (ctx) => { + await ctx.parameter("phase", "body"); + await t.typeText("#name", "demo-user"); + }); + }); + `, + }); + + const [testResult] = tests; + const stepNames = getAllStepNames(testResult.steps); + const afterEachAttachment = testResult.steps + .flatMap((step) => step.steps ?? []) + .flatMap((step) => step.attachments ?? []) + .find(({ name }) => name === "after-each.txt"); + + await check("verifies fixture hook runtime APIs add labels and nested steps to the owning test", () => { + expect(testResult.labels).toEqual(expect.arrayContaining([{ name: LabelName.OWNER, value: "fixture-owner" }])); + expect(stepNames).toEqual( + expect.arrayContaining([ + "fixture beforeEach", + "click(#submit)", + "test body", + "typeText(#name)", + "fixture afterEach", + "pressKey(tab)", + ]), + ); + expect(afterEachAttachment).toEqual( + expect.objectContaining({ + name: "after-each.txt", + type: ContentType.TEXT, + }), + ); + }); + + await check("verifies fixture hook attachments keep their bytes", () => { + expect(afterEachAttachment?.source && attachments[afterEachAttachment.source]).toBeInstanceOf(Buffer); + }); +}); + +it("supports runtime APIs inside test.before and test.after hooks", async () => { + const { tests } = await runTestCafeInlineTest({ + "pages/hooks.html": "", + "tests/test-hooks.test.js": ` + const { severity, step, tag } = require("allure-js-commons"); + + fixture\`Test hook fixture\` + .page\`\${process.env.TESTCAFE_BASE_URL}${PAGE_PATH}\`; + + test + .before(async t => { + await tag("pre-hook"); + await step("test.before", async () => { + await t.typeText("#name", "setup-value"); + }); + }) + .after(async t => { + await severity("minor"); + await step("test.after", async () => { + await t.click("#submit"); + }); + })("test hooks", async t => { + await t.expect(1).eql(1); + }); + `, + }); + + const [testResult] = tests; + const stepNames = getAllStepNames(testResult.steps); + + await check("verifies test-level before and after hooks contribute labels and steps", () => { + expect(testResult.labels).toEqual( + expect.arrayContaining([ + { name: LabelName.TAG, value: "pre-hook" }, + { name: LabelName.SEVERITY, value: "minor" }, + ]), + ); + expect(stepNames).toEqual( + expect.arrayContaining(["test.before", "typeText(#name)", "test.after", "click(#submit)", "expect(1).eql(1)"]), + ); + }); +}); + +it("reports hook failures on the owning test without synthetic fixture containers", async () => { + const { tests, groups } = await runTestCafeInlineTest({ + "pages/hooks.html": "", + "tests/hook-failure.test.js": ` + fixture\`Broken hook fixture\` + .page\`\${process.env.TESTCAFE_BASE_URL}${PAGE_PATH}\` + .beforeEach(async t => { + await t.click("#submit"); + throw new Error("beforeEach boom"); + }); + + test("hook failure", async t => { + await t.expect(true).ok(); + }); + `, + }); + + await check("verifies hook failures stay on the owning test", () => { + expect(tests).toEqual([ + expect.objectContaining({ + name: "hook failure", + status: Status.BROKEN, + statusDetails: expect.objectContaining({ + message: expect.stringContaining("beforeEach boom"), + }), + }), + ]); + }); + + await check("verifies no synthetic fixture containers are created for hook failures", () => { + expect(groups.every((group) => !group.befores?.length && !group.afters?.length)).toBe(true); + }); +}); diff --git a/packages/testcafe-reporter-allure/test/spec/metadata.test.ts b/packages/testcafe-reporter-allure/test/spec/metadata.test.ts new file mode 100644 index 000000000..65d5becbe --- /dev/null +++ b/packages/testcafe-reporter-allure/test/spec/metadata.test.ts @@ -0,0 +1,85 @@ +import { LabelName, Status } from "allure-js-commons"; +import { expect, it } from "vitest"; + +import { check, runTestCafeInlineTest } from "../utils.js"; + +const PAGE_PATH = "/pages/metadata.html"; + +it("merges fixture metadata, test metadata, and title annotations", async () => { + const { tests } = await runTestCafeInlineTest( + { + "pages/metadata.html": "

Metadata

", + "tests/metadata.test.js": ` + fixture\`Meta fixture\` + .page\`\${process.env.TESTCAFE_BASE_URL}${PAGE_PATH}\` + .meta({ + owner: "fixture-owner", + component: "fixture-component", + "allure.id": "100", + "allure.label.epic": "Authentication", + "allure.label.tag": ["ui", "smoke"], + "allure.link.issue": "AUTH-1", + }); + + test("annotated @allure.id=300 @allure.label.story=Login @allure.link.tms=TMS-9", async t => { + await t.expect(1).eql(1); + }).meta({ + owner: "test-owner", + component: "sign-in", + "allure.id": "200", + "allure.label.feature": "Password login", + "allure.link.issue": ["AUTH-2", "AUTH-3"], + }); + `, + }, + { + reporterConfig: { + links: { + issue: { + urlTemplate: "https://issues.example/%s", + nameTemplate: "ISSUE-%s", + }, + tms: { + urlTemplate: "https://tms.example/%s", + nameTemplate: "TMS-%s", + }, + }, + }, + }, + ); + + const [testResult] = tests; + + await check("verifies fixture metadata, test metadata, and title annotations are merged correctly", () => { + expect(tests).toHaveLength(1); + expect(testResult).toEqual( + expect.objectContaining({ + name: "annotated", + fullName: expect.stringMatching(/tests\/metadata\.test\.js#Meta fixture#annotated$/), + titlePath: [expect.stringMatching(/tests\/metadata\.test\.js$/), "Meta fixture"], + status: Status.PASSED, + labels: expect.arrayContaining([ + { name: LabelName.ALLURE_ID, value: "200" }, + { name: LabelName.EPIC, value: "Authentication" }, + { name: LabelName.FEATURE, value: "Password login" }, + { name: LabelName.STORY, value: "Login" }, + { name: LabelName.TAG, value: "ui" }, + { name: LabelName.TAG, value: "smoke" }, + ]), + links: expect.arrayContaining([ + { type: "issue", url: "https://issues.example/AUTH-2", name: "ISSUE-AUTH-2" }, + { type: "issue", url: "https://issues.example/AUTH-3", name: "ISSUE-AUTH-3" }, + { type: "tms", url: "https://tms.example/TMS-9", name: "TMS-TMS-9" }, + ]), + parameters: expect.arrayContaining([ + expect.objectContaining({ name: "owner", value: "test-owner" }), + expect.objectContaining({ name: "component", value: "sign-in" }), + ]), + }), + ); + }); + + await check("verifies overridden links replace fixture-level duplicates", () => { + expect(testResult.links).not.toContainEqual(expect.objectContaining({ url: "https://issues.example/AUTH-1" })); + }); +}); diff --git a/packages/testcafe-reporter-allure/test/spec/reporter.test.ts b/packages/testcafe-reporter-allure/test/spec/reporter.test.ts new file mode 100644 index 000000000..123c432c4 --- /dev/null +++ b/packages/testcafe-reporter-allure/test/spec/reporter.test.ts @@ -0,0 +1,1035 @@ +import { mkdir, rm, writeFile } from "node:fs/promises"; +import { join } from "node:path"; + +import { ContentType, LabelName, Stage, Status } from "allure-js-commons"; +import { expect, it } from "vitest"; + +import type { + AllureTestCafeReporterConfig, + TestCafeReporterActionInfo, + TestCafeReporterDataInfo, + TestCafeReporterWarningInfo, +} from "../../src/model.js"; +import { createReporterObject } from "../../src/reporter.js"; +import { createRuntimeAttachmentEnvelope } from "../../src/utils.js"; +import { createTempFixtureDir, PACKAGE_ROOT, readAllureResultsDir } from "../utils.js"; + +type ManualReporterRunOptions = { + reporterConfig?: Omit; + fixturePath?: string; + fixtureName?: string; + fixtureMeta?: Record; + testName?: string; + testMeta?: Record; + testStartInfo?: Record; + testRunInfo?: Record; + actionEvents?: Array<{ + type: "start" | "done"; + apiActionName: string; + info: TestCafeReporterActionInfo; + }>; + reportDataEvents?: Array<{ + testRunInfo: TestCafeReporterDataInfo; + data: unknown[]; + }>; + warningEvents?: TestCafeReporterWarningInfo[]; + events?: Array< + | { + type: "action-start" | "action-done"; + apiActionName: string; + info: TestCafeReporterActionInfo; + } + | { + type: "report-data"; + testRunInfo: TestCafeReporterDataInfo; + data: unknown[]; + } + | { + type: "warning"; + warningInfo: TestCafeReporterWarningInfo; + } + >; + context?: { formatError?: (error: unknown, prefix?: string) => string }; +}; + +const runReporterLifecycle = async ({ + reporterConfig = {}, + fixturePath = join(PACKAGE_ROOT, "test", "fixtures", "manual.test.js"), + fixtureName = "Manual fixture", + fixtureMeta = {}, + testName = "manual test", + testMeta = {}, + testStartInfo = { + testId: "manual-id", + startTime: new Date("2024-01-01T00:00:00.000Z"), + testRunIds: ["run-1"], + }, + testRunInfo = { + errs: [], + warnings: [], + durationMs: 5, + }, + actionEvents = [], + reportDataEvents = [], + warningEvents = [], + events = [], + context = {}, +}: ManualReporterRunOptions = {}) => { + const runDir = await createTempFixtureDir(); + const resultsDir = join(runDir, "allure-results"); + + await mkdir(resultsDir, { recursive: true }); + + const reporter = createReporterObject({ + ...reporterConfig, + resultsDir, + }); + + try { + reporter.init?.("3.7.2"); + await reporter.reportFixtureStart?.(fixtureName, fixturePath, fixtureMeta); + await reporter.reportTestStart?.(testName, testMeta, testStartInfo); + if (events.length > 0) { + for (const event of events) { + if (event.type === "action-start") { + await reporter.reportTestActionStart?.(event.apiActionName, event.info); + continue; + } + + if (event.type === "action-done") { + await reporter.reportTestActionDone?.(event.apiActionName, event.info); + continue; + } + + if (event.type === "warning") { + await reporter.reportWarnings?.(event.warningInfo); + continue; + } + + await reporter.reportData?.(event.testRunInfo, ...event.data); + } + } else { + for (const actionEvent of actionEvents) { + if (actionEvent.type === "start") { + await reporter.reportTestActionStart?.(actionEvent.apiActionName, actionEvent.info); + } else { + await reporter.reportTestActionDone?.(actionEvent.apiActionName, actionEvent.info); + } + } + for (const reportDataEvent of reportDataEvents) { + await reporter.reportData?.(reportDataEvent.testRunInfo, ...reportDataEvent.data); + } + for (const warningEvent of warningEvents) { + await reporter.reportWarnings?.(warningEvent); + } + } + await reporter.reportTestDone?.call(context, testName, testRunInfo as any, testMeta); + await reporter.reportTaskDone?.(new Date("2024-01-01T00:00:01.000Z"), 1, [], { + passedCount: 1, + failedCount: 0, + skippedCount: 0, + }); + + return await readAllureResultsDir(resultsDir); + } finally { + await rm(runDir, { recursive: true, force: true }); + } +}; + +it("writes warnings, quarantine details, browser parameters, categories, and environment info", async () => { + const { tests, envInfo, categories, attachments } = await runReporterLifecycle({ + reporterConfig: { + categories: [{ name: "Known", messageRegex: /warning/ }], + environmentInfo: { branch: "main", target: "staging" }, + }, + testRunInfo: { + errs: [], + warnings: ["warn one", "warn two"], + durationMs: 9, + unstable: true, + browsers: [{ testRunId: "run-1", prettyUserAgent: "Chrome 123 / Linux" }], + quarantine: { + 1: { passed: false }, + 2: { passed: true }, + }, + }, + }); + + expect(envInfo).toEqual({ + branch: "main", + target: "staging", + }); + expect(categories).toEqual([{ name: "Known", messageRegex: "warning" }]); + + const [testResult] = tests; + + expect(testResult).toEqual( + expect.objectContaining({ + status: Status.PASSED, + stage: Stage.FINISHED, + labels: expect.arrayContaining([{ name: LabelName.TAG, value: "unstable" }]), + parameters: expect.arrayContaining([{ name: "Browser", value: "Chrome 123 / Linux" }]), + attachments: expect.arrayContaining([ + expect.objectContaining({ name: "Warnings", type: ContentType.TEXT }), + expect.objectContaining({ name: "Quarantine", type: ContentType.JSON }), + ]), + }), + ); + + testResult.attachments.forEach((attachment) => { + expect(attachments).toHaveProperty(attachment.source); + }); +}); + +it("calls formatError with the reporter context bound", async () => { + const { tests } = await runReporterLifecycle({ + testRunInfo: { + errs: [{ message: "boom" }], + warnings: [], + durationMs: 9, + }, + context: { + viewportWidth: 1280, + formatError(this: { viewportWidth: number }, error: { message: string }) { + return `${this.viewportWidth}:${error.message}`; + }, + } as any, + }); + + expect(tests).toHaveLength(1); + expect(tests[0].statusDetails).toEqual( + expect.objectContaining({ + message: "boom", + trace: "1280:boom", + }), + ); +}); + +it("creates automatic action steps, filters report actions, and keeps assertion failures on the step", async () => { + const assertionError = { + name: "AssertionError", + message: "expected 1 to equal 2", + actual: "1", + expected: "2", + stack: "AssertionError: expected 1 to equal 2", + }; + + const actionBaseInfo = { + testRunId: "run-1", + test: { id: "manual-id", name: "manual test" }, + fixture: { id: "fixture-id", name: "Manual fixture" }, + } satisfies Omit; + + const { tests } = await runReporterLifecycle({ + actionEvents: [ + { + type: "start", + apiActionName: "click", + info: { + ...actionBaseInfo, + command: { type: "click", actionId: "click-1", selector: { expression: "#submit" } }, + }, + }, + { + type: "done", + apiActionName: "click", + info: { + ...actionBaseInfo, + duration: 7, + command: { type: "click", actionId: "click-1", selector: { expression: "#submit" } }, + }, + }, + { + type: "start", + apiActionName: "report", + info: { + ...actionBaseInfo, + command: { type: "report", actionId: "report-1" }, + }, + }, + { + type: "done", + apiActionName: "report", + info: { + ...actionBaseInfo, + duration: 1, + command: { type: "report", actionId: "report-1" }, + }, + }, + { + type: "start", + apiActionName: "eql", + info: { + ...actionBaseInfo, + command: { type: "assertion", actionId: "assert-1", actual: 1, expected: 2 }, + }, + }, + { + type: "done", + apiActionName: "eql", + info: { + ...actionBaseInfo, + duration: 2, + err: assertionError, + command: { type: "assertion", actionId: "assert-1", actual: 1, expected: 2 }, + }, + }, + ], + testRunInfo: { + errs: [assertionError], + warnings: [], + durationMs: 9, + }, + }); + + const [testResult] = tests; + + expect(testResult.steps).toEqual( + expect.arrayContaining([ + expect.objectContaining({ + name: "click(#submit)", + status: Status.PASSED, + }), + expect.objectContaining({ + name: "expect(1).eql(2)", + status: Status.FAILED, + statusDetails: expect.objectContaining({ + actual: "1", + expected: "2", + }), + }), + ]), + ); + expect(testResult.steps).not.toContainEqual(expect.objectContaining({ name: "report()" })); +}); + +it("replays runtime messages live so automatic action steps can nest inside explicit runtime steps", async () => { + const actionBaseInfo = { + testRunId: "run-1", + test: { id: "manual-id", name: "manual test" }, + fixture: { id: "fixture-id", name: "Manual fixture" }, + } satisfies Omit; + + const { tests } = await runReporterLifecycle({ + events: [ + { + type: "report-data", + testRunInfo: { + testRunId: "run-1", + }, + data: [ + createRuntimeAttachmentEnvelope({ + type: "step_start", + data: { name: "Outer step", start: 1 }, + }), + ], + }, + { + type: "action-start", + apiActionName: "click", + info: { + ...actionBaseInfo, + command: { type: "click", actionId: "click-1", selector: { expression: "#submit" } }, + }, + }, + { + type: "action-done", + apiActionName: "click", + info: { + ...actionBaseInfo, + duration: 5, + command: { type: "click", actionId: "click-1", selector: { expression: "#submit" } }, + }, + }, + { + type: "report-data", + testRunInfo: { + testRunId: "run-1", + }, + data: [ + createRuntimeAttachmentEnvelope({ + type: "step_stop", + data: { status: Status.PASSED, stop: 2 }, + }), + ], + }, + ], + }); + + const [testResult] = tests; + const [outerStep] = testResult.steps; + + expect(outerStep).toEqual( + expect.objectContaining({ + name: "Outer step", + steps: [expect.objectContaining({ name: "click(#submit)", status: Status.PASSED })], + }), + ); +}); + +it("creates separate browser-scoped results for multi-browser runtime messages", async () => { + const { tests } = await runReporterLifecycle({ + testStartInfo: { + testId: "manual-id", + startTime: new Date("2024-01-01T00:00:00.000Z"), + testRunIds: ["run-a", "run-b"], + }, + testRunInfo: { + errs: [], + warnings: [], + durationMs: 9, + browsers: [ + { testRunId: "run-a", prettyUserAgent: "Chrome 123 / Linux" }, + { testRunId: "run-b", prettyUserAgent: "Edge 123 / Linux" }, + ], + reportData: { + "run-a": [ + createRuntimeAttachmentEnvelope({ + type: "step_start", + data: { name: "chrome step", start: 1 }, + }), + createRuntimeAttachmentEnvelope({ + type: "step_stop", + data: { status: Status.PASSED, stop: 2 }, + }), + ], + "run-b": [ + createRuntimeAttachmentEnvelope({ + type: "step_start", + data: { name: "edge step", start: 3 }, + }), + createRuntimeAttachmentEnvelope({ + type: "step_stop", + data: { status: Status.PASSED, stop: 4 }, + }), + ], + }, + }, + }); + + expect(tests).toHaveLength(2); + + const chromeResult = tests.find(({ parameters }) => + parameters.some((parameter) => parameter.name === "Browser" && parameter.value === "Chrome 123 / Linux"), + ); + const edgeResult = tests.find(({ parameters }) => + parameters.some((parameter) => parameter.name === "Browser" && parameter.value === "Edge 123 / Linux"), + ); + + expect(chromeResult?.attachments).not.toContainEqual(expect.objectContaining({ name: "Runtime messages" })); + expect(edgeResult?.attachments).not.toContainEqual(expect.objectContaining({ name: "Runtime messages" })); + expect(chromeResult?.steps).toEqual([expect.objectContaining({ name: "chrome step", status: Status.PASSED })]); + expect(edgeResult?.steps).toEqual([expect.objectContaining({ name: "edge step", status: Status.PASSED })]); +}); + +it("keeps runtime messages on the matching run even when browser metadata is partial", async () => { + const { tests } = await runReporterLifecycle({ + testStartInfo: { + testId: "manual-id", + startTime: new Date("2024-01-01T00:00:00.000Z"), + testRunIds: ["run-a", "run-b"], + }, + testRunInfo: { + errs: [], + warnings: [], + durationMs: 9, + browsers: [{ testRunId: "run-a", prettyUserAgent: "Chrome 123 / Linux" }], + reportData: { + "run-a": [createRuntimeAttachmentEnvelope({ type: "metadata", data: { description: "from a" } })], + "run-b": [createRuntimeAttachmentEnvelope({ type: "metadata", data: { descriptionHtml: "from b" } })], + }, + }, + }); + + expect(tests).toHaveLength(2); + + expect(tests).toEqual( + expect.arrayContaining([ + expect.objectContaining({ + description: "from a", + parameters: expect.arrayContaining([{ name: "Browser", value: "Chrome 123 / Linux" }]), + }), + expect.objectContaining({ + descriptionHtml: "from b", + }), + ]), + ); +}); + +it("creates live action steps for each browser run", async () => { + const actionBaseInfo = { + test: { id: "manual-id", name: "manual test" }, + fixture: { id: "fixture-id", name: "Manual fixture" }, + } satisfies Omit; + + const { tests } = await runReporterLifecycle({ + testStartInfo: { + testId: "manual-id", + startTime: new Date("2024-01-01T00:00:00.000Z"), + testRunIds: ["run-a", "run-b"], + }, + actionEvents: [ + { + type: "start", + apiActionName: "click", + info: { + ...actionBaseInfo, + testRunId: "run-a", + browser: { testRunId: "run-a", prettyUserAgent: "Chrome 123 / Linux" }, + command: { type: "click", actionId: "click-a", selector: { expression: "#submit" } }, + }, + }, + { + type: "done", + apiActionName: "click", + info: { + ...actionBaseInfo, + testRunId: "run-a", + browser: { testRunId: "run-a", prettyUserAgent: "Chrome 123 / Linux" }, + duration: 4, + command: { type: "click", actionId: "click-a", selector: { expression: "#submit" } }, + }, + }, + { + type: "start", + apiActionName: "click", + info: { + ...actionBaseInfo, + testRunId: "run-b", + browser: { testRunId: "run-b", prettyUserAgent: "Edge 123 / Linux" }, + command: { type: "click", actionId: "click-b", selector: { expression: "#submit" } }, + }, + }, + { + type: "done", + apiActionName: "click", + info: { + ...actionBaseInfo, + testRunId: "run-b", + browser: { testRunId: "run-b", prettyUserAgent: "Edge 123 / Linux" }, + duration: 5, + command: { type: "click", actionId: "click-b", selector: { expression: "#submit" } }, + }, + }, + ], + testRunInfo: { + errs: [], + warnings: [], + durationMs: 9, + browsers: [ + { testRunId: "run-a", prettyUserAgent: "Chrome 123 / Linux" }, + { testRunId: "run-b", prettyUserAgent: "Edge 123 / Linux" }, + ], + }, + }); + + expect(tests).toHaveLength(2); + + expect(tests).toEqual( + expect.arrayContaining([ + expect.objectContaining({ + parameters: expect.arrayContaining([{ name: "Browser", value: "Chrome 123 / Linux" }]), + steps: [expect.objectContaining({ name: "click(#submit)", status: Status.PASSED })], + }), + expect.objectContaining({ + parameters: expect.arrayContaining([{ name: "Browser", value: "Edge 123 / Linux" }]), + steps: [expect.objectContaining({ name: "click(#submit)", status: Status.PASSED })], + }), + ]), + ); +}); + +it("attributes multi-browser screenshots by screenshot testRunId", async () => { + const screenshotDir = await createTempFixtureDir("manual-screenshot-attribution"); + const chromeScreenshotPath = join(screenshotDir, "chrome.png"); + const edgeScreenshotPath = join(screenshotDir, "edge.png"); + const pngBuffer = Buffer.from( + "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9s4m7xUAAAAASUVORK5CYII=", + "base64", + ); + + await writeFile(chromeScreenshotPath, pngBuffer); + await writeFile(edgeScreenshotPath, pngBuffer); + + try { + const { tests } = await runReporterLifecycle({ + testStartInfo: { + testId: "manual-id", + startTime: new Date("2024-01-01T00:00:00.000Z"), + testRunIds: ["run-a", "run-b"], + }, + testRunInfo: { + errs: [], + warnings: [], + durationMs: 9, + browsers: [ + { testRunId: "run-a", prettyUserAgent: "Chrome 123 / Linux" }, + { testRunId: "run-b", prettyUserAgent: "Edge 123 / Linux" }, + ], + screenshots: [ + { + testRunId: "run-a", + screenshotPath: chromeScreenshotPath, + userAgent: "Shared Browser", + }, + { + testRunId: "run-b", + screenshotPath: edgeScreenshotPath, + userAgent: "Shared Browser", + }, + ], + }, + }); + + expect(tests).toHaveLength(2); + expect( + tests + .find(({ parameters }) => + parameters.some((parameter) => parameter.name === "Browser" && parameter.value === "Chrome 123 / Linux"), + ) + ?.attachments.filter(({ type }) => type === ContentType.PNG), + ).toEqual([expect.objectContaining({ name: "Screenshot 1 - Shared Browser" })]); + expect( + tests + .find(({ parameters }) => + parameters.some((parameter) => parameter.name === "Browser" && parameter.value === "Edge 123 / Linux"), + ) + ?.attachments.filter(({ type }) => type === ContentType.PNG), + ).toEqual([expect.objectContaining({ name: "Screenshot 1 - Shared Browser" })]); + } finally { + await rm(screenshotDir, { recursive: true, force: true }); + } +}); + +it("attaches screenshots to the matching action step when TestCafe provides actionId", async () => { + const screenshotDir = await createTempFixtureDir("manual-screenshot-step-attribution"); + const chromeScreenshotPath = join(screenshotDir, "chrome.png"); + const edgeScreenshotPath = join(screenshotDir, "edge.png"); + const pngBuffer = Buffer.from( + "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9s4m7xUAAAAASUVORK5CYII=", + "base64", + ); + + await writeFile(chromeScreenshotPath, pngBuffer); + await writeFile(edgeScreenshotPath, pngBuffer); + + try { + const { tests, attachments } = await runReporterLifecycle({ + testStartInfo: { + testId: "manual-id", + startTime: new Date("2024-01-01T00:00:00.000Z"), + testRunIds: ["run-a", "run-b"], + }, + actionEvents: [ + { + type: "start", + apiActionName: "takeScreenshot", + info: { + testRunId: "run-a", + test: { id: "manual-id", name: "manual test" }, + fixture: { id: "fixture-id", name: "Manual fixture" }, + command: { type: "takeScreenshot", actionId: "shot-a", path: "chrome.png" }, + }, + }, + { + type: "done", + apiActionName: "takeScreenshot", + info: { + testRunId: "run-a", + test: { id: "manual-id", name: "manual test" }, + fixture: { id: "fixture-id", name: "Manual fixture" }, + duration: 4, + command: { type: "takeScreenshot", actionId: "shot-a", path: "chrome.png" }, + }, + }, + { + type: "start", + apiActionName: "takeScreenshot", + info: { + testRunId: "run-b", + test: { id: "manual-id", name: "manual test" }, + fixture: { id: "fixture-id", name: "Manual fixture" }, + command: { type: "takeScreenshot", actionId: "shot-b", path: "edge.png" }, + }, + }, + { + type: "done", + apiActionName: "takeScreenshot", + info: { + testRunId: "run-b", + test: { id: "manual-id", name: "manual test" }, + fixture: { id: "fixture-id", name: "Manual fixture" }, + duration: 5, + command: { type: "takeScreenshot", actionId: "shot-b", path: "edge.png" }, + }, + }, + ], + testRunInfo: { + errs: [], + warnings: [], + durationMs: 9, + browsers: [ + { testRunId: "run-a", prettyUserAgent: "Chrome 123 / Linux" }, + { testRunId: "run-b", prettyUserAgent: "Edge 123 / Linux" }, + ], + screenshots: [ + { + testRunId: "run-a", + screenshotPath: chromeScreenshotPath, + actionId: "shot-a", + }, + { + testRunId: "run-b", + screenshotPath: edgeScreenshotPath, + actionId: "shot-b", + }, + ], + }, + }); + + const chromeResult = tests.find(({ parameters }) => + parameters.some((parameter) => parameter.name === "Browser" && parameter.value === "Chrome 123 / Linux"), + ); + const edgeResult = tests.find(({ parameters }) => + parameters.some((parameter) => parameter.name === "Browser" && parameter.value === "Edge 123 / Linux"), + ); + const chromeStepAttachment = chromeResult?.steps[0]?.attachments?.[0]; + const edgeStepAttachment = edgeResult?.steps[0]?.attachments?.[0]; + + expect(chromeResult?.attachments).not.toEqual( + expect.arrayContaining([expect.objectContaining({ type: ContentType.PNG })]), + ); + expect(edgeResult?.attachments).not.toEqual( + expect.arrayContaining([expect.objectContaining({ type: ContentType.PNG })]), + ); + expect(chromeStepAttachment).toEqual(expect.objectContaining({ name: "Screenshot 1", type: ContentType.PNG })); + expect(edgeStepAttachment).toEqual(expect.objectContaining({ name: "Screenshot 1", type: ContentType.PNG })); + expect(chromeStepAttachment?.source && attachments[chromeStepAttachment.source]).toEqual(pngBuffer); + expect(edgeStepAttachment?.source && attachments[edgeStepAttachment.source]).toEqual(pngBuffer); + } finally { + await rm(screenshotDir, { recursive: true, force: true }); + } +}); + +it("attributes multi-browser videos by video testRunId", async () => { + const videoDir = await createTempFixtureDir("manual-video-attribution"); + const chromeVideoPath = join(videoDir, "chrome.mp4"); + const edgeVideoPath = join(videoDir, "edge.mp4"); + const videoBuffer = Buffer.from("fake mp4 payload", "utf8"); + + await writeFile(chromeVideoPath, videoBuffer); + await writeFile(edgeVideoPath, videoBuffer); + + try { + const { tests, attachments } = await runReporterLifecycle({ + testStartInfo: { + testId: "manual-id", + startTime: new Date("2024-01-01T00:00:00.000Z"), + testRunIds: ["run-a", "run-b"], + }, + testRunInfo: { + errs: [], + warnings: [], + durationMs: 9, + browsers: [ + { testRunId: "run-a", prettyUserAgent: "Chrome 123 / Linux" }, + { testRunId: "run-b", prettyUserAgent: "Edge 123 / Linux" }, + ], + videos: [ + { + testRunId: "run-a", + videoPath: chromeVideoPath, + singleFile: false, + }, + { + testRunId: "run-b", + videoPath: edgeVideoPath, + singleFile: false, + }, + ], + }, + }); + + expect(tests).toHaveLength(2); + + const chromeResult = tests.find(({ parameters }) => + parameters.some((parameter) => parameter.name === "Browser" && parameter.value === "Chrome 123 / Linux"), + ); + const edgeResult = tests.find(({ parameters }) => + parameters.some((parameter) => parameter.name === "Browser" && parameter.value === "Edge 123 / Linux"), + ); + const chromeVideo = chromeResult?.attachments.find(({ type }) => type === ContentType.MP4); + const edgeVideo = edgeResult?.attachments.find(({ type }) => type === ContentType.MP4); + + expect(chromeVideo).toEqual(expect.objectContaining({ name: "Video 1", type: ContentType.MP4 })); + expect(edgeVideo).toEqual(expect.objectContaining({ name: "Video 1", type: ContentType.MP4 })); + expect(chromeVideo?.source && attachments[chromeVideo.source]).toEqual(videoBuffer); + expect(edgeVideo?.source && attachments[edgeVideo.source]).toEqual(videoBuffer); + } finally { + await rm(videoDir, { recursive: true, force: true }); + } +}); + +it("routes warnings to the matching browser run and action step", async () => { + const { tests, attachments } = await runReporterLifecycle({ + testStartInfo: { + testId: "manual-id", + startTime: new Date("2024-01-01T00:00:00.000Z"), + testRunIds: ["run-a", "run-b"], + }, + actionEvents: [ + { + type: "start", + apiActionName: "click", + info: { + testRunId: "run-b", + test: { id: "manual-id", name: "manual test" }, + fixture: { id: "fixture-id", name: "Manual fixture" }, + command: { type: "click", actionId: "click-b", selector: { expression: "#submit" } }, + }, + }, + { + type: "done", + apiActionName: "click", + info: { + testRunId: "run-b", + test: { id: "manual-id", name: "manual test" }, + fixture: { id: "fixture-id", name: "Manual fixture" }, + duration: 5, + command: { type: "click", actionId: "click-b", selector: { expression: "#submit" } }, + }, + }, + ], + warningEvents: [ + { message: "warn a", testRunId: "run-a" }, + { message: "warn b", testRunId: "run-b", actionId: "click-b" }, + ], + testRunInfo: { + errs: [], + warnings: ["warn a", "warn b"], + durationMs: 9, + browsers: [ + { testRunId: "run-a", prettyUserAgent: "Chrome 123 / Linux" }, + { testRunId: "run-b", prettyUserAgent: "Edge 123 / Linux" }, + ], + }, + }); + + const chromeResult = tests.find(({ parameters }) => + parameters.some((parameter) => parameter.name === "Browser" && parameter.value === "Chrome 123 / Linux"), + ); + const edgeResult = tests.find(({ parameters }) => + parameters.some((parameter) => parameter.name === "Browser" && parameter.value === "Edge 123 / Linux"), + ); + const chromeWarning = chromeResult?.attachments.find(({ name }) => name === "Warnings"); + const edgeStepWarning = edgeResult?.steps[0]?.attachments?.find(({ name }) => name === "Warnings"); + + expect(chromeWarning?.source && attachments[chromeWarning.source].toString("utf8")).toBe("warn a"); + expect(edgeStepWarning?.source && attachments[edgeStepWarning.source].toString("utf8")).toBe("warn b"); + expect(edgeResult?.attachments).not.toEqual(expect.arrayContaining([expect.objectContaining({ name: "Warnings" })])); +}); + +it("can disable automatic action steps without affecting the rest of the reporter", async () => { + const { tests } = await runReporterLifecycle({ + reporterConfig: { + captureActionsAsSteps: false, + }, + actionEvents: [ + { + type: "start", + apiActionName: "click", + info: { + testRunId: "run-1", + test: { id: "manual-id", name: "manual test" }, + fixture: { id: "fixture-id", name: "Manual fixture" }, + command: { type: "click", actionId: "click-1", selector: { expression: "#submit" } }, + }, + }, + { + type: "done", + apiActionName: "click", + info: { + testRunId: "run-1", + test: { id: "manual-id", name: "manual test" }, + fixture: { id: "fixture-id", name: "Manual fixture" }, + duration: 5, + command: { type: "click", actionId: "click-1", selector: { expression: "#submit" } }, + }, + }, + ], + }); + + expect(tests[0].steps).toHaveLength(0); +}); + +it("formats useRole steps and skips missing screenshot attachments", async () => { + const { tests } = await runReporterLifecycle({ + actionEvents: [ + { + type: "start", + apiActionName: "useRole", + info: { + testRunId: "run-1", + test: { id: "manual-id", name: "manual test" }, + fixture: { id: "fixture-id", name: "Manual fixture" }, + command: { + type: "useRole", + actionId: "role-1", + role: { + loginUrl: "https://example.test/login", + }, + }, + } as any, + }, + { + type: "done", + apiActionName: "useRole", + info: { + testRunId: "run-1", + test: { id: "manual-id", name: "manual test" }, + fixture: { id: "fixture-id", name: "Manual fixture" }, + duration: 4, + command: { + type: "useRole", + actionId: "role-1", + role: { + loginUrl: "https://example.test/login", + }, + }, + } as any, + }, + ], + testRunInfo: { + errs: [], + warnings: [], + durationMs: 9, + screenshots: [ + { + screenshotPath: join(PACKAGE_ROOT, "test", "fixtures", "missing.png"), + }, + ], + }, + }); + + expect(tests[0].steps).toEqual([ + expect.objectContaining({ + name: "useRole(https://example.test/login)", + status: Status.PASSED, + }), + ]); + expect(tests[0].attachments).not.toEqual( + expect.arrayContaining([expect.objectContaining({ type: ContentType.PNG })]), + ); +}); + +it("marks unfinished action steps as broken when the test ends mid-action", async () => { + const { tests } = await runReporterLifecycle({ + actionEvents: [ + { + type: "start", + apiActionName: "click", + info: { + testRunId: "run-1", + test: { id: "manual-id", name: "manual test" }, + fixture: { id: "fixture-id", name: "Manual fixture" }, + command: { type: "click", actionId: "click-1", selector: { expression: "#submit" } }, + }, + }, + ], + testRunInfo: { + errs: [{ message: "boom" }], + warnings: [], + durationMs: 9, + }, + }); + + expect(tests[0].steps).toEqual([ + expect.objectContaining({ + name: "click(#submit)", + status: Status.BROKEN, + statusDetails: expect.objectContaining({ + message: "Test finished before the TestCafe action step completed", + }), + }), + ]); +}); + +it("strips ANSI error text in status details", async () => { + const { tests, attachments } = await runReporterLifecycle({ + testRunInfo: { + errs: [ + { + message: "\u001B[31mboom\u001B[39m", + stack: "\u001B[31mstack boom\u001B[39m", + }, + ], + warnings: [], + durationMs: 9, + }, + }); + + expect(tests[0].statusDetails).toEqual( + expect.objectContaining({ + message: "boom", + trace: "stack boom", + }), + ); + expect( + Object.values(attachments) + .map((value) => value.toString("utf8")) + .join("\n"), + ).not.toContain("\u001B[31m"); +}); + +it("prefers the original error message and stack when TestCafe exposes originError", async () => { + const { tests, attachments } = await runReporterLifecycle({ + context: { + formatError() { + return "formatted testcafe block"; + }, + } as any, + testRunInfo: { + errs: [ + { + code: "E2", + errMsg: "Error: boom", + originError: { + message: "boom", + stack: "Error: boom\n at runtime.test.js:10:5", + }, + }, + ], + warnings: [], + durationMs: 9, + }, + }); + + expect(tests[0].statusDetails).toEqual( + expect.objectContaining({ + message: "Error: boom", + trace: "Error: boom\n at runtime.test.js:10:5", + }), + ); + expect(tests[0].statusDetails?.message).not.toBe(tests[0].statusDetails?.trace); + expect(Object.values(attachments).map((value) => value.toString("utf8"))).toContain("formatted testcafe block"); +}); + +it("falls back to stringified status details for non-Error throw shapes", async () => { + const { tests } = await runReporterLifecycle({ + testRunInfo: { + errs: ["plain failure"], + warnings: [], + durationMs: 9, + }, + }); + + expect(tests[0]).toEqual( + expect.objectContaining({ + status: Status.BROKEN, + statusDetails: expect.objectContaining({ + message: "plain failure", + trace: "plain failure", + }), + }), + ); +}); diff --git a/packages/testcafe-reporter-allure/test/spec/runtime.test.ts b/packages/testcafe-reporter-allure/test/spec/runtime.test.ts new file mode 100644 index 000000000..3defd848c --- /dev/null +++ b/packages/testcafe-reporter-allure/test/spec/runtime.test.ts @@ -0,0 +1,205 @@ +import { ContentType, LabelName, Status } from "allure-js-commons"; +import { expect, it } from "vitest"; + +import { check, runTestCafeInlineTest } from "../utils.js"; + +const PAGE_PATH = "/pages/runtime.html"; + +it("replays runtime API metadata, steps, and attachments", async () => { + const { tests, attachments } = await runTestCafeInlineTest({ + "pages/runtime.html": "

Runtime

", + "tests/runtime-artifacts/note.txt": "from path", + "tests/runtime.test.js": ` + const path = require("node:path"); + const { + attachment, + attachmentPath, + allureId, + description, + descriptionHtml, + displayName, + epic, + feature, + historyId, + issue, + logStep, + owner, + parameter, + severity, + step, + story, + tag, + tags, + testCaseId, + tms, + } = require("allure-js-commons"); + + fixture\`Runtime fixture\` + .page\`\${process.env.TESTCAFE_BASE_URL}${PAGE_PATH}\`; + + test("runtime api", async () => { + await description("runtime markdown"); + await descriptionHtml("runtime html"); + await displayName("Runtime display"); + await historyId("custom-history"); + await testCaseId("custom-case"); + await owner("alice"); + await severity("critical"); + await epic("Checkout"); + await feature("Cart"); + await story("Add item"); + await tag("ui"); + await tags("fast", "smoke"); + await allureId("777"); + await issue("https://issues.example/AUTH-10", "ISSUE-10"); + await tms("https://tms.example/TMS-20", "TMS-20"); + await parameter("browserName", "demo"); + + await step("Outer step", async (ctx) => { + await ctx.displayName("Renamed outer step"); + await ctx.parameter("login", "user", "masked"); + await ctx.parameter("tenant", "primary"); + await logStep("logged"); + await attachment("inline.txt", "hello", "text/plain"); + await attachmentPath( + "from-path.txt", + path.join(__dirname, "runtime-artifacts", "note.txt"), + "text/plain", + ); + }); + }); + `, + }); + + const [testResult] = tests; + const outerStep = testResult.steps[0]; + + await check("verifies logical test metadata from the runtime API", () => { + expect(tests).toHaveLength(1); + expect(testResult).toEqual( + expect.objectContaining({ + name: "Runtime display", + description: "runtime markdown", + descriptionHtml: "runtime html", + historyId: "custom-history", + testCaseId: "custom-case", + labels: expect.arrayContaining([ + { name: LabelName.OWNER, value: "alice" }, + { name: LabelName.SEVERITY, value: "critical" }, + { name: LabelName.EPIC, value: "Checkout" }, + { name: LabelName.FEATURE, value: "Cart" }, + { name: LabelName.STORY, value: "Add item" }, + { name: LabelName.TAG, value: "ui" }, + { name: LabelName.TAG, value: "fast" }, + { name: LabelName.TAG, value: "smoke" }, + { name: LabelName.ALLURE_ID, value: "777" }, + ]), + links: expect.arrayContaining([ + { type: "issue", url: "https://issues.example/AUTH-10", name: "ISSUE-10" }, + { type: "tms", url: "https://tms.example/TMS-20", name: "TMS-20" }, + ]), + parameters: expect.arrayContaining([{ name: "browserName", value: "demo" }]), + }), + ); + }); + + await check("verifies runtime steps, parameters, and inline attachments", () => { + expect(outerStep).toEqual( + expect.objectContaining({ + name: "Renamed outer step", + status: Status.PASSED, + parameters: expect.arrayContaining([ + { name: "login", value: "user", mode: "masked" }, + { name: "tenant", value: "primary", mode: undefined }, + ]), + steps: expect.arrayContaining([ + expect.objectContaining({ name: "logged", status: Status.PASSED }), + expect.objectContaining({ + name: "inline.txt", + attachments: [expect.objectContaining({ name: "inline.txt", type: ContentType.TEXT })], + }), + expect.objectContaining({ + name: "from-path.txt", + attachments: [expect.objectContaining({ name: "from-path.txt", type: ContentType.TEXT })], + }), + ]), + }), + ); + }); + + await check("verifies runtime attachment bytes are available", () => { + outerStep.steps + .flatMap((stepResult) => stepResult.attachments ?? []) + .forEach((attachment) => expect(attachments).toHaveProperty(attachment.source)); + }); +}); + +it("installs the global runtime during reporter init so allure-js-commons helpers work automatically", async () => { + const { tests, attachments } = await runTestCafeInlineTest( + { + "pages/runtime.html": ` + + + + + + + `, + "tests/runtime-auto.test.js": ` + const { attachment, owner, step } = require("allure-js-commons"); + const { Selector } = require("testcafe"); + + fixture\`Runtime fixture\` + .page\`\${process.env.TESTCAFE_BASE_URL}${PAGE_PATH}\`; + + test("global runtime api", async t => { + await owner("alice"); + + await step("Global step", async (ctx) => { + await ctx.parameter("tenant", "primary"); + await attachment("inline.txt", "hello", "text/plain"); + await t.typeText("#name", "demo-user"); + await t.click("#submit"); + }); + + await t.expect(Selector("#name").value).eql("demo-user"); + }); + `, + }, + { + createFixturePackageJson: false, + }, + ); + + const [testResult] = tests; + const outerStep = testResult.steps.find(({ name }) => name === "Global step"); + + await check("verifies the reporter-installed global runtime works without a helper wrapper", () => { + expect(tests).toHaveLength(1); + expect(testResult.labels).toEqual(expect.arrayContaining([{ name: LabelName.OWNER, value: "alice" }])); + expect(outerStep).toEqual( + expect.objectContaining({ + name: "Global step", + status: Status.PASSED, + parameters: expect.arrayContaining([{ name: "tenant", value: "primary", mode: undefined }]), + steps: expect.arrayContaining([ + expect.objectContaining({ name: "inline.txt" }), + expect.objectContaining({ name: "typeText(#name)", status: Status.PASSED }), + expect.objectContaining({ name: "click(#submit)", status: Status.PASSED }), + ]), + }), + ); + expect(testResult.steps).not.toEqual( + expect.arrayContaining([expect.objectContaining({ name: expect.stringMatching(/^report\b/) })]), + ); + expect(testResult.steps).toEqual( + expect.arrayContaining([expect.objectContaining({ name: expect.stringMatching(/\.eql\("demo-user"\)$/) })]), + ); + }); + + await check("verifies attachment bytes stay linked when the global runtime is installed by the reporter", () => { + outerStep?.steps + .flatMap((stepResult) => stepResult.attachments ?? []) + .forEach((attachment) => expect(attachments).toHaveProperty(attachment.source)); + }); +}); diff --git a/packages/testcafe-reporter-allure/test/spec/testplan-cwd.test.ts b/packages/testcafe-reporter-allure/test/spec/testplan-cwd.test.ts new file mode 100644 index 000000000..bdb39e6c1 --- /dev/null +++ b/packages/testcafe-reporter-allure/test/spec/testplan-cwd.test.ts @@ -0,0 +1,52 @@ +import { expect, it } from "vitest"; + +import { check, runTestCafeInlineTest } from "../utils.js"; + +const PAGE_PATH = "/pages/testplan.html"; + +it("resolves relative testplan paths from a nested project cwd and deselects before execution", async () => { + const { tests } = await runTestCafeInlineTest( + { + "workspace/pages/testplan.html": "

Nested Test plan

", + "workspace/plans/plan.json": JSON.stringify({ + version: "1.0", + tests: [ + { selector: "__TESTCAFE_SELECTOR__(workspace/tests/nested.test.js|Plan fixture|selected nested)" }, + { selector: "__TESTCAFE_PACKAGE_SELECTOR__(workspace/tests/nested.test.js|Plan fixture|selected nested)" }, + ], + }), + "workspace/tests/nested.test.js": ` + const fs = require("node:fs"); + const path = require("node:path"); + + fixture\`Plan fixture\` + .page\`\${process.env.TESTCAFE_BASE_URL}/workspace${PAGE_PATH}\`; + + test("selected nested", async t => { + await t.expect(1).eql(1); + }); + + test("must stay deselected", async () => { + fs.writeFileSync(path.join(process.cwd(), "unexpected-run.txt"), "ran", "utf8"); + throw new Error("deselected test executed"); + }); + `, + }, + { + env: { + ALLURE_TESTPLAN_PATH: "plans/plan.json", + }, + projectCwdRelative: "workspace", + useTestPlanFilter: true, + }, + ); + + await check("verifies nested project CWD resolution and pre-execution deselection", () => { + expect(tests).toEqual([ + expect.objectContaining({ + name: "selected nested", + fullName: expect.stringMatching(/tests\/nested\.test\.js#Plan fixture#selected nested$/), + }), + ]); + }); +}); diff --git a/packages/testcafe-reporter-allure/test/spec/testplan.test.ts b/packages/testcafe-reporter-allure/test/spec/testplan.test.ts new file mode 100644 index 000000000..f57a85e65 --- /dev/null +++ b/packages/testcafe-reporter-allure/test/spec/testplan.test.ts @@ -0,0 +1,127 @@ +import { expect, it } from "vitest"; + +import { check, runTestCafeInlineTest } from "../utils.js"; + +const PAGE_PATH = "/pages/testplan.html"; + +it("filters tests by selector", async () => { + const { tests } = await runTestCafeInlineTest( + { + "pages/testplan.html": "

Test plan

", + "plan.json": JSON.stringify({ + version: "1.0", + tests: [ + { selector: "__TESTCAFE_SELECTOR__(tests/selector.test.js|Plan fixture|selected)" }, + { selector: "__TESTCAFE_PACKAGE_SELECTOR__(tests/selector.test.js|Plan fixture|selected)" }, + ], + }), + "tests/selector.test.js": ` + fixture\`Plan fixture\` + .page\`\${process.env.TESTCAFE_BASE_URL}${PAGE_PATH}\`; + + test("selected", async t => { + await t.expect(1).eql(1); + }); + + test("ignored", async t => { + await t.expect(1).eql(1); + }); + `, + }, + { + env: { + ALLURE_TESTPLAN_PATH: "plan.json", + }, + useTestPlanFilter: true, + }, + ); + + await check("verifies selector-based testplan filtering keeps only the selected test", () => { + expect(tests).toEqual([ + expect.objectContaining({ + name: "selected", + fullName: expect.stringMatching(/tests\/selector\.test\.js#Plan fixture#selected$/), + }), + ]); + }); +}); + +it("filters tests by allure id from test metadata", async () => { + const { tests } = await runTestCafeInlineTest( + { + "pages/testplan.html": "

Test plan

", + "plan.json": JSON.stringify({ + version: "1.0", + tests: [{ id: "42" }], + }), + "tests/meta-id.test.js": ` + fixture\`Plan fixture\` + .page\`\${process.env.TESTCAFE_BASE_URL}${PAGE_PATH}\`; + + test("selected by meta", async t => { + await t.expect(1).eql(1); + }).meta({ + "allure.id": "42", + }); + + test("ignored by meta", async t => { + await t.expect(1).eql(1); + }).meta({ + "allure.id": "24", + }); + `, + }, + { + env: { + ALLURE_TESTPLAN_PATH: "plan.json", + }, + useTestPlanFilter: true, + }, + ); + + await check("verifies testplan filtering by allure id from metadata", () => { + expect(tests).toEqual([ + expect.objectContaining({ + name: "selected by meta", + }), + ]); + }); +}); + +it("filters tests by allure id from title annotations", async () => { + const { tests } = await runTestCafeInlineTest( + { + "pages/testplan.html": "

Test plan

", + "plan.json": JSON.stringify({ + version: "1.0", + tests: [{ id: "43" }], + }), + "tests/title-id.test.js": ` + fixture\`Plan fixture\` + .page\`\${process.env.TESTCAFE_BASE_URL}${PAGE_PATH}\`; + + test("selected @allure.id=43", async t => { + await t.expect(1).eql(1); + }); + + test("ignored @allure.id=44", async t => { + await t.expect(1).eql(1); + }); + `, + }, + { + env: { + ALLURE_TESTPLAN_PATH: "plan.json", + }, + useTestPlanFilter: true, + }, + ); + + await check("verifies testplan filtering by allure id from title annotations", () => { + expect(tests).toEqual([ + expect.objectContaining({ + name: "selected", + }), + ]); + }); +}); diff --git a/packages/testcafe-reporter-allure/test/tsconfig.json b/packages/testcafe-reporter-allure/test/tsconfig.json new file mode 100644 index 000000000..bb89fdb84 --- /dev/null +++ b/packages/testcafe-reporter-allure/test/tsconfig.json @@ -0,0 +1,8 @@ +{ + "extends": "../tsconfig.json", + "include": ["./**/*"], + "compilerOptions": { + "noEmit": true, + "emitDeclarationOnly": false + } +} diff --git a/packages/testcafe-reporter-allure/test/utils.ts b/packages/testcafe-reporter-allure/test/utils.ts new file mode 100644 index 000000000..df0487b16 --- /dev/null +++ b/packages/testcafe-reporter-allure/test/utils.ts @@ -0,0 +1,520 @@ +import { mkdir, mkdtemp, readFile, readdir, rm, stat, writeFile } from "node:fs/promises"; +import { createServer } from "node:http"; +import { tmpdir } from "node:os"; +import { dirname, extname, isAbsolute, join, relative, resolve } from "node:path"; +import process from "node:process"; + +import type { TestResult, TestResultContainer } from "allure-js-commons"; +import { ContentType, attachment, step } from "allure-js-commons"; +import type { AllureResults } from "allure-js-commons/sdk"; +import { parseEnvInfo } from "allure-js-commons/sdk/reporter"; +import createTestCafe from "testcafe"; + +import createAllureTestCafeReporter from "../src/index.js"; +import type { AllureTestCafeReporterConfig } from "../src/model.js"; +import { createAllureTestPlanFilter } from "../src/testplan.js"; + +type TestCafeTestFiles = Record; +type TestCafeBrowserOption = + | string + | string[] + | { + path: string; + cmd?: string; + }; + +type TestCafeRunOptions = { + env?: Record; + resultsDir?: string; + createFixturePackageJson?: boolean; + useTestPlanFilter?: boolean; + browser?: TestCafeBrowserOption; + concurrency?: number; + testDirName?: string; + screenshots?: + | boolean + | { + path?: string; + takeOnFails?: boolean; + pathPattern?: string; + pathPatternOnFails?: string; + fullPage?: boolean; + thumbnails?: boolean; + }; + video?: + | boolean + | { + path?: string; + singleFile?: boolean; + failedOnly?: boolean; + pathPattern?: string; + ffmpegPath?: string; + encodingOptions?: Record; + }; + runOptions?: Record; + projectCwd?: string; + projectCwdRelative?: string; + reporterConfig?: Omit; +}; + +type AllureResultsWithTimestamps = AllureResults & { + timestamps: Map; +}; + +const ALLURE_TEST_RUNTIME_KEY = "allureTestRuntime"; +const DEFAULT_BROWSER_CMD = process.platform === "linux" ? "--headless --guest --no-sandbox" : "--headless --guest"; +const DEFAULT_BROWSER = (() => { + if (process.env.TESTCAFE_BROWSER) { + return process.env.TESTCAFE_BROWSER; + } + + if (process.env.PW_CHROMIUM_PATH) { + return { + path: process.env.PW_CHROMIUM_PATH, + cmd: DEFAULT_BROWSER_CMD, + } satisfies TestCafeBrowserOption; + } + + return process.platform === "linux" ? "chromium:headless --guest --no-sandbox" : "chromium:headless --guest"; +})(); + +const CONTENT_TYPE_BY_EXTENSION: Record = { + ".html": "text/html; charset=utf-8", + ".js": "text/javascript; charset=utf-8", + ".json": "application/json; charset=utf-8", + ".md": "text/markdown; charset=utf-8", + ".mp4": "video/mp4", + ".png": "image/png", + ".properties": "text/plain; charset=utf-8", + ".svg": "image/svg+xml", + ".txt": "text/plain; charset=utf-8", + ".webm": "video/webm", +}; + +export const PACKAGE_ROOT = join(__dirname, ".."); +const TESTCAFE_TEMP_ROOT = join(tmpdir(), "allure-js-testcafe-reporter-allure"); +const TESTCAFE_SELECTOR_PLACEHOLDER = /__TESTCAFE_SELECTOR__\(([^|]+)\|([^|]+)\|([^)]*)\)/g; +const TESTCAFE_PACKAGE_SELECTOR_PLACEHOLDER = /__TESTCAFE_PACKAGE_SELECTOR__\(([^|]+)\|([^|]+)\|([^)]*)\)/g; + +const isPathInside = (rootPath: string, targetPath: string) => { + const relativePath = relative(rootPath, targetPath); + + return relativePath === "" || (!relativePath.startsWith("..") && !isAbsolute(relativePath)); +}; + +export const createTempFixtureDir = async (testDirName?: string) => { + await mkdir(TESTCAFE_TEMP_ROOT, { recursive: true }); + + if (testDirName) { + const fixtureDir = join(TESTCAFE_TEMP_ROOT, testDirName); + + await rm(fixtureDir, { recursive: true, force: true }); + await mkdir(fixtureDir, { recursive: true }); + + return fixtureDir; + } + + return await mkdtemp(join(TESTCAFE_TEMP_ROOT, "fixture-")); +}; + +const createEmptyResults = (): AllureResultsWithTimestamps => ({ + tests: [], + groups: [], + attachments: {}, + globals: {}, + categories: [], + envInfo: undefined, + timestamps: new Map(), +}); + +const restoreAllureTestRuntime = (runtime: unknown) => { + if (runtime === undefined) { + delete (globalThis as Record)[ALLURE_TEST_RUNTIME_KEY]; + return; + } + + (globalThis as Record)[ALLURE_TEST_RUNTIME_KEY] = runtime; +}; + +const getAttachmentOptions = (filename: string) => { + const fileExtension = extname(filename).toLowerCase(); + const contentType = CONTENT_TYPE_BY_EXTENSION[fileExtension] ?? "application/octet-stream"; + + return { + contentType, + fileExtension: fileExtension || ".bin", + }; +}; + +const escapeForRegExp = (value: string) => value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); + +const rewritePackageReference = (content: string, packageName: string, replacement: string) => { + const escapedPackageName = escapeForRegExp(packageName); + + return content + .replace(new RegExp(`require\\("${escapedPackageName}"\\)`, "g"), `require(${JSON.stringify(replacement)})`) + .replace(new RegExp(`require\\('${escapedPackageName}'\\)`, "g"), `require(${JSON.stringify(replacement)})`) + .replace(new RegExp(`from "${escapedPackageName}"`, "g"), `from ${JSON.stringify(replacement)}`) + .replace(new RegExp(`from '${escapedPackageName}'`, "g"), `from ${JSON.stringify(replacement)}`); +}; + +const rewriteInlineFixtureSource = (content: string, fromDir: string) => { + const allureCommonsPath = getPackageRequirePath("allure-js-commons", fromDir); + + return rewritePackageReference(content, "allure-js-commons", allureCommonsPath); +}; + +const replaceInlineSelectorPlaceholders = (content: string, testDir: string, pathRoot: string) => { + return content.replace(TESTCAFE_SELECTOR_PLACEHOLDER, (_match, fixtureFile, fixtureName, testName) => { + const relativeFixturePath = relative(pathRoot, join(testDir, fixtureFile.trim())).replaceAll("\\", "/"); + + return [relativeFixturePath, fixtureName.trim(), testName.trim()].filter(Boolean).join("#"); + }); +}; + +const replaceInlinePackageSelectorPlaceholders = (content: string, testDir: string, pathRoot: string) => { + return content.replace(TESTCAFE_PACKAGE_SELECTOR_PLACEHOLDER, (_match, fixtureFile, fixtureName, testName) => { + const relativeFixturePath = relative(pathRoot, join(testDir, fixtureFile.trim())).replaceAll("\\", "/"); + + return [relativeFixturePath, fixtureName.trim(), testName.trim()].filter(Boolean).join("#"); + }); +}; + +const withEnv = async (env: Record, body: () => Promise) => { + const previous = new Map(); + + Object.entries(env).forEach(([name, value]) => { + previous.set(name, process.env[name]); + + if (value === undefined) { + delete process.env[name]; + return; + } + + process.env[name] = value; + }); + + try { + await body(); + } finally { + previous.forEach((value, name) => { + if (value === undefined) { + delete process.env[name]; + return; + } + + process.env[name] = value; + }); + } +}; + +const startStaticServer = async (rootDir: string) => { + const resolvedRoot = resolve(rootDir); + const server = createServer(async (req, res) => { + try { + const requestUrl = new URL(req.url ?? "/", "http://127.0.0.1"); + const pathname = decodeURIComponent(requestUrl.pathname === "/" ? "/index.html" : requestUrl.pathname); + const filePath = resolve(resolvedRoot, `.${pathname}`); + const relativePath = relative(resolvedRoot, filePath); + + if (relativePath.startsWith("..") || isAbsolute(relativePath)) { + res.statusCode = 403; + res.end("Forbidden"); + return; + } + + const fileContent = await readFile(filePath); + + res.setHeader("Content-Type", CONTENT_TYPE_BY_EXTENSION[extname(filePath)] ?? "application/octet-stream"); + res.end(fileContent); + } catch { + res.statusCode = 404; + res.end("Not found"); + } + }); + + await new Promise((resolvePromise, rejectPromise) => { + server.once("error", rejectPromise); + server.listen(0, "127.0.0.1", () => { + server.off("error", rejectPromise); + resolvePromise(); + }); + }); + + const address = server.address(); + + if (!address || typeof address === "string") { + throw new Error("Failed to resolve the local TestCafe fixture server address"); + } + + return { + baseUrl: `http://127.0.0.1:${address.port}`, + close: async () => { + await new Promise((resolvePromise, rejectPromise) => { + server.close((error) => { + if (error) { + rejectPromise(error); + return; + } + + resolvePromise(); + }); + }); + }, + }; +}; + +export const readAllureResultsDir = async (resultsDir: string): Promise => { + const result = createEmptyResults(); + const filesInResultsDir = (await readdir(resultsDir).catch(() => [] as string[])).sort((left, right) => + left.localeCompare(right), + ); + + for (const resultFile of filesInResultsDir) { + const fullPath = join(resultsDir, resultFile); + + if (resultFile === "categories.json") { + const categories = JSON.parse(await readFile(fullPath, "utf8")); + result.categories = categories; + await attachment(resultFile, JSON.stringify(categories, null, 2), ContentType.JSON); + continue; + } + + if (resultFile === "environment.properties") { + const content = await readFile(fullPath, "utf8"); + result.envInfo = parseEnvInfo(content); + await attachment(resultFile, content, ContentType.TEXT); + continue; + } + + if (/-attachment\.\S+$/.test(resultFile)) { + const fileBuffer = await readFile(fullPath); + result.attachments[resultFile] = fileBuffer; + await attachment(resultFile, fileBuffer, getAttachmentOptions(resultFile)); + continue; + } + + if (/-container\.json$/.test(resultFile)) { + const container = JSON.parse(await readFile(fullPath, "utf8")) as TestResultContainer; + result.groups.push(container); + await attachment(resultFile, JSON.stringify(container, null, 2), ContentType.JSON); + continue; + } + + if (/-globals\.json$/.test(resultFile)) { + const globals = JSON.parse(await readFile(fullPath, "utf8")); + result.globals ??= {}; + result.globals[resultFile] = globals; + await attachment(resultFile, JSON.stringify(globals, null, 2), ContentType.JSON); + continue; + } + + if (/-result\.json$/.test(resultFile)) { + const testResult = JSON.parse(await readFile(fullPath, "utf8")) as TestResult; + result.tests.push(testResult); + result.timestamps.set(testResult.uuid, (await stat(fullPath)).ctime); + await attachment(resultFile, JSON.stringify(testResult, null, 2), ContentType.JSON); + } + } + + return result; +}; + +export const runTestCafeInlineTest = async ( + files: TestCafeTestFiles, + { + env = {}, + resultsDir = "allure-results", + createFixturePackageJson = true, + useTestPlanFilter = false, + browser = DEFAULT_BROWSER, + concurrency, + testDirName, + screenshots = false, + video = false, + runOptions = { disableNativeAutomation: true }, + projectCwd, + projectCwdRelative, + reporterConfig = {}, + }: TestCafeRunOptions = {}, +): Promise => { + const testDir = await createTempFixtureDir(testDirName); + const executionCwd = projectCwd ?? (projectCwdRelative ? join(testDir, projectCwdRelative) : testDir); + const resolvedResultsDir = isAbsolute(resultsDir) ? resultsDir : join(executionCwd, resultsDir); + const packageJsonPath = join(executionCwd, "package.json"); + const shouldCreateFixturePackageJson = createFixturePackageJson && isPathInside(testDir, packageJsonPath); + const previousAllureRuntime = (globalThis as Record)[ALLURE_TEST_RUNTIME_KEY]; + const oldCwd = process.cwd(); + let staticServer: Awaited> | undefined; + + try { + await step(`prepare test dir ${testDir}`, async () => { + await mkdir(testDir, { recursive: true }); + await mkdir(executionCwd, { recursive: true }); + + if (shouldCreateFixturePackageJson) { + await writeFile(packageJsonPath, JSON.stringify({ name: "testcafe-fixture" }, null, 2), "utf8"); + await attachment("package.json", await readFile(packageJsonPath, "utf8"), ContentType.JSON); + } + }); + + await step("write inline fixture files", async (ctx) => { + await ctx.parameter("Files", String(Object.keys(files).length)); + + for (const [filename, originalContent] of Object.entries(files)) { + const filepath = join(testDir, filename); + const contentWithResolvedSelectors = replaceInlinePackageSelectorPlaceholders( + replaceInlineSelectorPlaceholders(originalContent, testDir, executionCwd), + testDir, + oldCwd, + ); + const content = /\.(?:[cm]?[jt]s|tsx?)$/.test(filename) + ? rewriteInlineFixtureSource(contentWithResolvedSelectors, dirname(filepath)) + : contentWithResolvedSelectors; + + await mkdir(dirname(filepath), { recursive: true }); + await writeFile(filepath, content, "utf8"); + await attachment(filename, content, CONTENT_TYPE_BY_EXTENSION[extname(filename)] ?? ContentType.TEXT); + } + }); + + const testFiles = Object.keys(files) + .filter((filename) => /\.(?:[cm]?js|ts)$/.test(filename)) + .map((filename) => join(testDir, filename)); + + staticServer = await startStaticServer(testDir); + await rm(resolvedResultsDir, { recursive: true, force: true }); + + await withEnv({ ...env, TESTCAFE_BASE_URL: staticServer.baseUrl }, async () => { + process.chdir(executionCwd); + + const testcafe = await createTestCafe("127.0.0.1"); + + try { + const runner = testcafe.createRunner(); + + runner.src(testFiles).browsers(browser); + if (typeof concurrency === "number" && concurrency > 1) { + runner.concurrency(concurrency); + } + + if (screenshots) { + const screenshotOptions = + typeof screenshots === "object" + ? screenshots + : { + takeOnFails: true, + thumbnails: false, + }; + + runner.screenshots({ + path: screenshotOptions.path ?? join(testDir, "screenshots"), + takeOnFails: screenshotOptions.takeOnFails ?? true, + pathPattern: screenshotOptions.pathPattern, + pathPatternOnFails: screenshotOptions.pathPatternOnFails, + fullPage: screenshotOptions.fullPage ?? false, + thumbnails: screenshotOptions.thumbnails ?? false, + }); + } + + if (video) { + const videoOptions = + typeof video === "object" + ? video + : { + singleFile: false, + failedOnly: false, + }; + + runner.video( + videoOptions.path ?? join(testDir, "videos"), + { + singleFile: videoOptions.singleFile ?? false, + failedOnly: videoOptions.failedOnly ?? false, + pathPattern: videoOptions.pathPattern, + ffmpegPath: videoOptions.ffmpegPath, + }, + videoOptions.encodingOptions, + ); + } + + runner.reporter( + createAllureTestCafeReporter({ + ...reporterConfig, + resultsDir: resolvedResultsDir, + }), + ); + + if (useTestPlanFilter) { + const filter = createAllureTestPlanFilter({ cwd: executionCwd }); + if (filter) { + runner.filter(filter); + } + } + + await step("run testcafe", async (ctx) => { + await ctx.parameter("Browser", JSON.stringify(browser)); + if (typeof concurrency === "number") { + await ctx.parameter("Concurrency", String(concurrency)); + } + await ctx.parameter("CWD", executionCwd); + if (Object.keys(env).length > 0) { + await attachment("Extra environment variables", JSON.stringify(env), ContentType.JSON); + } + + const failed = await runner.run({ + skipJsErrors: true, + ...runOptions, + }); + + await ctx.parameter("Failed tests", String(failed)); + }); + } finally { + await testcafe.close(); + } + }); + + restoreAllureTestRuntime(previousAllureRuntime); + + return await step("collect generated allure results", async (ctx) => { + const resultFiles = (await readdir(resolvedResultsDir).catch(() => [] as string[])).sort((left, right) => + left.localeCompare(right), + ); + + await ctx.parameter("Result files", String(resultFiles.length)); + await attachment("allure-results-files.json", JSON.stringify(resultFiles, null, 2), ContentType.JSON); + + const results = await step("parse allure results", async () => await readAllureResultsDir(resolvedResultsDir)); + + await ctx.parameter("Logical tests", String(results.tests.length)); + await ctx.parameter("Containers", String(results.groups.length)); + + return results; + }); + } finally { + restoreAllureTestRuntime(previousAllureRuntime); + process.chdir(oldCwd); + + if (staticServer) { + try { + await staticServer.close(); + } catch { + // Best effort cleanup for test harness resources. + } + } + + await rm(resolvedResultsDir, { recursive: true, force: true }); + await rm(testDir, { recursive: true, force: true }); + } +}; + +export const getPackageRequirePath = (request: string, fromDir: string) => { + const resolvedPath = isAbsolute(request) ? request : require.resolve(request); + const relativePath = relative(fromDir, resolvedPath).replaceAll("\\", "/"); + + return relativePath.startsWith(".") ? relativePath : `./${relativePath}`; +}; + +export const check = async (name: string, body: () => T | Promise) => { + return await step(name, async () => await body()); +}; diff --git a/packages/testcafe-reporter-allure/tsconfig.json b/packages/testcafe-reporter-allure/tsconfig.json new file mode 100644 index 000000000..0a4493704 --- /dev/null +++ b/packages/testcafe-reporter-allure/tsconfig.json @@ -0,0 +1,15 @@ +{ + "extends": "../../tsconfig.json", + "include": ["./src/**/*"], + "compilerOptions": { + "declaration": true, + "emitDeclarationOnly": true, + "module": "ES2022", + "rootDir": "./src", + "target": "ES2022", + "moduleResolution": "bundler", + "lib": ["dom", "esnext"], + "types": ["node"], + "outDir": "./dist/types" + } +} diff --git a/packages/testcafe-reporter-allure/vitest-setup.ts b/packages/testcafe-reporter-allure/vitest-setup.ts new file mode 100644 index 000000000..ee79d2081 --- /dev/null +++ b/packages/testcafe-reporter-allure/vitest-setup.ts @@ -0,0 +1,19 @@ +import "allure-vitest/setup"; +import { afterEach, beforeEach } from "vitest"; + +const ALLURE_TEST_RUNTIME_KEY = "allureTestRuntime"; + +let previousRuntime: unknown; + +beforeEach(() => { + previousRuntime = (globalThis as Record)[ALLURE_TEST_RUNTIME_KEY]; +}); + +afterEach(() => { + if (previousRuntime === undefined) { + delete (globalThis as Record)[ALLURE_TEST_RUNTIME_KEY]; + return; + } + + (globalThis as Record)[ALLURE_TEST_RUNTIME_KEY] = previousRuntime; +}); diff --git a/packages/testcafe-reporter-allure/vitest.config.mts b/packages/testcafe-reporter-allure/vitest.config.mts new file mode 100644 index 000000000..1a14541fd --- /dev/null +++ b/packages/testcafe-reporter-allure/vitest.config.mts @@ -0,0 +1,16 @@ +import { defineConfig } from "vitest/config"; + +export default defineConfig({ + test: { + dir: "./test/spec", + fileParallelism: false, + testTimeout: 90000, + hookTimeout: 90000, + setupFiles: ["./vitest-setup.ts"], + reporters: ["default", ["allure-vitest/reporter", { resultsDir: "./out/allure-results" }]], + typecheck: { + enabled: true, + tsconfig: "./test/tsconfig.json", + }, + }, +}); diff --git a/scripts/ci/install-playwright-chromium.mjs b/scripts/ci/install-playwright-chromium.mjs new file mode 100644 index 000000000..87676aa39 --- /dev/null +++ b/scripts/ci/install-playwright-chromium.mjs @@ -0,0 +1,54 @@ +import { spawnSync } from "node:child_process"; +import { appendFileSync } from "node:fs"; +import os from "node:os"; +import process from "node:process"; + +const YARN_BIN = process.platform === "win32" ? "yarn.cmd" : "yarn"; +const flags = process.argv.slice(2); +const installArgs = ["workspace", "allure-playwright", "playwright", "install", "chromium"]; + +if (flags.includes("--with-deps")) { + installArgs.push("--with-deps"); +} + +const runYarn = (args, options = {}) => { + const result = spawnSync(YARN_BIN, args, { + stdio: options.captureOutput ? ["ignore", "pipe", "inherit"] : "inherit", + encoding: "utf8", + env: process.env, + }); + + if (result.error) { + throw result.error; + } + + if (result.status !== 0) { + throw new Error(`Command failed: yarn ${args.join(" ")}`); + } + + return result.stdout?.trim() ?? ""; +}; + +runYarn(installArgs); + +const executablePath = runYarn( + [ + "workspace", + "allure-playwright", + "exec", + "node", + "-e", + 'const { chromium } = require("@playwright/test"); process.stdout.write(chromium.executablePath());', + ], + { captureOutput: true }, +); + +if (!executablePath) { + throw new Error("Failed to resolve Chromium executable path."); +} + +if (process.env.GITHUB_OUTPUT) { + appendFileSync(process.env.GITHUB_OUTPUT, `path=${executablePath}${os.EOL}`, "utf8"); +} + +console.log(`Playwright Chromium path: ${executablePath}`); diff --git a/scripts/ci/run-suite.mjs b/scripts/ci/run-suite.mjs index 870d86d2e..58dd26b9e 100644 --- a/scripts/ci/run-suite.mjs +++ b/scripts/ci/run-suite.mjs @@ -67,6 +67,7 @@ const suites = new Map([ "allure-cucumberjs", "allure-codeceptjs", "newman-reporter-allure", + "testcafe-reporter-allure", ], testCommands: [ createWorkspaceScriptCommand("allure-js-commons", "test"), @@ -79,6 +80,7 @@ const suites = new Map([ createWorkspaceScriptCommand("allure-jest", "test"), createWorkspaceScriptCommand("allure-codeceptjs", "test"), createWorkspaceScriptCommand("newman-reporter-allure", "test"), + createWorkspaceScriptCommand("testcafe-reporter-allure", "test"), ], }, ], diff --git a/yarn.lock b/yarn.lock index 6a0bd388d..e5ee719e5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5,6 +5,13 @@ __metadata: version: 8 cacheKey: 10 +"@adobe/css-tools@npm:^4.3.0-rc.1": + version: 4.4.4 + resolution: "@adobe/css-tools@npm:4.4.4" + checksum: 10/0abd4715737877e5aa5d730d6ec2cffae2131102ddc8310ac5ba3f457ffb2ef453324dbb5b927e3cbc3f81bdd29ce485754014c6e64f4577a49540c76e26ac6b + languageName: node + linkType: hard + "@allurereport/aql@npm:3.8.2": version: 3.8.2 resolution: "@allurereport/aql@npm:3.8.2" @@ -506,7 +513,7 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.28.6": +"@babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.28.6, @babel/code-frame@npm:^7.29.0": version: 7.29.0 resolution: "@babel/code-frame@npm:7.29.0" dependencies: @@ -584,6 +591,13 @@ __metadata: languageName: node linkType: hard +"@babel/compat-data@npm:^7.28.6, @babel/compat-data@npm:^7.29.3": + version: 7.29.3 + resolution: "@babel/compat-data@npm:7.29.3" + checksum: 10/3c29661756a7c1cbc5248a7bdc657c0cb49f350e3157040c20486759f1f50a08a0b385fd7d813df50b96cd6fad5896d30ba6abab7602641bd1410ed346c1812f + languageName: node + linkType: hard + "@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.23.9": version: 7.23.9 resolution: "@babel/core@npm:7.23.9" @@ -630,6 +644,29 @@ __metadata: languageName: node linkType: hard +"@babel/core@npm:^7.23.2": + version: 7.29.0 + resolution: "@babel/core@npm:7.29.0" + dependencies: + "@babel/code-frame": "npm:^7.29.0" + "@babel/generator": "npm:^7.29.0" + "@babel/helper-compilation-targets": "npm:^7.28.6" + "@babel/helper-module-transforms": "npm:^7.28.6" + "@babel/helpers": "npm:^7.28.6" + "@babel/parser": "npm:^7.29.0" + "@babel/template": "npm:^7.28.6" + "@babel/traverse": "npm:^7.29.0" + "@babel/types": "npm:^7.29.0" + "@jridgewell/remapping": "npm:^2.3.5" + convert-source-map: "npm:^2.0.0" + debug: "npm:^4.1.0" + gensync: "npm:^1.0.0-beta.2" + json5: "npm:^2.2.3" + semver: "npm:^6.3.1" + checksum: 10/25f4e91688cdfbaf1365831f4f245b436cdaabe63d59389b75752013b8d61819ee4257101b52fc328b0546159fd7d0e74457ed7cf12c365fea54be4fb0a40229 + languageName: node + linkType: hard + "@babel/core@npm:^7.27.4": version: 7.27.4 resolution: "@babel/core@npm:7.27.4" @@ -727,6 +764,19 @@ __metadata: languageName: node linkType: hard +"@babel/generator@npm:^7.29.0": + version: 7.29.1 + resolution: "@babel/generator@npm:7.29.1" + dependencies: + "@babel/parser": "npm:^7.29.0" + "@babel/types": "npm:^7.29.0" + "@jridgewell/gen-mapping": "npm:^0.3.12" + "@jridgewell/trace-mapping": "npm:^0.3.28" + jsesc: "npm:^3.0.2" + checksum: 10/61fe4ddd6e817aa312a14963ccdbb5c9a8c57e8b97b98d19a8a99ccab2215fda1a5f52bc8dd8d2e3c064497ddeb3ab8ceb55c76fa0f58f8169c34679d2256fe0 + languageName: node + linkType: hard + "@babel/helper-annotate-as-pure@npm:^7.24.6": version: 7.24.6 resolution: "@babel/helper-annotate-as-pure@npm:7.24.6" @@ -806,6 +856,19 @@ __metadata: languageName: node linkType: hard +"@babel/helper-compilation-targets@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/helper-compilation-targets@npm:7.28.6" + dependencies: + "@babel/compat-data": "npm:^7.28.6" + "@babel/helper-validator-option": "npm:^7.27.1" + browserslist: "npm:^4.24.0" + lru-cache: "npm:^5.1.1" + semver: "npm:^6.3.1" + checksum: 10/f512a5aeee4dfc6ea8807f521d085fdca8d66a7d068a6dd5e5b37da10a6081d648c0bbf66791a081e4e8e6556758da44831b331540965dfbf4f5275f3d0a8788 + languageName: node + linkType: hard + "@babel/helper-create-class-features-plugin@npm:^7.18.6, @babel/helper-create-class-features-plugin@npm:^7.25.9": version: 7.25.9 resolution: "@babel/helper-create-class-features-plugin@npm:7.25.9" @@ -840,6 +903,23 @@ __metadata: languageName: node linkType: hard +"@babel/helper-create-class-features-plugin@npm:^7.28.6": + version: 7.29.3 + resolution: "@babel/helper-create-class-features-plugin@npm:7.29.3" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.27.3" + "@babel/helper-member-expression-to-functions": "npm:^7.28.5" + "@babel/helper-optimise-call-expression": "npm:^7.27.1" + "@babel/helper-replace-supers": "npm:^7.28.6" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" + "@babel/traverse": "npm:^7.29.0" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/3f72aaa26d2207bb87cbd340e1b52f45c5272008651517918192a6bd4ebafb2588c9432b231b64b55da07db953056d8abfacf490f80229ed6bb1726656bf8b7e + languageName: node + linkType: hard + "@babel/helper-create-regexp-features-plugin@npm:^7.18.6": version: 7.24.6 resolution: "@babel/helper-create-regexp-features-plugin@npm:7.24.6" @@ -879,6 +959,49 @@ __metadata: languageName: node linkType: hard +"@babel/helper-create-regexp-features-plugin@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/helper-create-regexp-features-plugin@npm:7.28.5" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.27.3" + regexpu-core: "npm:^6.3.1" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/d8791350fe0479af0909aa5efb6dfd3bacda743c7c3f8fa1b0bb18fe014c206505834102ee24382df1cfe5a83b4e4083220e97f420a48b2cec15bb1ad6c7c9d3 + languageName: node + linkType: hard + +"@babel/helper-define-polyfill-provider@npm:^0.4.4": + version: 0.4.4 + resolution: "@babel/helper-define-polyfill-provider@npm:0.4.4" + dependencies: + "@babel/helper-compilation-targets": "npm:^7.22.6" + "@babel/helper-plugin-utils": "npm:^7.22.5" + debug: "npm:^4.1.1" + lodash.debounce: "npm:^4.0.8" + resolve: "npm:^1.14.2" + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 10/16c312e40ecf2ead81f3ab7275387079071012d2363022c04cf16d56fe0d781185f3a517b928f4556c716ae45e0567b817b636d5cd2fee8fb2ce2b18a04c5bcd + languageName: node + linkType: hard + +"@babel/helper-define-polyfill-provider@npm:^0.5.0": + version: 0.5.0 + resolution: "@babel/helper-define-polyfill-provider@npm:0.5.0" + dependencies: + "@babel/helper-compilation-targets": "npm:^7.22.6" + "@babel/helper-plugin-utils": "npm:^7.22.5" + debug: "npm:^4.1.1" + lodash.debounce: "npm:^4.0.8" + resolve: "npm:^1.14.2" + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 10/f849e816ec4b182a3e8fa8e09ff016f88bb95259cd6b2190b815c48f83c3d3b68e973a8ec72acc5086bfe93705cbd46ec089c06476421d858597780e42235a03 + languageName: node + linkType: hard + "@babel/helper-define-polyfill-provider@npm:^0.6.2": version: 0.6.2 resolution: "@babel/helper-define-polyfill-provider@npm:0.6.2" @@ -909,6 +1032,21 @@ __metadata: languageName: node linkType: hard +"@babel/helper-define-polyfill-provider@npm:^0.6.8": + version: 0.6.8 + resolution: "@babel/helper-define-polyfill-provider@npm:0.6.8" + dependencies: + "@babel/helper-compilation-targets": "npm:^7.28.6" + "@babel/helper-plugin-utils": "npm:^7.28.6" + debug: "npm:^4.4.3" + lodash.debounce: "npm:^4.0.8" + resolve: "npm:^1.22.11" + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 10/a6f9fbb82578464da35eec88c7f3e70bdd95237bfc1d3ebb9cf4536a86a577b7c6e587f9a6797b01ee08629599ee2bc6fdab39e99de505751a30d9b4877202ab + languageName: node + linkType: hard + "@babel/helper-environment-visitor@npm:^7.22.20": version: 7.22.20 resolution: "@babel/helper-environment-visitor@npm:7.22.20" @@ -962,6 +1100,16 @@ __metadata: languageName: node linkType: hard +"@babel/helper-member-expression-to-functions@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/helper-member-expression-to-functions@npm:7.28.5" + dependencies: + "@babel/traverse": "npm:^7.28.5" + "@babel/types": "npm:^7.28.5" + checksum: 10/05e0857cf7913f03d88ca62952d3888693c21a4f4d7cfc141c630983f71fc0a64393e05cecceb7701dfe98298f7cc38fcb735d892e3c8c6f56f112c85ee1b154 + languageName: node + linkType: hard + "@babel/helper-module-imports@npm:^7.22.15": version: 7.22.15 resolution: "@babel/helper-module-imports@npm:7.22.15" @@ -991,6 +1139,16 @@ __metadata: languageName: node linkType: hard +"@babel/helper-module-imports@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/helper-module-imports@npm:7.28.6" + dependencies: + "@babel/traverse": "npm:^7.28.6" + "@babel/types": "npm:^7.28.6" + checksum: 10/64b1380d74425566a3c288074d7ce4dea56d775d2d3325a3d4a6df1dca702916c1d268133b6f385de9ba5b822b3c6e2af5d3b11ac88e5453d5698d77264f0ec0 + languageName: node + linkType: hard + "@babel/helper-module-transforms@npm:^7.23.3": version: 7.23.3 resolution: "@babel/helper-module-transforms@npm:7.23.3" @@ -1032,6 +1190,19 @@ __metadata: languageName: node linkType: hard +"@babel/helper-module-transforms@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/helper-module-transforms@npm:7.28.6" + dependencies: + "@babel/helper-module-imports": "npm:^7.28.6" + "@babel/helper-validator-identifier": "npm:^7.28.5" + "@babel/traverse": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/2e421c7db743249819ee51e83054952709dc2e197c7d5d415b4bdddc718580195704bfcdf38544b3f674efc2eccd4d29a65d38678fc827ed3934a7690984cd8b + languageName: node + linkType: hard + "@babel/helper-optimise-call-expression@npm:^7.25.9": version: 7.25.9 resolution: "@babel/helper-optimise-call-expression@npm:7.25.9" @@ -1078,6 +1249,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-plugin-utils@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/helper-plugin-utils@npm:7.28.6" + checksum: 10/21c853bbc13dbdddf03309c9a0477270124ad48989e1ad6524b83e83a77524b333f92edd2caae645c5a7ecf264ec6d04a9ebe15aeb54c7f33c037b71ec521e4a + languageName: node + linkType: hard + "@babel/helper-remap-async-to-generator@npm:^7.25.9": version: 7.25.9 resolution: "@babel/helper-remap-async-to-generator@npm:7.25.9" @@ -1130,6 +1308,19 @@ __metadata: languageName: node linkType: hard +"@babel/helper-replace-supers@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/helper-replace-supers@npm:7.28.6" + dependencies: + "@babel/helper-member-expression-to-functions": "npm:^7.28.5" + "@babel/helper-optimise-call-expression": "npm:^7.27.1" + "@babel/traverse": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/ad2724713a4d983208f509e9607e8f950855f11bd97518a700057eb8bec69d687a8f90dc2da0c3c47281d2e3b79cf1d14ecf1fe3e1ee0a8e90b61aee6759c9a7 + languageName: node + linkType: hard + "@babel/helper-simple-access@npm:^7.22.5": version: 7.22.5 resolution: "@babel/helper-simple-access@npm:7.22.5" @@ -1288,7 +1479,7 @@ __metadata: languageName: node linkType: hard -"@babel/helpers@npm:^7.23.9, @babel/helpers@npm:^7.26.0, @babel/helpers@npm:^7.27.4, @babel/helpers@npm:^7.27.6": +"@babel/helpers@npm:^7.23.9, @babel/helpers@npm:^7.26.0, @babel/helpers@npm:^7.27.4, @babel/helpers@npm:^7.27.6, @babel/helpers@npm:^7.28.6": version: 7.29.2 resolution: "@babel/helpers@npm:7.29.2" dependencies: @@ -1374,6 +1565,17 @@ __metadata: languageName: node linkType: hard +"@babel/parser@npm:^7.29.0": + version: 7.29.3 + resolution: "@babel/parser@npm:7.29.3" + dependencies: + "@babel/types": "npm:^7.29.0" + bin: + parser: ./bin/babel-parser.js + checksum: 10/10e8f34e0fdaa495b9db8be71f4eb29b16d8a57e0818c1bb1c4084015b0383803fd77812ed41597760cbf3d9ab3ae9f4af54f39ff5e5d8e081ba43593232f0ca + languageName: node + linkType: hard + "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.27.1" @@ -1386,6 +1588,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.28.5" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/traverse": "npm:^7.28.5" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/750de98b34e6d09b545ded6e635b43cbab02fe319622964175259b98f41b16052e5931c4fbd45bad8cd0a37ebdd381233edecec9ee395b8ec51f47f47d1dbcd4 + languageName: node + linkType: hard + "@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:7.27.1" @@ -1408,6 +1622,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-bugfix-safari-rest-destructuring-rhs-array@npm:^7.29.3": + version: 7.29.3 + resolution: "@babel/plugin-bugfix-safari-rest-destructuring-rhs-array@npm:7.29.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.28.6" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/fd13198afc9b72c6a4e4868f1592fc8010f390e7601148a71d2d6111664c0242d6d5ff27d8eb77ca4c35ef47f8416daf5dbc8d46a498ac706d69c6b3a0988cd7 + languageName: node + linkType: hard + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.27.1" @@ -1433,6 +1659,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.28.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.28.6" + "@babel/traverse": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/9377897aa7cba3a0b78a7c6015799ff71504b2b203329357e42ab3185d44aab07344ba33f5dd53f14d5340c1dc5a2587346343e0859538947bbab0484e72b914 + languageName: node + linkType: hard + "@babel/plugin-proposal-class-properties@npm:^7.13.0": version: 7.18.6 resolution: "@babel/plugin-proposal-class-properties@npm:7.18.6" @@ -1445,6 +1683,19 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-proposal-decorators@npm:^7.23.2": + version: 7.29.0 + resolution: "@babel/plugin-proposal-decorators@npm:7.29.0" + dependencies: + "@babel/helper-create-class-features-plugin": "npm:^7.28.6" + "@babel/helper-plugin-utils": "npm:^7.28.6" + "@babel/plugin-syntax-decorators": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/fa7b9aa1a48993ad60b9e118619ed364aa67da4c634b8a755a6f0529a9f61719723fccfdaf3bf0c6ff693eeee0992a67fb311e0cbe8fed7d48de43cdc8ebff2c + languageName: node + linkType: hard + "@babel/plugin-proposal-export-default-from@npm:^7.24.7": version: 7.25.9 resolution: "@babel/plugin-proposal-export-default-from@npm:7.25.9" @@ -1534,6 +1785,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-syntax-decorators@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-syntax-decorators@npm:7.28.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/6c7544eaa586aba1bcb400eab9304011c1d5be8d9cff02d02c930e70d4023505595c36feca2bf62960f3891d2c3abbc32e116d4c8ab1da63b0fc5329d7694919 + languageName: node + linkType: hard + "@babel/plugin-syntax-dynamic-import@npm:^7.8.3": version: 7.8.3 resolution: "@babel/plugin-syntax-dynamic-import@npm:7.8.3" @@ -1567,6 +1829,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-syntax-flow@npm:^7.27.1": + version: 7.28.6 + resolution: "@babel/plugin-syntax-flow@npm:7.28.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/3dfe5d8168e400376e16937c92648142771b9ba0d9937b04ccdaacd06bf9d854170021b466106d4aa39ba6062b8b5b9b53efddae2c64ca133d4d6fafaa472909 + languageName: node + linkType: hard + "@babel/plugin-syntax-import-assertions@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-syntax-import-assertions@npm:7.27.1" @@ -1578,6 +1851,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-syntax-import-assertions@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-syntax-import-assertions@npm:7.28.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/25017235e1e2c4ed892aa327a3fa10f4209cc618c6dd7806fc40c07d8d7d24a39743d3d5568b8d1c8f416cffe03c174e78874ded513c9338b07a7ab1dcbab050 + languageName: node + linkType: hard + "@babel/plugin-syntax-import-attributes@npm:^7.24.7, @babel/plugin-syntax-import-attributes@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-syntax-import-attributes@npm:7.27.1" @@ -1589,6 +1873,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-syntax-import-attributes@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-syntax-import-attributes@npm:7.28.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/6c8c6a5988dbb9799d6027360d1a5ba64faabf551f2ef11ba4eade0c62253b5c85d44ddc8eb643c74b9acb2bcaa664a950bd5de9a5d4aef291c4f2a48223bb4b + languageName: node + linkType: hard + "@babel/plugin-syntax-import-meta@npm:^7.10.4, @babel/plugin-syntax-import-meta@npm:^7.8.3": version: 7.10.4 resolution: "@babel/plugin-syntax-import-meta@npm:7.10.4" @@ -1633,6 +1928,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-syntax-jsx@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-syntax-jsx@npm:7.28.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/572e38f5c1bb4b8124300e7e3dd13e82ae84a21f90d3f0786c98cd05e63c78ca1f32d1cfe462dfbaf5e7d5102fa7cd8fd741dfe4f3afc2e01a3b2877dcc8c866 + languageName: node + linkType: hard + "@babel/plugin-syntax-logical-assignment-operators@npm:^7.10.4, @babel/plugin-syntax-logical-assignment-operators@npm:^7.8.3": version: 7.10.4 resolution: "@babel/plugin-syntax-logical-assignment-operators@npm:7.10.4" @@ -1803,6 +2109,32 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-async-generator-functions@npm:^7.29.0": + version: 7.29.0 + resolution: "@babel/plugin-transform-async-generator-functions@npm:7.29.0" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.28.6" + "@babel/helper-remap-async-to-generator": "npm:^7.27.1" + "@babel/traverse": "npm:^7.29.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/e2c064a5eb212cbdf14f7c0113e069b845ca0f0ba431c1cc04607d3fc4f3bf1ed70f5c375fe7c61338a45db88bc1a79d270c8d633ce12256e1fce3666c1e6b93 + languageName: node + linkType: hard + +"@babel/plugin-transform-async-to-generator@npm:^7.22.5, @babel/plugin-transform-async-to-generator@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-async-to-generator@npm:7.28.6" + dependencies: + "@babel/helper-module-imports": "npm:^7.28.6" + "@babel/helper-plugin-utils": "npm:^7.28.6" + "@babel/helper-remap-async-to-generator": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/bca5774263ec01dd2bf71c74bbaf7baa183bf03576636b7826c3346be70c8c8cb15cff549112f2983c36885131a0afde6c443591278c281f733ee17f455aa9b1 + languageName: node + linkType: hard + "@babel/plugin-transform-async-to-generator@npm:^7.24.7": version: 7.25.9 resolution: "@babel/plugin-transform-async-to-generator@npm:7.25.9" @@ -1862,6 +2194,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-block-scoping@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-block-scoping@npm:7.28.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/7ab8a0856024a5360ba16c3569b739385e939bc5a15ad7d811bec8459361a9aa5ee7c5f154a4e2ce79f5d66779c19464e7532600c31a1b6f681db4eb7e1c7bde + languageName: node + linkType: hard + "@babel/plugin-transform-class-properties@npm:^7.25.4": version: 7.25.9 resolution: "@babel/plugin-transform-class-properties@npm:7.25.9" @@ -1886,6 +2229,30 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-class-properties@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-class-properties@npm:7.28.6" + dependencies: + "@babel/helper-create-class-features-plugin": "npm:^7.28.6" + "@babel/helper-plugin-utils": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/200f30d44b36a768fa3a8cf690db9e333996af2ad14d9fa1b4c91a427ed9302907873b219b4ce87517ca1014a810eb2e929a6a66be68473f72b546fc64d04fbc + languageName: node + linkType: hard + +"@babel/plugin-transform-class-static-block@npm:^7.24.7, @babel/plugin-transform-class-static-block@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-class-static-block@npm:7.28.6" + dependencies: + "@babel/helper-create-class-features-plugin": "npm:^7.28.6" + "@babel/helper-plugin-utils": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.12.0 + checksum: 10/bea7836846deefd02d9976ad1b30b5ade0d6329ecd92866db789dcf6aacfaf900b7a77031e25680f8de5ad636a771a5bdca8961361e6218d45d538ec5d9b71cc + languageName: node + linkType: hard + "@babel/plugin-transform-class-static-block@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-class-static-block@npm:7.27.1" @@ -1930,6 +2297,22 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-classes@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-classes@npm:7.28.6" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.27.3" + "@babel/helper-compilation-targets": "npm:^7.28.6" + "@babel/helper-globals": "npm:^7.28.0" + "@babel/helper-plugin-utils": "npm:^7.28.6" + "@babel/helper-replace-supers": "npm:^7.28.6" + "@babel/traverse": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/9c3278a314d1c4bcda792bb22aced20e30c735557daf9bcc56397c0f3eb54761b21c770219e4581036a10dabda3e597321ed093bc245d5f4d561e19ceff66a6d + languageName: node + linkType: hard + "@babel/plugin-transform-computed-properties@npm:^7.24.7": version: 7.25.9 resolution: "@babel/plugin-transform-computed-properties@npm:7.25.9" @@ -1954,6 +2337,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-computed-properties@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-computed-properties@npm:7.28.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.28.6" + "@babel/template": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/4a5e270f7e1f1e9787cf7cf133d48e3c1e38eb935d29a90331a1324d7c720f589b7b626b2e6485cd5521a7a13f2dbdc89a3e46ecbe7213d5bbb631175267c4aa + languageName: node + linkType: hard + "@babel/plugin-transform-destructuring@npm:^7.24.8": version: 7.25.9 resolution: "@babel/plugin-transform-destructuring@npm:7.25.9" @@ -1977,6 +2372,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-destructuring@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/plugin-transform-destructuring@npm:7.28.5" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/traverse": "npm:^7.28.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/9cc67d3377bc5d8063599f2eb4588f5f9a8ab3abc9b64a40c24501fb3c1f91f4d5cf281ea9f208fd6b2ef8d9d8b018dacf1bed9493334577c966cd32370a7036 + languageName: node + linkType: hard + "@babel/plugin-transform-dotall-regex@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-dotall-regex@npm:7.27.1" @@ -1989,6 +2396,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-dotall-regex@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-dotall-regex@npm:7.28.6" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.28.5" + "@babel/helper-plugin-utils": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/866ffbbdee77fa955063b37c75593db8dbbe46b1ebb64cc788ea437e3a9aa41cb7b9afcee617c678a32b6705baa0892ec8e5d4b8af3bbb0ab1b254514ccdbd37 + languageName: node + linkType: hard + "@babel/plugin-transform-duplicate-keys@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-duplicate-keys@npm:7.27.1" @@ -2012,6 +2431,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:^7.29.0": + version: 7.29.0 + resolution: "@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:7.29.0" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.28.5" + "@babel/helper-plugin-utils": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/7fa7b773259a578c9e01c80946f75ecc074520064aa7a87a65db06c7df70766e2fa6be78cda55fa9418a14e30b2b9d595484a46db48074d495d9f877a4276065 + languageName: node + linkType: hard + "@babel/plugin-transform-dynamic-import@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-dynamic-import@npm:7.27.1" @@ -2035,6 +2466,29 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-explicit-resource-management@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-explicit-resource-management@npm:7.28.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.28.6" + "@babel/plugin-transform-destructuring": "npm:^7.28.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/36d638a253dbdaee5548b4ddd21c04ee4e39914b207437bb64cf79bb41c2caadb4321768d3dba308c1016702649bc44efe751e2052de393004563c7376210d86 + languageName: node + linkType: hard + +"@babel/plugin-transform-exponentiation-operator@npm:^7.22.5, @babel/plugin-transform-exponentiation-operator@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.28.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/b232152499370435c7cd4bf3321f58e189150e35ca3722ea16533d33434b97294df1342f5499671ec48e62b71c34cdea0ca8cf317ad12594a10f6fc670315e62 + languageName: node + linkType: hard + "@babel/plugin-transform-exponentiation-operator@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.27.1" @@ -2069,19 +2523,19 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-for-of@npm:^7.24.7": - version: 7.25.9 - resolution: "@babel/plugin-transform-for-of@npm:7.25.9" +"@babel/plugin-transform-flow-strip-types@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-flow-strip-types@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/plugin-syntax-flow": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/63a2db7fe06c2e3f5fc1926f478dac66a5f7b3eaeb4a0ffae577e6f3cb3d822cb1ed2ed3798f70f5cb1aa06bc2ad8bcd1f557342f5c425fd83c37a8fc1cfd2ba + checksum: 10/22e260866b122b7d0c35f2c55b2d422b175606b4d14c9ba116b1fbe88e08cc8b024c1c41bb62527cfc5f7ccc0ed06c752e5945cb1ee22465a30aa5623e617940 languageName: node linkType: hard -"@babel/plugin-transform-for-of@npm:^7.27.1": +"@babel/plugin-transform-for-of@npm:^7.22.15, @babel/plugin-transform-for-of@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-for-of@npm:7.27.1" dependencies: @@ -2093,6 +2547,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-for-of@npm:^7.24.7": + version: 7.25.9 + resolution: "@babel/plugin-transform-for-of@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/63a2db7fe06c2e3f5fc1926f478dac66a5f7b3eaeb4a0ffae577e6f3cb3d822cb1ed2ed3798f70f5cb1aa06bc2ad8bcd1f557342f5c425fd83c37a8fc1cfd2ba + languageName: node + linkType: hard + "@babel/plugin-transform-function-name@npm:^7.25.1": version: 7.25.9 resolution: "@babel/plugin-transform-function-name@npm:7.25.9" @@ -2130,6 +2596,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-json-strings@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-json-strings@npm:7.28.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/69d82a1a0a72ed6e6f7969e09cf330516599d79b2b4e680e9dd3c57616a8c6af049b5103456e370ab56642815e80e46ed88bb81e9e059304a85c5fe0bf137c29 + languageName: node + linkType: hard + "@babel/plugin-transform-literals@npm:^7.25.2": version: 7.25.9 resolution: "@babel/plugin-transform-literals@npm:7.25.9" @@ -2174,6 +2651,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-logical-assignment-operators@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.28.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/36095d5d1cfc680e95298b5389a16016da800ae3379b130dabf557e94652c47b06610407e9fa44aaa03e9b0a5aa7b4b93348123985d44a45e369bf5f3497d149 + languageName: node + linkType: hard + "@babel/plugin-transform-member-expression-literals@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-member-expression-literals@npm:7.27.1" @@ -2213,11 +2701,23 @@ __metadata: version: 7.27.1 resolution: "@babel/plugin-transform-modules-commonjs@npm:7.27.1" dependencies: - "@babel/helper-module-transforms": "npm:^7.27.1" - "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-module-transforms": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/9059243a977bc1f13e3dccfc6feb6508890e7c7bb191f7eb56626b20672b4b12338051ca835ab55426875a473181502c8f35b4df58ba251bef63b25866d995fe + languageName: node + linkType: hard + +"@babel/plugin-transform-modules-commonjs@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-modules-commonjs@npm:7.28.6" + dependencies: + "@babel/helper-module-transforms": "npm:^7.28.6" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/9059243a977bc1f13e3dccfc6feb6508890e7c7bb191f7eb56626b20672b4b12338051ca835ab55426875a473181502c8f35b4df58ba251bef63b25866d995fe + checksum: 10/ec6ea2958e778a7e0220f4a75cb5816cecddc6bd98efa10499fff7baabaa29a594d50d787a4ebf8a8ba66fefcf76ca2ded602be0b4554ae3317e53b3b3375b37 languageName: node linkType: hard @@ -2235,6 +2735,20 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-modules-systemjs@npm:^7.29.4": + version: 7.29.4 + resolution: "@babel/plugin-transform-modules-systemjs@npm:7.29.4" + dependencies: + "@babel/helper-module-transforms": "npm:^7.28.6" + "@babel/helper-plugin-utils": "npm:^7.28.6" + "@babel/helper-validator-identifier": "npm:^7.28.5" + "@babel/traverse": "npm:^7.29.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/79269e6ec8ec831bb63bf1c7cc1a980e28da785e92b36d42612f0139e4044499b99aa109fca849e1a156c092aabf6c24d145f4cabf2ac9ea84ef468852fe4c03 + languageName: node + linkType: hard + "@babel/plugin-transform-modules-umd@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-modules-umd@npm:7.27.1" @@ -2271,6 +2785,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.29.0": + version: 7.29.0 + resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.29.0" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.28.5" + "@babel/helper-plugin-utils": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/ed8c27699ca82a6c01cbfd39f3de16b90cfea4f8146a358057f76df290d308a66a8bd2e6734e6a87f68c18576e15d2d70548a84cd474d26fdf256c3f5ae44d8c + languageName: node + linkType: hard + "@babel/plugin-transform-new-target@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-new-target@npm:7.27.1" @@ -2304,6 +2830,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.28.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/88106952ca4f4fea8f97222a25f9595c6859d458d76905845dfa54f54e7d345e3dc338932e8c84a9c57a6c88b2f6d9ebff47130ce508a49c2b6e6a9f03858750 + languageName: node + linkType: hard + "@babel/plugin-transform-numeric-separator@npm:^7.24.7": version: 7.25.9 resolution: "@babel/plugin-transform-numeric-separator@npm:7.25.9" @@ -2326,6 +2863,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-numeric-separator@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-numeric-separator@npm:7.28.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/4b5ca60e481e22f0842761a3badca17376a230b5a7e5482338604eb95836c2d0c9c9bde53bdc5c2de1c6a12ae6c12de7464d098bf74b0943f85905ca358f0b68 + languageName: node + linkType: hard + "@babel/plugin-transform-object-rest-spread@npm:^7.24.7": version: 7.25.9 resolution: "@babel/plugin-transform-object-rest-spread@npm:7.25.9" @@ -2354,6 +2902,21 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-object-rest-spread@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-object-rest-spread@npm:7.28.6" + dependencies: + "@babel/helper-compilation-targets": "npm:^7.28.6" + "@babel/helper-plugin-utils": "npm:^7.28.6" + "@babel/plugin-transform-destructuring": "npm:^7.28.5" + "@babel/plugin-transform-parameters": "npm:^7.27.7" + "@babel/traverse": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/9c8c51a515a5ec98a33a715e82d49f873e58b04b53fa1e826f3c2009f7133cd396d6730553a53d265e096dbfbea17dd100ae38815d0b506c094cb316a7a5519e + languageName: node + linkType: hard + "@babel/plugin-transform-object-super@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-object-super@npm:7.27.1" @@ -2388,6 +2951,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-optional-catch-binding@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.28.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/ee24a17defec056eb9ef01824d7e4a1f65d531af6b4b79acfd0bcb95ce0b47926e80c61897f36f8c01ce733b069c9acdb1c9ce5ec07a729d0dbf9e8d859fe992 + languageName: node + linkType: hard + "@babel/plugin-transform-optional-chaining@npm:^7.24.8": version: 7.25.9 resolution: "@babel/plugin-transform-optional-chaining@npm:7.25.9" @@ -2412,6 +2986,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-optional-chaining@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-optional-chaining@npm:7.28.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.28.6" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/c7cf29f99384a9a98748f04489a122c0106e0316aa64a2e61ef8af74c1057b587b96d9a08eb4e33d2ac17d1aaff1f0a86fae658d429fa7bcce4ef977e0ad684b + languageName: node + linkType: hard + "@babel/plugin-transform-parameters@npm:^7.24.7, @babel/plugin-transform-parameters@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-transform-parameters@npm:7.25.9" @@ -2446,6 +3032,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-private-methods@npm:^7.25.4, @babel/plugin-transform-private-methods@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-private-methods@npm:7.28.6" + dependencies: + "@babel/helper-create-class-features-plugin": "npm:^7.28.6" + "@babel/helper-plugin-utils": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/b80179b28f6a165674d0b0d6c6349b13a01dd282b18f56933423c0a33c23fc0626c8f011f859fc20737d021fe966eb8474a5233e4596401482e9ee7fb00e2aa2 + languageName: node + linkType: hard + "@babel/plugin-transform-private-methods@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-private-methods@npm:7.27.1" @@ -2484,6 +3082,19 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-private-property-in-object@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-private-property-in-object@npm:7.28.6" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.27.3" + "@babel/helper-create-class-features-plugin": "npm:^7.28.6" + "@babel/helper-plugin-utils": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/d02008c62fd32ff747b850b8581ab5076b717320e1cb01c7fc66ebf5169095bd922e18cfb269992f85bc7fbd2cc61e5b5af25e2b54aad67411474b789ea94d5f + languageName: node + linkType: hard + "@babel/plugin-transform-property-literals@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-property-literals@npm:7.27.1" @@ -2506,6 +3117,28 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-react-display-name@npm:^7.28.0": + version: 7.28.0 + resolution: "@babel/plugin-transform-react-display-name@npm:7.28.0" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/d623644a078086f410b1952429d82c10e2833ebffb97800b25f55ab7f3ffafde34e57a4a71958da73f4abfcef39b598e2ca172f2b43531f98b3f12e0de17c219 + languageName: node + linkType: hard + +"@babel/plugin-transform-react-jsx-development@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-react-jsx-development@npm:7.27.1" + dependencies: + "@babel/plugin-transform-react-jsx": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/b88865d5b8c018992f2332da939faa15c4d4a864c9435a5937beaff3fe43781432cc42e0a5d5631098e0bd4066fc33f5fa72203b388b074c3545fe7aaa21e474 + languageName: node + linkType: hard + "@babel/plugin-transform-react-jsx-self@npm:^7.24.7": version: 7.25.9 resolution: "@babel/plugin-transform-react-jsx-self@npm:7.25.9" @@ -2543,6 +3176,33 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-react-jsx@npm:^7.27.1": + version: 7.28.6 + resolution: "@babel/plugin-transform-react-jsx@npm:7.28.6" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.27.3" + "@babel/helper-module-imports": "npm:^7.28.6" + "@babel/helper-plugin-utils": "npm:^7.28.6" + "@babel/plugin-syntax-jsx": "npm:^7.28.6" + "@babel/types": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/c6eade7309f0710b6aac9e747f8c3305633801c035a35efc5e2436742cc466e457ed5848d3dd5dade36e34332cfc50ac92d69a33f7803d66ae2d72f13a76c3bc + languageName: node + linkType: hard + +"@babel/plugin-transform-react-pure-annotations@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-react-pure-annotations@npm:7.27.1" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/a6f591c5e85a1ab0685d4a25afe591fe8d11dc0b73c677cf9560ff8d540d036a1cce9efcb729fc9092def4d854dc304ffdc063a89a9247900b69c516bf971a4c + languageName: node + linkType: hard + "@babel/plugin-transform-regenerator@npm:^7.24.7": version: 7.25.9 resolution: "@babel/plugin-transform-regenerator@npm:7.25.9" @@ -2566,6 +3226,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-regenerator@npm:^7.29.0": + version: 7.29.0 + resolution: "@babel/plugin-transform-regenerator@npm:7.29.0" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/c8fa9da74371568c5d34fd7d53de018752550cb10334040ca59e41f34b27f127974bdc5b4d1a1a8e8f3ebcf3cb7f650aa3f2df3b7bf1b7edf67c04493b9e3cb8 + languageName: node + linkType: hard + "@babel/plugin-transform-regexp-modifiers@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-regexp-modifiers@npm:7.27.1" @@ -2578,6 +3249,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-regexp-modifiers@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-regexp-modifiers@npm:7.28.6" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.28.5" + "@babel/helper-plugin-utils": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/5aacc570034c085afa0165137bb9a04cd4299b86eb9092933a96dcc1132c8f591d9d534419988f5f762b2f70d43a3c719a6b8fa05fdd3b2b1820d01cf85500da + languageName: node + linkType: hard + "@babel/plugin-transform-reserved-words@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-reserved-words@npm:7.27.1" @@ -2589,6 +3272,22 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-runtime@npm:7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-runtime@npm:7.23.3" + dependencies: + "@babel/helper-module-imports": "npm:^7.22.15" + "@babel/helper-plugin-utils": "npm:^7.22.5" + babel-plugin-polyfill-corejs2: "npm:^0.4.6" + babel-plugin-polyfill-corejs3: "npm:^0.8.5" + babel-plugin-polyfill-regenerator: "npm:^0.5.3" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/f513306d560765077aae618e2931ad445ad9648a86cf18f4169d3a7b5bc8c9b66399109f6a8612eb5dd7a09b45f8b56bf86e0e1abd1978a92dad0a97eb89cf8e + languageName: node + linkType: hard + "@babel/plugin-transform-runtime@npm:^7.24.7": version: 7.25.9 resolution: "@babel/plugin-transform-runtime@npm:7.25.9" @@ -2651,6 +3350,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-spread@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-spread@npm:7.28.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.28.6" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/1fa02ac60ae5e49d46fa2966aaf3f7578cf37255534c2ecf379d65855088a1623c3eea28b9ee6a0b1413b0199b51f9019d0da3fe9da89986bc47e07242415f60 + languageName: node + linkType: hard + "@babel/plugin-transform-sticky-regex@npm:^7.24.7": version: 7.25.9 resolution: "@babel/plugin-transform-sticky-regex@npm:7.25.9" @@ -2748,6 +3459,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-unicode-property-regex@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.28.6" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.28.5" + "@babel/helper-plugin-utils": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/d14e8c51aa73f592575c1543400fd67d96df6410d75c9dc10dd640fd7eecb37366a2f2368bbdd7529842532eda4af181c921bda95146c6d373c64ea59c6e9991 + languageName: node + linkType: hard + "@babel/plugin-transform-unicode-regex@npm:^7.24.7": version: 7.25.9 resolution: "@babel/plugin-transform-unicode-regex@npm:7.25.9" @@ -2784,6 +3507,99 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-unicode-sets-regex@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.28.6" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.28.5" + "@babel/helper-plugin-utils": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/423971fe2eef9d18782b1c30f5f42613ee510e5b9c08760c5538a0997b36c34495acce261e0e37a27831f81330359230bd1f33c2e1822de70241002b45b7d68e + languageName: node + linkType: hard + +"@babel/preset-env@npm:^7.23.2": + version: 7.29.5 + resolution: "@babel/preset-env@npm:7.29.5" + dependencies: + "@babel/compat-data": "npm:^7.29.3" + "@babel/helper-compilation-targets": "npm:^7.28.6" + "@babel/helper-plugin-utils": "npm:^7.28.6" + "@babel/helper-validator-option": "npm:^7.27.1" + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "npm:^7.28.5" + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "npm:^7.27.1" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "npm:^7.27.1" + "@babel/plugin-bugfix-safari-rest-destructuring-rhs-array": "npm:^7.29.3" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "npm:^7.27.1" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "npm:^7.28.6" + "@babel/plugin-proposal-private-property-in-object": "npm:7.21.0-placeholder-for-preset-env.2" + "@babel/plugin-syntax-import-assertions": "npm:^7.28.6" + "@babel/plugin-syntax-import-attributes": "npm:^7.28.6" + "@babel/plugin-syntax-unicode-sets-regex": "npm:^7.18.6" + "@babel/plugin-transform-arrow-functions": "npm:^7.27.1" + "@babel/plugin-transform-async-generator-functions": "npm:^7.29.0" + "@babel/plugin-transform-async-to-generator": "npm:^7.28.6" + "@babel/plugin-transform-block-scoped-functions": "npm:^7.27.1" + "@babel/plugin-transform-block-scoping": "npm:^7.28.6" + "@babel/plugin-transform-class-properties": "npm:^7.28.6" + "@babel/plugin-transform-class-static-block": "npm:^7.28.6" + "@babel/plugin-transform-classes": "npm:^7.28.6" + "@babel/plugin-transform-computed-properties": "npm:^7.28.6" + "@babel/plugin-transform-destructuring": "npm:^7.28.5" + "@babel/plugin-transform-dotall-regex": "npm:^7.28.6" + "@babel/plugin-transform-duplicate-keys": "npm:^7.27.1" + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "npm:^7.29.0" + "@babel/plugin-transform-dynamic-import": "npm:^7.27.1" + "@babel/plugin-transform-explicit-resource-management": "npm:^7.28.6" + "@babel/plugin-transform-exponentiation-operator": "npm:^7.28.6" + "@babel/plugin-transform-export-namespace-from": "npm:^7.27.1" + "@babel/plugin-transform-for-of": "npm:^7.27.1" + "@babel/plugin-transform-function-name": "npm:^7.27.1" + "@babel/plugin-transform-json-strings": "npm:^7.28.6" + "@babel/plugin-transform-literals": "npm:^7.27.1" + "@babel/plugin-transform-logical-assignment-operators": "npm:^7.28.6" + "@babel/plugin-transform-member-expression-literals": "npm:^7.27.1" + "@babel/plugin-transform-modules-amd": "npm:^7.27.1" + "@babel/plugin-transform-modules-commonjs": "npm:^7.28.6" + "@babel/plugin-transform-modules-systemjs": "npm:^7.29.4" + "@babel/plugin-transform-modules-umd": "npm:^7.27.1" + "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.29.0" + "@babel/plugin-transform-new-target": "npm:^7.27.1" + "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.28.6" + "@babel/plugin-transform-numeric-separator": "npm:^7.28.6" + "@babel/plugin-transform-object-rest-spread": "npm:^7.28.6" + "@babel/plugin-transform-object-super": "npm:^7.27.1" + "@babel/plugin-transform-optional-catch-binding": "npm:^7.28.6" + "@babel/plugin-transform-optional-chaining": "npm:^7.28.6" + "@babel/plugin-transform-parameters": "npm:^7.27.7" + "@babel/plugin-transform-private-methods": "npm:^7.28.6" + "@babel/plugin-transform-private-property-in-object": "npm:^7.28.6" + "@babel/plugin-transform-property-literals": "npm:^7.27.1" + "@babel/plugin-transform-regenerator": "npm:^7.29.0" + "@babel/plugin-transform-regexp-modifiers": "npm:^7.28.6" + "@babel/plugin-transform-reserved-words": "npm:^7.27.1" + "@babel/plugin-transform-shorthand-properties": "npm:^7.27.1" + "@babel/plugin-transform-spread": "npm:^7.28.6" + "@babel/plugin-transform-sticky-regex": "npm:^7.27.1" + "@babel/plugin-transform-template-literals": "npm:^7.27.1" + "@babel/plugin-transform-typeof-symbol": "npm:^7.27.1" + "@babel/plugin-transform-unicode-escapes": "npm:^7.27.1" + "@babel/plugin-transform-unicode-property-regex": "npm:^7.28.6" + "@babel/plugin-transform-unicode-regex": "npm:^7.27.1" + "@babel/plugin-transform-unicode-sets-regex": "npm:^7.28.6" + "@babel/preset-modules": "npm:0.1.6-no-external-plugins" + babel-plugin-polyfill-corejs2: "npm:^0.4.15" + babel-plugin-polyfill-corejs3: "npm:^0.14.0" + babel-plugin-polyfill-regenerator: "npm:^0.6.6" + core-js-compat: "npm:^3.48.0" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/2e54630764b6650d81df5ce5a47fa260acd3695dc95a6b989b713bf6c0713fb320e3ae3f76f0c636bfda058ee5c582a3de7f5d58d691c68ca566129c7d3d0f0a + languageName: node + linkType: hard + "@babel/preset-env@npm:^7.28.0": version: 7.28.0 resolution: "@babel/preset-env@npm:7.28.0" @@ -2877,6 +3693,19 @@ __metadata: languageName: node linkType: hard +"@babel/preset-flow@npm:^7.22.15": + version: 7.27.1 + resolution: "@babel/preset-flow@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-validator-option": "npm:^7.27.1" + "@babel/plugin-transform-flow-strip-types": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/f3f25b390debf72a6ff0170a2d5198aea344ba96f05eaca0bae2c7072119706fd46321604d89646bda1842527cfc6eab8828a983ec90149218d2120b9cd26596 + languageName: node + linkType: hard + "@babel/preset-modules@npm:0.1.6-no-external-plugins": version: 0.1.6-no-external-plugins resolution: "@babel/preset-modules@npm:0.1.6-no-external-plugins" @@ -2890,6 +3719,22 @@ __metadata: languageName: node linkType: hard +"@babel/preset-react@npm:^7.22.15": + version: 7.28.5 + resolution: "@babel/preset-react@npm:7.28.5" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-validator-option": "npm:^7.27.1" + "@babel/plugin-transform-react-display-name": "npm:^7.28.0" + "@babel/plugin-transform-react-jsx": "npm:^7.27.1" + "@babel/plugin-transform-react-jsx-development": "npm:^7.27.1" + "@babel/plugin-transform-react-pure-annotations": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/c00d43b27790caddee7c4971b11b4bf479a761175433e2f168b3d7e1ac6ee36d4d929a76acc7f302e9bff3a5b26d02d37f0ad7ae6359e076e5baa862b00843b2 + languageName: node + linkType: hard + "@babel/preset-typescript@npm:^7.13.0": version: 7.26.0 resolution: "@babel/preset-typescript@npm:7.26.0" @@ -2942,7 +3787,7 @@ __metadata: languageName: node linkType: hard -"@babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.25.0, @babel/runtime@npm:^7.26.10, @babel/runtime@npm:^7.8.4": +"@babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.23.2, @babel/runtime@npm:^7.25.0, @babel/runtime@npm:^7.26.10, @babel/runtime@npm:^7.8.4": version: 7.29.2 resolution: "@babel/runtime@npm:7.29.2" checksum: 10/f55ba4052aa0255055b34371a145fbe69c29b37b49eaea14805b095bfb4153701486416e89392fd27ec8abafa53868be86e960b9f8f959fff91f2c8ac2a14b02 @@ -3056,6 +3901,21 @@ __metadata: languageName: node linkType: hard +"@babel/traverse@npm:^7.28.5, @babel/traverse@npm:^7.28.6, @babel/traverse@npm:^7.29.0": + version: 7.29.0 + resolution: "@babel/traverse@npm:7.29.0" + dependencies: + "@babel/code-frame": "npm:^7.29.0" + "@babel/generator": "npm:^7.29.0" + "@babel/helper-globals": "npm:^7.28.0" + "@babel/parser": "npm:^7.29.0" + "@babel/template": "npm:^7.28.6" + "@babel/types": "npm:^7.29.0" + debug: "npm:^4.3.1" + checksum: 10/3a0d0438f1ba9fed4fbe1706ea598a865f9af655a16ca9517ab57bda526e224569ca1b980b473fb68feea5e08deafbbf2cf9febb941f92f2d2533310c3fc4abc + languageName: node + linkType: hard + "@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.22.15, @babel/types@npm:^7.22.5, @babel/types@npm:^7.23.0, @babel/types@npm:^7.23.6, @babel/types@npm:^7.23.9, @babel/types@npm:^7.3.3, @babel/types@npm:^7.8.3": version: 7.23.9 resolution: "@babel/types@npm:7.23.9" @@ -3108,7 +3968,7 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.28.6, @babel/types@npm:^7.29.0": +"@babel/types@npm:^7.28.5, @babel/types@npm:^7.28.6, @babel/types@npm:^7.29.0": version: 7.29.0 resolution: "@babel/types@npm:7.29.0" dependencies: @@ -3459,6 +4319,41 @@ __metadata: languageName: node linkType: hard +"@devexpress/bin-v8-flags-filter@npm:^1.3.0": + version: 1.3.0 + resolution: "@devexpress/bin-v8-flags-filter@npm:1.3.0" + checksum: 10/d8a46970cee733e6bfe7893b5fd9187ab464b64bde822976fb0644ead1cb2cf5300c12ab3cf64d46578dbf38e8f1b1899b498b856db7ed876954f77b4360f833 + languageName: node + linkType: hard + +"@devexpress/callsite-record@npm:^4.1.6": + version: 4.1.7 + resolution: "@devexpress/callsite-record@npm:4.1.7" + dependencies: + "@types/lodash": "npm:^4.14.72" + callsite: "npm:^1.0.0" + chalk: "npm:^2.4.0" + error-stack-parser: "npm:^2.1.4" + highlight-es: "npm:^1.0.0" + lodash: "npm:4.6.1 || ^4.16.1" + pinkie-promise: "npm:^2.0.0" + checksum: 10/03f70e0b0a35af363712ba44a0b3a31b33840bda62dc902eca2ae3d3e66f39159d20a49bffb36d9c9ecbe9b960785a879287271cce7f94570fadd1e6f6a4bd33 + languageName: node + linkType: hard + +"@electron/asar@npm:^3.2.3": + version: 3.4.1 + resolution: "@electron/asar@npm:3.4.1" + dependencies: + commander: "npm:^5.0.0" + glob: "npm:^7.1.6" + minimatch: "npm:^3.0.4" + bin: + asar: bin/asar.js + checksum: 10/c41c6b0a5e112e0209b7f6b6eec7d83d3162a8061233375c76ca9f94afcff326a3447e5f53889b35049a855648a09f203c9850c2dbb6cd4690b54a2075eae266 + languageName: node + linkType: hard + "@emnapi/core@npm:^1.4.3": version: 1.4.3 resolution: "@emnapi/core@npm:1.4.3" @@ -4434,6 +5329,16 @@ __metadata: languageName: node linkType: hard +"@jridgewell/remapping@npm:^2.3.5": + version: 2.3.5 + resolution: "@jridgewell/remapping@npm:2.3.5" + dependencies: + "@jridgewell/gen-mapping": "npm:^0.3.5" + "@jridgewell/trace-mapping": "npm:^0.3.24" + checksum: 10/c2bb01856e65b506d439455f28aceacf130d6c023d1d4e3b48705e88def3571753e1a887daa04b078b562316c92d26ce36408a60534bceca3f830aec88a339ad + languageName: node + linkType: hard + "@jridgewell/resolve-uri@npm:^3.1.0": version: 3.1.2 resolution: "@jridgewell/resolve-uri@npm:3.1.2" @@ -4886,6 +5791,33 @@ __metadata: languageName: node linkType: hard +"@nodelib/fs.scandir@npm:2.1.5": + version: 2.1.5 + resolution: "@nodelib/fs.scandir@npm:2.1.5" + dependencies: + "@nodelib/fs.stat": "npm:2.0.5" + run-parallel: "npm:^1.1.9" + checksum: 10/6ab2a9b8a1d67b067922c36f259e3b3dfd6b97b219c540877a4944549a4d49ea5ceba5663905ab5289682f1f3c15ff441d02f0447f620a42e1cb5e1937174d4b + languageName: node + linkType: hard + +"@nodelib/fs.stat@npm:2.0.5, @nodelib/fs.stat@npm:^2.0.2": + version: 2.0.5 + resolution: "@nodelib/fs.stat@npm:2.0.5" + checksum: 10/012480b5ca9d97bff9261571dbbec7bbc6033f69cc92908bc1ecfad0792361a5a1994bc48674b9ef76419d056a03efadfce5a6cf6dbc0a36559571a7a483f6f0 + languageName: node + linkType: hard + +"@nodelib/fs.walk@npm:^1.2.3": + version: 1.2.8 + resolution: "@nodelib/fs.walk@npm:1.2.8" + dependencies: + "@nodelib/fs.scandir": "npm:2.1.5" + fastq: "npm:^1.6.0" + checksum: 10/40033e33e96e97d77fba5a238e4bba4487b8284678906a9f616b5579ddaf868a18874c0054a75402c9fbaaa033a25ceae093af58c9c30278e35c23c9479e79b0 + languageName: node + linkType: hard + "@npmcli/agent@npm:^2.0.0": version: 2.2.1 resolution: "@npmcli/agent@npm:2.2.1" @@ -6155,6 +7087,13 @@ __metadata: languageName: node linkType: hard +"@types/estree@npm:0.0.46": + version: 0.0.46 + resolution: "@types/estree@npm:0.0.46" + checksum: 10/9c0b10810034614c3eb7f21f2ee4ebf20e9a66aac880b7e4a7417b861b24ddcf3ba3cc87acf099d0479e3929d1ad76378b9608a0be57dac5d30d3cc6ab0d78e0 + languageName: node + linkType: hard + "@types/estree@npm:1.0.8": version: 1.0.8 resolution: "@types/estree@npm:1.0.8" @@ -6169,6 +7108,16 @@ __metadata: languageName: node linkType: hard +"@types/glob@npm:^7.1.1": + version: 7.2.0 + resolution: "@types/glob@npm:7.2.0" + dependencies: + "@types/minimatch": "npm:*" + "@types/node": "npm:*" + checksum: 10/6ae717fedfdfdad25f3d5a568323926c64f52ef35897bcac8aca8e19bc50c0bd84630bbd063e5d52078b2137d8e7d3c26eabebd1a2f03ff350fff8a91e79fc19 + languageName: node + linkType: hard + "@types/graceful-fs@npm:^4.1.3": version: 4.1.9 resolution: "@types/graceful-fs@npm:4.1.9" @@ -6228,6 +7177,13 @@ __metadata: languageName: node linkType: hard +"@types/lodash@npm:^4.14.72": + version: 4.17.24 + resolution: "@types/lodash@npm:4.17.24" + checksum: 10/0f2082565f60f9787eefc046edc38458054512be5a8b3584ef0bad5fd9e85d0ab55ec5a1fbfae1ed6ba015cf1f9e837d5fb4da1f99fc60b8f74b2a46146fb00f + languageName: node + linkType: hard + "@types/md5@npm:^2": version: 2.3.5 resolution: "@types/md5@npm:2.3.5" @@ -6235,6 +7191,13 @@ __metadata: languageName: node linkType: hard +"@types/minimatch@npm:*": + version: 5.1.2 + resolution: "@types/minimatch@npm:5.1.2" + checksum: 10/94db5060d20df2b80d77b74dd384df3115f01889b5b6c40fa2dfa27cfc03a68fb0ff7c1f2a0366070263eb2e9d6bfd8c87111d4bc3ae93c3f291297c1bf56c85 + languageName: node + linkType: hard + "@types/mocha@npm:^10.0.1": version: 10.0.6 resolution: "@types/mocha@npm:10.0.6" @@ -6277,6 +7240,15 @@ __metadata: languageName: node linkType: hard +"@types/node@npm:20.14.5": + version: 20.14.5 + resolution: "@types/node@npm:20.14.5" + dependencies: + undici-types: "npm:~5.26.4" + checksum: 10/74c7974a8c75280f9397f22ce34d10d5575668e3c357a165f385c9365c39b3ccda3aa2e7237e7e907fc72e515afb93cc0be1f3e2074cc1889c1ffeb01d2843cc + languageName: node + linkType: hard + "@types/node@npm:^20.19.0": version: 20.19.37 resolution: "@types/node@npm:20.19.37" @@ -6743,6 +7715,15 @@ __metadata: languageName: node linkType: hard +"acorn-hammerhead@npm:0.6.2": + version: 0.6.2 + resolution: "acorn-hammerhead@npm:0.6.2" + dependencies: + "@types/estree": "npm:0.0.46" + checksum: 10/72638825c7f400196312910a0529cdd20d6aeaa73f4dd90e8c36c24f5eeaf2cd95f9010f28ce1679bc178509a9144fe29e483182c6c755502418835a474357b2 + languageName: node + linkType: hard + "acorn-loose@npm:^8.5.2": version: 8.5.2 resolution: "acorn-loose@npm:8.5.2" @@ -6797,6 +7778,13 @@ __metadata: languageName: node linkType: hard +"address@npm:^2.0.2": + version: 2.0.3 + resolution: "address@npm:2.0.3" + checksum: 10/b367b0166fc3b295f742a71989f333c62f2b6a1e0ad30355e8d003fd6ed034792c353a6edf28b279c2d9eba992931c4f6c9e4f0b5ebca7b924e04689326f6faa + languageName: node + linkType: hard + "adm-zip@npm:^0.5.16": version: 0.5.17 resolution: "adm-zip@npm:0.5.17" @@ -7426,6 +8414,36 @@ __metadata: languageName: node linkType: hard +"array-find@npm:^1.0.0": + version: 1.0.0 + resolution: "array-find@npm:1.0.0" + checksum: 10/6588ebfd15841296923f7c8c70f9f4cfd0e803c9f66cf53382431e5d5c763f1a866120181ba80aba7ebed73b27c5756fdb2202054e7ef475290239839185544b + languageName: node + linkType: hard + +"array-union@npm:^1.0.1": + version: 1.0.2 + resolution: "array-union@npm:1.0.2" + dependencies: + array-uniq: "npm:^1.0.1" + checksum: 10/82cec6421b6e6766556c484835a6d476a873f1b71cace5ab2b4f1b15b1e3162dc4da0d16f7a2b04d4aec18146c6638fe8f661340b31ba8e469fd811a1b45dc8d + languageName: node + linkType: hard + +"array-union@npm:^2.1.0": + version: 2.1.0 + resolution: "array-union@npm:2.1.0" + checksum: 10/5bee12395cba82da674931df6d0fea23c4aa4660cb3b338ced9f828782a65caa232573e6bf3968f23e0c5eb301764a382cef2f128b170a9dc59de0e36c39f98d + languageName: node + linkType: hard + +"array-uniq@npm:^1.0.1": + version: 1.0.3 + resolution: "array-uniq@npm:1.0.3" + checksum: 10/1625f06b093d8bf279b81adfec6e72951c0857d65b5e3f65f053fffe9f9dd61c2fc52cff57e38a4700817e7e3f01a4faa433d505ea9e33cdae4514c334e0bf9e + languageName: node + linkType: hard + "arrify@npm:3.0.0": version: 3.0.0 resolution: "arrify@npm:3.0.0" @@ -7497,6 +8515,13 @@ __metadata: languageName: node linkType: hard +"async-exit-hook@npm:^1.1.2": + version: 1.1.2 + resolution: "async-exit-hook@npm:1.1.2" + checksum: 10/171ec1547cb5e986b368737f8e514a5d7c88b31e753a269c85b180bfa4246f15d82f41f2f7e07b21497a545fe02b603e73b333f546edad329740d92381590b2c + languageName: node + linkType: hard + "async-limiter@npm:~1.0.0": version: 1.0.1 resolution: "async-limiter@npm:1.0.1" @@ -7504,6 +8529,13 @@ __metadata: languageName: node linkType: hard +"async@npm:3.2.3": + version: 3.2.3 + resolution: "async@npm:3.2.3" + checksum: 10/1265841be4f461fb17a8ed1c6ac1d427c57b33fea999cefdcee588f08f218886fd41d48da6943e4dca6a8ccd76d4536b6901a28927588ff671ce0ed61ac415a2 + languageName: node + linkType: hard + "async@npm:3.2.5, async@npm:^3.2.0": version: 3.2.5 resolution: "async@npm:3.2.5" @@ -7672,6 +8704,19 @@ __metadata: languageName: node linkType: hard +"babel-plugin-module-resolver@npm:5.0.0": + version: 5.0.0 + resolution: "babel-plugin-module-resolver@npm:5.0.0" + dependencies: + find-babel-config: "npm:^2.0.0" + glob: "npm:^8.0.3" + pkg-up: "npm:^3.1.0" + reselect: "npm:^4.1.7" + resolve: "npm:^1.22.1" + checksum: 10/13924d6ec9958405b2ac1a471639f75a7e486f643a6a50363b26dca7b66abd2cf1d9fe301c4e7b50c817e37e782fa06c209d958a4e0570c9ded36e0b8b6c2e48 + languageName: node + linkType: hard + "babel-plugin-polyfill-corejs2@npm:^0.4.10": version: 0.4.11 resolution: "babel-plugin-polyfill-corejs2@npm:0.4.11" @@ -7698,6 +8743,19 @@ __metadata: languageName: node linkType: hard +"babel-plugin-polyfill-corejs2@npm:^0.4.15, babel-plugin-polyfill-corejs2@npm:^0.4.6": + version: 0.4.17 + resolution: "babel-plugin-polyfill-corejs2@npm:0.4.17" + dependencies: + "@babel/compat-data": "npm:^7.28.6" + "@babel/helper-define-polyfill-provider": "npm:^0.6.8" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 10/35796b7f960d2e90ae78e9eb60491550976b839bbb4ce4c060df822cce191e4b5d93f13f0e64c2ba3ffc6ab3d32d3ced3f84ec567cc141088a11fa5a1628265d + languageName: node + linkType: hard + "babel-plugin-polyfill-corejs3@npm:^0.10.6": version: 0.10.6 resolution: "babel-plugin-polyfill-corejs3@npm:0.10.6" @@ -7722,6 +8780,41 @@ __metadata: languageName: node linkType: hard +"babel-plugin-polyfill-corejs3@npm:^0.14.0": + version: 0.14.2 + resolution: "babel-plugin-polyfill-corejs3@npm:0.14.2" + dependencies: + "@babel/helper-define-polyfill-provider": "npm:^0.6.8" + core-js-compat: "npm:^3.48.0" + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 10/bb500bfec712eb5e8c9058dc299677a5325af7e09ebd725c89719f2f555eca3f2b1a8644137c8e67d7fc83d7be48a7189a1a385b61ed2cf63dbb64e79461b9ee + languageName: node + linkType: hard + +"babel-plugin-polyfill-corejs3@npm:^0.8.5": + version: 0.8.7 + resolution: "babel-plugin-polyfill-corejs3@npm:0.8.7" + dependencies: + "@babel/helper-define-polyfill-provider": "npm:^0.4.4" + core-js-compat: "npm:^3.33.1" + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 10/defbc6de3d309c9639dd31223b5011707fcc0384037ac5959a1aefe16eb314562e1c1e5cfbce0af14a220d639ef92dfe5baf66664e9e6054656aca2841677622 + languageName: node + linkType: hard + +"babel-plugin-polyfill-regenerator@npm:^0.5.3": + version: 0.5.5 + resolution: "babel-plugin-polyfill-regenerator@npm:0.5.5" + dependencies: + "@babel/helper-define-polyfill-provider": "npm:^0.5.0" + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 10/3a9b4828673b23cd648dcfb571eadcd9d3fadfca0361d0a7c6feeb5a30474e92faaa49f067a6e1c05e49b6a09812879992028ff3ef3446229ff132d6e1de7eb6 + languageName: node + linkType: hard + "babel-plugin-polyfill-regenerator@npm:^0.6.1": version: 0.6.2 resolution: "babel-plugin-polyfill-regenerator@npm:0.6.2" @@ -7744,6 +8837,17 @@ __metadata: languageName: node linkType: hard +"babel-plugin-polyfill-regenerator@npm:^0.6.6": + version: 0.6.8 + resolution: "babel-plugin-polyfill-regenerator@npm:0.6.8" + dependencies: + "@babel/helper-define-polyfill-provider": "npm:^0.6.8" + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 10/974464353d6f974e97673385aff616a913c0b76039eab8c5317a2d07c661e080f3dcc213e86f3eae40010172a27ab793cda7a290a8a899716f9a22df9b1d92d2 + languageName: node + linkType: hard + "babel-plugin-syntax-hermes-parser@npm:0.29.1": version: 0.29.1 resolution: "babel-plugin-syntax-hermes-parser@npm:0.29.1" @@ -7771,6 +8875,13 @@ __metadata: languageName: node linkType: hard +"babel-plugin-syntax-trailing-function-commas@npm:^6.22.0": + version: 6.22.0 + resolution: "babel-plugin-syntax-trailing-function-commas@npm:6.22.0" + checksum: 10/d8b9039ded835bb128e8e14eeeb6e0ac2a876b85250924bdc3a8dc2a6984d3bfade4de04d40fb15ea04a86d561ac280ae0d7306d7d4ef7a8c52c43b6a23909c6 + languageName: node + linkType: hard + "babel-plugin-transform-flow-enums@npm:^0.0.2": version: 0.0.2 resolution: "babel-plugin-transform-flow-enums@npm:0.0.2" @@ -7884,6 +8995,15 @@ __metadata: languageName: node linkType: hard +"baseline-browser-mapping@npm:^2.10.12": + version: 2.10.30 + resolution: "baseline-browser-mapping@npm:2.10.30" + bin: + baseline-browser-mapping: dist/cli.cjs + checksum: 10/40f635dc8c1f851f3bbef90c9d2b936a9196c6e0fbfa4e1ff2161a9c5137f7ccab7cd2da8175d72e43eca131a80b7ee4470a4a653480550db22c5fbdef488404 + languageName: node + linkType: hard + "bcrypt-pbkdf@npm:^1.0.0": version: 1.0.2 resolution: "bcrypt-pbkdf@npm:1.0.2" @@ -7946,6 +9066,20 @@ __metadata: languageName: node linkType: hard +"bowser@npm:1.6.0": + version: 1.6.0 + resolution: "bowser@npm:1.6.0" + checksum: 10/0253ea41af548b8d5e7e720e57e32738d55b95fec33f22d4d690012a27b1b430e886bfa9347fee31c8a68150e1ed0599ac8fdbf83a23fdfb81ffeed08c3e5b6c + languageName: node + linkType: hard + +"bowser@npm:^2.8.1": + version: 2.14.1 + resolution: "bowser@npm:2.14.1" + checksum: 10/a002f0795ef360314c75552b94daa42f74473f38b34255cfa959779e875806ef8e41b24ec63a533717798c8ef70bb991aef3037a2bb5dd32e8f507b39a509163 + languageName: node + linkType: hard + "brace-expansion@npm:^1.1.7": version: 1.1.13 resolution: "brace-expansion@npm:1.1.13" @@ -8048,6 +9182,21 @@ __metadata: languageName: node linkType: hard +"browserslist@npm:^4.28.1": + version: 4.28.2 + resolution: "browserslist@npm:4.28.2" + dependencies: + baseline-browser-mapping: "npm:^2.10.12" + caniuse-lite: "npm:^1.0.30001782" + electron-to-chromium: "npm:^1.5.328" + node-releases: "npm:^2.0.36" + update-browserslist-db: "npm:^1.2.3" + bin: + browserslist: cli.js + checksum: 10/cff88386e5b5ba5614c9063bd32ef94865bba22b6a381844c7d09ea1eea62a2247e7106e516abdbfda6b75b9986044c991dfe45f92f10add5ad63dccc07589ec + languageName: node + linkType: hard + "bser@npm:2.1.1": version: 2.1.1 resolution: "bser@npm:2.1.1" @@ -8272,6 +9421,13 @@ __metadata: languageName: node linkType: hard +"callsite@npm:^1.0.0": + version: 1.0.0 + resolution: "callsite@npm:1.0.0" + checksum: 10/39fc89ef9dbee7d5491bc69034fc16fbb8876a73456f831cc27060b5828e94357bb6705e0127a6d0182d79b03dbdb0ef88223d0b599c26667c871c89b30eb681 + languageName: node + linkType: hard + "callsites@npm:^2.0.0": version: 2.0.0 resolution: "callsites@npm:2.0.0" @@ -8331,6 +9487,13 @@ __metadata: languageName: node linkType: hard +"caniuse-lite@npm:^1.0.30001782": + version: 1.0.30001793 + resolution: "caniuse-lite@npm:1.0.30001793" + checksum: 10/5a1ac39f2f174e86d8320f394a5dfbeab98041722b13d02a21fe47afc2723bc754ea3716a1f276f8462bcbbc3016e82e6f155ebde0881e537af463b5eac1816b + languageName: node + linkType: hard + "capital-case@npm:^1.0.4": version: 1.0.4 resolution: "capital-case@npm:1.0.4" @@ -8364,6 +9527,20 @@ __metadata: languageName: node linkType: hard +"chai@npm:4.3.4": + version: 4.3.4 + resolution: "chai@npm:4.3.4" + dependencies: + assertion-error: "npm:^1.1.0" + check-error: "npm:^1.0.2" + deep-eql: "npm:^3.0.1" + get-func-name: "npm:^2.0.0" + pathval: "npm:^1.1.1" + type-detect: "npm:^4.0.5" + checksum: 10/68bcba6972009d3a3aeb7c31a85fedd135fcd4eb577bce6acd696f5566ce48529a5628eff979b50641e2e2f5f6a763ad210a4066aa2c8550aedb2e319d81b639 + languageName: node + linkType: hard + "chai@npm:^6.2.1, chai@npm:^6.2.2": version: 6.2.2 resolution: "chai@npm:6.2.2" @@ -8381,7 +9558,7 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^2.4.2": +"chalk@npm:^2.3.0, chalk@npm:^2.4.0, chalk@npm:^2.4.2": version: 2.4.2 resolution: "chalk@npm:2.4.2" dependencies: @@ -8434,7 +9611,7 @@ __metadata: languageName: node linkType: hard -"check-error@npm:^1.0.3": +"check-error@npm:^1.0.2, check-error@npm:^1.0.3": version: 1.0.3 resolution: "check-error@npm:1.0.3" dependencies: @@ -8532,6 +9709,18 @@ __metadata: languageName: node linkType: hard +"chrome-remote-interface@npm:^0.32.2": + version: 0.32.2 + resolution: "chrome-remote-interface@npm:0.32.2" + dependencies: + commander: "npm:2.11.x" + ws: "npm:^7.2.0" + bin: + chrome-remote-interface: bin/client.js + checksum: 10/24f8dd4dd315c09a63c7eef8cba89dadb134c5e86b74d56cfb460da6683db69736ae8e8e56cb11855fb1b010d8d5345ce71f4d176103c127ca3b7f3d500d1c7e + languageName: node + linkType: hard + "chromium-edge-launcher@npm:^0.2.0": version: 0.2.0 resolution: "chromium-edge-launcher@npm:0.2.0" @@ -8546,6 +9735,13 @@ __metadata: languageName: node linkType: hard +"ci-info@npm:^1.5.0": + version: 1.6.0 + resolution: "ci-info@npm:1.6.0" + checksum: 10/dfc058f60c3889793befe77349c3cd1a5452d21bed5ff60cb34382bee7bbdccc5c4c2ff2b77eab8c411c54d84f93963dacf593b9d901b43b93b7ad2a422aa163 + languageName: node + linkType: hard + "ci-info@npm:^2.0.0": version: 2.0.0 resolution: "ci-info@npm:2.0.0" @@ -8804,6 +10000,16 @@ __metadata: languageName: node linkType: hard +"coffeescript@npm:^2.3.1": + version: 2.7.0 + resolution: "coffeescript@npm:2.7.0" + bin: + cake: bin/cake + coffee: bin/coffee + checksum: 10/702620f24ab2b55f79c316b81dcf441865e04bbdec8e76fecf8001e035486ac2886f586266d1e8b798c72b13a91d4382d5ebd2119609531189f7258cc488a27b + languageName: node + linkType: hard + "collect-v8-coverage@npm:^1.0.2": version: 1.0.2 resolution: "collect-v8-coverage@npm:1.0.2" @@ -8910,7 +10116,14 @@ __metadata: languageName: node linkType: hard -"commander@npm:8.3.0": +"commander@npm:2.11.x": + version: 2.11.0 + resolution: "commander@npm:2.11.0" + checksum: 10/d8940de4ce2886aa32ae27a1533d10ce46da8c6dcd965075462a6b8d17b01f596ec329e1430f84a123e52675403f0c2b11a6a5d144eb46146da9ae974edbc2c0 + languageName: node + linkType: hard + +"commander@npm:8.3.0, commander@npm:^8.3.0": version: 8.3.0 resolution: "commander@npm:8.3.0" checksum: 10/6b7b5d334483ce24bd73c5dac2eab901a7dbb25fd983ea24a1eeac6e7166bb1967f641546e8abf1920afbde86a45fbfe5812fbc69d0dc451bb45ca416a12a3a3 @@ -8952,6 +10165,13 @@ __metadata: languageName: node linkType: hard +"commander@npm:^5.0.0": + version: 5.1.0 + resolution: "commander@npm:5.1.0" + checksum: 10/3e2ef5c003c5179250161e42ce6d48e0e69a54af970c65b7f985c70095240c260fd647453efd4c2c5a31b30ce468f373dc70f769c2f54a2c014abc4792aaca28 + languageName: node + linkType: hard + "commander@npm:^6.2.0, commander@npm:^6.2.1": version: 6.2.1 resolution: "commander@npm:6.2.1" @@ -9048,6 +10268,15 @@ __metadata: languageName: node linkType: hard +"core-js-compat@npm:^3.33.1, core-js-compat@npm:^3.48.0": + version: 3.49.0 + resolution: "core-js-compat@npm:3.49.0" + dependencies: + browserslist: "npm:^4.28.1" + checksum: 10/eb35ad9b31a613092d32e5eb0c9fecb695e680bb29509fe04ae297ef790cea47d06864ef8939c8f5f189cce0bd2807fef8b2d6450f7eeb917ffaaf38a775dece + languageName: node + linkType: hard + "core-js-compat@npm:^3.38.0": version: 3.39.0 resolution: "core-js-compat@npm:3.39.0" @@ -9129,6 +10358,13 @@ __metadata: languageName: node linkType: hard +"crypto-md5@npm:^1.0.0": + version: 1.0.0 + resolution: "crypto-md5@npm:1.0.0" + checksum: 10/94bd7227bfb7d334c47e6c6d2764e67fc4997ee308774e106933733e633dc25e0186f1655066303b2622331c0ca558a7cec2096a0786c910e6e62d7ed33d882a + languageName: node + linkType: hard + "css-select@npm:^5.1.0": version: 5.2.2 resolution: "css-select@npm:5.2.2" @@ -9550,6 +10786,18 @@ __metadata: languageName: node linkType: hard +"debug@npm:4.3.1": + version: 4.3.1 + resolution: "debug@npm:4.3.1" + dependencies: + ms: "npm:2.1.2" + peerDependenciesMeta: + supports-color: + optional: true + checksum: 10/37b9f90428b65e59eb47f74435a9fc73dcb46b3550e838c0037ac05910f689bd59fd1d4a51154c1df3471a2f3e5926af8880cbe9f9f3b68beb7b2f8197a26f4a + languageName: node + linkType: hard + "debug@npm:^3.1.0": version: 3.2.7 resolution: "debug@npm:3.2.7" @@ -9571,7 +10819,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:^4.4.0": +"debug@npm:^4.4.0, debug@npm:^4.4.3": version: 4.4.3 resolution: "debug@npm:4.4.3" dependencies: @@ -9609,6 +10857,27 @@ __metadata: languageName: node linkType: hard +"dedent@npm:^0.4.0": + version: 0.4.0 + resolution: "dedent@npm:0.4.0" + checksum: 10/dd99c0ea750dadf7b597cf77132026b80342eb2a5c3289dd15af956735013b27c38b3be4408485b83613506a99c5e78a9a8244e4f5f8fef3435ed2929d35c976 + languageName: node + linkType: hard + +"dedent@npm:^0.6.0": + version: 0.6.0 + resolution: "dedent@npm:0.6.0" + checksum: 10/b72cbd2bab72c76bdc84df6c3190b3be29dd391b2a380437be48bcd9380c5d5a95e50c9ad87a21ed89b04a315785d9731a0f46986fc9a89abc29d0ff8473ae8c + languageName: node + linkType: hard + +"dedent@npm:^0.7.0": + version: 0.7.0 + resolution: "dedent@npm:0.7.0" + checksum: 10/87de191050d9a40dd70cad01159a0bcf05ecb59750951242070b6abf9569088684880d00ba92a955b4058804f16eeaf91d604f283929b4f614d181cd7ae633d2 + languageName: node + linkType: hard + "dedent@npm:^1.6.0": version: 1.6.0 resolution: "dedent@npm:1.6.0" @@ -9621,6 +10890,15 @@ __metadata: languageName: node linkType: hard +"deep-eql@npm:^3.0.1": + version: 3.0.1 + resolution: "deep-eql@npm:3.0.1" + dependencies: + type-detect: "npm:^4.0.0" + checksum: 10/d8f8e141ece42b7945ca85f08094c80540ed277bcea268b0da1801cfa5b001e164d2548c8d7ba17e935f001da401ccb33a1b6d2005713f1684a0e7dadc4e52d1 + languageName: node + linkType: hard + "deep-eql@npm:^4.1.3": version: 4.1.4 resolution: "deep-eql@npm:4.1.4" @@ -9681,6 +10959,36 @@ __metadata: languageName: node linkType: hard +"del@npm:^3.0.0": + version: 3.0.0 + resolution: "del@npm:3.0.0" + dependencies: + globby: "npm:^6.1.0" + is-path-cwd: "npm:^1.0.0" + is-path-in-cwd: "npm:^1.0.0" + p-map: "npm:^1.1.1" + pify: "npm:^3.0.0" + rimraf: "npm:^2.2.8" + checksum: 10/88192c10411b55ba644456ac4881c6ed92029b53b882bb6067011af05e8da8d9c87f5ddacf2999cc45a05a9f03af345b83f17f341a88f456417c7daa04458d38 + languageName: node + linkType: hard + +"del@npm:^5.1.0": + version: 5.1.0 + resolution: "del@npm:5.1.0" + dependencies: + globby: "npm:^10.0.1" + graceful-fs: "npm:^4.2.2" + is-glob: "npm:^4.0.1" + is-path-cwd: "npm:^2.2.0" + is-path-inside: "npm:^3.0.1" + p-map: "npm:^3.0.0" + rimraf: "npm:^3.0.0" + slash: "npm:^3.0.0" + checksum: 10/d9e4ef2c1227230ed61291fc99bdcb084167c0fe580df5fa8b2524b511c09f0c51887edf7dc5ffaa6ecfb25c92a2ca185ec49d5233baf6c5fe50248ab1f13e57 + languageName: node + linkType: hard + "delaunator@npm:5": version: 5.1.0 resolution: "delaunator@npm:5.1.0" @@ -9794,6 +11102,20 @@ __metadata: languageName: node linkType: hard +"device-specs@npm:^1.0.0": + version: 1.0.1 + resolution: "device-specs@npm:1.0.1" + checksum: 10/7faedcef870949b710fc9739a4e9ecbde6f1bec4e89b27b556c9b7714db4c62962ec19aa80b6ef54d525af2e18696ecdbaf06ce57db7e48da37d418a6171cc1e + languageName: node + linkType: hard + +"devtools-protocol@npm:0.0.1109433": + version: 0.0.1109433 + resolution: "devtools-protocol@npm:0.0.1109433" + checksum: 10/5d718bdca5d4d381b3842a103c918d9c3b192b8acb09d52337c3facc8007beb5e6f6b41b543f8fec33e0fb452e148f45dd6c38a4fbf7bc889a017337f3d80744 + languageName: node + linkType: hard + "diff-sequences@npm:^28.1.1": version: 28.1.1 resolution: "diff-sequences@npm:28.1.1" @@ -9801,7 +11123,7 @@ __metadata: languageName: node linkType: hard -"diff@npm:8.0.4": +"diff@npm:8.0.4, diff@npm:^8.0.3": version: 8.0.4 resolution: "diff@npm:8.0.4" checksum: 10/b4036ceda0d1e10683a2313079ed52c5e6b09553ae29da87bce81d98714d9725dbf3c0f6f7c3b1f16eec049fe17087e38ee329e732580fa62f6ec1c2487b2435 @@ -9815,6 +11137,15 @@ __metadata: languageName: node linkType: hard +"dir-glob@npm:^3.0.1": + version: 3.0.1 + resolution: "dir-glob@npm:3.0.1" + dependencies: + path-type: "npm:^4.0.0" + checksum: 10/fa05e18324510d7283f55862f3161c6759a3f2f8dbce491a2fc14c8324c498286c54282c1f0e933cb930da8419b30679389499b919122952a4f8592362ef4615 + languageName: node + linkType: hard + "dom-accessibility-api@npm:^0.5.9": version: 0.5.16 resolution: "dom-accessibility-api@npm:0.5.16" @@ -9978,6 +11309,13 @@ __metadata: languageName: node linkType: hard +"electron-to-chromium@npm:^1.5.328": + version: 1.5.358 + resolution: "electron-to-chromium@npm:1.5.358" + checksum: 10/fa692b18c343749cfb074d32bbdc657f844c7a41f5680fc37c2e454c09131870e6247356588603a8087e03de7491e04a4f9b1f03b779a05c30fde12505efb63d + languageName: node + linkType: hard + "electron-to-chromium@npm:^1.5.73": version: 1.5.76 resolution: "electron-to-chromium@npm:1.5.76" @@ -9985,6 +11323,20 @@ __metadata: languageName: node linkType: hard +"elegant-spinner@npm:^1.0.1": + version: 1.0.1 + resolution: "elegant-spinner@npm:1.0.1" + checksum: 10/d6a773d950c5d403b5f0fa402787e37dde99989ab6c943558fe8491cf7cd0df0e2747a9ff4d391d5a5f20a447cc9e9a63bdc956354ba47bea462f1603a5b04fe + languageName: node + linkType: hard + +"email-validator@npm:^2.0.4": + version: 2.0.4 + resolution: "email-validator@npm:2.0.4" + checksum: 10/8444077b052686ca272e42f43aeea7cb2935147890f3ed48869f6029d21f6914500bee23b2346348ed88659119ebad223c11c998843b30a3bcec2fa0abaffda3 + languageName: node + linkType: hard + "emittery@npm:^0.13.1": version: 0.13.1 resolution: "emittery@npm:0.13.1" @@ -9992,6 +11344,13 @@ __metadata: languageName: node linkType: hard +"emittery@npm:^0.4.1": + version: 0.4.1 + resolution: "emittery@npm:0.4.1" + checksum: 10/2f74fbea08224e0036e51334376a42597e34a59a5f1261542029d10bb4f33ecd3cf303e5fab9814403e098cd6ed8a7e927377e51f10abc0386d9a5c07bd1c285 + languageName: node + linkType: hard + "emoji-regex@npm:^8.0.0": version: 8.0.0 resolution: "emoji-regex@npm:8.0.0" @@ -10402,6 +11761,15 @@ __metadata: languageName: node linkType: hard +"esotope-hammerhead@npm:0.6.9": + version: 0.6.9 + resolution: "esotope-hammerhead@npm:0.6.9" + dependencies: + "@types/estree": "npm:0.0.46" + checksum: 10/f361e87e93cf9c25e65e0065ca3f5f71d42922926dc785d81d2ceb1e0370faed0781cee781c838fa24ef4371a3841f825e761ef297342f77ce158ad8f0d900ba + languageName: node + linkType: hard + "esprima@npm:^4.0.0, esprima@npm:~4.0.0": version: 4.0.1 resolution: "esprima@npm:4.0.1" @@ -10463,7 +11831,7 @@ __metadata: languageName: node linkType: hard -"execa@npm:4.1.0": +"execa@npm:4.1.0, execa@npm:^4.0.3": version: 4.1.0 resolution: "execa@npm:4.1.0" dependencies: @@ -10480,6 +11848,24 @@ __metadata: languageName: node linkType: hard +"execa@npm:^3.3.0": + version: 3.4.0 + resolution: "execa@npm:3.4.0" + dependencies: + cross-spawn: "npm:^7.0.0" + get-stream: "npm:^5.0.0" + human-signals: "npm:^1.1.1" + is-stream: "npm:^2.0.0" + merge-stream: "npm:^2.0.0" + npm-run-path: "npm:^4.0.0" + onetime: "npm:^5.1.0" + p-finally: "npm:^2.0.0" + signal-exit: "npm:^3.0.2" + strip-final-newline: "npm:^2.0.0" + checksum: 10/dba9c743837d2135ec16ca64ba1225d53f11ba18a1008d2e58803c77ad9be1e4fdbf175cb604ec94803b06399b310d512240e67642b25cc1fe2cc6ff33739fa5 + languageName: node + linkType: hard + "execa@npm:^5.1.1": version: 5.1.1 resolution: "execa@npm:5.1.1" @@ -10624,6 +12010,19 @@ __metadata: languageName: node linkType: hard +"fast-glob@npm:^3.0.3, fast-glob@npm:^3.2.9": + version: 3.3.3 + resolution: "fast-glob@npm:3.3.3" + dependencies: + "@nodelib/fs.stat": "npm:^2.0.2" + "@nodelib/fs.walk": "npm:^1.2.3" + glob-parent: "npm:^5.1.2" + merge2: "npm:^1.3.0" + micromatch: "npm:^4.0.8" + checksum: 10/dcc6432b269762dd47381d8b8358bf964d8f4f60286ac6aa41c01ade70bda459ff2001b516690b96d5365f68a49242966112b5d5cc9cd82395fa8f9d017c90ad + languageName: node + linkType: hard + "fast-json-stable-stringify@npm:^2.0.0, fast-json-stable-stringify@npm:^2.1.0": version: 2.1.0 resolution: "fast-json-stable-stringify@npm:2.1.0" @@ -10661,6 +12060,15 @@ __metadata: languageName: node linkType: hard +"fastq@npm:^1.6.0": + version: 1.20.1 + resolution: "fastq@npm:1.20.1" + dependencies: + reusify: "npm:^1.0.4" + checksum: 10/ab2fe3a7a108112e7752cfe7fc11683c21e595913a6a593ad0b4415f31dddbfc283775ab66f2c8ccea6ab7cfc116157cbddcfae9798d9de98d08fe0a2c3e97b2 + languageName: node + linkType: hard + "fb-watchman@npm:^2.0.0, fb-watchman@npm:^2.0.2": version: 2.0.2 resolution: "fb-watchman@npm:2.0.2" @@ -10745,6 +12153,15 @@ __metadata: languageName: node linkType: hard +"find-babel-config@npm:^2.0.0": + version: 2.1.2 + resolution: "find-babel-config@npm:2.1.2" + dependencies: + json5: "npm:^2.2.3" + checksum: 10/f0fae1a9125a379cf660fc1b5ca7c1fc1edac5f47e521a89e4c2b92865c8e57101a9152ee503eef9f33e16f196182f2cff03d7768b7caf5eef81c80f1c124a2f + languageName: node + linkType: hard + "find-cache-dir@npm:^2.0.0": version: 2.1.0 resolution: "find-cache-dir@npm:2.1.0" @@ -10929,6 +12346,17 @@ __metadata: languageName: node linkType: hard +"fs-extra@npm:^10.0.0": + version: 10.1.0 + resolution: "fs-extra@npm:10.1.0" + dependencies: + graceful-fs: "npm:^4.2.0" + jsonfile: "npm:^6.0.1" + universalify: "npm:^2.0.0" + checksum: 10/05ce2c3b59049bcb7b52001acd000e44b3c4af4ec1f8839f383ef41ec0048e3cfa7fd8a637b1bddfefad319145db89be91f4b7c1db2908205d38bf91e7d1d3b7 + languageName: node + linkType: hard + "fs-extra@npm:^11.0.0": version: 11.2.0 resolution: "fs-extra@npm:11.2.0" @@ -11048,7 +12476,7 @@ __metadata: languageName: node linkType: hard -"get-func-name@npm:^2.0.1, get-func-name@npm:^2.0.2": +"get-func-name@npm:^2.0.0, get-func-name@npm:^2.0.1, get-func-name@npm:^2.0.2": version: 2.0.2 resolution: "get-func-name@npm:2.0.2" checksum: 10/3f62f4c23647de9d46e6f76d2b3eafe58933a9b3830c60669e4180d6c601ce1b4aa310ba8366143f55e52b139f992087a9f0647274e8745621fa2af7e0acf13b @@ -11086,6 +12514,18 @@ __metadata: languageName: node linkType: hard +"get-os-info@npm:^1.0.2": + version: 1.0.2 + resolution: "get-os-info@npm:1.0.2" + dependencies: + getos: "npm:^3.2.1" + macos-release: "npm:^3.0.1" + os-family: "npm:^1.1.0" + windows-release: "npm:^5.0.1" + checksum: 10/4c8000b582b139ce41353648db661a239ac2b51efc955c9c8eed37a78c42979e35186681b849c070fa9cdd1c3bbd531401da0d9e42d9809a3aba6d7f6187c404 + languageName: node + linkType: hard + "get-package-type@npm:^0.1.0": version: 0.1.0 resolution: "get-package-type@npm:0.1.0" @@ -11103,6 +12543,13 @@ __metadata: languageName: node linkType: hard +"get-stdin@npm:^4.0.1": + version: 4.0.1 + resolution: "get-stdin@npm:4.0.1" + checksum: 10/4f73d3fe0516bc1f3dc7764466a68ad7c2ba809397a02f56c2a598120e028430fcff137a648a01876b2adfb486b4bc164119f98f1f7d7c0abd63385bdaa0113f + languageName: node + linkType: hard + "get-stream@npm:^5.0.0, get-stream@npm:^5.1.0": version: 5.2.0 resolution: "get-stream@npm:5.2.0" @@ -11137,7 +12584,7 @@ __metadata: languageName: node linkType: hard -"glob-parent@npm:~5.1.2": +"glob-parent@npm:^5.1.2, glob-parent@npm:~5.1.2": version: 5.1.2 resolution: "glob-parent@npm:5.1.2" dependencies: @@ -11202,7 +12649,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:^7.1.1, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.2.0": +"glob@npm:^7.0.3, glob@npm:^7.1.1, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.6, glob@npm:^7.2.0": version: 7.2.3 resolution: "glob@npm:7.2.3" dependencies: @@ -11245,6 +12692,49 @@ __metadata: languageName: node linkType: hard +"globby@npm:^10.0.1": + version: 10.0.2 + resolution: "globby@npm:10.0.2" + dependencies: + "@types/glob": "npm:^7.1.1" + array-union: "npm:^2.1.0" + dir-glob: "npm:^3.0.1" + fast-glob: "npm:^3.0.3" + glob: "npm:^7.1.3" + ignore: "npm:^5.1.1" + merge2: "npm:^1.2.3" + slash: "npm:^3.0.0" + checksum: 10/6974752014f0914b112957b4364b760af5f2fda4033ff29bedb830bbe278ff4c13ba64681741f3e62b1f12ea0f2d64bf02ac28534f9cbea4b90ed7e9cd6e954f + languageName: node + linkType: hard + +"globby@npm:^11.0.4": + version: 11.1.0 + resolution: "globby@npm:11.1.0" + dependencies: + array-union: "npm:^2.1.0" + dir-glob: "npm:^3.0.1" + fast-glob: "npm:^3.2.9" + ignore: "npm:^5.2.0" + merge2: "npm:^1.4.1" + slash: "npm:^3.0.0" + checksum: 10/288e95e310227bbe037076ea81b7c2598ccbc3122d87abc6dab39e1eec309aa14f0e366a98cdc45237ffcfcbad3db597778c0068217dcb1950fef6249104e1b1 + languageName: node + linkType: hard + +"globby@npm:^6.1.0": + version: 6.1.0 + resolution: "globby@npm:6.1.0" + dependencies: + array-union: "npm:^1.0.1" + glob: "npm:^7.0.3" + object-assign: "npm:^4.0.1" + pify: "npm:^2.0.0" + pinkie-promise: "npm:^2.0.0" + checksum: 10/18109d6b9d55643d2b98b59c3cfae7073ccfe39829632f353d516cc124d836c2ddebe48a23f04af63d66a621b6d86dd4cbd7e6af906f2458a7fe510ffc4bd424 + languageName: node + linkType: hard + "gopd@npm:^1.0.1": version: 1.0.1 resolution: "gopd@npm:1.0.1" @@ -11261,13 +12751,22 @@ __metadata: languageName: node linkType: hard -"graceful-fs@npm:^4.1.11, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.11, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": +"graceful-fs@npm:^4.1.11, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.11, graceful-fs@npm:^4.2.2, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": version: 4.2.11 resolution: "graceful-fs@npm:4.2.11" checksum: 10/bf152d0ed1dc159239db1ba1f74fdbc40cb02f626770dcd5815c427ce0688c2635a06ed69af364396da4636d0408fcf7d4afdf7881724c3307e46aff30ca49e2 languageName: node linkType: hard +"graphlib@npm:^2.1.5": + version: 2.1.8 + resolution: "graphlib@npm:2.1.8" + dependencies: + lodash: "npm:^4.17.15" + checksum: 10/37cbd851d3c1fb99f3174750ccaa22305d23d11746e5df81a38ba3bf25c0ba29cd9658ba69a0159ea81d56c28e8e875033eeaaa7167d838419fae08d9cd2c62c + languageName: node + linkType: hard + "graphql@npm:^16.8.1": version: 16.8.1 resolution: "graphql@npm:16.8.1" @@ -11400,6 +12899,15 @@ __metadata: languageName: node linkType: hard +"hasown@npm:^2.0.3": + version: 2.0.3 + resolution: "hasown@npm:2.0.3" + dependencies: + function-bind: "npm:^1.1.2" + checksum: 10/619526379cda755409d856cbf3c65b82ea342151719a0a550920cf7d6a7f58f7cf079e5a78f3acd162324fc784a3d3d6f6f61aff613b47a0163c16fbe09ea89f + languageName: node + linkType: hard + "he@npm:^1.2.0": version: 1.2.0 resolution: "he@npm:1.2.0" @@ -11496,6 +13004,17 @@ __metadata: languageName: node linkType: hard +"highlight-es@npm:^1.0.0": + version: 1.0.3 + resolution: "highlight-es@npm:1.0.3" + dependencies: + chalk: "npm:^2.4.0" + is-es2016-keyword: "npm:^1.0.0" + js-tokens: "npm:^3.0.0" + checksum: 10/442e1d330226fd011deb64344c1498a1e449b09da3b937ae48e35fc03862997d2bc7cef10868a13e1d87f6e71bea5d280f7b648c488c2eacb1c4a6aa25cb0b52 + languageName: node + linkType: hard + "hosted-git-info@npm:^2.1.4": version: 2.8.9 resolution: "hosted-git-info@npm:2.8.9" @@ -11548,6 +13067,13 @@ __metadata: languageName: node linkType: hard +"http-cache-semantics@npm:^4.1.0": + version: 4.2.0 + resolution: "http-cache-semantics@npm:4.2.0" + checksum: 10/4efd2dfcfeea9d5e88c84af450b9980be8a43c2c8179508b1c57c7b4421c855f3e8efe92fa53e0b3f4a43c85824ada930eabbc306d1b3beab750b6dcc5187693 + languageName: node + linkType: hard + "http-cache-semantics@npm:^4.1.1": version: 4.1.1 resolution: "http-cache-semantics@npm:4.1.1" @@ -11607,7 +13133,14 @@ __metadata: languageName: node linkType: hard -"httpntlm@npm:1.8.13": +"http-status-codes@npm:^2.2.0": + version: 2.3.0 + resolution: "http-status-codes@npm:2.3.0" + checksum: 10/1b8a01940b5e14d3c5b2f842313f4531469b41ce4fa40ca3aae5c82a3101828db2cc9406bfb2d50a46e6d521d106577b6656c2b065c76125b99ee54b2cbbac09 + languageName: node + linkType: hard + +"httpntlm@npm:1.8.13, httpntlm@npm:^1.8.10": version: 1.8.13 resolution: "httpntlm@npm:1.8.13" dependencies: @@ -11660,6 +13193,13 @@ __metadata: languageName: node linkType: hard +"humanize-duration@npm:^3.25.0": + version: 3.33.2 + resolution: "humanize-duration@npm:3.33.2" + checksum: 10/ac6bc74b095d53e6ff320126d64c0998de213d0e38d0996f23389603c034c8f825915d4318fc19cfdb0612c4963d72d200da43cd7c28ac865bbf9a61f53418f4 + languageName: node + linkType: hard + "i18next@npm:^24.0.2": version: 24.2.3 resolution: "i18next@npm:24.2.3" @@ -11674,6 +13214,15 @@ __metadata: languageName: node linkType: hard +"iconv-lite@npm:0.5.1": + version: 0.5.1 + resolution: "iconv-lite@npm:0.5.1" + dependencies: + safer-buffer: "npm:>= 2.1.2 < 3" + checksum: 10/19c8127722356ecdf12c14e508aeed90bfe8d3123e29e1597e331fe5f0599d527c9719a6afa72656adb36936a1a15012e982e299cba6ae085c580fef12c5444d + languageName: node + linkType: hard + "iconv-lite@npm:0.6.3, iconv-lite@npm:^0.6.2, iconv-lite@npm:^0.6.3": version: 0.6.3 resolution: "iconv-lite@npm:0.6.3" @@ -11708,6 +13257,13 @@ __metadata: languageName: node linkType: hard +"ignore@npm:^5.1.1, ignore@npm:^5.2.0": + version: 5.3.2 + resolution: "ignore@npm:5.3.2" + checksum: 10/cceb6a457000f8f6a50e1196429750d782afce5680dd878aa4221bd79972d68b3a55b4b1458fc682be978f4d3c6a249046aa0880637367216444ab7b014cfc98 + languageName: node + linkType: hard + "image-size@npm:^1.0.2": version: 1.2.1 resolution: "image-size@npm:1.2.1" @@ -11729,6 +13285,13 @@ __metadata: languageName: node linkType: hard +"import-lazy@npm:^3.1.0": + version: 3.1.0 + resolution: "import-lazy@npm:3.1.0" + checksum: 10/b202acbbecc16445fd284cdd3a4575f8ade7d22c13254b75c6adad8f2d61c4411092acd88628150f3d551d032b28a0e85030273adbf6cf48779989eee1d49b37 + languageName: node + linkType: hard + "import-local@npm:^3.2.0": version: 3.2.0 resolution: "import-local@npm:3.2.0" @@ -11748,6 +13311,19 @@ __metadata: languageName: node linkType: hard +"indent-string@npm:^1.2.2": + version: 1.2.2 + resolution: "indent-string@npm:1.2.2" + dependencies: + get-stdin: "npm:^4.0.1" + minimist: "npm:^1.1.0" + repeating: "npm:^1.1.0" + bin: + indent-string: cli.js + checksum: 10/b4d3b160ee93f1b53e4b8f2f2d4739365a0926c94566cf425af1c834be928978cfbe3941fb354fb07325bc262906a93f35d9f30101f3e29348edee5cf5acc13b + languageName: node + linkType: hard + "indent-string@npm:^4.0.0": version: 4.0.0 resolution: "indent-string@npm:4.0.0" @@ -11919,6 +13495,17 @@ __metadata: languageName: node linkType: hard +"is-ci@npm:^1.0.10": + version: 1.2.1 + resolution: "is-ci@npm:1.2.1" + dependencies: + ci-info: "npm:^1.5.0" + bin: + is-ci: bin.js + checksum: 10/eca06c5626e54ec01be6f9114a8f19b3f571602cfe66458e42ccc42e401e2ebbe1bd3b2fcaa93b5896b9c759e964f3c7f4d9b2d0f4fc4ef5dba78a7c4825e0be + languageName: node + linkType: hard + "is-core-module@npm:^2.13.0": version: 2.13.1 resolution: "is-core-module@npm:2.13.1" @@ -11937,6 +13524,15 @@ __metadata: languageName: node linkType: hard +"is-core-module@npm:^2.16.1": + version: 2.16.2 + resolution: "is-core-module@npm:2.16.2" + dependencies: + hasown: "npm:^2.0.3" + checksum: 10/6ee7535d82bbe457685799c5f145daf4b7c6be3afbd8e90788429d557f663d6dee72a8e4b9a45d0d756c243fcb5028095999243df090e5f04c02b153786bc8c6 + languageName: node + linkType: hard + "is-directory@npm:^0.3.1": version: 0.3.1 resolution: "is-directory@npm:0.3.1" @@ -11962,6 +13558,20 @@ __metadata: languageName: node linkType: hard +"is-es2016-keyword@npm:^1.0.0": + version: 1.0.0 + resolution: "is-es2016-keyword@npm:1.0.0" + checksum: 10/a6063599e25c57869bc0502182d03353c19480353b8b160078f7a3fcd7426d49c92ea54fa0921779bed8cbab12c866d2de06977b7e00426c7fdd9e557fbf4ba5 + languageName: node + linkType: hard + +"is-extglob@npm:^1.0.0": + version: 1.0.0 + resolution: "is-extglob@npm:1.0.0" + checksum: 10/5eea8517feeae5206547c0fc838c1416ec763b30093c286e1965a05f46b74a59ad391f912565f3b67c9c31cab4769ab9c35420e016b608acb47309be8d0d6e94 + languageName: node + linkType: hard + "is-extglob@npm:^2.1.1": version: 2.1.1 resolution: "is-extglob@npm:2.1.1" @@ -11969,6 +13579,13 @@ __metadata: languageName: node linkType: hard +"is-finite@npm:^1.0.0": + version: 1.1.0 + resolution: "is-finite@npm:1.1.0" + checksum: 10/532b97ed3d03e04c6bd203984d9e4ba3c0c390efee492bad5d1d1cd1802a68ab27adbd3ef6382f6312bed6c8bb1bd3e325ea79a8dc8fe080ed7a06f5f97b93e7 + languageName: node + linkType: hard + "is-fullwidth-code-point@npm:^3.0.0": version: 3.0.0 resolution: "is-fullwidth-code-point@npm:3.0.0" @@ -11992,6 +13609,15 @@ __metadata: languageName: node linkType: hard +"is-glob@npm:^2.0.1": + version: 2.0.1 + resolution: "is-glob@npm:2.0.1" + dependencies: + is-extglob: "npm:^1.0.0" + checksum: 10/089f5f93640072491396a5f075ce73e949a90f35832b782bc49a6b7637d58e392d53cb0b395e059ccab70fcb82ff35d183f6f9ebbcb43227a1e02e3fed5430c9 + languageName: node + linkType: hard + "is-glob@npm:^4.0.1, is-glob@npm:~4.0.1": version: 4.0.3 resolution: "is-glob@npm:4.0.3" @@ -12050,7 +13676,39 @@ __metadata: languageName: node linkType: hard -"is-path-inside@npm:^3.0.2, is-path-inside@npm:^3.0.3": +"is-path-cwd@npm:^1.0.0": + version: 1.0.0 + resolution: "is-path-cwd@npm:1.0.0" + checksum: 10/ade6d8d59bb6a00079fb515ad78a741b757a66bc6208a2dab2c9f8ad535bc61e21b6823ae8b23df2bf4d2b9dac8df4f3df2e68105698eb3e15ceb5ca90dac097 + languageName: node + linkType: hard + +"is-path-cwd@npm:^2.2.0": + version: 2.2.0 + resolution: "is-path-cwd@npm:2.2.0" + checksum: 10/46a840921bb8cc0dc7b5b423a14220e7db338072a4495743a8230533ce78812dc152548c86f4b828411fe98c5451959f07cf841c6a19f611e46600bd699e8048 + languageName: node + linkType: hard + +"is-path-in-cwd@npm:^1.0.0": + version: 1.0.1 + resolution: "is-path-in-cwd@npm:1.0.1" + dependencies: + is-path-inside: "npm:^1.0.0" + checksum: 10/bacfc67c0dacd09002668abb1565fa77ee9593914f1502ec8ecae9821ddd39a2a98e7a95053e3446421b3429c3b3df1a26669c95cecc9f4f556609ec9760ba2a + languageName: node + linkType: hard + +"is-path-inside@npm:^1.0.0": + version: 1.0.1 + resolution: "is-path-inside@npm:1.0.1" + dependencies: + path-is-inside: "npm:^1.0.1" + checksum: 10/07e52c81163937ff89b4700b7ad474de3b396846b55ed87530fb0a22cb9103926152939f673bc1a0592448e7e4e9d75eb734be21b4ad411311065c6a509fae54 + languageName: node + linkType: hard + +"is-path-inside@npm:^3.0.1, is-path-inside@npm:^3.0.2, is-path-inside@npm:^3.0.3": version: 3.0.3 resolution: "is-path-inside@npm:3.0.3" checksum: 10/abd50f06186a052b349c15e55b182326f1936c89a78bf6c8f2b707412517c097ce04bc49a0ca221787bc44e1049f51f09a2ffb63d22899051988d3a618ba13e9 @@ -12073,6 +13731,15 @@ __metadata: languageName: node linkType: hard +"is-podman@npm:^1.0.1": + version: 1.0.1 + resolution: "is-podman@npm:1.0.1" + bin: + is-podman: cli.js + checksum: 10/9a72f5fced41c49d4ba6b11ef4d134b557b1773de7c5ecee8f875a2ce056d54e965a795a76d8fb5fd47889ff296093cce6063ad3ca83bd26bf4278828cec68e4 + languageName: node + linkType: hard + "is-potential-custom-element-name@npm:^1.0.1": version: 1.0.1 resolution: "is-potential-custom-element-name@npm:1.0.1" @@ -12117,6 +13784,13 @@ __metadata: languageName: node linkType: hard +"is-utf8@npm:^0.2.0": + version: 0.2.1 + resolution: "is-utf8@npm:0.2.1" + checksum: 10/167ccd2be869fc228cc62c1a28df4b78c6b5485d15a29027d3b5dceb09b383e86a3522008b56dcac14b592b22f0a224388718c2505027a994fd8471465de54b3 + languageName: node + linkType: hard + "is-wsl@npm:^2.1.1, is-wsl@npm:^2.2.0": version: 2.2.0 resolution: "is-wsl@npm:2.2.0" @@ -13034,6 +14708,13 @@ __metadata: languageName: node linkType: hard +"js-tokens@npm:^3.0.0": + version: 3.0.2 + resolution: "js-tokens@npm:3.0.2" + checksum: 10/a2d47dbe77c2d7d1abd99f25fcec61c825797e5775a187101879c4fb8e7bbbf89eb83bd315157b92c35d5eed5951962a47b1fedc8c778824b5d95cfb164a310c + languageName: node + linkType: hard + "js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0": version: 4.0.0 resolution: "js-tokens@npm:4.0.0" @@ -13165,7 +14846,7 @@ __metadata: languageName: node linkType: hard -"jsesc@npm:^3.0.2": +"jsesc@npm:^3.0.2, jsesc@npm:~3.1.0": version: 3.1.0 resolution: "jsesc@npm:3.1.0" bin: @@ -13248,7 +14929,7 @@ __metadata: languageName: node linkType: hard -"json5@npm:^2.2.3": +"json5@npm:^2.2.2, json5@npm:^2.2.3": version: 2.2.3 resolution: "json5@npm:2.2.3" bin: @@ -13463,6 +15144,15 @@ __metadata: languageName: node linkType: hard +"linux-platform-info@npm:^0.0.3": + version: 0.0.3 + resolution: "linux-platform-info@npm:0.0.3" + dependencies: + os-family: "npm:^1.0.0" + checksum: 10/12622e35e93e28154814dc177b726f089aa2e57afb6528244e050c57e99275b1e02e864a45a0892f18de7d71817cc3c59904536f862ff98c073669c2b26e1d8d + languageName: node + linkType: hard + "liquid-json@npm:0.3.1": version: 0.3.1 resolution: "liquid-json@npm:0.3.1" @@ -13591,7 +15281,7 @@ __metadata: languageName: node linkType: hard -"lodash@npm:^4.18.1": +"lodash@npm:4.6.1 || ^4.16.1, lodash@npm:^4.14.0, lodash@npm:^4.17.15, lodash@npm:^4.18.1": version: 4.18.1 resolution: "lodash@npm:4.18.1" checksum: 10/306fea53dfd39dad1f03d45ba654a2405aebd35797b673077f401edb7df2543623dc44b9effbb98f69b32152295fff725a4cec99c684098947430600c6af0c3f @@ -13608,6 +15298,18 @@ __metadata: languageName: node linkType: hard +"log-update-async-hook@npm:^2.0.7": + version: 2.0.7 + resolution: "log-update-async-hook@npm:2.0.7" + dependencies: + ansi-escapes: "npm:^4.3.2" + async-exit-hook: "npm:^1.1.2" + onetime: "npm:^2.0.1" + wrap-ansi: "npm:^7.0.0" + checksum: 10/ade8430b1efba48a8d158ac3edaa62f7414e3291489c2ad9abe0ccdd16a63018c522481501d6c785e3136caa4db7535002d7e5da1238eb87f3d61ac4fc3d2519 + languageName: node + linkType: hard + "log-update@npm:^4.0.0": version: 4.0.0 resolution: "log-update@npm:4.0.0" @@ -13663,6 +15365,13 @@ __metadata: languageName: node linkType: hard +"lru-cache@npm:11.0.2": + version: 11.0.2 + resolution: "lru-cache@npm:11.0.2" + checksum: 10/25fcb66e9d91eaf17227c6abfe526a7bed5903de74f93bfde380eb8a13410c5e8d3f14fe447293f3f322a7493adf6f9f015c6f1df7a235ff24ec30f366e1c058 + languageName: node + linkType: hard + "lru-cache@npm:^10.0.1": version: 10.2.0 resolution: "lru-cache@npm:10.2.0" @@ -13725,6 +15434,13 @@ __metadata: languageName: node linkType: hard +"macos-release@npm:^3.0.1": + version: 3.4.0 + resolution: "macos-release@npm:3.4.0" + checksum: 10/f4c0cb8b3f93b05d73c502b4bbe2b811c44facfc9bd072c13a30ff2a8ba1cad5d9de517d10be8b31e2b917643245a81587a2eec8300e66a7364419d11402ab02 + languageName: node + linkType: hard + "magic-string@npm:^0.30.21": version: 0.30.21 resolution: "magic-string@npm:0.30.21" @@ -13744,6 +15460,15 @@ __metadata: languageName: node linkType: hard +"make-dir@npm:^3.0.0": + version: 3.1.0 + resolution: "make-dir@npm:3.1.0" + dependencies: + semver: "npm:^6.0.0" + checksum: 10/484200020ab5a1fdf12f393fe5f385fc8e4378824c940fba1729dcd198ae4ff24867bc7a5646331e50cead8abff5d9270c456314386e629acec6dff4b8016b78 + languageName: node + linkType: hard + "make-dir@npm:^4.0.0": version: 4.0.0 resolution: "make-dir@npm:4.0.0" @@ -13804,6 +15529,15 @@ __metadata: languageName: node linkType: hard +"match-url-wildcard@npm:0.0.4": + version: 0.0.4 + resolution: "match-url-wildcard@npm:0.0.4" + dependencies: + escape-string-regexp: "npm:^1.0.5" + checksum: 10/647e29a52244fd255e9a7d8c15f9d9f8daa6fac4459f7107cd4a8c28630b1e20f9c3b6d9e0e584fe0d770343f79f961af879410b9e22b0633022d6a21bcd890a + languageName: node + linkType: hard + "math-intrinsics@npm:^1.1.0": version: 1.1.0 resolution: "math-intrinsics@npm:1.1.0" @@ -13850,6 +15584,15 @@ __metadata: languageName: node linkType: hard +"merge-stream@npm:^1.0.1": + version: 1.0.1 + resolution: "merge-stream@npm:1.0.1" + dependencies: + readable-stream: "npm:^2.0.1" + checksum: 10/3be7887dffd8899da0f930c0f85812ab8993252f467dcd61e60a8d085836ebbb23756b8e481a7f71824206342afe1b1a2b80c05a1cd0ed0e792a09c5812a9082 + languageName: node + linkType: hard + "merge-stream@npm:^2.0.0": version: 2.0.0 resolution: "merge-stream@npm:2.0.0" @@ -13857,6 +15600,13 @@ __metadata: languageName: node linkType: hard +"merge2@npm:^1.2.3, merge2@npm:^1.3.0, merge2@npm:^1.4.1": + version: 1.4.1 + resolution: "merge2@npm:1.4.1" + checksum: 10/7268db63ed5169466540b6fb947aec313200bcf6d40c5ab722c22e242f651994619bcd85601602972d3c85bd2cc45a358a4c61937e9f11a061919a1da569b0c2 + languageName: node + linkType: hard + "metro-babel-transformer@npm:0.81.0": version: 0.81.0 resolution: "metro-babel-transformer@npm:0.81.0" @@ -14332,6 +16082,13 @@ __metadata: languageName: node linkType: hard +"mime-db@npm:^1.41.0": + version: 1.54.0 + resolution: "mime-db@npm:1.54.0" + checksum: 10/9e7834be3d66ae7f10eaa69215732c6d389692b194f876198dca79b2b90cbf96688d9d5d05ef7987b20f749b769b11c01766564264ea5f919c88b32a29011311 + languageName: node + linkType: hard + "mime-format@npm:2.0.1": version: 2.0.1 resolution: "mime-format@npm:2.0.1" @@ -14377,6 +16134,22 @@ __metadata: languageName: node linkType: hard +"mime@npm:~1.4.1": + version: 1.4.1 + resolution: "mime@npm:1.4.1" + bin: + mime: cli.js + checksum: 10/94eccd9d1a849a99aee8cca6a684db13cd35475a3938b766e43c6846a0ecfc7052ca31786a2038aa851c0061fce907794630595e7871c6df3e6a99885282f502 + languageName: node + linkType: hard + +"mimic-fn@npm:^1.0.0": + version: 1.2.0 + resolution: "mimic-fn@npm:1.2.0" + checksum: 10/69c08205156a1f4906d9c46f9b4dc08d18a50176352e77fdeb645cedfe9f20c0b19865d465bd2dec27a5c432347f24dc07fc3695e11159d193f892834233e939 + languageName: node + linkType: hard + "mimic-fn@npm:^2.1.0": version: 2.1.0 resolution: "mimic-fn@npm:2.1.0" @@ -14436,7 +16209,7 @@ __metadata: languageName: node linkType: hard -"minimist@npm:^1.2.5, minimist@npm:^1.2.6, minimist@npm:^1.2.8": +"minimist@npm:^1.1.0, minimist@npm:^1.2.5, minimist@npm:^1.2.6, minimist@npm:^1.2.8": version: 1.2.8 resolution: "minimist@npm:1.2.8" checksum: 10/908491b6cc15a6c440ba5b22780a0ba89b9810e1aea684e253e43c4e3b8d56ec1dcdd7ea96dde119c29df59c936cde16062159eae4225c691e19c70b432b6e6f @@ -14613,7 +16386,14 @@ __metadata: languageName: node linkType: hard -"moment@npm:^2.19.3": +"moment-duration-format-commonjs@npm:^1.0.0": + version: 1.0.1 + resolution: "moment-duration-format-commonjs@npm:1.0.1" + checksum: 10/c454edcf5f8f0907c295b419e81bd2bbe53a240cdc857e20b8a84780158092a67cd1787fa8a8c9aba4295d8cbc288780e4bea1c28edf58046c11eba12145bbed + languageName: node + linkType: hard + +"moment@npm:^2.14.1, moment@npm:^2.19.3, moment@npm:^2.29.4": version: 2.30.1 resolution: "moment@npm:2.30.1" checksum: 10/ae42d876d4ec831ef66110bdc302c0657c664991e45cf2afffc4b0f6cd6d251dde11375c982a5c0564ccc0fa593fc564576ddceb8c8845e87c15f58aa6baca69 @@ -14740,6 +16520,15 @@ __metadata: languageName: node linkType: hard +"mustache@npm:^2.1.1, mustache@npm:^2.1.2, mustache@npm:^2.2.1": + version: 2.3.2 + resolution: "mustache@npm:2.3.2" + bin: + mustache: ./bin/mustache + checksum: 10/1b3f0599a670b722f43ad4e74f8ce415ca9783870548d5fa9871ff5ce5706d83dbe60830150950f9da8b3076e491f7b50eec3cbd382c005b1f7170c1d3981460 + languageName: node + linkType: hard + "mute-stream@npm:0.0.8": version: 0.0.8 resolution: "mute-stream@npm:0.0.8" @@ -14778,6 +16567,15 @@ __metadata: languageName: node linkType: hard +"nanoid@npm:^3.1.12, nanoid@npm:^3.1.31": + version: 3.3.12 + resolution: "nanoid@npm:3.3.12" + bin: + nanoid: bin/nanoid.cjs + checksum: 10/6eec280694e2088d18fb802b1e3bfc4578e27b665b7ecfbe36c7356612fea2f814277056e671e2a1529dff551588a652efdc0bfa39f8a3185bc2247be311872e + languageName: node + linkType: hard + "nanoid@npm:^3.3.11": version: 3.3.11 resolution: "nanoid@npm:3.3.11" @@ -15004,6 +16802,13 @@ __metadata: languageName: node linkType: hard +"node-releases@npm:^2.0.36": + version: 2.0.44 + resolution: "node-releases@npm:2.0.44" + checksum: 10/c6bc49ac7f0855820e3649e7a31386929f3a3b364e40ad9e9933a9ef0858f4e129a10316037482215dbfd2b1756b6e6759403687ad3d244cb14b442e34d3afb2 + languageName: node + linkType: hard + "node-stream-zip@npm:^1.15.0": version: 1.15.0 resolution: "node-stream-zip@npm:1.15.0" @@ -15201,6 +17006,15 @@ __metadata: languageName: node linkType: hard +"onetime@npm:^2.0.1": + version: 2.0.1 + resolution: "onetime@npm:2.0.1" + dependencies: + mimic-fn: "npm:^1.0.0" + checksum: 10/5b4f6079e6b4973244017e157833ab5a7a3de4bd2612d69411e3ee46f61fe8bb57b7c2e243b0b23dbaa5bad7641a15f9100a5c80295ff64c0d87aab5d1576ef9 + languageName: node + linkType: hard + "onetime@npm:^5.1.0, onetime@npm:^5.1.2": version: 5.1.2 resolution: "onetime@npm:5.1.2" @@ -15266,6 +17080,13 @@ __metadata: languageName: node linkType: hard +"os-family@npm:^1.0.0, os-family@npm:^1.1.0": + version: 1.1.0 + resolution: "os-family@npm:1.1.0" + checksum: 10/866dfcdcd31fa57539e60f8a45f55493d61c60b9ac953cf811b7f838d509f0d9edfd77b379a42d14f3c1e02aa50557ae37d0a9f87943c6ac3c2c1e71ebe6d2ad + languageName: node + linkType: hard + "ospath@npm:^1.2.2": version: 1.2.2 resolution: "ospath@npm:1.2.2" @@ -15451,6 +17272,13 @@ __metadata: languageName: node linkType: hard +"p-finally@npm:^2.0.0": + version: 2.0.1 + resolution: "p-finally@npm:2.0.1" + checksum: 10/6306a2851c3b28f8b603624f395ae84dce76970498fed8aa6aae2d930595053746edf1e4ee0c4b78a97410d84aa4504d63179f5310d555511ecd226f53ed1e8e + languageName: node + linkType: hard + "p-limit@npm:^2.0.0, p-limit@npm:^2.2.0": version: 2.3.0 resolution: "p-limit@npm:2.3.0" @@ -15523,6 +17351,22 @@ __metadata: languageName: node linkType: hard +"p-map@npm:^1.1.1": + version: 1.2.0 + resolution: "p-map@npm:1.2.0" + checksum: 10/e7fd1175f5be449e3664a2fbceb4f53a5c1a4a1f078387f5e83dc4110b1421fd01e172c9de97ca03ae2b95401270918fd6f76778c0b52bd70edcdc2202d26ea8 + languageName: node + linkType: hard + +"p-map@npm:^3.0.0": + version: 3.0.0 + resolution: "p-map@npm:3.0.0" + dependencies: + aggregate-error: "npm:^3.0.0" + checksum: 10/d4a0664d2af05d7e5f6f342e6493d4cad48f7398ac803c5066afb1f8d2010bfc2a83d935689437288f7b1a743772085b8fa0909a8282b5df4210bcda496c37c8 + languageName: node + linkType: hard + "p-map@npm:^4.0.0": version: 4.0.0 resolution: "p-map@npm:4.0.0" @@ -15623,7 +17467,7 @@ __metadata: languageName: node linkType: hard -"parse5@npm:7.3.0, parse5@npm:^7.2.1, parse5@npm:^7.3.0": +"parse5@npm:7.3.0, parse5@npm:^7.1.2, parse5@npm:^7.2.1, parse5@npm:^7.3.0": version: 7.3.0 resolution: "parse5@npm:7.3.0" dependencies: @@ -15632,6 +17476,20 @@ __metadata: languageName: node linkType: hard +"parse5@npm:^1.5.0": + version: 1.5.1 + resolution: "parse5@npm:1.5.1" + checksum: 10/e919ca870f24ef9c6761cfe5b51205a44e490a3c39b135b1123e47a9146e7142babd785847e3d6088e1ef5363a01690c478e8655daf2b8d4e5e7213cbcc9fdd0 + languageName: node + linkType: hard + +"parse5@npm:^2.1.5": + version: 2.2.3 + resolution: "parse5@npm:2.2.3" + checksum: 10/79536063a55ec905f7fe4b7080804cc427ac1c1b6bce43753be1122cafa5b6664d16bc6e2034175afa1f9c259eb635bc9b9ba378126841f309f3b82b26444d1b + languageName: node + linkType: hard + "parse5@npm:^7.0.0": version: 7.1.2 resolution: "parse5@npm:7.1.2" @@ -15686,6 +17544,13 @@ __metadata: languageName: node linkType: hard +"path-is-inside@npm:^1.0.1": + version: 1.0.2 + resolution: "path-is-inside@npm:1.0.2" + checksum: 10/0b5b6c92d3018b82afb1f74fe6de6338c4c654de4a96123cb343f2b747d5606590ac0c890f956ed38220a4ab59baddfd7b713d78a62d240b20b14ab801fa02cb + languageName: node + linkType: hard + "path-key@npm:^3.0.0, path-key@npm:^3.1.0": version: 3.1.1 resolution: "path-key@npm:3.1.1" @@ -15737,6 +17602,13 @@ __metadata: languageName: node linkType: hard +"path-type@npm:^4.0.0": + version: 4.0.0 + resolution: "path-type@npm:4.0.0" + checksum: 10/5b1e2daa247062061325b8fdbfd1fb56dde0a448fb1455453276ea18c60685bdad23a445dc148cf87bc216be1573357509b7d4060494a6fd768c7efad833ee45 + languageName: node + linkType: hard + "pathe@npm:^2.0.3": version: 2.0.3 resolution: "pathe@npm:2.0.3" @@ -15802,13 +17674,20 @@ __metadata: languageName: node linkType: hard -"pify@npm:^2.2.0": +"pify@npm:^2.0.0, pify@npm:^2.2.0, pify@npm:^2.3.0": version: 2.3.0 resolution: "pify@npm:2.3.0" checksum: 10/9503aaeaf4577acc58642ad1d25c45c6d90288596238fb68f82811c08104c800e5a7870398e9f015d82b44ecbcbef3dc3d4251a1cbb582f6e5959fe09884b2ba languageName: node linkType: hard +"pify@npm:^3.0.0": + version: 3.0.0 + resolution: "pify@npm:3.0.0" + checksum: 10/668c1dc8d9fc1b34b9ce3b16ba59deb39d4dc743527bf2ed908d2b914cb8ba40aa5ba6960b27c417c241531c5aafd0598feeac2d50cb15278cf9863fa6b02a77 + languageName: node + linkType: hard + "pify@npm:^4.0.1": version: 4.0.1 resolution: "pify@npm:4.0.1" @@ -15816,6 +17695,38 @@ __metadata: languageName: node linkType: hard +"pinkie-promise@npm:^1.0.0": + version: 1.0.0 + resolution: "pinkie-promise@npm:1.0.0" + dependencies: + pinkie: "npm:^1.0.0" + checksum: 10/9dc945fd7762a9f6ed5d00388fb700df9c420e39f9bf73e7bc7f2864c39cb6bab5f9c8727f2400f66d4781eebf43c1f9ade58c33b84d6970c267d496a7df8ac7 + languageName: node + linkType: hard + +"pinkie-promise@npm:^2.0.0": + version: 2.0.1 + resolution: "pinkie-promise@npm:2.0.1" + dependencies: + pinkie: "npm:^2.0.0" + checksum: 10/b53a4a2e73bf56b6f421eef711e7bdcb693d6abb474d57c5c413b809f654ba5ee750c6a96dd7225052d4b96c4d053cdcb34b708a86fceed4663303abee52fcca + languageName: node + linkType: hard + +"pinkie@npm:2.0.4, pinkie@npm:^2.0.0, pinkie@npm:^2.0.1, pinkie@npm:^2.0.4": + version: 2.0.4 + resolution: "pinkie@npm:2.0.4" + checksum: 10/11d207257a044d1047c3755374d36d84dda883a44d030fe98216bf0ea97da05a5c9d64e82495387edeb9ee4f52c455bca97cdb97629932be65e6f54b29f5aec8 + languageName: node + linkType: hard + +"pinkie@npm:^1.0.0": + version: 1.0.0 + resolution: "pinkie@npm:1.0.0" + checksum: 10/3fe1d9ebf030bf48cbee7cfbf61371e95a67a24162a8a9947c7a529c58dc575f95136ee7e5f10e1c2513dc7e022b6e6c4d74eaff1b69aee6f6a57b358e3b1a33 + languageName: node + linkType: hard + "pirates@npm:^4.0.4, pirates@npm:^4.0.6": version: 4.0.6 resolution: "pirates@npm:4.0.6" @@ -15859,6 +17770,15 @@ __metadata: languageName: node linkType: hard +"pkg-up@npm:^3.1.0": + version: 3.1.0 + resolution: "pkg-up@npm:3.1.0" + dependencies: + find-up: "npm:^3.0.0" + checksum: 10/5bac346b7c7c903613c057ae3ab722f320716199d753f4a7d053d38f2b5955460f3e6ab73b4762c62fd3e947f58e04f1343e92089e7bb6091c90877406fcd8c8 + languageName: node + linkType: hard + "playwright-core@npm:1.60.0": version: 1.60.0 resolution: "playwright-core@npm:1.60.0" @@ -15883,6 +17803,13 @@ __metadata: languageName: node linkType: hard +"pngjs@npm:^3.3.1": + version: 3.4.0 + resolution: "pngjs@npm:3.4.0" + checksum: 10/0e9227a413ce4b4f5ebae4465b366efc9ca545c74304f3cc30ba2075159eb12f01a6a821c4f61f2b048bd85356abbe6d2109df7052a9030ef4d7a42d99760af6 + languageName: node + linkType: hard + "pngjs@npm:^7.0.0": version: 7.0.0 resolution: "pngjs@npm:7.0.0" @@ -16107,6 +18034,13 @@ __metadata: languageName: node linkType: hard +"pretty-hrtime@npm:^1.0.3": + version: 1.0.3 + resolution: "pretty-hrtime@npm:1.0.3" + checksum: 10/0a462e88a0a3fd3320288fd8307f488974326ae8e13eea8c27f590f8ee767ccb59cf35bcae1cadff241cd8b72f3e373fc76ff1be95243649899bf8c816874af9 + languageName: node + linkType: hard + "pretty-ms@npm:7.0.1": version: 7.0.1 resolution: "pretty-ms@npm:7.0.1" @@ -16187,6 +18121,15 @@ __metadata: languageName: node linkType: hard +"promisify-event@npm:^1.0.0": + version: 1.0.0 + resolution: "promisify-event@npm:1.0.0" + dependencies: + pinkie-promise: "npm:^2.0.0" + checksum: 10/c97a76603d3d582ec60d5c7aa38645652813fc8ad0eed93695a82dcdbfd40868b5b26dd631a717276aad089d72c0e47cdd25f77e26dea09005d2c1d4ffa5a4e6 + languageName: node + linkType: hard + "prompts@npm:^2.4.2": version: 2.4.2 resolution: "prompts@npm:2.4.2" @@ -16274,6 +18217,15 @@ __metadata: languageName: node linkType: hard +"qrcode-terminal@npm:^0.10.0": + version: 0.10.0 + resolution: "qrcode-terminal@npm:0.10.0" + bin: + qrcode-terminal: ./bin/qrcode-terminal.js + checksum: 10/d0d408be600c7e3f57cac66c086508c64796f45d8785ecab2a25d964d0b4b65d60be6991abd2c9b6039879dbfc6253fc861064a62c04d2fe8bce91ab2e81e11e + languageName: node + linkType: hard + "qs@npm:6.14.2": version: 6.14.2 resolution: "qs@npm:6.14.2" @@ -16299,6 +18251,13 @@ __metadata: languageName: node linkType: hard +"queue-microtask@npm:^1.2.2": + version: 1.2.3 + resolution: "queue-microtask@npm:1.2.3" + checksum: 10/72900df0616e473e824202113c3df6abae59150dfb73ed13273503127235320e9c8ca4aaaaccfd58cf417c6ca92a6e68ee9a5c3182886ae949a768639b388a7b + languageName: node + linkType: hard + "queue@npm:6.0.2": version: 6.0.2 resolution: "queue@npm:6.0.2" @@ -16495,6 +18454,15 @@ __metadata: languageName: node linkType: hard +"read-file-relative@npm:^1.2.0": + version: 1.2.0 + resolution: "read-file-relative@npm:1.2.0" + dependencies: + callsite: "npm:^1.0.0" + checksum: 10/95b8f99a313ee5232d287d3cace65d668dca01d80354e203ed26037cdfea9b5da31e3ca2d1c469b2d55f864821c60dc705520fcdc716e5b3d66487ccfeb9c7a4 + languageName: node + linkType: hard + "read-package-json-fast@npm:^4.0.0": version: 4.0.0 resolution: "read-package-json-fast@npm:4.0.0" @@ -16528,7 +18496,7 @@ __metadata: languageName: node linkType: hard -"readable-stream@npm:^2.0.2, readable-stream@npm:~2.3.6": +"readable-stream@npm:^2.0.1, readable-stream@npm:^2.0.2, readable-stream@npm:~2.3.6": version: 2.3.8 resolution: "readable-stream@npm:2.3.8" dependencies: @@ -16634,6 +18602,15 @@ __metadata: languageName: node linkType: hard +"regenerate-unicode-properties@npm:^10.2.2": + version: 10.2.2 + resolution: "regenerate-unicode-properties@npm:10.2.2" + dependencies: + regenerate: "npm:^1.4.2" + checksum: 10/5041ee31185c4700de9dd76783fab9def51c412751190d523d621db5b8e35a6c2d91f1642c12247e7d94f84b8ae388d044baac1e88fc2ba0ac215ca8dc7bed38 + languageName: node + linkType: hard + "regenerate@npm:^1.4.2": version: 1.4.2 resolution: "regenerate@npm:1.4.2" @@ -16703,6 +18680,20 @@ __metadata: languageName: node linkType: hard +"regexpu-core@npm:^6.3.1": + version: 6.4.0 + resolution: "regexpu-core@npm:6.4.0" + dependencies: + regenerate: "npm:^1.4.2" + regenerate-unicode-properties: "npm:^10.2.2" + regjsgen: "npm:^0.8.0" + regjsparser: "npm:^0.13.0" + unicode-match-property-ecmascript: "npm:^2.0.0" + unicode-match-property-value-ecmascript: "npm:^2.2.1" + checksum: 10/bf5f85a502a17f127a1f922270e2ecc1f0dd071ff76a3ec9afcd6b1c2bf7eae1486d1e3b1a6d621aee8960c8b15139e6b5058a84a68e518e1a92b52e9322faf9 + languageName: node + linkType: hard + "regjsgen@npm:^0.8.0": version: 0.8.0 resolution: "regjsgen@npm:0.8.0" @@ -16721,6 +18712,17 @@ __metadata: languageName: node linkType: hard +"regjsparser@npm:^0.13.0": + version: 0.13.1 + resolution: "regjsparser@npm:0.13.1" + dependencies: + jsesc: "npm:~3.1.0" + bin: + regjsparser: bin/parser + checksum: 10/3383e9dab8bc8cd09efcd9538191b1e194b1921438ca69fce833d1a447d0625635229464cbc6cb03f33e5d342f2d343e2738fdac9132e2470bca621e480c02ec + languageName: node + linkType: hard + "regjsparser@npm:^0.9.1": version: 0.9.1 resolution: "regjsparser@npm:0.9.1" @@ -16746,6 +18748,24 @@ __metadata: languageName: node linkType: hard +"repeating@npm:^1.1.0": + version: 1.1.3 + resolution: "repeating@npm:1.1.3" + dependencies: + is-finite: "npm:^1.0.0" + bin: + repeating: cli.js + checksum: 10/a10e45c7794c1bb63789c34b78d6d18be0e40fce02bbfb2e1e01b26a48b6deb8590ecf3bfcfcc22f06a0bcd96e16cd589e8a5434f8332eb8f9d52ea270566498 + languageName: node + linkType: hard + +"replicator@npm:^1.0.5": + version: 1.0.5 + resolution: "replicator@npm:1.0.5" + checksum: 10/df7cb4e2bdda2c7358f69a66b0c8d749757acdd8857a57bb485b0ca3ffe81c54e2728e993f164031bbc4a563f50266f1953f1b45ea1895f2cd5c38808c54366e + languageName: node + linkType: hard + "request-progress@npm:^3.0.0": version: 3.0.0 resolution: "request-progress@npm:3.0.0" @@ -16776,6 +18796,22 @@ __metadata: languageName: node linkType: hard +"reselect@npm:^4.1.7": + version: 4.1.8 + resolution: "reselect@npm:4.1.8" + checksum: 10/199984d9872f71cd207f4aa6e6fd2bd48d95154f7aa9b3aee3398335f39f5491059e732f28c12e9031d5d434adab2c458dc8af5afb6564d0ad37e1644445e09c + languageName: node + linkType: hard + +"resolve-cwd@npm:^1.0.0": + version: 1.0.0 + resolution: "resolve-cwd@npm:1.0.0" + dependencies: + resolve-from: "npm:^2.0.0" + checksum: 10/92ba282fbeddb94bd0254dc1b17855a55a636b1355c119261cf3e034e7014f166b841d03013ece33b05d58923ad28ca0106eaf73e75639806ebeb6b34913b946 + languageName: node + linkType: hard + "resolve-cwd@npm:^3.0.0": version: 3.0.0 resolution: "resolve-cwd@npm:3.0.0" @@ -16785,6 +18821,13 @@ __metadata: languageName: node linkType: hard +"resolve-from@npm:^2.0.0": + version: 2.0.0 + resolution: "resolve-from@npm:2.0.0" + checksum: 10/02db4c30fecddef0efafbafb2d66b96c4a80f91d103d9850be3b85d1feb65b6af6c818d137dc546cea7d0288c21e13aa0fb4580af9af34b08052b3516690c5f3 + languageName: node + linkType: hard + "resolve-from@npm:^3.0.0": version: 3.0.0 resolution: "resolve-from@npm:3.0.0" @@ -16792,6 +18835,13 @@ __metadata: languageName: node linkType: hard +"resolve-from@npm:^4.0.0": + version: 4.0.0 + resolution: "resolve-from@npm:4.0.0" + checksum: 10/91eb76ce83621eea7bbdd9b55121a5c1c4a39e54a9ce04a9ad4517f102f8b5131c2cf07622c738a6683991bf54f2ce178f5a42803ecbd527ddc5105f362cc9e3 + languageName: node + linkType: hard + "resolve-from@npm:^5.0.0": version: 5.0.0 resolution: "resolve-from@npm:5.0.0" @@ -16821,6 +18871,20 @@ __metadata: languageName: node linkType: hard +"resolve@npm:^1.22.1, resolve@npm:^1.22.11": + version: 1.22.12 + resolution: "resolve@npm:1.22.12" + dependencies: + es-errors: "npm:^1.3.0" + is-core-module: "npm:^2.16.1" + path-parse: "npm:^1.0.7" + supports-preserve-symlinks-flag: "npm:^1.0.0" + bin: + resolve: bin/resolve + checksum: 10/1d2a081e4b7198e2a70abd7bbbf8aea5380c2d074b6c870035aab50ebfb7312b6492b3588e752faef83a75147862a3d3e09b222bc9afd536804181fd3a515ef9 + languageName: node + linkType: hard + "resolve@npm:^1.22.10": version: 1.22.10 resolution: "resolve@npm:1.22.10" @@ -16847,6 +18911,20 @@ __metadata: languageName: node linkType: hard +"resolve@patch:resolve@npm%3A^1.22.1#optional!builtin, resolve@patch:resolve@npm%3A^1.22.11#optional!builtin": + version: 1.22.12 + resolution: "resolve@patch:resolve@npm%3A1.22.12#optional!builtin::version=1.22.12&hash=c3c19d" + dependencies: + es-errors: "npm:^1.3.0" + is-core-module: "npm:^2.16.1" + path-parse: "npm:^1.0.7" + supports-preserve-symlinks-flag: "npm:^1.0.0" + bin: + resolve: bin/resolve + checksum: 10/f80ad2c2b6820331cbe079198a184ffce322cfeca140065118066276bc08b03d5fa2c1ce652aeb584ec74050d1f656f46f034cc0dd9300452c5ab7866907f8c0 + languageName: node + linkType: hard + "resolve@patch:resolve@npm%3A^1.22.10#optional!builtin": version: 1.22.10 resolution: "resolve@patch:resolve@npm%3A1.22.10#optional!builtin::version=1.22.10&hash=c3c19d" @@ -16893,6 +18971,13 @@ __metadata: languageName: node linkType: hard +"reusify@npm:^1.0.4": + version: 1.1.0 + resolution: "reusify@npm:1.1.0" + checksum: 10/af47851b547e8a8dc89af144fceee17b80d5beaf5e6f57ed086432d79943434ff67ca526e92275be6f54b6189f6920a24eace75c2657eed32d02c400312b21ec + languageName: node + linkType: hard + "rfdc@npm:^1.3.0": version: 1.3.1 resolution: "rfdc@npm:1.3.1" @@ -16900,7 +18985,18 @@ __metadata: languageName: node linkType: hard -"rimraf@npm:^3.0.2": +"rimraf@npm:^2.2.8": + version: 2.7.1 + resolution: "rimraf@npm:2.7.1" + dependencies: + glob: "npm:^7.1.3" + bin: + rimraf: ./bin.js + checksum: 10/4586c296c736483e297da7cffd19475e4a3e41d07b1ae124aad5d687c79e4ffa716bdac8732ed1db942caf65271cee9dd39f8b639611de161a2753e2112ffe1d + languageName: node + linkType: hard + +"rimraf@npm:^3.0.0, rimraf@npm:^3.0.2": version: 3.0.2 resolution: "rimraf@npm:3.0.2" dependencies: @@ -17062,6 +19158,15 @@ __metadata: languageName: node linkType: hard +"run-parallel@npm:^1.1.9": + version: 1.2.0 + resolution: "run-parallel@npm:1.2.0" + dependencies: + queue-microtask: "npm:^1.2.2" + checksum: 10/cb4f97ad25a75ebc11a8ef4e33bb962f8af8516bb2001082ceabd8902e15b98f4b84b4f8a9b222e5d57fc3bd1379c483886ed4619367a7680dad65316993021d + languageName: node + linkType: hard + "rxjs@npm:^7.5.1, rxjs@npm:^7.5.5": version: 7.8.1 resolution: "rxjs@npm:7.8.1" @@ -17106,6 +19211,15 @@ __metadata: languageName: node linkType: hard +"sanitize-filename@npm:^1.6.0": + version: 1.6.4 + resolution: "sanitize-filename@npm:1.6.4" + dependencies: + truncate-utf8-bytes: "npm:^1.0.0" + checksum: 10/9fb32f8ae51b1931eb4f780ac140f3fa9ccbfd8c746231d426cd5f0bc95608557e6e2540186bab81a702b98cd301b622f4a80d3263d82680bebca90a38158b38 + languageName: node + linkType: hard + "sanitize-filename@npm:^1.6.1": version: 1.6.3 resolution: "sanitize-filename@npm:1.6.3" @@ -17213,7 +19327,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:^6.3.0, semver@npm:^6.3.1": +"semver@npm:^6.0.0, semver@npm:^6.3.0, semver@npm:^6.3.1": version: 6.3.1 resolution: "semver@npm:6.3.1" bin: @@ -17316,6 +19430,13 @@ __metadata: languageName: node linkType: hard +"set-cookie-parser@npm:^2.5.1": + version: 2.7.2 + resolution: "set-cookie-parser@npm:2.7.2" + checksum: 10/4b6f5ec4e3fa1aef471d9207117704d217ba6bb6443400b41f5ea945c4a7f6fc08e405a122c1a32b4ebde41f06dea75e02c2af87cee9abb27f3e3fe911e5839b + languageName: node + linkType: hard + "set-function-length@npm:^1.2.1": version: 1.2.1 resolution: "set-function-length@npm:1.2.1" @@ -17859,6 +19980,15 @@ __metadata: languageName: node linkType: hard +"strip-bom@npm:^2.0.0": + version: 2.0.0 + resolution: "strip-bom@npm:2.0.0" + dependencies: + is-utf8: "npm:^0.2.0" + checksum: 10/08efb746bc67b10814cd03d79eb31bac633393a782e3f35efbc1b61b5165d3806d03332a97f362822cf0d4dd14ba2e12707fcff44fe1c870c48a063a0c9e4944 + languageName: node + linkType: hard + "strip-bom@npm:^4.0.0": version: 4.0.0 resolution: "strip-bom@npm:4.0.0" @@ -18014,6 +20144,262 @@ __metadata: languageName: node linkType: hard +"testcafe-browser-tools@npm:2.0.26": + version: 2.0.26 + resolution: "testcafe-browser-tools@npm:2.0.26" + dependencies: + array-find: "npm:^1.0.0" + debug: "npm:^4.3.1" + dedent: "npm:^0.7.0" + del: "npm:^5.1.0" + execa: "npm:^3.3.0" + fs-extra: "npm:^10.0.0" + graceful-fs: "npm:^4.1.11" + linux-platform-info: "npm:^0.0.3" + lodash: "npm:^4.17.15" + mkdirp: "npm:^0.5.1" + mustache: "npm:^2.1.2" + nanoid: "npm:^3.1.31" + os-family: "npm:^1.0.0" + pify: "npm:^2.3.0" + pinkie: "npm:^2.0.1" + read-file-relative: "npm:^1.2.0" + which-promise: "npm:^1.0.0" + checksum: 10/590f1030ac2e7eb5717d119484266a00d8b1acf5125145fd7935b5d792605573c2a03f6c953f3bc7525763bdf3856f799f4dcdcf10844b034108b5c23e8c9e43 + languageName: node + linkType: hard + +"testcafe-hammerhead@npm:31.7.7, testcafe-hammerhead@npm:>=19.4.0": + version: 31.7.7 + resolution: "testcafe-hammerhead@npm:31.7.7" + dependencies: + "@adobe/css-tools": "npm:^4.3.0-rc.1" + "@electron/asar": "npm:^3.2.3" + acorn-hammerhead: "npm:0.6.2" + bowser: "npm:1.6.0" + crypto-md5: "npm:^1.0.0" + debug: "npm:4.3.1" + esotope-hammerhead: "npm:0.6.9" + http-cache-semantics: "npm:^4.1.0" + httpntlm: "npm:^1.8.10" + iconv-lite: "npm:0.5.1" + lodash: "npm:^4.17.21" + lru-cache: "npm:11.0.2" + match-url-wildcard: "npm:0.0.4" + merge-stream: "npm:^1.0.1" + mime: "npm:~1.4.1" + mustache: "npm:^2.1.1" + nanoid: "npm:^3.1.12" + os-family: "npm:^1.0.0" + parse5: "npm:^7.1.2" + pinkie: "npm:2.0.4" + read-file-relative: "npm:^1.2.0" + semver: "npm:7.5.3" + tough-cookie: "npm:4.1.3" + tunnel-agent: "npm:0.6.0" + ws: "npm:^7.4.6" + checksum: 10/899c3cafe3ecfa0fd3d9129a7da3e684254ab51b1cd166c42d3666f55ab2cc00866cffd1cb34139dd990f26c05f675c9947a526e58a48e90b839b30659def5e5 + languageName: node + linkType: hard + +"testcafe-legacy-api@npm:5.1.8": + version: 5.1.8 + resolution: "testcafe-legacy-api@npm:5.1.8" + dependencies: + async: "npm:3.2.3" + dedent: "npm:^0.6.0" + highlight-es: "npm:^1.0.0" + lodash: "npm:^4.14.0" + moment: "npm:^2.14.1" + mustache: "npm:^2.2.1" + os-family: "npm:^1.0.0" + parse5: "npm:^2.1.5" + pify: "npm:^2.3.0" + pinkie: "npm:^2.0.1" + read-file-relative: "npm:^1.2.0" + strip-bom: "npm:^2.0.0" + testcafe-hammerhead: "npm:>=19.4.0" + checksum: 10/0e7e897eecc074bdf06e64fda2fd0fa078f0035374d3f90c5daf8e66d835dade65a1527d1c368084ecd73ce122172b7593bb963af6fafdbe4cf4fd76a5c724fa + languageName: node + linkType: hard + +"testcafe-reporter-allure@workspace:packages/testcafe-reporter-allure": + version: 0.0.0-use.local + resolution: "testcafe-reporter-allure@workspace:packages/testcafe-reporter-allure" + dependencies: + "@babel/cli": "npm:^7.28.0" + "@babel/core": "npm:^7.28.0" + "@babel/preset-env": "npm:^7.28.0" + "@babel/preset-typescript": "npm:^7.27.1" + "@types/babel__core": "npm:^7.20.5" + "@types/babel__preset-env": "npm:^7.10.0" + "@types/node": "npm:^20.19.0" + allure-commandline: "npm:^2.29.0" + allure-js-commons: "workspace:*" + allure-vitest: "workspace:*" + babel-plugin-add-module-exports: "npm:^1.0.4" + npm-run-all2: "npm:^8.0.0" + rimraf: "npm:^6.0.0" + testcafe: "npm:^3.7.2" + typescript: "npm:^6.0.3" + vitest: "npm:^4.0.18" + peerDependencies: + testcafe: ">=2.5.0" + peerDependenciesMeta: + testcafe: + optional: true + languageName: unknown + linkType: soft + +"testcafe-reporter-json@npm:^2.1.0": + version: 2.2.0 + resolution: "testcafe-reporter-json@npm:2.2.0" + checksum: 10/7edb8cfcf8b2bba7728a384854f3f50ba5b0febca608d117fbe455cc79d0dfb5d628ff004d929f70bfe8b1b7a854aee26eb9cbadc3426d614671426ece469843 + languageName: node + linkType: hard + +"testcafe-reporter-list@npm:^2.2.0": + version: 2.2.0 + resolution: "testcafe-reporter-list@npm:2.2.0" + checksum: 10/ba473ca217246fcd5757200ae65785925188497a65c9b1e0b56a8db2e186a176daf51e14e2b42471d1ce0abcaad89cadea42a01a59779570f770b6beb0e60530 + languageName: node + linkType: hard + +"testcafe-reporter-minimal@npm:^2.2.0": + version: 2.2.0 + resolution: "testcafe-reporter-minimal@npm:2.2.0" + checksum: 10/1919a793c0fa9c834a78c13cb3c568a6325742303eb9de50242d12dfe7fd26d77f6fe155c59d24408fcb73e8b14cba345e09ed0db030ce7cfa0e04d7a23bbb3b + languageName: node + linkType: hard + +"testcafe-reporter-spec@npm:^2.2.0": + version: 2.2.0 + resolution: "testcafe-reporter-spec@npm:2.2.0" + checksum: 10/c17b6be1d8d0c5ac03cbdb6e9fd4e802d7469392d3174044121ec8ffa7602a493b735ddbbc35532802631c604214e77bf1253d04dd0800d20d3fc1ec41042acf + languageName: node + linkType: hard + +"testcafe-reporter-xunit@npm:^2.2.1": + version: 2.2.3 + resolution: "testcafe-reporter-xunit@npm:2.2.3" + checksum: 10/d5b9654d64331c19197213e34b355497636db56c9d9d77992b18743884dc612529e951abb4b4e6e691b20fee603ee012579dcdbc532cc53d9c523131756c2f3a + languageName: node + linkType: hard + +"testcafe-selector-generator@npm:^0.1.0": + version: 0.1.0 + resolution: "testcafe-selector-generator@npm:0.1.0" + checksum: 10/d0d6cb603b632de35ed0d013d3473eb164c3ae387efe7829c4766305d82ce60193368eeccc4a6b782e2e47a777a63f5f219b628889fc804d30f397012bfb7303 + languageName: node + linkType: hard + +"testcafe@npm:^3.7.2": + version: 3.7.4 + resolution: "testcafe@npm:3.7.4" + dependencies: + "@babel/core": "npm:^7.23.2" + "@babel/plugin-proposal-decorators": "npm:^7.23.2" + "@babel/plugin-syntax-dynamic-import": "npm:^7.8.3" + "@babel/plugin-syntax-import-meta": "npm:^7.10.4" + "@babel/plugin-transform-async-generator-functions": "npm:^7.25.4" + "@babel/plugin-transform-async-to-generator": "npm:^7.22.5" + "@babel/plugin-transform-class-properties": "npm:^7.25.4" + "@babel/plugin-transform-class-static-block": "npm:^7.24.7" + "@babel/plugin-transform-exponentiation-operator": "npm:^7.22.5" + "@babel/plugin-transform-for-of": "npm:^7.22.15" + "@babel/plugin-transform-object-rest-spread": "npm:^7.24.7" + "@babel/plugin-transform-private-methods": "npm:^7.25.4" + "@babel/plugin-transform-runtime": "npm:7.23.3" + "@babel/preset-env": "npm:^7.23.2" + "@babel/preset-flow": "npm:^7.22.15" + "@babel/preset-react": "npm:^7.22.15" + "@babel/runtime": "npm:^7.23.2" + "@devexpress/bin-v8-flags-filter": "npm:^1.3.0" + "@devexpress/callsite-record": "npm:^4.1.6" + "@types/node": "npm:20.14.5" + address: "npm:^2.0.2" + async-exit-hook: "npm:^1.1.2" + babel-plugin-module-resolver: "npm:5.0.0" + babel-plugin-syntax-trailing-function-commas: "npm:^6.22.0" + bowser: "npm:^2.8.1" + callsite: "npm:^1.0.0" + chai: "npm:4.3.4" + chalk: "npm:^2.3.0" + chrome-remote-interface: "npm:^0.32.2" + coffeescript: "npm:^2.3.1" + commander: "npm:^8.3.0" + debug: "npm:^4.3.1" + dedent: "npm:^0.4.0" + del: "npm:^3.0.0" + device-specs: "npm:^1.0.0" + devtools-protocol: "npm:0.0.1109433" + diff: "npm:^8.0.3" + elegant-spinner: "npm:^1.0.1" + email-validator: "npm:^2.0.4" + emittery: "npm:^0.4.1" + error-stack-parser: "npm:^2.1.4" + execa: "npm:^4.0.3" + get-os-info: "npm:^1.0.2" + globby: "npm:^11.0.4" + graceful-fs: "npm:^4.1.11" + graphlib: "npm:^2.1.5" + http-status-codes: "npm:^2.2.0" + humanize-duration: "npm:^3.25.0" + import-lazy: "npm:^3.1.0" + indent-string: "npm:^1.2.2" + is-ci: "npm:^1.0.10" + is-docker: "npm:^2.0.0" + is-glob: "npm:^2.0.1" + is-podman: "npm:^1.0.1" + is-stream: "npm:^2.0.0" + json5: "npm:^2.2.2" + lodash: "npm:^4.17.21" + log-update-async-hook: "npm:^2.0.7" + make-dir: "npm:^3.0.0" + mime-db: "npm:^1.41.0" + moment: "npm:^2.29.4" + moment-duration-format-commonjs: "npm:^1.0.0" + mustache: "npm:^2.1.2" + nanoid: "npm:^3.1.31" + os-family: "npm:^1.0.0" + parse5: "npm:^1.5.0" + pify: "npm:^2.3.0" + pinkie: "npm:^2.0.4" + pngjs: "npm:^3.3.1" + pretty-hrtime: "npm:^1.0.3" + promisify-event: "npm:^1.0.0" + prompts: "npm:^2.4.2" + qrcode-terminal: "npm:^0.10.0" + read-file-relative: "npm:^1.2.0" + replicator: "npm:^1.0.5" + resolve-cwd: "npm:^1.0.0" + resolve-from: "npm:^4.0.0" + sanitize-filename: "npm:^1.6.0" + semver: "npm:^7.5.3" + set-cookie-parser: "npm:^2.5.1" + source-map-support: "npm:^0.5.16" + strip-bom: "npm:^2.0.0" + testcafe-browser-tools: "npm:2.0.26" + testcafe-hammerhead: "npm:31.7.7" + testcafe-legacy-api: "npm:5.1.8" + testcafe-reporter-json: "npm:^2.1.0" + testcafe-reporter-list: "npm:^2.2.0" + testcafe-reporter-minimal: "npm:^2.2.0" + testcafe-reporter-spec: "npm:^2.2.0" + testcafe-reporter-xunit: "npm:^2.2.1" + testcafe-selector-generator: "npm:^0.1.0" + time-limit-promise: "npm:^1.0.2" + tmp: "npm:0.2.5" + tree-kill: "npm:^1.2.2" + typescript: "npm:4.7.4" + unquote: "npm:^1.1.1" + url-to-options: "npm:^2.0.0" + bin: + testcafe: bin/testcafe-with-v8-flag-filter.js + checksum: 10/ea2a366a16de2a0b92f2703f6304f1cd34b7f7e8bcde0a9bea226a5c746e5ae6b2165181ba82241ec25bda05c22621c25d076098714cfc06a43a1820195f4ddf + languageName: node + linkType: hard + "text-hex@npm:1.0.x": version: 1.0.0 resolution: "text-hex@npm:1.0.0" @@ -18070,6 +20456,13 @@ __metadata: languageName: node linkType: hard +"time-limit-promise@npm:^1.0.2": + version: 1.0.4 + resolution: "time-limit-promise@npm:1.0.4" + checksum: 10/8a76b40040a031e2b0bf34b2f637a81f04df5656531f0669b5749472404ae1a21cb0d3a3361770e12d282f2f2f92e29804c8ea3bca2864a0c80fee77483fb77d + languageName: node + linkType: hard + "tiny-case@npm:^1.0.3": version: 1.0.3 resolution: "tiny-case@npm:1.0.3" @@ -18184,6 +20577,18 @@ __metadata: languageName: node linkType: hard +"tough-cookie@npm:4.1.3": + version: 4.1.3 + resolution: "tough-cookie@npm:4.1.3" + dependencies: + psl: "npm:^1.1.33" + punycode: "npm:^2.1.1" + universalify: "npm:^0.2.0" + url-parse: "npm:^1.5.3" + checksum: 10/cf148c359b638a7069fc3ba9a5257bdc9616a6948a98736b92c3570b3f8401cf9237a42bf716878b656f372a1fb65b74dd13a46ccff8eceba14ffd053d33f72a + languageName: node + linkType: hard + "tough-cookie@npm:^5.0.0": version: 5.1.1 resolution: "tough-cookie@npm:5.1.1" @@ -18227,7 +20632,7 @@ __metadata: languageName: node linkType: hard -"tree-kill@npm:1.2.2": +"tree-kill@npm:1.2.2, tree-kill@npm:^1.2.2": version: 1.2.2 resolution: "tree-kill@npm:1.2.2" bin: @@ -18273,7 +20678,7 @@ __metadata: languageName: node linkType: hard -"tunnel-agent@npm:^0.6.0": +"tunnel-agent@npm:0.6.0, tunnel-agent@npm:^0.6.0": version: 0.6.0 resolution: "tunnel-agent@npm:0.6.0" dependencies: @@ -18303,7 +20708,7 @@ __metadata: languageName: node linkType: hard -"type-detect@npm:^4.0.0, type-detect@npm:^4.1.0": +"type-detect@npm:^4.0.0, type-detect@npm:^4.0.5, type-detect@npm:^4.1.0": version: 4.1.0 resolution: "type-detect@npm:4.1.0" checksum: 10/e363bf0352427a79301f26a7795a27718624c49c576965076624eb5495d87515030b207217845f7018093adcbe169b2d119bb9b7f1a31a92bfbb1ab9639ca8dd @@ -18376,6 +20781,16 @@ __metadata: languageName: node linkType: hard +"typescript@npm:4.7.4": + version: 4.7.4 + resolution: "typescript@npm:4.7.4" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10/f056b2313a7df95268ac63dc4ddcb7aed1b7d5a6bbc933d11c3fcd0a77712e16b24bdf4403acc529ade5c27a2a477e25124e899587e8ca3f19685c7ab954c6f3 + languageName: node + linkType: hard + "typescript@npm:^5.1.3": version: 5.4.5 resolution: "typescript@npm:5.4.5" @@ -18396,6 +20811,16 @@ __metadata: languageName: node linkType: hard +"typescript@patch:typescript@npm%3A4.7.4#optional!builtin": + version: 4.7.4 + resolution: "typescript@patch:typescript@npm%3A4.7.4#optional!builtin::version=4.7.4&hash=65a307" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10/cd6f51368ba0f8c458a44ca8b05684e9cda49acbb4e7dcf40c4720cd1534f68c2d139ec6f179bb9996e6fe9d0c7a04846db55a048f51fd2f3c41fbce0a004971 + languageName: node + linkType: hard + "typescript@patch:typescript@npm%3A^5.1.3#optional!builtin": version: 5.4.5 resolution: "typescript@patch:typescript@npm%3A5.4.5#optional!builtin::version=5.4.5&hash=5adc0c" @@ -18484,6 +20909,13 @@ __metadata: languageName: node linkType: hard +"unicode-match-property-value-ecmascript@npm:^2.2.1": + version: 2.2.1 + resolution: "unicode-match-property-value-ecmascript@npm:2.2.1" + checksum: 10/a42bebebab4c82ea6d8363e487b1fb862f82d1b54af1b67eb3fef43672939b685780f092c4f235266b90225863afa1258d57e7be3578d8986a08d8fc309aabe1 + languageName: node + linkType: hard + "unicode-property-aliases-ecmascript@npm:^2.0.0": version: 2.1.0 resolution: "unicode-property-aliases-ecmascript@npm:2.1.0" @@ -18537,6 +20969,13 @@ __metadata: languageName: node linkType: hard +"unquote@npm:^1.1.1": + version: 1.1.1 + resolution: "unquote@npm:1.1.1" + checksum: 10/71745867d09cba44ba2d26cb71d6dda7045a98b14f7405df4faaf2b0c90d24703ad027a9d90ba9a6e0d096de2c8d56f864fd03f1c0498c0b7a3990f73b4c8f5f + languageName: node + linkType: hard + "unrs-resolver@npm:^1.7.11": version: 1.9.0 resolution: "unrs-resolver@npm:1.9.0" @@ -18611,7 +21050,7 @@ __metadata: languageName: node linkType: hard -"update-browserslist-db@npm:^1.0.13, update-browserslist-db@npm:^1.1.1, update-browserslist-db@npm:^1.1.3": +"update-browserslist-db@npm:^1.0.13, update-browserslist-db@npm:^1.1.1, update-browserslist-db@npm:^1.1.3, update-browserslist-db@npm:^1.2.3": version: 1.2.3 resolution: "update-browserslist-db@npm:1.2.3" dependencies: @@ -18653,6 +21092,13 @@ __metadata: languageName: node linkType: hard +"url-to-options@npm:^2.0.0": + version: 2.0.0 + resolution: "url-to-options@npm:2.0.0" + checksum: 10/104741b13c2a1388bbd6a488fa99f70535931cb9a81a8aa039037fa5264174e2cdc9eae6b99442f7314003cea6205a6769766febc4893c9ac93d409ee356d885 + languageName: node + linkType: hard + "use-debounce@npm:^10.0.4, use-debounce@npm:^10.0.6": version: 10.1.1 resolution: "use-debounce@npm:10.1.1" @@ -19053,6 +21499,17 @@ __metadata: languageName: node linkType: hard +"which-promise@npm:^1.0.0": + version: 1.0.0 + resolution: "which-promise@npm:1.0.0" + dependencies: + pify: "npm:^2.2.0" + pinkie-promise: "npm:^1.0.0" + which: "npm:^1.1.2" + checksum: 10/b5a96091168c04f16a08e24dd8d0bfeee27a387c68f829d21b0aa8fb9f4dcec8d57e66d61caa2ddacb679e422c2e4e0c5c3239655105a8047cea1755f842c79f + languageName: node + linkType: hard + "which-typed-array@npm:^1.1.14, which-typed-array@npm:^1.1.2": version: 1.1.14 resolution: "which-typed-array@npm:1.1.14" @@ -19066,7 +21523,7 @@ __metadata: languageName: node linkType: hard -"which@npm:^1.3.1": +"which@npm:^1.1.2, which@npm:^1.3.1": version: 1.3.1 resolution: "which@npm:1.3.1" dependencies: @@ -19122,6 +21579,15 @@ __metadata: languageName: node linkType: hard +"windows-release@npm:^5.0.1": + version: 5.1.1 + resolution: "windows-release@npm:5.1.1" + dependencies: + execa: "npm:^5.1.1" + checksum: 10/8d15388ccfcbacb96d551f4a692a0a0930a12d2283d140d0a00ea0f6c4f950907cb8055a2cff8650d8bcd5125585338ff0f21a0d7661a30c1d67b6729d13b6b8 + languageName: node + linkType: hard + "winston-transport@npm:^4.9.0": version: 4.9.0 resolution: "winston-transport@npm:4.9.0" @@ -19253,7 +21719,7 @@ __metadata: languageName: node linkType: hard -"ws@npm:^7, ws@npm:^7.0.0, ws@npm:^7.5.10": +"ws@npm:^7, ws@npm:^7.0.0, ws@npm:^7.2.0, ws@npm:^7.4.6, ws@npm:^7.5.10": version: 7.5.10 resolution: "ws@npm:7.5.10" peerDependencies: