diff --git a/.eslintrc.cjs b/.eslintrc.cjs index d1295b135..9b2ec5145 100644 --- a/.eslintrc.cjs +++ b/.eslintrc.cjs @@ -26,7 +26,7 @@ module.exports = { "eslint-plugin-prefer-arrow", "eslint-plugin-import", "eslint-plugin-jsdoc", - "@typescript-eslint" + "@typescript-eslint", ], rules: { "@typescript-eslint/ban-ts-comment": "off", @@ -64,6 +64,8 @@ module.exports = { ], "@typescript-eslint/consistent-type-assertions": "error", "@typescript-eslint/consistent-type-definitions": "off", + "@typescript-eslint/consistent-type-exports": "error", + "@typescript-eslint/consistent-type-imports": "error", "@typescript-eslint/dot-notation": "error", "@typescript-eslint/explicit-member-accessibility": [ "off", @@ -245,6 +247,6 @@ module.exports = { }, ], "use-isnan": "error", - "valid-typeof": "off" + "valid-typeof": "off", }, }; diff --git a/.pnp.cjs b/.pnp.cjs index 4b52754ae..915ce02c4 100755 --- a/.pnp.cjs +++ b/.pnp.cjs @@ -126,6 +126,37 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["@babel/cli", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-cli-npm-7.24.6-c336524bb2-57421a3bc2.zip/node_modules/@babel/cli/",\ + "packageDependencies": [\ + ["@babel/cli", "npm:7.24.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:3b04c8c38dde7165df844f9cd74e94cc47d78164564600cf56ba5f8c6011d25ef0d3afc13d610f3da970f6807c830914053ff96a43c86ba17f3ec650dfd687d3#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-cli-virtual-ce59a13267/0/cache/@babel-cli-npm-7.24.6-c336524bb2-57421a3bc2.zip/node_modules/@babel/cli/",\ + "packageDependencies": [\ + ["@babel/cli", "virtual:3b04c8c38dde7165df844f9cd74e94cc47d78164564600cf56ba5f8c6011d25ef0d3afc13d610f3da970f6807c830914053ff96a43c86ba17f3ec650dfd687d3#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@jridgewell/trace-mapping", "npm:0.3.25"],\ + ["@nicolo-ribaudo/chokidar-2", "npm:2.1.8-no-fsevents.3"],\ + ["@types/babel__core", "npm:7.20.5"],\ + ["chokidar", "npm:3.6.0"],\ + ["commander", "npm:6.2.1"],\ + ["convert-source-map", "npm:2.0.0"],\ + ["fs-readdir-recursive", "npm:1.1.0"],\ + ["glob", "npm:7.2.3"],\ + ["make-dir", "npm:2.1.0"],\ + ["slash", "npm:2.0.0"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["@babel/code-frame", [\ ["npm:7.23.5", {\ "packageLocation": "./.yarn/cache/@babel-code-frame-npm-7.23.5-cb10d08de6-44e58529c9.zip/node_modules/@babel/code-frame/",\ @@ -135,6 +166,15 @@ const RAW_RUNTIME_STATE = ["chalk", "npm:2.4.2"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-code-frame-npm-7.24.6-214509ff08-e9b70af2a9.zip/node_modules/@babel/code-frame/",\ + "packageDependencies": [\ + ["@babel/code-frame", "npm:7.24.6"],\ + ["@babel/highlight", "npm:7.24.6"],\ + ["picocolors", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["@babel/compat-data", [\ @@ -144,6 +184,13 @@ const RAW_RUNTIME_STATE = ["@babel/compat-data", "npm:7.23.5"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-compat-data-npm-7.24.6-5ab069e1c6-c355141e46.zip/node_modules/@babel/compat-data/",\ + "packageDependencies": [\ + ["@babel/compat-data", "npm:7.24.6"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["@babel/core", [\ @@ -168,6 +215,28 @@ const RAW_RUNTIME_STATE = ["semver", "npm:6.3.1"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-core-npm-7.24.6-3091458f24-49cd61b999.zip/node_modules/@babel/core/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.24.6"],\ + ["@ampproject/remapping", "npm:2.2.1"],\ + ["@babel/code-frame", "npm:7.24.6"],\ + ["@babel/generator", "npm:7.24.6"],\ + ["@babel/helper-compilation-targets", "npm:7.24.6"],\ + ["@babel/helper-module-transforms", "virtual:3091458f2408121669b44db90bd0a5d9d623d656be9be7fbddebcca4bae26e2ab7df1baffdb3c2cf465941bdc161270fe00ed63deb7751d077055d83f25ee6b9#npm:7.24.6"],\ + ["@babel/helpers", "npm:7.24.6"],\ + ["@babel/parser", "npm:7.24.6"],\ + ["@babel/template", "npm:7.24.6"],\ + ["@babel/traverse", "npm:7.24.6"],\ + ["@babel/types", "npm:7.24.6"],\ + ["convert-source-map", "npm:2.0.0"],\ + ["debug", "virtual:1ff4b5f90832ba0a9c93ba1223af226e44ba70c1126a3740d93562b97bc36544e896a5e95908196f7458713e6a6089a34bfc67362fc6df7fa093bd06c878be47#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", [\ @@ -191,6 +260,37 @@ const RAW_RUNTIME_STATE = ["jsesc", "npm:2.5.2"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-generator-npm-7.24.6-a40f137f24-247002f124.zip/node_modules/@babel/generator/",\ + "packageDependencies": [\ + ["@babel/generator", "npm:7.24.6"],\ + ["@babel/types", "npm:7.24.6"],\ + ["@jridgewell/gen-mapping", "npm:0.3.5"],\ + ["@jridgewell/trace-mapping", "npm:0.3.25"],\ + ["jsesc", "npm:2.5.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-annotate-as-pure", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-helper-annotate-as-pure-npm-7.24.6-6c9a7c5046-1fc1790a67.zip/node_modules/@babel/helper-annotate-as-pure/",\ + "packageDependencies": [\ + ["@babel/helper-annotate-as-pure", "npm:7.24.6"],\ + ["@babel/types", "npm:7.24.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-builder-binary-assignment-operator-visitor", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-helper-builder-binary-assignment-operator-visitor-npm-7.24.6-6f7beb5e4d-4d30748f6f.zip/node_modules/@babel/helper-builder-binary-assignment-operator-visitor/",\ + "packageDependencies": [\ + ["@babel/helper-builder-binary-assignment-operator-visitor", "npm:7.24.6"],\ + ["@babel/types", "npm:7.24.6"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["@babel/helper-compilation-targets", [\ @@ -205,6 +305,101 @@ const RAW_RUNTIME_STATE = ["semver", "npm:6.3.1"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-helper-compilation-targets-npm-7.24.6-21a082c281-28f34f2c9e.zip/node_modules/@babel/helper-compilation-targets/",\ + "packageDependencies": [\ + ["@babel/helper-compilation-targets", "npm:7.24.6"],\ + ["@babel/compat-data", "npm:7.24.6"],\ + ["@babel/helper-validator-option", "npm:7.24.6"],\ + ["browserslist", "npm:4.23.0"],\ + ["lru-cache", "npm:5.1.1"],\ + ["semver", "npm:6.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-create-class-features-plugin", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-helper-create-class-features-plugin-npm-7.24.6-28f41f5ade-f4c2bfccb9.zip/node_modules/@babel/helper-create-class-features-plugin/",\ + "packageDependencies": [\ + ["@babel/helper-create-class-features-plugin", "npm:7.24.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:ac0924fd9f59da232b5874052cdabdc93c0e7bd39c73744cdd4875eac25a3e5a523b99b66b9e45a8c8f96ec48434b37dd089a5fa0c36bcd9a5b05700f2161fa5#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-helper-create-class-features-plugin-virtual-013103299c/0/cache/@babel-helper-create-class-features-plugin-npm-7.24.6-28f41f5ade-f4c2bfccb9.zip/node_modules/@babel/helper-create-class-features-plugin/",\ + "packageDependencies": [\ + ["@babel/helper-create-class-features-plugin", "virtual:ac0924fd9f59da232b5874052cdabdc93c0e7bd39c73744cdd4875eac25a3e5a523b99b66b9e45a8c8f96ec48434b37dd089a5fa0c36bcd9a5b05700f2161fa5#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-annotate-as-pure", "npm:7.24.6"],\ + ["@babel/helper-environment-visitor", "npm:7.24.6"],\ + ["@babel/helper-function-name", "npm:7.24.6"],\ + ["@babel/helper-member-expression-to-functions", "npm:7.24.6"],\ + ["@babel/helper-optimise-call-expression", "npm:7.24.6"],\ + ["@babel/helper-replace-supers", "virtual:013103299c173232b16c2971aac3f96d51ce474b795044304b39dd0ea1bdb59426d75f9a5b55519faec7e4626d4813848657ffcef83db26ebd552ecc73d5613e#npm:7.24.6"],\ + ["@babel/helper-skip-transparent-expression-wrappers", "npm:7.24.6"],\ + ["@babel/helper-split-export-declaration", "npm:7.24.6"],\ + ["@types/babel__core", "npm:7.20.5"],\ + ["semver", "npm:6.3.1"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-create-regexp-features-plugin", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-helper-create-regexp-features-plugin-npm-7.24.6-3b27514578-74e717c71d.zip/node_modules/@babel/helper-create-regexp-features-plugin/",\ + "packageDependencies": [\ + ["@babel/helper-create-regexp-features-plugin", "npm:7.24.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a4794fbefb43482740cb1accd74dd35653da7069fdbf8d43bc1ea446946c26bd592fce7bf18a75224865cf9fab6e6f71a8aa32e0a5cb498c152e2b240bb5e494#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-helper-create-regexp-features-plugin-virtual-9db5b93e6f/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/helper-create-regexp-features-plugin", "virtual:a4794fbefb43482740cb1accd74dd35653da7069fdbf8d43bc1ea446946c26bd592fce7bf18a75224865cf9fab6e6f71a8aa32e0a5cb498c152e2b240bb5e494#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-annotate-as-pure", "npm:7.24.6"],\ + ["@types/babel__core", "npm:7.20.5"],\ + ["regexpu-core", "npm:5.3.2"],\ + ["semver", "npm:6.3.1"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-define-polyfill-provider", [\ + ["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": [\ + ["@babel/helper-define-polyfill-provider", "npm:0.6.2"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:4e0032ad14c250554f65da6dabf7a9bb08acf20454297972ceb02253acaa5a047af730a04c45f8668d5a71d4b411ca415c55660ae34a0f753a503681e3694149#npm:0.6.2", {\ + "packageLocation": "./.yarn/__virtual__/@babel-helper-define-polyfill-provider-virtual-05e9493031/0/cache/@babel-helper-define-polyfill-provider-npm-0.6.2-554cbf22ae-bb32ec1202.zip/node_modules/@babel/helper-define-polyfill-provider/",\ + "packageDependencies": [\ + ["@babel/helper-define-polyfill-provider", "virtual:4e0032ad14c250554f65da6dabf7a9bb08acf20454297972ceb02253acaa5a047af730a04c45f8668d5a71d4b411ca415c55660ae34a0f753a503681e3694149#npm:0.6.2"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-compilation-targets", "npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.22.5"],\ + ["@types/babel__core", "npm:7.20.5"],\ + ["debug", "virtual:1ff4b5f90832ba0a9c93ba1223af226e44ba70c1126a3740d93562b97bc36544e896a5e95908196f7458713e6a6089a34bfc67362fc6df7fa093bd06c878be47#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", [\ @@ -214,6 +409,13 @@ const RAW_RUNTIME_STATE = ["@babel/helper-environment-visitor", "npm:7.22.20"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-helper-environment-visitor-npm-7.24.6-c8c9ac9733-9c2b3f1ee7.zip/node_modules/@babel/helper-environment-visitor/",\ + "packageDependencies": [\ + ["@babel/helper-environment-visitor", "npm:7.24.6"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["@babel/helper-function-name", [\ @@ -225,6 +427,15 @@ const RAW_RUNTIME_STATE = ["@babel/types", "npm:7.23.9"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-helper-function-name-npm-7.24.6-31619ed629-66c0669c16.zip/node_modules/@babel/helper-function-name/",\ + "packageDependencies": [\ + ["@babel/helper-function-name", "npm:7.24.6"],\ + ["@babel/template", "npm:7.24.6"],\ + ["@babel/types", "npm:7.24.6"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["@babel/helper-hoist-variables", [\ @@ -235,6 +446,24 @@ const RAW_RUNTIME_STATE = ["@babel/types", "npm:7.23.9"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-helper-hoist-variables-npm-7.24.6-728285ae51-4819b57439.zip/node_modules/@babel/helper-hoist-variables/",\ + "packageDependencies": [\ + ["@babel/helper-hoist-variables", "npm:7.24.6"],\ + ["@babel/types", "npm:7.24.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-member-expression-to-functions", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-helper-member-expression-to-functions-npm-7.24.6-63961cfa17-49198b0ceb.zip/node_modules/@babel/helper-member-expression-to-functions/",\ + "packageDependencies": [\ + ["@babel/helper-member-expression-to-functions", "npm:7.24.6"],\ + ["@babel/types", "npm:7.24.6"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["@babel/helper-module-imports", [\ @@ -245,6 +474,14 @@ const RAW_RUNTIME_STATE = ["@babel/types", "npm:7.23.9"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-helper-module-imports-npm-7.24.6-be1121ea22-38c4432191.zip/node_modules/@babel/helper-module-imports/",\ + "packageDependencies": [\ + ["@babel/helper-module-imports", "npm:7.24.6"],\ + ["@babel/types", "npm:7.24.6"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["@babel/helper-module-transforms", [\ @@ -255,6 +492,31 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-helper-module-transforms-npm-7.24.6-8226cd35ca-e162d0c1d8.zip/node_modules/@babel/helper-module-transforms/",\ + "packageDependencies": [\ + ["@babel/helper-module-transforms", "npm:7.24.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:3091458f2408121669b44db90bd0a5d9d623d656be9be7fbddebcca4bae26e2ab7df1baffdb3c2cf465941bdc161270fe00ed63deb7751d077055d83f25ee6b9#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-helper-module-transforms-virtual-65e1872c96/0/cache/@babel-helper-module-transforms-npm-7.24.6-8226cd35ca-e162d0c1d8.zip/node_modules/@babel/helper-module-transforms/",\ + "packageDependencies": [\ + ["@babel/helper-module-transforms", "virtual:3091458f2408121669b44db90bd0a5d9d623d656be9be7fbddebcca4bae26e2ab7df1baffdb3c2cf465941bdc161270fe00ed63deb7751d077055d83f25ee6b9#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-environment-visitor", "npm:7.24.6"],\ + ["@babel/helper-module-imports", "npm:7.24.6"],\ + ["@babel/helper-simple-access", "npm:7.24.6"],\ + ["@babel/helper-split-export-declaration", "npm:7.24.6"],\ + ["@babel/helper-validator-identifier", "npm:7.24.6"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:4987baf09b82c48eb8b5413aa2ba462ba316c95c50a367748f9bb0d09a052cbd6508a65052d6692401be2eab1d0720262e16f715ed4f30858ba5040402f5e3fe#npm:7.23.3", {\ "packageLocation": "./.yarn/__virtual__/@babel-helper-module-transforms-virtual-57776750bf/0/cache/@babel-helper-module-transforms-npm-7.23.3-69078a931c-583fa580f8.zip/node_modules/@babel/helper-module-transforms/",\ "packageDependencies": [\ @@ -272,6 +534,34 @@ const RAW_RUNTIME_STATE = "@types/babel__core"\ ],\ "linkType": "HARD"\ + }],\ + ["virtual:99ecf697ede96a918544fed6b0369586cec61f3d06adf1397e3fb9b05d9522ee50fbfc46da8bdd8ffdbe93024cd89a67ad0b025fd64e3d6e9d3d96c59a91bf83#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-helper-module-transforms-virtual-26bbe6b648/0/cache/@babel-helper-module-transforms-npm-7.24.6-8226cd35ca-e162d0c1d8.zip/node_modules/@babel/helper-module-transforms/",\ + "packageDependencies": [\ + ["@babel/helper-module-transforms", "virtual:99ecf697ede96a918544fed6b0369586cec61f3d06adf1397e3fb9b05d9522ee50fbfc46da8bdd8ffdbe93024cd89a67ad0b025fd64e3d6e9d3d96c59a91bf83#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-environment-visitor", "npm:7.24.6"],\ + ["@babel/helper-module-imports", "npm:7.24.6"],\ + ["@babel/helper-simple-access", "npm:7.24.6"],\ + ["@babel/helper-split-export-declaration", "npm:7.24.6"],\ + ["@babel/helper-validator-identifier", "npm:7.24.6"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-optimise-call-expression", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-helper-optimise-call-expression-npm-7.24.6-4e899dbddc-0f5e062bff.zip/node_modules/@babel/helper-optimise-call-expression/",\ + "packageDependencies": [\ + ["@babel/helper-optimise-call-expression", "npm:7.24.6"],\ + ["@babel/types", "npm:7.24.6"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["@babel/helper-plugin-utils", [\ @@ -281,6 +571,63 @@ const RAW_RUNTIME_STATE = ["@babel/helper-plugin-utils", "npm:7.22.5"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-helper-plugin-utils-npm-7.24.6-2ff922bbf5-0ac0a7a199.zip/node_modules/@babel/helper-plugin-utils/",\ + "packageDependencies": [\ + ["@babel/helper-plugin-utils", "npm:7.24.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-remap-async-to-generator", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-helper-remap-async-to-generator-npm-7.24.6-22bae2511b-35733c4d3b.zip/node_modules/@babel/helper-remap-async-to-generator/",\ + "packageDependencies": [\ + ["@babel/helper-remap-async-to-generator", "npm:7.24.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:ba6320fa9364b1c2c5cea44d87c001b3139f2ec8722b8d5b99b4d1f35408a6a692f6a7591b167b29f1dda3b751f0d8f756a9d6964566615a6e1895b40bea3180#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-helper-remap-async-to-generator-virtual-65791ce762/0/cache/@babel-helper-remap-async-to-generator-npm-7.24.6-22bae2511b-35733c4d3b.zip/node_modules/@babel/helper-remap-async-to-generator/",\ + "packageDependencies": [\ + ["@babel/helper-remap-async-to-generator", "virtual:ba6320fa9364b1c2c5cea44d87c001b3139f2ec8722b8d5b99b4d1f35408a6a692f6a7591b167b29f1dda3b751f0d8f756a9d6964566615a6e1895b40bea3180#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-annotate-as-pure", "npm:7.24.6"],\ + ["@babel/helper-environment-visitor", "npm:7.24.6"],\ + ["@babel/helper-wrap-function", "npm:7.24.6"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-replace-supers", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-helper-replace-supers-npm-7.24.6-4e35f7e426-3456b9fee0.zip/node_modules/@babel/helper-replace-supers/",\ + "packageDependencies": [\ + ["@babel/helper-replace-supers", "npm:7.24.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:013103299c173232b16c2971aac3f96d51ce474b795044304b39dd0ea1bdb59426d75f9a5b55519faec7e4626d4813848657ffcef83db26ebd552ecc73d5613e#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-helper-replace-supers-virtual-b89cd79c13/0/cache/@babel-helper-replace-supers-npm-7.24.6-4e35f7e426-3456b9fee0.zip/node_modules/@babel/helper-replace-supers/",\ + "packageDependencies": [\ + ["@babel/helper-replace-supers", "virtual:013103299c173232b16c2971aac3f96d51ce474b795044304b39dd0ea1bdb59426d75f9a5b55519faec7e4626d4813848657ffcef83db26ebd552ecc73d5613e#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-environment-visitor", "npm:7.24.6"],\ + ["@babel/helper-member-expression-to-functions", "npm:7.24.6"],\ + ["@babel/helper-optimise-call-expression", "npm:7.24.6"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["@babel/helper-simple-access", [\ @@ -291,6 +638,24 @@ const RAW_RUNTIME_STATE = ["@babel/types", "npm:7.23.9"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-helper-simple-access-npm-7.24.6-834fac9374-4649d08f3e.zip/node_modules/@babel/helper-simple-access/",\ + "packageDependencies": [\ + ["@babel/helper-simple-access", "npm:7.24.6"],\ + ["@babel/types", "npm:7.24.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-skip-transparent-expression-wrappers", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-helper-skip-transparent-expression-wrappers-npm-7.24.6-2a28dccfe2-697a161c8d.zip/node_modules/@babel/helper-skip-transparent-expression-wrappers/",\ + "packageDependencies": [\ + ["@babel/helper-skip-transparent-expression-wrappers", "npm:7.24.6"],\ + ["@babel/types", "npm:7.24.6"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["@babel/helper-split-export-declaration", [\ @@ -301,6 +666,14 @@ const RAW_RUNTIME_STATE = ["@babel/types", "npm:7.23.9"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-helper-split-export-declaration-npm-7.24.6-299e17324f-48ded9611f.zip/node_modules/@babel/helper-split-export-declaration/",\ + "packageDependencies": [\ + ["@babel/helper-split-export-declaration", "npm:7.24.6"],\ + ["@babel/types", "npm:7.24.6"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["@babel/helper-string-parser", [\ @@ -310,6 +683,13 @@ const RAW_RUNTIME_STATE = ["@babel/helper-string-parser", "npm:7.23.4"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-helper-string-parser-npm-7.24.6-ab02401caf-a24631e138.zip/node_modules/@babel/helper-string-parser/",\ + "packageDependencies": [\ + ["@babel/helper-string-parser", "npm:7.24.6"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["@babel/helper-validator-identifier", [\ @@ -319,6 +699,13 @@ const RAW_RUNTIME_STATE = ["@babel/helper-validator-identifier", "npm:7.22.20"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-helper-validator-identifier-npm-7.24.6-cf629561b7-7e725ef068.zip/node_modules/@babel/helper-validator-identifier/",\ + "packageDependencies": [\ + ["@babel/helper-validator-identifier", "npm:7.24.6"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["@babel/helper-validator-option", [\ @@ -328,6 +715,25 @@ const RAW_RUNTIME_STATE = ["@babel/helper-validator-option", "npm:7.23.5"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-helper-validator-option-npm-7.24.6-f2eea7cb8e-5defb2da74.zip/node_modules/@babel/helper-validator-option/",\ + "packageDependencies": [\ + ["@babel/helper-validator-option", "npm:7.24.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-wrap-function", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-helper-wrap-function-npm-7.24.6-94850a64f2-8f0c6f4113.zip/node_modules/@babel/helper-wrap-function/",\ + "packageDependencies": [\ + ["@babel/helper-wrap-function", "npm:7.24.6"],\ + ["@babel/helper-function-name", "npm:7.24.6"],\ + ["@babel/template", "npm:7.24.6"],\ + ["@babel/types", "npm:7.24.6"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["@babel/helpers", [\ @@ -340,6 +746,15 @@ const RAW_RUNTIME_STATE = ["@babel/types", "npm:7.23.9"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-helpers-npm-7.24.6-57c593ca2f-9043f71406.zip/node_modules/@babel/helpers/",\ + "packageDependencies": [\ + ["@babel/helpers", "npm:7.24.6"],\ + ["@babel/template", "npm:7.24.6"],\ + ["@babel/types", "npm:7.24.6"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["@babel/highlight", [\ @@ -352,6 +767,17 @@ const RAW_RUNTIME_STATE = ["js-tokens", "npm:4.0.0"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-highlight-npm-7.24.6-ceb9bdeb2e-e11cd39ceb.zip/node_modules/@babel/highlight/",\ + "packageDependencies": [\ + ["@babel/highlight", "npm:7.24.6"],\ + ["@babel/helper-validator-identifier", "npm:7.24.6"],\ + ["chalk", "npm:2.4.2"],\ + ["js-tokens", "npm:4.0.0"],\ + ["picocolors", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["@babel/parser", [\ @@ -362,22 +788,31 @@ const RAW_RUNTIME_STATE = ["@babel/types", "npm:7.23.9"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-parser-npm-7.24.6-3dfa1e0b98-48af4251d0.zip/node_modules/@babel/parser/",\ + "packageDependencies": [\ + ["@babel/parser", "npm:7.24.6"],\ + ["@babel/types", "npm:7.23.9"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ - ["@babel/plugin-syntax-async-generators", [\ - ["npm:7.8.4", {\ - "packageLocation": "./.yarn/cache/@babel-plugin-syntax-async-generators-npm-7.8.4-d10cf993c9-7ed1c1d9b9.zip/node_modules/@babel/plugin-syntax-async-generators/",\ + ["@babel/plugin-bugfix-firefox-class-in-computed-class-key", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-bugfix-firefox-class-in-computed-class-key-npm-7.24.6-7aa892a23d-6db8f337ca.zip/node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key/",\ "packageDependencies": [\ - ["@babel/plugin-syntax-async-generators", "npm:7.8.4"]\ + ["@babel/plugin-bugfix-firefox-class-in-computed-class-key", "npm:7.24.6"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:89ab879d8f5e0cf9e63bf2d4d4df9bf0629f31b9b413bf3915a576cbb06f0777f5b4b54c4a32d1050a7d2c35c4e73991decc6550c84edb82a97830567e8edced#npm:7.8.4", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-async-generators-virtual-0782d210c6/0/cache/@babel-plugin-syntax-async-generators-npm-7.8.4-d10cf993c9-7ed1c1d9b9.zip/node_modules/@babel/plugin-syntax-async-generators/",\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-bugfix-firefox-class-in-computed-class-key-virtual-a37dc79b2d/0/cache/@babel-plugin-bugfix-firefox-class-in-computed-class-key-npm-7.24.6-7aa892a23d-6db8f337ca.zip/node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key/",\ "packageDependencies": [\ - ["@babel/plugin-syntax-async-generators", "virtual:89ab879d8f5e0cf9e63bf2d4d4df9bf0629f31b9b413bf3915a576cbb06f0777f5b4b54c4a32d1050a7d2c35c4e73991decc6550c84edb82a97830567e8edced#npm:7.8.4"],\ - ["@babel/core", "npm:7.23.9"],\ - ["@babel/helper-plugin-utils", "npm:7.22.5"],\ + ["@babel/plugin-bugfix-firefox-class-in-computed-class-key", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-environment-visitor", "npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.24.6"],\ ["@types/babel__core", "npm:7.20.5"]\ ],\ "packagePeers": [\ @@ -385,14 +820,23 @@ const RAW_RUNTIME_STATE = "@types/babel__core"\ ],\ "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-bugfix-safari-id-destructuring-collision-in-function-expression-npm-7.24.6-640cba7bfe-385a930f28.zip/node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/",\ + "packageDependencies": [\ + ["@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression", "npm:7.24.6"]\ + ],\ + "linkType": "SOFT"\ }],\ - ["virtual:ba1c0e1ca64eb2d0239b3eed2dcd904b02bec7c388c425e832f80080c28047a34349bdf847af35395682a84967d8c0d3855919199454485ed09f8786b7299687#npm:7.8.4", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-async-generators-virtual-7b0eaa11fc/0/cache/@babel-plugin-syntax-async-generators-npm-7.8.4-d10cf993c9-7ed1c1d9b9.zip/node_modules/@babel/plugin-syntax-async-generators/",\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-bugfix-safari-id-destructuring-collision-in-function-expression-virtual-170a21910e/0/cache/@babel-plugin-bugfix-safari-id-destructuring-collision-in-function-expression-npm-7.24.6-640cba7bfe-385a930f28.zip/node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/",\ "packageDependencies": [\ - ["@babel/plugin-syntax-async-generators", "virtual:ba1c0e1ca64eb2d0239b3eed2dcd904b02bec7c388c425e832f80080c28047a34349bdf847af35395682a84967d8c0d3855919199454485ed09f8786b7299687#npm:7.8.4"],\ - ["@babel/core", "npm:7.23.9"],\ - ["@babel/helper-plugin-utils", "npm:7.22.5"],\ - ["@types/babel__core", null]\ + ["@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.24.6"],\ + ["@types/babel__core", "npm:7.20.5"]\ ],\ "packagePeers": [\ "@babel/core",\ @@ -401,15 +845,137 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ - ["@babel/plugin-syntax-bigint", [\ - ["npm:7.8.3", {\ - "packageLocation": "./.yarn/cache/@babel-plugin-syntax-bigint-npm-7.8.3-b05d971e6c-3a10849d83.zip/node_modules/@babel/plugin-syntax-bigint/",\ + ["@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-bugfix-v8-spread-parameters-in-optional-chaining-npm-7.24.6-9261e4e4fa-14dac1a069.zip/node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/",\ "packageDependencies": [\ - ["@babel/plugin-syntax-bigint", "npm:7.8.3"]\ + ["@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining", "npm:7.24.6"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:89ab879d8f5e0cf9e63bf2d4d4df9bf0629f31b9b413bf3915a576cbb06f0777f5b4b54c4a32d1050a7d2c35c4e73991decc6550c84edb82a97830567e8edced#npm:7.8.3", {\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-bugfix-v8-spread-parameters-in-optional-chaining-virtual-225e5e5c96/0/cache/@babel-plugin-bugfix-v8-spread-parameters-in-optional-chaining-npm-7.24.6-9261e4e4fa-14dac1a069.zip/node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/",\ + "packageDependencies": [\ + ["@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.24.6"],\ + ["@babel/helper-skip-transparent-expression-wrappers", "npm:7.24.6"],\ + ["@babel/plugin-transform-optional-chaining", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-bugfix-v8-static-class-fields-redefine-readonly-npm-7.24.6-8f6c6e53f8-5740206ccf.zip/node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/",\ + "packageDependencies": [\ + ["@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly", "npm:7.24.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-bugfix-v8-static-class-fields-redefine-readonly-virtual-0fc102af2c/0/cache/@babel-plugin-bugfix-v8-static-class-fields-redefine-readonly-npm-7.24.6-8f6c6e53f8-5740206ccf.zip/node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/",\ + "packageDependencies": [\ + ["@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-environment-visitor", "npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.24.6"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-proposal-private-property-in-object", [\ + ["npm:7.21.0-placeholder-for-preset-env.2", {\ + "packageLocation": "./.yarn/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/plugin-proposal-private-property-in-object", "npm:7.21.0-placeholder-for-preset-env.2"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.21.0-placeholder-for-preset-env.2", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-proposal-private-property-in-object-virtual-42c0c240db/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/plugin-proposal-private-property-in-object", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.21.0-placeholder-for-preset-env.2"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-async-generators", [\ + ["npm:7.8.4", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-syntax-async-generators-npm-7.8.4-d10cf993c9-7ed1c1d9b9.zip/node_modules/@babel/plugin-syntax-async-generators/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-async-generators", "npm:7.8.4"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.8.4", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-async-generators-virtual-6a6a06ce80/0/cache/@babel-plugin-syntax-async-generators-npm-7.8.4-d10cf993c9-7ed1c1d9b9.zip/node_modules/@babel/plugin-syntax-async-generators/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-async-generators", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.8.4"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.22.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:89ab879d8f5e0cf9e63bf2d4d4df9bf0629f31b9b413bf3915a576cbb06f0777f5b4b54c4a32d1050a7d2c35c4e73991decc6550c84edb82a97830567e8edced#npm:7.8.4", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-async-generators-virtual-0782d210c6/0/cache/@babel-plugin-syntax-async-generators-npm-7.8.4-d10cf993c9-7ed1c1d9b9.zip/node_modules/@babel/plugin-syntax-async-generators/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-async-generators", "virtual:89ab879d8f5e0cf9e63bf2d4d4df9bf0629f31b9b413bf3915a576cbb06f0777f5b4b54c4a32d1050a7d2c35c4e73991decc6550c84edb82a97830567e8edced#npm:7.8.4"],\ + ["@babel/core", "npm:7.23.9"],\ + ["@babel/helper-plugin-utils", "npm:7.22.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:ba1c0e1ca64eb2d0239b3eed2dcd904b02bec7c388c425e832f80080c28047a34349bdf847af35395682a84967d8c0d3855919199454485ed09f8786b7299687#npm:7.8.4", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-async-generators-virtual-7b0eaa11fc/0/cache/@babel-plugin-syntax-async-generators-npm-7.8.4-d10cf993c9-7ed1c1d9b9.zip/node_modules/@babel/plugin-syntax-async-generators/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-async-generators", "virtual:ba1c0e1ca64eb2d0239b3eed2dcd904b02bec7c388c425e832f80080c28047a34349bdf847af35395682a84967d8c0d3855919199454485ed09f8786b7299687#npm:7.8.4"],\ + ["@babel/core", "npm:7.23.9"],\ + ["@babel/helper-plugin-utils", "npm:7.22.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-bigint", [\ + ["npm:7.8.3", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-syntax-bigint-npm-7.8.3-b05d971e6c-3a10849d83.zip/node_modules/@babel/plugin-syntax-bigint/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-bigint", "npm:7.8.3"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:89ab879d8f5e0cf9e63bf2d4d4df9bf0629f31b9b413bf3915a576cbb06f0777f5b4b54c4a32d1050a7d2c35c4e73991decc6550c84edb82a97830567e8edced#npm:7.8.3", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-bigint-virtual-51a5b62661/0/cache/@babel-plugin-syntax-bigint-npm-7.8.3-b05d971e6c-3a10849d83.zip/node_modules/@babel/plugin-syntax-bigint/",\ "packageDependencies": [\ ["@babel/plugin-syntax-bigint", "virtual:89ab879d8f5e0cf9e63bf2d4d4df9bf0629f31b9b413bf3915a576cbb06f0777f5b4b54c4a32d1050a7d2c35c4e73991decc6550c84edb82a97830567e8edced#npm:7.8.3"],\ @@ -446,6 +1012,20 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.12.13", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-class-properties-virtual-78c63372eb/0/cache/@babel-plugin-syntax-class-properties-npm-7.12.13-002ee9d930-24f34b196d.zip/node_modules/@babel/plugin-syntax-class-properties/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-class-properties", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.12.13"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.22.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:89ab879d8f5e0cf9e63bf2d4d4df9bf0629f31b9b413bf3915a576cbb06f0777f5b4b54c4a32d1050a7d2c35c4e73991decc6550c84edb82a97830567e8edced#npm:7.12.13", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-class-properties-virtual-3f60cae856/0/cache/@babel-plugin-syntax-class-properties-npm-7.12.13-002ee9d930-24f34b196d.zip/node_modules/@babel/plugin-syntax-class-properties/",\ "packageDependencies": [\ @@ -475,6 +1055,121 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["@babel/plugin-syntax-class-static-block", [\ + ["npm:7.14.5", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-syntax-class-static-block-npm-7.14.5-7bdd0ff1b3-3e80814b5b.zip/node_modules/@babel/plugin-syntax-class-static-block/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-class-static-block", "npm:7.14.5"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.14.5", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-class-static-block-virtual-69b1ba1b7f/0/cache/@babel-plugin-syntax-class-static-block-npm-7.14.5-7bdd0ff1b3-3e80814b5b.zip/node_modules/@babel/plugin-syntax-class-static-block/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-class-static-block", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.14.5"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.22.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "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/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-dynamic-import", "npm:7.8.3"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.8.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-dynamic-import-virtual-fc42f10dea/0/cache/@babel-plugin-syntax-dynamic-import-npm-7.8.3-fb9ff5634a-ce307af83c.zip/node_modules/@babel/plugin-syntax-dynamic-import/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-dynamic-import", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.8.3"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.22.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-export-namespace-from", [\ + ["npm:7.8.3", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-syntax-export-namespace-from-npm-7.8.3-1747201aa9-85740478be.zip/node_modules/@babel/plugin-syntax-export-namespace-from/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-export-namespace-from", "npm:7.8.3"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.8.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-export-namespace-from-virtual-3b2dca97b5/0/cache/@babel-plugin-syntax-export-namespace-from-npm-7.8.3-1747201aa9-85740478be.zip/node_modules/@babel/plugin-syntax-export-namespace-from/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-export-namespace-from", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.8.3"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.24.6"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-import-assertions", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-syntax-import-assertions-npm-7.24.6-a2590f45a6-ea73a9aed8.zip/node_modules/@babel/plugin-syntax-import-assertions/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-import-assertions", "npm:7.24.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-import-assertions-virtual-533eabe5df/0/cache/@babel-plugin-syntax-import-assertions-npm-7.24.6-a2590f45a6-ea73a9aed8.zip/node_modules/@babel/plugin-syntax-import-assertions/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-import-assertions", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.24.6"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-import-attributes", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-syntax-import-attributes-npm-7.24.6-8317bc95f2-cd8a3aa480.zip/node_modules/@babel/plugin-syntax-import-attributes/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-import-attributes", "npm:7.24.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-import-attributes-virtual-d83b20315f/0/cache/@babel-plugin-syntax-import-attributes-npm-7.24.6-8317bc95f2-cd8a3aa480.zip/node_modules/@babel/plugin-syntax-import-attributes/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-import-attributes", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.24.6"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["@babel/plugin-syntax-import-meta", [\ ["npm:7.10.4", {\ "packageLocation": "./.yarn/cache/@babel-plugin-syntax-import-meta-npm-7.10.4-4a0a0158bc-166ac1125d.zip/node_modules/@babel/plugin-syntax-import-meta/",\ @@ -483,6 +1178,20 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.10.4", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-import-meta-virtual-92dd498a4a/0/cache/@babel-plugin-syntax-import-meta-npm-7.10.4-4a0a0158bc-166ac1125d.zip/node_modules/@babel/plugin-syntax-import-meta/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-import-meta", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.10.4"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.22.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:89ab879d8f5e0cf9e63bf2d4d4df9bf0629f31b9b413bf3915a576cbb06f0777f5b4b54c4a32d1050a7d2c35c4e73991decc6550c84edb82a97830567e8edced#npm:7.10.4", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-import-meta-virtual-b6e7c1bc57/0/cache/@babel-plugin-syntax-import-meta-npm-7.10.4-4a0a0158bc-166ac1125d.zip/node_modules/@babel/plugin-syntax-import-meta/",\ "packageDependencies": [\ @@ -520,6 +1229,20 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.8.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-json-strings-virtual-b1434513ac/0/cache/@babel-plugin-syntax-json-strings-npm-7.8.3-6dc7848179-bf5aea1f31.zip/node_modules/@babel/plugin-syntax-json-strings/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-json-strings", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.8.3"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.22.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:89ab879d8f5e0cf9e63bf2d4d4df9bf0629f31b9b413bf3915a576cbb06f0777f5b4b54c4a32d1050a7d2c35c4e73991decc6550c84edb82a97830567e8edced#npm:7.8.3", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-json-strings-virtual-33b13377c6/0/cache/@babel-plugin-syntax-json-strings-npm-7.8.3-6dc7848179-bf5aea1f31.zip/node_modules/@babel/plugin-syntax-json-strings/",\ "packageDependencies": [\ @@ -557,6 +1280,13 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-syntax-jsx-npm-7.24.6-f98dc29919-68e90ec17c.zip/node_modules/@babel/plugin-syntax-jsx/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-jsx", "npm:7.24.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ ["virtual:15ef0a4ad61c166598c4d195dc64a0b7270b186e9a584ea25871b4181189fa5a61a49aa37f6bcda6ffed25499ff900f1a33224b0c22868c8eb1eaf1dd4f0dc11#npm:7.23.3", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-jsx-virtual-55a24092c0/0/cache/@babel-plugin-syntax-jsx-npm-7.23.3-9ff8fd9153-8903769431.zip/node_modules/@babel/plugin-syntax-jsx/",\ "packageDependencies": [\ @@ -570,6 +1300,20 @@ const RAW_RUNTIME_STATE = "@types/babel__core"\ ],\ "linkType": "HARD"\ + }],\ + ["virtual:53ec7cc6fb52f5302716494a74c19fa098d1db612ebcdb7fff842f691c688a2fda0b3a647c6da166388fc3a64c8619193d87179b5fd5cdf24a2f6fb86186a30a#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-jsx-virtual-29ba66306e/0/cache/@babel-plugin-syntax-jsx-npm-7.24.6-f98dc29919-68e90ec17c.zip/node_modules/@babel/plugin-syntax-jsx/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-jsx", "virtual:53ec7cc6fb52f5302716494a74c19fa098d1db612ebcdb7fff842f691c688a2fda0b3a647c6da166388fc3a64c8619193d87179b5fd5cdf24a2f6fb86186a30a#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.24.6"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["@babel/plugin-syntax-logical-assignment-operators", [\ @@ -580,6 +1324,20 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.10.4", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-logical-assignment-operators-virtual-b78912a0b8/0/cache/@babel-plugin-syntax-logical-assignment-operators-npm-7.10.4-72ae00fdf6-aff3357703.zip/node_modules/@babel/plugin-syntax-logical-assignment-operators/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-logical-assignment-operators", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.10.4"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.22.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:89ab879d8f5e0cf9e63bf2d4d4df9bf0629f31b9b413bf3915a576cbb06f0777f5b4b54c4a32d1050a7d2c35c4e73991decc6550c84edb82a97830567e8edced#npm:7.10.4", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-logical-assignment-operators-virtual-75252aed7f/0/cache/@babel-plugin-syntax-logical-assignment-operators-npm-7.10.4-72ae00fdf6-aff3357703.zip/node_modules/@babel/plugin-syntax-logical-assignment-operators/",\ "packageDependencies": [\ @@ -617,6 +1375,20 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.8.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-nullish-coalescing-operator-virtual-f65c615f35/0/cache/@babel-plugin-syntax-nullish-coalescing-operator-npm-7.8.3-8a723173b5-87aca49189.zip/node_modules/@babel/plugin-syntax-nullish-coalescing-operator/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-nullish-coalescing-operator", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.8.3"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.22.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:89ab879d8f5e0cf9e63bf2d4d4df9bf0629f31b9b413bf3915a576cbb06f0777f5b4b54c4a32d1050a7d2c35c4e73991decc6550c84edb82a97830567e8edced#npm:7.8.3", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-nullish-coalescing-operator-virtual-20ce085879/0/cache/@babel-plugin-syntax-nullish-coalescing-operator-npm-7.8.3-8a723173b5-87aca49189.zip/node_modules/@babel/plugin-syntax-nullish-coalescing-operator/",\ "packageDependencies": [\ @@ -654,6 +1426,20 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.10.4", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-numeric-separator-virtual-1ef94479e9/0/cache/@babel-plugin-syntax-numeric-separator-npm-7.10.4-81444be605-01ec5547bd.zip/node_modules/@babel/plugin-syntax-numeric-separator/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-numeric-separator", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.10.4"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.22.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:89ab879d8f5e0cf9e63bf2d4d4df9bf0629f31b9b413bf3915a576cbb06f0777f5b4b54c4a32d1050a7d2c35c4e73991decc6550c84edb82a97830567e8edced#npm:7.10.4", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-numeric-separator-virtual-6e0127b379/0/cache/@babel-plugin-syntax-numeric-separator-npm-7.10.4-81444be605-01ec5547bd.zip/node_modules/@babel/plugin-syntax-numeric-separator/",\ "packageDependencies": [\ @@ -691,6 +1477,20 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.8.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-object-rest-spread-virtual-8c595bb3cf/0/cache/@babel-plugin-syntax-object-rest-spread-npm-7.8.3-60bd05b6ae-fddcf581a5.zip/node_modules/@babel/plugin-syntax-object-rest-spread/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-object-rest-spread", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.8.3"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.22.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:89ab879d8f5e0cf9e63bf2d4d4df9bf0629f31b9b413bf3915a576cbb06f0777f5b4b54c4a32d1050a7d2c35c4e73991decc6550c84edb82a97830567e8edced#npm:7.8.3", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-object-rest-spread-virtual-1be6a5ef52/0/cache/@babel-plugin-syntax-object-rest-spread-npm-7.8.3-60bd05b6ae-fddcf581a5.zip/node_modules/@babel/plugin-syntax-object-rest-spread/",\ "packageDependencies": [\ @@ -728,11 +1528,25 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ - ["virtual:89ab879d8f5e0cf9e63bf2d4d4df9bf0629f31b9b413bf3915a576cbb06f0777f5b4b54c4a32d1050a7d2c35c4e73991decc6550c84edb82a97830567e8edced#npm:7.8.3", {\ - "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-optional-catch-binding-virtual-d232b50c3c/0/cache/@babel-plugin-syntax-optional-catch-binding-npm-7.8.3-ce337427d8-910d90e72b.zip/node_modules/@babel/plugin-syntax-optional-catch-binding/",\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.8.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-optional-catch-binding-virtual-543dd9e461/0/cache/@babel-plugin-syntax-optional-catch-binding-npm-7.8.3-ce337427d8-910d90e72b.zip/node_modules/@babel/plugin-syntax-optional-catch-binding/",\ "packageDependencies": [\ - ["@babel/plugin-syntax-optional-catch-binding", "virtual:89ab879d8f5e0cf9e63bf2d4d4df9bf0629f31b9b413bf3915a576cbb06f0777f5b4b54c4a32d1050a7d2c35c4e73991decc6550c84edb82a97830567e8edced#npm:7.8.3"],\ - ["@babel/core", "npm:7.23.9"],\ + ["@babel/plugin-syntax-optional-catch-binding", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.8.3"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.22.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:89ab879d8f5e0cf9e63bf2d4d4df9bf0629f31b9b413bf3915a576cbb06f0777f5b4b54c4a32d1050a7d2c35c4e73991decc6550c84edb82a97830567e8edced#npm:7.8.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-optional-catch-binding-virtual-d232b50c3c/0/cache/@babel-plugin-syntax-optional-catch-binding-npm-7.8.3-ce337427d8-910d90e72b.zip/node_modules/@babel/plugin-syntax-optional-catch-binding/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-optional-catch-binding", "virtual:89ab879d8f5e0cf9e63bf2d4d4df9bf0629f31b9b413bf3915a576cbb06f0777f5b4b54c4a32d1050a7d2c35c4e73991decc6550c84edb82a97830567e8edced#npm:7.8.3"],\ + ["@babel/core", "npm:7.23.9"],\ ["@babel/helper-plugin-utils", "npm:7.22.5"],\ ["@types/babel__core", "npm:7.20.5"]\ ],\ @@ -765,6 +1579,20 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.8.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-optional-chaining-virtual-de82cb4206/0/cache/@babel-plugin-syntax-optional-chaining-npm-7.8.3-f3f3c79579-eef94d53a1.zip/node_modules/@babel/plugin-syntax-optional-chaining/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-optional-chaining", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.8.3"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.22.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:89ab879d8f5e0cf9e63bf2d4d4df9bf0629f31b9b413bf3915a576cbb06f0777f5b4b54c4a32d1050a7d2c35c4e73991decc6550c84edb82a97830567e8edced#npm:7.8.3", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-optional-chaining-virtual-6cff103044/0/cache/@babel-plugin-syntax-optional-chaining-npm-7.8.3-f3f3c79579-eef94d53a1.zip/node_modules/@babel/plugin-syntax-optional-chaining/",\ "packageDependencies": [\ @@ -794,6 +1622,29 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["@babel/plugin-syntax-private-property-in-object", [\ + ["npm:7.14.5", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-syntax-private-property-in-object-npm-7.14.5-ee837fdbb2-b317174783.zip/node_modules/@babel/plugin-syntax-private-property-in-object/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-private-property-in-object", "npm:7.14.5"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.14.5", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-private-property-in-object-virtual-6422def227/0/cache/@babel-plugin-syntax-private-property-in-object-npm-7.14.5-ee837fdbb2-b317174783.zip/node_modules/@babel/plugin-syntax-private-property-in-object/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-private-property-in-object", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.14.5"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.22.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["@babel/plugin-syntax-top-level-await", [\ ["npm:7.14.5", {\ "packageLocation": "./.yarn/cache/@babel-plugin-syntax-top-level-await-npm-7.14.5-60a0a2e83b-bbd1a56b09.zip/node_modules/@babel/plugin-syntax-top-level-await/",\ @@ -802,6 +1653,20 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.14.5", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-top-level-await-virtual-f6a2819014/0/cache/@babel-plugin-syntax-top-level-await-npm-7.14.5-60a0a2e83b-bbd1a56b09.zip/node_modules/@babel/plugin-syntax-top-level-await/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-top-level-await", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.14.5"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.22.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:89ab879d8f5e0cf9e63bf2d4d4df9bf0629f31b9b413bf3915a576cbb06f0777f5b4b54c4a32d1050a7d2c35c4e73991decc6550c84edb82a97830567e8edced#npm:7.14.5", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-top-level-await-virtual-9a100e9362/0/cache/@babel-plugin-syntax-top-level-await-npm-7.14.5-60a0a2e83b-bbd1a56b09.zip/node_modules/@babel/plugin-syntax-top-level-await/",\ "packageDependencies": [\ @@ -839,6 +1704,13 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-syntax-typescript-npm-7.24.6-635ec8b174-29dc4528a3.zip/node_modules/@babel/plugin-syntax-typescript/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-typescript", "npm:7.24.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ ["virtual:15ef0a4ad61c166598c4d195dc64a0b7270b186e9a584ea25871b4181189fa5a61a49aa37f6bcda6ffed25499ff900f1a33224b0c22868c8eb1eaf1dd4f0dc11#npm:7.23.3", {\ "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-typescript-virtual-03df731d00/0/cache/@babel-plugin-syntax-typescript-npm-7.23.3-d4e4d71527-abfad3a192.zip/node_modules/@babel/plugin-syntax-typescript/",\ "packageDependencies": [\ @@ -852,2641 +1724,3138 @@ const RAW_RUNTIME_STATE = "@types/babel__core"\ ],\ "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/template", [\ - ["npm:7.23.9", {\ - "packageLocation": "./.yarn/cache/@babel-template-npm-7.23.9-d3df10ecd2-1b011ba935.zip/node_modules/@babel/template/",\ + }],\ + ["virtual:8c3b3ecfcd65a0aca1c022f0655832309ea2ea312be2cfa3975b8c6439a81b551594358db41ba876d5a1cdf5e9c45a82c8aba6c81e35763f58568daca9cd4a11#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-typescript-virtual-b47b8926f3/0/cache/@babel-plugin-syntax-typescript-npm-7.24.6-635ec8b174-29dc4528a3.zip/node_modules/@babel/plugin-syntax-typescript/",\ "packageDependencies": [\ - ["@babel/template", "npm:7.23.9"],\ - ["@babel/code-frame", "npm:7.23.5"],\ - ["@babel/parser", "npm:7.23.9"],\ - ["@babel/types", "npm:7.23.9"]\ + ["@babel/plugin-syntax-typescript", "virtual:8c3b3ecfcd65a0aca1c022f0655832309ea2ea312be2cfa3975b8c6439a81b551594358db41ba876d5a1cdf5e9c45a82c8aba6c81e35763f58568daca9cd4a11#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.24.6"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@babel/traverse", [\ - ["npm:7.23.2", {\ - "packageLocation": "./.yarn/cache/@babel-traverse-npm-7.23.2-4758feee42-e4fcb8f839.zip/node_modules/@babel/traverse/",\ + ["@babel/plugin-syntax-unicode-sets-regex", [\ + ["npm:7.18.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-syntax-unicode-sets-regex-npm-7.18.6-b618a36bfd-a651d700fe.zip/node_modules/@babel/plugin-syntax-unicode-sets-regex/",\ "packageDependencies": [\ - ["@babel/traverse", "npm:7.23.2"],\ - ["@babel/code-frame", "npm:7.23.5"],\ - ["@babel/generator", "npm:7.23.6"],\ - ["@babel/helper-environment-visitor", "npm:7.22.20"],\ - ["@babel/helper-function-name", "npm:7.23.0"],\ - ["@babel/helper-hoist-variables", "npm:7.22.5"],\ - ["@babel/helper-split-export-declaration", "npm:7.22.6"],\ - ["@babel/parser", "npm:7.23.9"],\ - ["@babel/types", "npm:7.23.9"],\ - ["debug", "virtual:1ff4b5f90832ba0a9c93ba1223af226e44ba70c1126a3740d93562b97bc36544e896a5e95908196f7458713e6a6089a34bfc67362fc6df7fa093bd06c878be47#npm:4.3.4"],\ - ["globals", "npm:11.12.0"]\ + ["@babel/plugin-syntax-unicode-sets-regex", "npm:7.18.6"]\ ],\ - "linkType": "HARD"\ + "linkType": "SOFT"\ }],\ - ["npm:7.23.9", {\ - "packageLocation": "./.yarn/cache/@babel-traverse-npm-7.23.9-5506c369f7-e2bb845f7f.zip/node_modules/@babel/traverse/",\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.18.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-unicode-sets-regex-virtual-a4794fbefb/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/traverse", "npm:7.23.9"],\ - ["@babel/code-frame", "npm:7.23.5"],\ - ["@babel/generator", "npm:7.23.6"],\ - ["@babel/helper-environment-visitor", "npm:7.22.20"],\ - ["@babel/helper-function-name", "npm:7.23.0"],\ - ["@babel/helper-hoist-variables", "npm:7.22.5"],\ - ["@babel/helper-split-export-declaration", "npm:7.22.6"],\ - ["@babel/parser", "npm:7.23.9"],\ - ["@babel/types", "npm:7.23.9"],\ - ["debug", "virtual:1ff4b5f90832ba0a9c93ba1223af226e44ba70c1126a3740d93562b97bc36544e896a5e95908196f7458713e6a6089a34bfc67362fc6df7fa093bd06c878be47#npm:4.3.4"],\ - ["globals", "npm:11.12.0"]\ + ["@babel/plugin-syntax-unicode-sets-regex", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.18.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-create-regexp-features-plugin", "virtual:a4794fbefb43482740cb1accd74dd35653da7069fdbf8d43bc1ea446946c26bd592fce7bf18a75224865cf9fab6e6f71a8aa32e0a5cb498c152e2b240bb5e494#npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.24.6"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@babel/types", [\ - ["npm:7.17.0", {\ - "packageLocation": "./.yarn/cache/@babel-types-npm-7.17.0-3c936b54e4-535ccef360.zip/node_modules/@babel/types/",\ + ["@babel/plugin-transform-arrow-functions", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-arrow-functions-npm-7.24.6-d477a19aee-ae67650ff6.zip/node_modules/@babel/plugin-transform-arrow-functions/",\ "packageDependencies": [\ - ["@babel/types", "npm:7.17.0"],\ - ["@babel/helper-validator-identifier", "npm:7.22.20"],\ - ["to-fast-properties", "npm:2.0.0"]\ + ["@babel/plugin-transform-arrow-functions", "npm:7.24.6"]\ ],\ - "linkType": "HARD"\ + "linkType": "SOFT"\ }],\ - ["npm:7.23.9", {\ - "packageLocation": "./.yarn/cache/@babel-types-npm-7.23.9-c32aeb5f36-bed9634e5f.zip/node_modules/@babel/types/",\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-arrow-functions-virtual-4b449a9742/0/cache/@babel-plugin-transform-arrow-functions-npm-7.24.6-d477a19aee-ae67650ff6.zip/node_modules/@babel/plugin-transform-arrow-functions/",\ "packageDependencies": [\ - ["@babel/types", "npm:7.23.9"],\ - ["@babel/helper-string-parser", "npm:7.23.4"],\ - ["@babel/helper-validator-identifier", "npm:7.22.20"],\ - ["to-fast-properties", "npm:2.0.0"]\ + ["@babel/plugin-transform-arrow-functions", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.24.6"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@bcoe/v8-coverage", [\ - ["npm:0.2.3", {\ - "packageLocation": "./.yarn/cache/@bcoe-v8-coverage-npm-0.2.3-9e27b3c57e-1a1f0e356a.zip/node_modules/@bcoe/v8-coverage/",\ + ["@babel/plugin-transform-async-generator-functions", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-async-generator-functions-npm-7.24.6-12a8eced25-01025f7700.zip/node_modules/@babel/plugin-transform-async-generator-functions/",\ "packageDependencies": [\ - ["@bcoe/v8-coverage", "npm:0.2.3"]\ + ["@babel/plugin-transform-async-generator-functions", "npm:7.24.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-async-generator-functions-virtual-ba6320fa93/0/cache/@babel-plugin-transform-async-generator-functions-npm-7.24.6-12a8eced25-01025f7700.zip/node_modules/@babel/plugin-transform-async-generator-functions/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-async-generator-functions", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-environment-visitor", "npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.24.6"],\ + ["@babel/helper-remap-async-to-generator", "virtual:ba6320fa9364b1c2c5cea44d87c001b3139f2ec8722b8d5b99b4d1f35408a6a692f6a7591b167b29f1dda3b751f0d8f756a9d6964566615a6e1895b40bea3180#npm:7.24.6"],\ + ["@babel/plugin-syntax-async-generators", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.8.4"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@codeceptjs/configure", [\ - ["npm:0.10.0", {\ - "packageLocation": "./.yarn/cache/@codeceptjs-configure-npm-0.10.0-ba73c0a5e7-afd4512fee.zip/node_modules/@codeceptjs/configure/",\ + ["@babel/plugin-transform-async-to-generator", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-async-to-generator-npm-7.24.6-189a0067fc-b10945afa1.zip/node_modules/@babel/plugin-transform-async-to-generator/",\ "packageDependencies": [\ - ["@codeceptjs/configure", "npm:0.10.0"]\ + ["@babel/plugin-transform-async-to-generator", "npm:7.24.6"]\ ],\ "linkType": "SOFT"\ }],\ - ["npm:1.0.1", {\ - "packageLocation": "./.yarn/cache/@codeceptjs-configure-npm-1.0.1-d9352a52f7-f570ddc1db.zip/node_modules/@codeceptjs/configure/",\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-async-to-generator-virtual-790d086550/0/cache/@babel-plugin-transform-async-to-generator-npm-7.24.6-189a0067fc-b10945afa1.zip/node_modules/@babel/plugin-transform-async-to-generator/",\ "packageDependencies": [\ - ["@codeceptjs/configure", "npm:1.0.1"]\ + ["@babel/plugin-transform-async-to-generator", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-module-imports", "npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.24.6"],\ + ["@babel/helper-remap-async-to-generator", "virtual:ba6320fa9364b1c2c5cea44d87c001b3139f2ec8722b8d5b99b4d1f35408a6a692f6a7591b167b29f1dda3b751f0d8f756a9d6964566615a6e1895b40bea3180#npm:7.24.6"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-block-scoped-functions", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-block-scoped-functions-npm-7.24.6-44ea7d0ddf-8479b49e7a.zip/node_modules/@babel/plugin-transform-block-scoped-functions/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-block-scoped-functions", "npm:7.24.6"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:0f260612f43d62f390b7c799a6d835ee2a70036c46318983810c9645356da12a32ffa66b9a29be816548aaa485243032e8cbbe0967390766206b2817a3eada37#npm:0.10.0", {\ - "packageLocation": "./.yarn/__virtual__/@codeceptjs-configure-virtual-ef6a13bbe9/0/cache/@codeceptjs-configure-npm-0.10.0-ba73c0a5e7-afd4512fee.zip/node_modules/@codeceptjs/configure/",\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-block-scoped-functions-virtual-d432b00b07/0/cache/@babel-plugin-transform-block-scoped-functions-npm-7.24.6-44ea7d0ddf-8479b49e7a.zip/node_modules/@babel/plugin-transform-block-scoped-functions/",\ "packageDependencies": [\ - ["@codeceptjs/configure", "virtual:0f260612f43d62f390b7c799a6d835ee2a70036c46318983810c9645356da12a32ffa66b9a29be816548aaa485243032e8cbbe0967390766206b2817a3eada37#npm:0.10.0"],\ - ["@types/codeceptjs", null],\ - ["codeceptjs", "npm:3.5.14"],\ - ["lodash.merge", "npm:4.6.2"],\ - ["lodash.mergewith", "npm:4.6.2"]\ + ["@babel/plugin-transform-block-scoped-functions", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.24.6"],\ + ["@types/babel__core", "npm:7.20.5"]\ ],\ "packagePeers": [\ - "@types/codeceptjs",\ - "codeceptjs"\ + "@babel/core",\ + "@types/babel__core"\ ],\ "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-block-scoping", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-block-scoping-npm-7.24.6-b953ced0c8-40affbc3fb.zip/node_modules/@babel/plugin-transform-block-scoping/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-block-scoping", "npm:7.24.6"]\ + ],\ + "linkType": "SOFT"\ }],\ - ["virtual:4dfda025008308960858af02ce2de23e6fbf02744b9548c2fa0efde5067623eaf08fec37555d32d6a86a61adf128d2c2890eef9d442aef417f3e2d1f5492c52d#npm:1.0.1", {\ - "packageLocation": "./.yarn/__virtual__/@codeceptjs-configure-virtual-b1595d0ff2/0/cache/@codeceptjs-configure-npm-1.0.1-d9352a52f7-f570ddc1db.zip/node_modules/@codeceptjs/configure/",\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-block-scoping-virtual-4ca9122cd7/0/cache/@babel-plugin-transform-block-scoping-npm-7.24.6-b953ced0c8-40affbc3fb.zip/node_modules/@babel/plugin-transform-block-scoping/",\ "packageDependencies": [\ - ["@codeceptjs/configure", "virtual:4dfda025008308960858af02ce2de23e6fbf02744b9548c2fa0efde5067623eaf08fec37555d32d6a86a61adf128d2c2890eef9d442aef417f3e2d1f5492c52d#npm:1.0.1"],\ - ["@types/codeceptjs", null],\ - ["codeceptjs", "npm:3.5.14"],\ - ["lodash.merge", "npm:4.6.2"],\ - ["lodash.mergewith", "npm:4.6.2"]\ + ["@babel/plugin-transform-block-scoping", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.24.6"],\ + ["@types/babel__core", "npm:7.20.5"]\ ],\ "packagePeers": [\ - "@types/codeceptjs",\ - "codeceptjs"\ + "@babel/core",\ + "@types/babel__core"\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@codeceptjs/detox-helper", [\ - ["npm:1.0.2", {\ - "packageLocation": "./.yarn/cache/@codeceptjs-detox-helper-npm-1.0.2-3153b71c46-4157dde568.zip/node_modules/@codeceptjs/detox-helper/",\ + ["@babel/plugin-transform-class-properties", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-class-properties-npm-7.24.6-033dc59464-dee84706ae.zip/node_modules/@babel/plugin-transform-class-properties/",\ "packageDependencies": [\ - ["@codeceptjs/detox-helper", "npm:1.0.2"],\ - ["detox", "npm:12.11.3"]\ + ["@babel/plugin-transform-class-properties", "npm:7.24.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-class-properties-virtual-ac0924fd9f/0/cache/@babel-plugin-transform-class-properties-npm-7.24.6-033dc59464-dee84706ae.zip/node_modules/@babel/plugin-transform-class-properties/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-class-properties", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-create-class-features-plugin", "virtual:ac0924fd9f59da232b5874052cdabdc93c0e7bd39c73744cdd4875eac25a3e5a523b99b66b9e45a8c8f96ec48434b37dd089a5fa0c36bcd9a5b05700f2161fa5#npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.24.6"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@codeceptjs/helper", [\ - ["npm:2.0.1", {\ - "packageLocation": "./.yarn/cache/@codeceptjs-helper-npm-2.0.1-658ed6443d-f4dfc1a916.zip/node_modules/@codeceptjs/helper/",\ + ["@babel/plugin-transform-class-static-block", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-class-static-block-npm-7.24.6-871d2649d4-aa7fe118d5.zip/node_modules/@babel/plugin-transform-class-static-block/",\ "packageDependencies": [\ - ["@codeceptjs/helper", "npm:2.0.1"]\ + ["@babel/plugin-transform-class-static-block", "npm:7.24.6"]\ ],\ - "linkType": "HARD"\ + "linkType": "SOFT"\ }],\ - ["npm:2.0.4", {\ - "packageLocation": "./.yarn/cache/@codeceptjs-helper-npm-2.0.4-95fd9d1c11-004e229f15.zip/node_modules/@codeceptjs/helper/",\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-class-static-block-virtual-d08307418e/0/cache/@babel-plugin-transform-class-static-block-npm-7.24.6-871d2649d4-aa7fe118d5.zip/node_modules/@babel/plugin-transform-class-static-block/",\ "packageDependencies": [\ - ["@codeceptjs/helper", "npm:2.0.4"],\ - ["typescript", "patch:typescript@npm%3A5.4.5#optional!builtin::version=5.4.5&hash=5adc0c"]\ + ["@babel/plugin-transform-class-static-block", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-create-class-features-plugin", "virtual:ac0924fd9f59da232b5874052cdabdc93c0e7bd39c73744cdd4875eac25a3e5a523b99b66b9e45a8c8f96ec48434b37dd089a5fa0c36bcd9a5b05700f2161fa5#npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.24.6"],\ + ["@babel/plugin-syntax-class-static-block", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.14.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@colors/colors", [\ - ["npm:1.5.0", {\ - "packageLocation": "./.yarn/cache/@colors-colors-npm-1.5.0-875af3a8b4-9d226461c1.zip/node_modules/@colors/colors/",\ + ["@babel/plugin-transform-classes", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-classes-npm-7.24.6-79ccec2357-7bd9350695.zip/node_modules/@babel/plugin-transform-classes/",\ "packageDependencies": [\ - ["@colors/colors", "npm:1.5.0"]\ + ["@babel/plugin-transform-classes", "npm:7.24.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-classes-virtual-fb33d9c75e/0/cache/@babel-plugin-transform-classes-npm-7.24.6-79ccec2357-7bd9350695.zip/node_modules/@babel/plugin-transform-classes/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-classes", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-annotate-as-pure", "npm:7.24.6"],\ + ["@babel/helper-compilation-targets", "npm:7.24.6"],\ + ["@babel/helper-environment-visitor", "npm:7.24.6"],\ + ["@babel/helper-function-name", "npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.24.6"],\ + ["@babel/helper-replace-supers", "virtual:013103299c173232b16c2971aac3f96d51ce474b795044304b39dd0ea1bdb59426d75f9a5b55519faec7e4626d4813848657ffcef83db26ebd552ecc73d5613e#npm:7.24.6"],\ + ["@babel/helper-split-export-declaration", "npm:7.24.6"],\ + ["@types/babel__core", "npm:7.20.5"],\ + ["globals", "npm:11.12.0"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@cspotcode/source-map-support", [\ - ["npm:0.8.1", {\ - "packageLocation": "./.yarn/cache/@cspotcode-source-map-support-npm-0.8.1-964f2de99d-b6e38a1712.zip/node_modules/@cspotcode/source-map-support/",\ + ["@babel/plugin-transform-computed-properties", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-computed-properties-npm-7.24.6-68be96b8a1-11d4652596.zip/node_modules/@babel/plugin-transform-computed-properties/",\ "packageDependencies": [\ - ["@cspotcode/source-map-support", "npm:0.8.1"],\ - ["@jridgewell/trace-mapping", "npm:0.3.9"]\ + ["@babel/plugin-transform-computed-properties", "npm:7.24.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-computed-properties-virtual-bcf18f92aa/0/cache/@babel-plugin-transform-computed-properties-npm-7.24.6-68be96b8a1-11d4652596.zip/node_modules/@babel/plugin-transform-computed-properties/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-computed-properties", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.24.6"],\ + ["@babel/template", "npm:7.24.6"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@cucumber/ci-environment", [\ - ["npm:10.0.1", {\ - "packageLocation": "./.yarn/cache/@cucumber-ci-environment-npm-10.0.1-15056f4a9d-726f7957ea.zip/node_modules/@cucumber/ci-environment/",\ + ["@babel/plugin-transform-destructuring", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-destructuring-npm-7.24.6-eae3617992-0ae192d749.zip/node_modules/@babel/plugin-transform-destructuring/",\ "packageDependencies": [\ - ["@cucumber/ci-environment", "npm:10.0.1"]\ + ["@babel/plugin-transform-destructuring", "npm:7.24.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-destructuring-virtual-6ef76d8d2b/0/cache/@babel-plugin-transform-destructuring-npm-7.24.6-eae3617992-0ae192d749.zip/node_modules/@babel/plugin-transform-destructuring/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-destructuring", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.24.6"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@cucumber/cucumber", [\ - ["npm:10.4.0", {\ - "packageLocation": "./.yarn/cache/@cucumber-cucumber-npm-10.4.0-1fcea15c8b-9527f82450.zip/node_modules/@cucumber/cucumber/",\ + ["@babel/plugin-transform-dotall-regex", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-dotall-regex-npm-7.24.6-7d34434e0b-823732fade.zip/node_modules/@babel/plugin-transform-dotall-regex/",\ "packageDependencies": [\ - ["@cucumber/cucumber", "npm:10.4.0"],\ - ["@cucumber/ci-environment", "npm:10.0.1"],\ - ["@cucumber/cucumber-expressions", "npm:17.1.0"],\ - ["@cucumber/gherkin", "npm:28.0.0"],\ - ["@cucumber/gherkin-streams", "virtual:1fcea15c8bf2089a53fe8bf9ffc837d613c1bc61a4d4dd5395727d0484bd003ca936b69b8a0cf6bdf6c55f3297ae5255818ce58084d2abc55778d09888281fe5#npm:5.0.1"],\ - ["@cucumber/gherkin-utils", "npm:9.0.0"],\ - ["@cucumber/html-formatter", "virtual:1fcea15c8bf2089a53fe8bf9ffc837d613c1bc61a4d4dd5395727d0484bd003ca936b69b8a0cf6bdf6c55f3297ae5255818ce58084d2abc55778d09888281fe5#npm:21.3.1"],\ - ["@cucumber/message-streams", "virtual:1fcea15c8bf2089a53fe8bf9ffc837d613c1bc61a4d4dd5395727d0484bd003ca936b69b8a0cf6bdf6c55f3297ae5255818ce58084d2abc55778d09888281fe5#npm:4.0.1"],\ - ["@cucumber/messages", "npm:24.1.0"],\ - ["@cucumber/tag-expressions", "npm:6.1.0"],\ - ["assertion-error-formatter", "npm:3.0.0"],\ - ["capital-case", "npm:1.0.4"],\ - ["chalk", "npm:4.1.2"],\ - ["cli-table3", "npm:0.6.3"],\ - ["commander", "npm:10.0.1"],\ - ["debug", "virtual:87db25c7c5e6b25bbc12571091cdabc648b79d427ab445d1714ccfdcdfb3265c9de6561ca760cc3de470037cbedf3af4be56ba3b684b3a1c01d4c9c2fd55a741#npm:4.3.4"],\ - ["error-stack-parser", "npm:2.1.4"],\ - ["figures", "npm:3.2.0"],\ - ["glob", "npm:10.3.10"],\ - ["has-ansi", "npm:4.0.1"],\ - ["indent-string", "npm:4.0.0"],\ - ["is-installed-globally", "npm:0.4.0"],\ - ["is-stream", "npm:2.0.1"],\ - ["knuth-shuffle-seeded", "npm:1.0.6"],\ - ["lodash.merge", "npm:4.6.2"],\ - ["lodash.mergewith", "npm:4.6.2"],\ - ["luxon", "npm:3.2.1"],\ - ["mkdirp", "npm:2.1.6"],\ - ["mz", "npm:2.7.0"],\ - ["progress", "npm:2.0.3"],\ - ["read-pkg-up", "npm:7.0.1"],\ - ["resolve-pkg", "npm:2.0.0"],\ - ["semver", "npm:7.5.3"],\ - ["string-argv", "npm:0.3.1"],\ - ["strip-ansi", "npm:6.0.1"],\ - ["supports-color", "npm:8.1.1"],\ - ["tmp", "npm:0.2.3"],\ - ["type-fest", "npm:4.15.0"],\ - ["util-arity", "npm:1.1.0"],\ - ["xmlbuilder", "npm:15.1.1"],\ - ["yaml", "npm:2.4.0"],\ - ["yup", "npm:1.2.0"]\ + ["@babel/plugin-transform-dotall-regex", "npm:7.24.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-dotall-regex-virtual-e4e840b820/0/cache/@babel-plugin-transform-dotall-regex-npm-7.24.6-7d34434e0b-823732fade.zip/node_modules/@babel/plugin-transform-dotall-regex/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-dotall-regex", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-create-regexp-features-plugin", "virtual:a4794fbefb43482740cb1accd74dd35653da7069fdbf8d43bc1ea446946c26bd592fce7bf18a75224865cf9fab6e6f71a8aa32e0a5cb498c152e2b240bb5e494#npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.24.6"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@cucumber/cucumber-expressions", [\ - ["npm:17.0.2", {\ - "packageLocation": "./.yarn/cache/@cucumber-cucumber-expressions-npm-17.0.2-1bfb6b14aa-9ca02cc8ac.zip/node_modules/@cucumber/cucumber-expressions/",\ + ["@babel/plugin-transform-duplicate-keys", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-duplicate-keys-npm-7.24.6-29d492c2b1-fdeaa11873.zip/node_modules/@babel/plugin-transform-duplicate-keys/",\ "packageDependencies": [\ - ["@cucumber/cucumber-expressions", "npm:17.0.2"],\ - ["regexp-match-indices", "npm:1.0.2"]\ + ["@babel/plugin-transform-duplicate-keys", "npm:7.24.6"]\ ],\ - "linkType": "HARD"\ + "linkType": "SOFT"\ }],\ - ["npm:17.1.0", {\ - "packageLocation": "./.yarn/cache/@cucumber-cucumber-expressions-npm-17.1.0-d04812b220-2dda4129c3.zip/node_modules/@cucumber/cucumber-expressions/",\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-duplicate-keys-virtual-156daba70f/0/cache/@babel-plugin-transform-duplicate-keys-npm-7.24.6-29d492c2b1-fdeaa11873.zip/node_modules/@babel/plugin-transform-duplicate-keys/",\ "packageDependencies": [\ - ["@cucumber/cucumber-expressions", "npm:17.1.0"],\ - ["regexp-match-indices", "npm:1.0.2"]\ + ["@babel/plugin-transform-duplicate-keys", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.24.6"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@cucumber/gherkin", [\ - ["npm:26.2.0", {\ - "packageLocation": "./.yarn/cache/@cucumber-gherkin-npm-26.2.0-8df6a26563-f50f9f6f9a.zip/node_modules/@cucumber/gherkin/",\ + ["@babel/plugin-transform-dynamic-import", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-dynamic-import-npm-7.24.6-10fb978c80-c104b5bc05.zip/node_modules/@babel/plugin-transform-dynamic-import/",\ "packageDependencies": [\ - ["@cucumber/gherkin", "npm:26.2.0"],\ - ["@cucumber/messages", "npm:22.0.0"]\ + ["@babel/plugin-transform-dynamic-import", "npm:7.24.6"]\ ],\ - "linkType": "HARD"\ + "linkType": "SOFT"\ }],\ - ["npm:28.0.0", {\ - "packageLocation": "./.yarn/cache/@cucumber-gherkin-npm-28.0.0-0fe54c59df-f6c6f33e9a.zip/node_modules/@cucumber/gherkin/",\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-dynamic-import-virtual-a79d5aca98/0/cache/@babel-plugin-transform-dynamic-import-npm-7.24.6-10fb978c80-c104b5bc05.zip/node_modules/@babel/plugin-transform-dynamic-import/",\ "packageDependencies": [\ - ["@cucumber/gherkin", "npm:28.0.0"],\ - ["@cucumber/messages", "npm:24.1.0"]\ + ["@babel/plugin-transform-dynamic-import", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.24.6"],\ + ["@babel/plugin-syntax-dynamic-import", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.8.3"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@cucumber/gherkin-streams", [\ - ["npm:5.0.1", {\ - "packageLocation": "./.yarn/cache/@cucumber-gherkin-streams-npm-5.0.1-a9097ed93e-d52324a443.zip/node_modules/@cucumber/gherkin-streams/",\ + ["@babel/plugin-transform-exponentiation-operator", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-exponentiation-operator-npm-7.24.6-86824e8e69-8b59853c05.zip/node_modules/@babel/plugin-transform-exponentiation-operator/",\ "packageDependencies": [\ - ["@cucumber/gherkin-streams", "npm:5.0.1"]\ + ["@babel/plugin-transform-exponentiation-operator", "npm:7.24.6"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:1fcea15c8bf2089a53fe8bf9ffc837d613c1bc61a4d4dd5395727d0484bd003ca936b69b8a0cf6bdf6c55f3297ae5255818ce58084d2abc55778d09888281fe5#npm:5.0.1", {\ - "packageLocation": "./.yarn/__virtual__/@cucumber-gherkin-streams-virtual-db404f246b/0/cache/@cucumber-gherkin-streams-npm-5.0.1-a9097ed93e-d52324a443.zip/node_modules/@cucumber/gherkin-streams/",\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-exponentiation-operator-virtual-e74a907145/0/cache/@babel-plugin-transform-exponentiation-operator-npm-7.24.6-86824e8e69-8b59853c05.zip/node_modules/@babel/plugin-transform-exponentiation-operator/",\ "packageDependencies": [\ - ["@cucumber/gherkin-streams", "virtual:1fcea15c8bf2089a53fe8bf9ffc837d613c1bc61a4d4dd5395727d0484bd003ca936b69b8a0cf6bdf6c55f3297ae5255818ce58084d2abc55778d09888281fe5#npm:5.0.1"],\ - ["@cucumber/gherkin", "npm:28.0.0"],\ - ["@cucumber/message-streams", "virtual:1fcea15c8bf2089a53fe8bf9ffc837d613c1bc61a4d4dd5395727d0484bd003ca936b69b8a0cf6bdf6c55f3297ae5255818ce58084d2abc55778d09888281fe5#npm:4.0.1"],\ - ["@cucumber/messages", "npm:24.1.0"],\ - ["@types/cucumber__gherkin", null],\ - ["@types/cucumber__message-streams", null],\ - ["@types/cucumber__messages", null],\ - ["commander", "npm:9.1.0"],\ - ["source-map-support", "npm:0.5.21"]\ + ["@babel/plugin-transform-exponentiation-operator", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-builder-binary-assignment-operator-visitor", "npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.24.6"],\ + ["@types/babel__core", "npm:7.20.5"]\ ],\ "packagePeers": [\ - "@cucumber/gherkin",\ - "@cucumber/message-streams",\ - "@cucumber/messages",\ - "@types/cucumber__gherkin",\ - "@types/cucumber__message-streams",\ - "@types/cucumber__messages"\ + "@babel/core",\ + "@types/babel__core"\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@cucumber/gherkin-utils", [\ - ["npm:9.0.0", {\ - "packageLocation": "./.yarn/cache/@cucumber-gherkin-utils-npm-9.0.0-c5432013ec-04ced60d52.zip/node_modules/@cucumber/gherkin-utils/",\ + ["@babel/plugin-transform-export-namespace-from", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-export-namespace-from-npm-7.24.6-b61e093f4d-49d8f3ef9d.zip/node_modules/@babel/plugin-transform-export-namespace-from/",\ "packageDependencies": [\ - ["@cucumber/gherkin-utils", "npm:9.0.0"],\ - ["@cucumber/gherkin", "npm:28.0.0"],\ - ["@cucumber/messages", "npm:24.0.1"],\ - ["@teppeis/multimaps", "npm:3.0.0"],\ - ["commander", "npm:12.0.0"],\ - ["source-map-support", "npm:0.5.21"]\ + ["@babel/plugin-transform-export-namespace-from", "npm:7.24.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-export-namespace-from-virtual-5fd4b06418/0/cache/@babel-plugin-transform-export-namespace-from-npm-7.24.6-b61e093f4d-49d8f3ef9d.zip/node_modules/@babel/plugin-transform-export-namespace-from/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-export-namespace-from", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.24.6"],\ + ["@babel/plugin-syntax-export-namespace-from", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.8.3"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@cucumber/html-formatter", [\ - ["npm:21.3.1", {\ - "packageLocation": "./.yarn/cache/@cucumber-html-formatter-npm-21.3.1-5f1156cb5f-7c67856ab1.zip/node_modules/@cucumber/html-formatter/",\ + ["@babel/plugin-transform-for-of", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-for-of-npm-7.24.6-1e2f21efe5-76d61d26ef.zip/node_modules/@babel/plugin-transform-for-of/",\ "packageDependencies": [\ - ["@cucumber/html-formatter", "npm:21.3.1"]\ + ["@babel/plugin-transform-for-of", "npm:7.24.6"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:1fcea15c8bf2089a53fe8bf9ffc837d613c1bc61a4d4dd5395727d0484bd003ca936b69b8a0cf6bdf6c55f3297ae5255818ce58084d2abc55778d09888281fe5#npm:21.3.1", {\ - "packageLocation": "./.yarn/__virtual__/@cucumber-html-formatter-virtual-9d579f6350/0/cache/@cucumber-html-formatter-npm-21.3.1-5f1156cb5f-7c67856ab1.zip/node_modules/@cucumber/html-formatter/",\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-for-of-virtual-7782ab3b50/0/cache/@babel-plugin-transform-for-of-npm-7.24.6-1e2f21efe5-76d61d26ef.zip/node_modules/@babel/plugin-transform-for-of/",\ "packageDependencies": [\ - ["@cucumber/html-formatter", "virtual:1fcea15c8bf2089a53fe8bf9ffc837d613c1bc61a4d4dd5395727d0484bd003ca936b69b8a0cf6bdf6c55f3297ae5255818ce58084d2abc55778d09888281fe5#npm:21.3.1"],\ - ["@cucumber/messages", "npm:24.1.0"],\ - ["@types/cucumber__messages", null]\ + ["@babel/plugin-transform-for-of", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.24.6"],\ + ["@babel/helper-skip-transparent-expression-wrappers", "npm:7.24.6"],\ + ["@types/babel__core", "npm:7.20.5"]\ ],\ "packagePeers": [\ - "@cucumber/messages",\ - "@types/cucumber__messages"\ + "@babel/core",\ + "@types/babel__core"\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@cucumber/message-streams", [\ - ["npm:4.0.1", {\ - "packageLocation": "./.yarn/cache/@cucumber-message-streams-npm-4.0.1-0c98ff65d5-74080dafde.zip/node_modules/@cucumber/message-streams/",\ + ["@babel/plugin-transform-function-name", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-function-name-npm-7.24.6-89c1c46d51-fb96863c30.zip/node_modules/@babel/plugin-transform-function-name/",\ "packageDependencies": [\ - ["@cucumber/message-streams", "npm:4.0.1"]\ + ["@babel/plugin-transform-function-name", "npm:7.24.6"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:1fcea15c8bf2089a53fe8bf9ffc837d613c1bc61a4d4dd5395727d0484bd003ca936b69b8a0cf6bdf6c55f3297ae5255818ce58084d2abc55778d09888281fe5#npm:4.0.1", {\ - "packageLocation": "./.yarn/__virtual__/@cucumber-message-streams-virtual-16cbcb1c8f/0/cache/@cucumber-message-streams-npm-4.0.1-0c98ff65d5-74080dafde.zip/node_modules/@cucumber/message-streams/",\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-function-name-virtual-49d1de6783/0/cache/@babel-plugin-transform-function-name-npm-7.24.6-89c1c46d51-fb96863c30.zip/node_modules/@babel/plugin-transform-function-name/",\ "packageDependencies": [\ - ["@cucumber/message-streams", "virtual:1fcea15c8bf2089a53fe8bf9ffc837d613c1bc61a4d4dd5395727d0484bd003ca936b69b8a0cf6bdf6c55f3297ae5255818ce58084d2abc55778d09888281fe5#npm:4.0.1"],\ - ["@cucumber/messages", "npm:24.1.0"],\ - ["@types/cucumber__messages", null]\ + ["@babel/plugin-transform-function-name", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-compilation-targets", "npm:7.24.6"],\ + ["@babel/helper-function-name", "npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.24.6"],\ + ["@types/babel__core", "npm:7.20.5"]\ ],\ "packagePeers": [\ - "@cucumber/messages",\ - "@types/cucumber__messages"\ + "@babel/core",\ + "@types/babel__core"\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@cucumber/messages", [\ - ["npm:22.0.0", {\ - "packageLocation": "./.yarn/cache/@cucumber-messages-npm-22.0.0-923f9d93f5-09fa7264aa.zip/node_modules/@cucumber/messages/",\ + ["@babel/plugin-transform-json-strings", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-json-strings-npm-7.24.6-cfaf679db4-417772d7b1.zip/node_modules/@babel/plugin-transform-json-strings/",\ "packageDependencies": [\ - ["@cucumber/messages", "npm:22.0.0"],\ - ["@types/uuid", "npm:9.0.1"],\ - ["class-transformer", "npm:0.5.1"],\ - ["reflect-metadata", "npm:0.1.13"],\ - ["uuid", "npm:9.0.0"]\ + ["@babel/plugin-transform-json-strings", "npm:7.24.6"]\ ],\ - "linkType": "HARD"\ + "linkType": "SOFT"\ }],\ - ["npm:24.0.1", {\ - "packageLocation": "./.yarn/cache/@cucumber-messages-npm-24.0.1-561a811df8-fdaeb71eaa.zip/node_modules/@cucumber/messages/",\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-json-strings-virtual-77bedea2dd/0/cache/@babel-plugin-transform-json-strings-npm-7.24.6-cfaf679db4-417772d7b1.zip/node_modules/@babel/plugin-transform-json-strings/",\ "packageDependencies": [\ - ["@cucumber/messages", "npm:24.0.1"],\ - ["@types/uuid", "npm:9.0.7"],\ - ["class-transformer", "npm:0.5.1"],\ - ["reflect-metadata", "npm:0.2.1"],\ - ["uuid", "npm:9.0.1"]\ + ["@babel/plugin-transform-json-strings", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.24.6"],\ + ["@babel/plugin-syntax-json-strings", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.8.3"],\ + ["@types/babel__core", "npm:7.20.5"]\ ],\ - "linkType": "HARD"\ - }],\ - ["npm:24.1.0", {\ - "packageLocation": "./.yarn/cache/@cucumber-messages-npm-24.1.0-c6e46c47d9-a0e28349af.zip/node_modules/@cucumber/messages/",\ - "packageDependencies": [\ - ["@cucumber/messages", "npm:24.1.0"],\ - ["@types/uuid", "npm:9.0.8"],\ - ["class-transformer", "npm:0.5.1"],\ - ["reflect-metadata", "npm:0.2.1"],\ - ["uuid", "npm:9.0.1"]\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@cucumber/tag-expressions", [\ - ["npm:6.1.0", {\ - "packageLocation": "./.yarn/cache/@cucumber-tag-expressions-npm-6.1.0-06be85a8b8-eaef7c3560.zip/node_modules/@cucumber/tag-expressions/",\ + ["@babel/plugin-transform-literals", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-literals-npm-7.24.6-7ab73c8c1c-29e467f05a.zip/node_modules/@babel/plugin-transform-literals/",\ "packageDependencies": [\ - ["@cucumber/tag-expressions", "npm:6.1.0"]\ + ["@babel/plugin-transform-literals", "npm:7.24.6"]\ ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@cypress/request", [\ - ["npm:3.0.1", {\ - "packageLocation": "./.yarn/cache/@cypress-request-npm-3.0.1-7528f5a10a-bf48bed6d6.zip/node_modules/@cypress/request/",\ + "linkType": "SOFT"\ + }],\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-literals-virtual-463aa4f788/0/cache/@babel-plugin-transform-literals-npm-7.24.6-7ab73c8c1c-29e467f05a.zip/node_modules/@babel/plugin-transform-literals/",\ "packageDependencies": [\ - ["@cypress/request", "npm:3.0.1"],\ - ["aws-sign2", "npm:0.7.0"],\ - ["aws4", "npm:1.12.0"],\ - ["caseless", "npm:0.12.0"],\ - ["combined-stream", "npm:1.0.8"],\ - ["extend", "npm:3.0.2"],\ - ["forever-agent", "npm:0.6.1"],\ - ["form-data", "npm:2.3.3"],\ - ["http-signature", "npm:1.3.6"],\ - ["is-typedarray", "npm:1.0.0"],\ - ["isstream", "npm:0.1.2"],\ - ["json-stringify-safe", "npm:5.0.1"],\ - ["mime-types", "npm:2.1.35"],\ - ["performance-now", "npm:2.1.0"],\ - ["qs", "npm:6.10.4"],\ - ["safe-buffer", "npm:5.2.1"],\ - ["tough-cookie", "npm:4.1.3"],\ - ["tunnel-agent", "npm:0.6.0"],\ - ["uuid", "npm:8.3.2"]\ + ["@babel/plugin-transform-literals", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.24.6"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@cypress/xvfb", [\ - ["npm:1.2.4", {\ - "packageLocation": "./.yarn/cache/@cypress-xvfb-npm-1.2.4-396a3691f7-cb995b069f.zip/node_modules/@cypress/xvfb/",\ + ["@babel/plugin-transform-logical-assignment-operators", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-logical-assignment-operators-npm-7.24.6-0e224ec19c-5ee614e959.zip/node_modules/@babel/plugin-transform-logical-assignment-operators/",\ "packageDependencies": [\ - ["@cypress/xvfb", "npm:1.2.4"],\ - ["debug", "virtual:2a426afc4b2eef43db12a540d29c2b5476640459bfcd5c24f86bb401cf8cce97e63bd81794d206a5643057e7f662643afd5ce3dfc4d4bfd8e706006c6309c5fa#npm:3.2.7"],\ - ["lodash.once", "npm:4.1.1"]\ + ["@babel/plugin-transform-logical-assignment-operators", "npm:7.24.6"]\ ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@es-joy/jsdoccomment", [\ - ["npm:0.42.0", {\ - "packageLocation": "./.yarn/cache/@es-joy-jsdoccomment-npm-0.42.0-a28de67572-413c058f22.zip/node_modules/@es-joy/jsdoccomment/",\ + "linkType": "SOFT"\ + }],\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-logical-assignment-operators-virtual-1af835f4a3/0/cache/@babel-plugin-transform-logical-assignment-operators-npm-7.24.6-0e224ec19c-5ee614e959.zip/node_modules/@babel/plugin-transform-logical-assignment-operators/",\ "packageDependencies": [\ - ["@es-joy/jsdoccomment", "npm:0.42.0"],\ - ["comment-parser", "npm:1.4.1"],\ - ["esquery", "npm:1.5.0"],\ - ["jsdoc-type-pratt-parser", "npm:4.0.0"]\ + ["@babel/plugin-transform-logical-assignment-operators", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.24.6"],\ + ["@babel/plugin-syntax-logical-assignment-operators", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.10.4"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@esbuild/aix-ppc64", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-aix-ppc64-npm-0.19.12-20acbc4c27/node_modules/@esbuild/aix-ppc64/",\ + ["@babel/plugin-transform-member-expression-literals", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-member-expression-literals-npm-7.24.6-1cea8cc022-7d5cfd042e.zip/node_modules/@babel/plugin-transform-member-expression-literals/",\ "packageDependencies": [\ - ["@esbuild/aix-ppc64", "npm:0.19.12"]\ + ["@babel/plugin-transform-member-expression-literals", "npm:7.24.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-member-expression-literals-virtual-5214f18ac6/0/cache/@babel-plugin-transform-member-expression-literals-npm-7.24.6-1cea8cc022-7d5cfd042e.zip/node_modules/@babel/plugin-transform-member-expression-literals/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-member-expression-literals", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.24.6"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@esbuild/android-arm", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-android-arm-npm-0.19.12-007d87d00d/node_modules/@esbuild/android-arm/",\ + ["@babel/plugin-transform-modules-amd", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-modules-amd-npm-7.24.6-62644a7727-7c01c4e8b1.zip/node_modules/@babel/plugin-transform-modules-amd/",\ "packageDependencies": [\ - ["@esbuild/android-arm", "npm:0.19.12"]\ + ["@babel/plugin-transform-modules-amd", "npm:7.24.6"]\ ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@esbuild/android-arm64", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-android-arm64-npm-0.19.12-639e34c5cb/node_modules/@esbuild/android-arm64/",\ + "linkType": "SOFT"\ + }],\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-modules-amd-virtual-f80c6a25e4/0/cache/@babel-plugin-transform-modules-amd-npm-7.24.6-62644a7727-7c01c4e8b1.zip/node_modules/@babel/plugin-transform-modules-amd/",\ "packageDependencies": [\ - ["@esbuild/android-arm64", "npm:0.19.12"]\ + ["@babel/plugin-transform-modules-amd", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-module-transforms", "virtual:99ecf697ede96a918544fed6b0369586cec61f3d06adf1397e3fb9b05d9522ee50fbfc46da8bdd8ffdbe93024cd89a67ad0b025fd64e3d6e9d3d96c59a91bf83#npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.24.6"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@esbuild/android-x64", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-android-x64-npm-0.19.12-eb12dd0e96/node_modules/@esbuild/android-x64/",\ + ["@babel/plugin-transform-modules-commonjs", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-modules-commonjs-npm-7.24.6-79e6158c6f-ac6b0614bd.zip/node_modules/@babel/plugin-transform-modules-commonjs/",\ "packageDependencies": [\ - ["@esbuild/android-x64", "npm:0.19.12"]\ + ["@babel/plugin-transform-modules-commonjs", "npm:7.24.6"]\ ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@esbuild/darwin-arm64", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-darwin-arm64-npm-0.19.12-09699ac6cb/node_modules/@esbuild/darwin-arm64/",\ + "linkType": "SOFT"\ + }],\ + ["virtual:3b04c8c38dde7165df844f9cd74e94cc47d78164564600cf56ba5f8c6011d25ef0d3afc13d610f3da970f6807c830914053ff96a43c86ba17f3ec650dfd687d3#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-modules-commonjs-virtual-99ecf697ed/0/cache/@babel-plugin-transform-modules-commonjs-npm-7.24.6-79e6158c6f-ac6b0614bd.zip/node_modules/@babel/plugin-transform-modules-commonjs/",\ "packageDependencies": [\ - ["@esbuild/darwin-arm64", "npm:0.19.12"]\ + ["@babel/plugin-transform-modules-commonjs", "virtual:3b04c8c38dde7165df844f9cd74e94cc47d78164564600cf56ba5f8c6011d25ef0d3afc13d610f3da970f6807c830914053ff96a43c86ba17f3ec650dfd687d3#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-module-transforms", "virtual:99ecf697ede96a918544fed6b0369586cec61f3d06adf1397e3fb9b05d9522ee50fbfc46da8bdd8ffdbe93024cd89a67ad0b025fd64e3d6e9d3d96c59a91bf83#npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.24.6"],\ + ["@babel/helper-simple-access", "npm:7.24.6"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@esbuild/darwin-x64", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-darwin-x64-npm-0.19.12-b0a4fc6ed4/node_modules/@esbuild/darwin-x64/",\ + ["@babel/plugin-transform-modules-systemjs", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-modules-systemjs-npm-7.24.6-004cfca68b-b1cad40242.zip/node_modules/@babel/plugin-transform-modules-systemjs/",\ "packageDependencies": [\ - ["@esbuild/darwin-x64", "npm:0.19.12"]\ + ["@babel/plugin-transform-modules-systemjs", "npm:7.24.6"]\ ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@esbuild/freebsd-arm64", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-freebsd-arm64-npm-0.19.12-72d17754c1/node_modules/@esbuild/freebsd-arm64/",\ + "linkType": "SOFT"\ + }],\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-modules-systemjs-virtual-7d23a67a3e/0/cache/@babel-plugin-transform-modules-systemjs-npm-7.24.6-004cfca68b-b1cad40242.zip/node_modules/@babel/plugin-transform-modules-systemjs/",\ "packageDependencies": [\ - ["@esbuild/freebsd-arm64", "npm:0.19.12"]\ + ["@babel/plugin-transform-modules-systemjs", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-hoist-variables", "npm:7.24.6"],\ + ["@babel/helper-module-transforms", "virtual:99ecf697ede96a918544fed6b0369586cec61f3d06adf1397e3fb9b05d9522ee50fbfc46da8bdd8ffdbe93024cd89a67ad0b025fd64e3d6e9d3d96c59a91bf83#npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.24.6"],\ + ["@babel/helper-validator-identifier", "npm:7.24.6"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@esbuild/freebsd-x64", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-freebsd-x64-npm-0.19.12-205ae522fa/node_modules/@esbuild/freebsd-x64/",\ + ["@babel/plugin-transform-modules-umd", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-modules-umd-npm-7.24.6-7dfd52001f-817c93a417.zip/node_modules/@babel/plugin-transform-modules-umd/",\ "packageDependencies": [\ - ["@esbuild/freebsd-x64", "npm:0.19.12"]\ + ["@babel/plugin-transform-modules-umd", "npm:7.24.6"]\ ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@esbuild/linux-arm", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-linux-arm-npm-0.19.12-7ca68cf68c/node_modules/@esbuild/linux-arm/",\ + "linkType": "SOFT"\ + }],\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-modules-umd-virtual-d94d1091af/0/cache/@babel-plugin-transform-modules-umd-npm-7.24.6-7dfd52001f-817c93a417.zip/node_modules/@babel/plugin-transform-modules-umd/",\ "packageDependencies": [\ - ["@esbuild/linux-arm", "npm:0.19.12"]\ + ["@babel/plugin-transform-modules-umd", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-module-transforms", "virtual:99ecf697ede96a918544fed6b0369586cec61f3d06adf1397e3fb9b05d9522ee50fbfc46da8bdd8ffdbe93024cd89a67ad0b025fd64e3d6e9d3d96c59a91bf83#npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.24.6"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@esbuild/linux-arm64", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-linux-arm64-npm-0.19.12-8892c62251/node_modules/@esbuild/linux-arm64/",\ + ["@babel/plugin-transform-named-capturing-groups-regex", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-named-capturing-groups-regex-npm-7.24.6-c79d556a72-87b6dd9661.zip/node_modules/@babel/plugin-transform-named-capturing-groups-regex/",\ "packageDependencies": [\ - ["@esbuild/linux-arm64", "npm:0.19.12"]\ + ["@babel/plugin-transform-named-capturing-groups-regex", "npm:7.24.6"]\ ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@esbuild/linux-ia32", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-linux-ia32-npm-0.19.12-268f0311c2/node_modules/@esbuild/linux-ia32/",\ + "linkType": "SOFT"\ + }],\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-named-capturing-groups-regex-virtual-d3dd3fb772/0/cache/@babel-plugin-transform-named-capturing-groups-regex-npm-7.24.6-c79d556a72-87b6dd9661.zip/node_modules/@babel/plugin-transform-named-capturing-groups-regex/",\ "packageDependencies": [\ - ["@esbuild/linux-ia32", "npm:0.19.12"]\ + ["@babel/plugin-transform-named-capturing-groups-regex", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-create-regexp-features-plugin", "virtual:a4794fbefb43482740cb1accd74dd35653da7069fdbf8d43bc1ea446946c26bd592fce7bf18a75224865cf9fab6e6f71a8aa32e0a5cb498c152e2b240bb5e494#npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.24.6"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@esbuild/linux-loong64", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-linux-loong64-npm-0.19.12-45095084a9/node_modules/@esbuild/linux-loong64/",\ + ["@babel/plugin-transform-new-target", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-new-target-npm-7.24.6-2d6fc13550-1f6ecbbae2.zip/node_modules/@babel/plugin-transform-new-target/",\ "packageDependencies": [\ - ["@esbuild/linux-loong64", "npm:0.19.12"]\ + ["@babel/plugin-transform-new-target", "npm:7.24.6"]\ ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@esbuild/linux-mips64el", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-linux-mips64el-npm-0.19.12-c44a0dd39c/node_modules/@esbuild/linux-mips64el/",\ + "linkType": "SOFT"\ + }],\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-new-target-virtual-61c0b92188/0/cache/@babel-plugin-transform-new-target-npm-7.24.6-2d6fc13550-1f6ecbbae2.zip/node_modules/@babel/plugin-transform-new-target/",\ "packageDependencies": [\ - ["@esbuild/linux-mips64el", "npm:0.19.12"]\ + ["@babel/plugin-transform-new-target", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.24.6"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@esbuild/linux-ppc64", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-linux-ppc64-npm-0.19.12-cd007087a2/node_modules/@esbuild/linux-ppc64/",\ + ["@babel/plugin-transform-nullish-coalescing-operator", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-nullish-coalescing-operator-npm-7.24.6-3bcb417c31-e4499bbd58.zip/node_modules/@babel/plugin-transform-nullish-coalescing-operator/",\ "packageDependencies": [\ - ["@esbuild/linux-ppc64", "npm:0.19.12"]\ + ["@babel/plugin-transform-nullish-coalescing-operator", "npm:7.24.6"]\ ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@esbuild/linux-riscv64", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-linux-riscv64-npm-0.19.12-0f130d0d2f/node_modules/@esbuild/linux-riscv64/",\ + "linkType": "SOFT"\ + }],\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-nullish-coalescing-operator-virtual-934b176405/0/cache/@babel-plugin-transform-nullish-coalescing-operator-npm-7.24.6-3bcb417c31-e4499bbd58.zip/node_modules/@babel/plugin-transform-nullish-coalescing-operator/",\ "packageDependencies": [\ - ["@esbuild/linux-riscv64", "npm:0.19.12"]\ + ["@babel/plugin-transform-nullish-coalescing-operator", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.24.6"],\ + ["@babel/plugin-syntax-nullish-coalescing-operator", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.8.3"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@esbuild/linux-s390x", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-linux-s390x-npm-0.19.12-037101307a/node_modules/@esbuild/linux-s390x/",\ + ["@babel/plugin-transform-numeric-separator", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-numeric-separator-npm-7.24.6-f8572c344b-ccc5e4eb6e.zip/node_modules/@babel/plugin-transform-numeric-separator/",\ "packageDependencies": [\ - ["@esbuild/linux-s390x", "npm:0.19.12"]\ + ["@babel/plugin-transform-numeric-separator", "npm:7.24.6"]\ ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@esbuild/linux-x64", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-linux-x64-npm-0.19.12-59062fdb38/node_modules/@esbuild/linux-x64/",\ + "linkType": "SOFT"\ + }],\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-numeric-separator-virtual-bacfccf3ff/0/cache/@babel-plugin-transform-numeric-separator-npm-7.24.6-f8572c344b-ccc5e4eb6e.zip/node_modules/@babel/plugin-transform-numeric-separator/",\ "packageDependencies": [\ - ["@esbuild/linux-x64", "npm:0.19.12"]\ + ["@babel/plugin-transform-numeric-separator", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.24.6"],\ + ["@babel/plugin-syntax-numeric-separator", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.10.4"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@esbuild/netbsd-x64", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-netbsd-x64-npm-0.19.12-1fdaf59d1d/node_modules/@esbuild/netbsd-x64/",\ + ["@babel/plugin-transform-object-rest-spread", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-object-rest-spread-npm-7.24.6-87951e587d-74d11df042.zip/node_modules/@babel/plugin-transform-object-rest-spread/",\ "packageDependencies": [\ - ["@esbuild/netbsd-x64", "npm:0.19.12"]\ + ["@babel/plugin-transform-object-rest-spread", "npm:7.24.6"]\ ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@esbuild/openbsd-x64", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-openbsd-x64-npm-0.19.12-4624aab034/node_modules/@esbuild/openbsd-x64/",\ + "linkType": "SOFT"\ + }],\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-object-rest-spread-virtual-dc996ef27e/0/cache/@babel-plugin-transform-object-rest-spread-npm-7.24.6-87951e587d-74d11df042.zip/node_modules/@babel/plugin-transform-object-rest-spread/",\ "packageDependencies": [\ - ["@esbuild/openbsd-x64", "npm:0.19.12"]\ + ["@babel/plugin-transform-object-rest-spread", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-compilation-targets", "npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.24.6"],\ + ["@babel/plugin-syntax-object-rest-spread", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.8.3"],\ + ["@babel/plugin-transform-parameters", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@esbuild/sunos-x64", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-sunos-x64-npm-0.19.12-66171c0024/node_modules/@esbuild/sunos-x64/",\ + ["@babel/plugin-transform-object-super", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-object-super-npm-7.24.6-1bba17cda9-41579a8434.zip/node_modules/@babel/plugin-transform-object-super/",\ "packageDependencies": [\ - ["@esbuild/sunos-x64", "npm:0.19.12"]\ + ["@babel/plugin-transform-object-super", "npm:7.24.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-object-super-virtual-5e05e71063/0/cache/@babel-plugin-transform-object-super-npm-7.24.6-1bba17cda9-41579a8434.zip/node_modules/@babel/plugin-transform-object-super/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-object-super", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.24.6"],\ + ["@babel/helper-replace-supers", "virtual:013103299c173232b16c2971aac3f96d51ce474b795044304b39dd0ea1bdb59426d75f9a5b55519faec7e4626d4813848657ffcef83db26ebd552ecc73d5613e#npm:7.24.6"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@esbuild/win32-arm64", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-win32-arm64-npm-0.19.12-aecceea4ec/node_modules/@esbuild/win32-arm64/",\ + ["@babel/plugin-transform-optional-catch-binding", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-optional-catch-binding-npm-7.24.6-a409b39a0e-5c57af6300.zip/node_modules/@babel/plugin-transform-optional-catch-binding/",\ "packageDependencies": [\ - ["@esbuild/win32-arm64", "npm:0.19.12"]\ + ["@babel/plugin-transform-optional-catch-binding", "npm:7.24.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-optional-catch-binding-virtual-5b998770c9/0/cache/@babel-plugin-transform-optional-catch-binding-npm-7.24.6-a409b39a0e-5c57af6300.zip/node_modules/@babel/plugin-transform-optional-catch-binding/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-optional-catch-binding", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.24.6"],\ + ["@babel/plugin-syntax-optional-catch-binding", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.8.3"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@esbuild/win32-ia32", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-win32-ia32-npm-0.19.12-0d6b37e2da/node_modules/@esbuild/win32-ia32/",\ + ["@babel/plugin-transform-optional-chaining", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-optional-chaining-npm-7.24.6-19a5150e34-fb5deb31b2.zip/node_modules/@babel/plugin-transform-optional-chaining/",\ "packageDependencies": [\ - ["@esbuild/win32-ia32", "npm:0.19.12"]\ + ["@babel/plugin-transform-optional-chaining", "npm:7.24.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-optional-chaining-virtual-37aa760a96/0/cache/@babel-plugin-transform-optional-chaining-npm-7.24.6-19a5150e34-fb5deb31b2.zip/node_modules/@babel/plugin-transform-optional-chaining/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-optional-chaining", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.24.6"],\ + ["@babel/helper-skip-transparent-expression-wrappers", "npm:7.24.6"],\ + ["@babel/plugin-syntax-optional-chaining", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.8.3"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@esbuild/win32-x64", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-win32-x64-npm-0.19.12-1bf4cb5f20/node_modules/@esbuild/win32-x64/",\ + ["@babel/plugin-transform-parameters", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-parameters-npm-7.24.6-a4a5e09f1c-c885f6c92f.zip/node_modules/@babel/plugin-transform-parameters/",\ "packageDependencies": [\ - ["@esbuild/win32-x64", "npm:0.19.12"]\ + ["@babel/plugin-transform-parameters", "npm:7.24.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-parameters-virtual-7854c6650b/0/cache/@babel-plugin-transform-parameters-npm-7.24.6-a4a5e09f1c-c885f6c92f.zip/node_modules/@babel/plugin-transform-parameters/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-parameters", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.24.6"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@eslint-community/eslint-utils", [\ - ["npm:4.4.0", {\ - "packageLocation": "./.yarn/cache/@eslint-community-eslint-utils-npm-4.4.0-d1791bd5a3-8d70bcdcd8.zip/node_modules/@eslint-community/eslint-utils/",\ + ["@babel/plugin-transform-private-methods", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-private-methods-npm-7.24.6-62a9ec5472-83faa699d3.zip/node_modules/@babel/plugin-transform-private-methods/",\ "packageDependencies": [\ - ["@eslint-community/eslint-utils", "npm:4.4.0"]\ + ["@babel/plugin-transform-private-methods", "npm:7.24.6"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:4286e12a3a0f74af013bc8f16c6d8fdde823cfbf6389660266b171e551f576c805b0a7a8eb2a7087a5cee7dfe6ebb6e1ea3808d93daf915edc95656907a381bb#npm:4.4.0", {\ - "packageLocation": "./.yarn/__virtual__/@eslint-community-eslint-utils-virtual-1c7da85a1a/0/cache/@eslint-community-eslint-utils-npm-4.4.0-d1791bd5a3-8d70bcdcd8.zip/node_modules/@eslint-community/eslint-utils/",\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-private-methods-virtual-ca262ef4bc/0/cache/@babel-plugin-transform-private-methods-npm-7.24.6-62a9ec5472-83faa699d3.zip/node_modules/@babel/plugin-transform-private-methods/",\ "packageDependencies": [\ - ["@eslint-community/eslint-utils", "virtual:4286e12a3a0f74af013bc8f16c6d8fdde823cfbf6389660266b171e551f576c805b0a7a8eb2a7087a5cee7dfe6ebb6e1ea3808d93daf915edc95656907a381bb#npm:4.4.0"],\ - ["@types/eslint", null],\ - ["eslint", "npm:8.57.0"],\ - ["eslint-visitor-keys", "npm:3.4.3"]\ + ["@babel/plugin-transform-private-methods", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-create-class-features-plugin", "virtual:ac0924fd9f59da232b5874052cdabdc93c0e7bd39c73744cdd4875eac25a3e5a523b99b66b9e45a8c8f96ec48434b37dd089a5fa0c36bcd9a5b05700f2161fa5#npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.24.6"],\ + ["@types/babel__core", "npm:7.20.5"]\ ],\ "packagePeers": [\ - "@types/eslint",\ - "eslint"\ + "@babel/core",\ + "@types/babel__core"\ ],\ "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-private-property-in-object", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-private-property-in-object-npm-7.24.6-de1eff678f-f92e071614.zip/node_modules/@babel/plugin-transform-private-property-in-object/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-private-property-in-object", "npm:7.24.6"]\ + ],\ + "linkType": "SOFT"\ }],\ - ["virtual:e21f34241652994887495ef7e8ddb5ecf3d3261197681d1595cd59e282be0e9000c0c0792a5018872694ddfd93cca5b615a9d8045ac0d37e0aea8cd03b2383e6#npm:4.4.0", {\ - "packageLocation": "./.yarn/__virtual__/@eslint-community-eslint-utils-virtual-744b02fb79/0/cache/@eslint-community-eslint-utils-npm-4.4.0-d1791bd5a3-8d70bcdcd8.zip/node_modules/@eslint-community/eslint-utils/",\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-private-property-in-object-virtual-4d461ef775/0/cache/@babel-plugin-transform-private-property-in-object-npm-7.24.6-de1eff678f-f92e071614.zip/node_modules/@babel/plugin-transform-private-property-in-object/",\ "packageDependencies": [\ - ["@eslint-community/eslint-utils", "virtual:e21f34241652994887495ef7e8ddb5ecf3d3261197681d1595cd59e282be0e9000c0c0792a5018872694ddfd93cca5b615a9d8045ac0d37e0aea8cd03b2383e6#npm:4.4.0"],\ - ["@types/eslint", "npm:8.56.3"],\ - ["eslint", "npm:8.57.0"],\ - ["eslint-visitor-keys", "npm:3.4.3"]\ + ["@babel/plugin-transform-private-property-in-object", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-annotate-as-pure", "npm:7.24.6"],\ + ["@babel/helper-create-class-features-plugin", "virtual:ac0924fd9f59da232b5874052cdabdc93c0e7bd39c73744cdd4875eac25a3e5a523b99b66b9e45a8c8f96ec48434b37dd089a5fa0c36bcd9a5b05700f2161fa5#npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.24.6"],\ + ["@babel/plugin-syntax-private-property-in-object", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.14.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ ],\ "packagePeers": [\ - "@types/eslint",\ - "eslint"\ + "@babel/core",\ + "@types/babel__core"\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@eslint-community/regexpp", [\ - ["npm:4.10.0", {\ - "packageLocation": "./.yarn/cache/@eslint-community-regexpp-npm-4.10.0-6bfb984c81-8c36169c81.zip/node_modules/@eslint-community/regexpp/",\ + ["@babel/plugin-transform-property-literals", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-property-literals-npm-7.24.6-f818667022-5f609bb1e4.zip/node_modules/@babel/plugin-transform-property-literals/",\ "packageDependencies": [\ - ["@eslint-community/regexpp", "npm:4.10.0"]\ + ["@babel/plugin-transform-property-literals", "npm:7.24.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-property-literals-virtual-5e11001765/0/cache/@babel-plugin-transform-property-literals-npm-7.24.6-f818667022-5f609bb1e4.zip/node_modules/@babel/plugin-transform-property-literals/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-property-literals", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.24.6"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@eslint/eslintrc", [\ - ["npm:2.1.4", {\ - "packageLocation": "./.yarn/cache/@eslint-eslintrc-npm-2.1.4-1ff4b5f908-7a3b14f4b4.zip/node_modules/@eslint/eslintrc/",\ + ["@babel/plugin-transform-regenerator", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-regenerator-npm-7.24.6-8b4204cbe0-ef75aac5ad.zip/node_modules/@babel/plugin-transform-regenerator/",\ "packageDependencies": [\ - ["@eslint/eslintrc", "npm:2.1.4"],\ - ["ajv", "npm:6.12.6"],\ - ["debug", "virtual:1ff4b5f90832ba0a9c93ba1223af226e44ba70c1126a3740d93562b97bc36544e896a5e95908196f7458713e6a6089a34bfc67362fc6df7fa093bd06c878be47#npm:4.3.4"],\ - ["espree", "npm:9.6.1"],\ - ["globals", "npm:13.24.0"],\ - ["ignore", "npm:5.3.1"],\ - ["import-fresh", "npm:3.3.0"],\ - ["js-yaml", "npm:4.1.0"],\ - ["minimatch", "npm:3.1.2"],\ - ["strip-json-comments", "npm:3.1.1"]\ + ["@babel/plugin-transform-regenerator", "npm:7.24.6"]\ ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@eslint/js", [\ - ["npm:8.57.0", {\ - "packageLocation": "./.yarn/cache/@eslint-js-npm-8.57.0-00ead3710a-3c501ce8a9.zip/node_modules/@eslint/js/",\ + "linkType": "SOFT"\ + }],\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-regenerator-virtual-37b9ae3c6b/0/cache/@babel-plugin-transform-regenerator-npm-7.24.6-8b4204cbe0-ef75aac5ad.zip/node_modules/@babel/plugin-transform-regenerator/",\ "packageDependencies": [\ - ["@eslint/js", "npm:8.57.0"]\ + ["@babel/plugin-transform-regenerator", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.24.6"],\ + ["@types/babel__core", "npm:7.20.5"],\ + ["regenerator-transform", "npm:0.15.2"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@exodus/schemasafe", [\ - ["npm:1.3.0", {\ - "packageLocation": "./.yarn/cache/@exodus-schemasafe-npm-1.3.0-ee317302ab-791d9e4b43.zip/node_modules/@exodus/schemasafe/",\ + ["@babel/plugin-transform-reserved-words", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-reserved-words-npm-7.24.6-1e6f628916-aa1d490a35.zip/node_modules/@babel/plugin-transform-reserved-words/",\ "packageDependencies": [\ - ["@exodus/schemasafe", "npm:1.3.0"]\ + ["@babel/plugin-transform-reserved-words", "npm:7.24.6"]\ ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@faker-js/faker", [\ - ["npm:5.5.3", {\ - "packageLocation": "./.yarn/cache/@faker-js-faker-npm-5.5.3-d1b4d39808-1a4fd61d1a.zip/node_modules/@faker-js/faker/",\ + "linkType": "SOFT"\ + }],\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-reserved-words-virtual-3551a28bd8/0/cache/@babel-plugin-transform-reserved-words-npm-7.24.6-1e6f628916-aa1d490a35.zip/node_modules/@babel/plugin-transform-reserved-words/",\ "packageDependencies": [\ - ["@faker-js/faker", "npm:5.5.3"]\ + ["@babel/plugin-transform-reserved-words", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.24.6"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@hapi/hoek", [\ - ["npm:9.3.0", {\ - "packageLocation": "./.yarn/cache/@hapi-hoek-npm-9.3.0-447eb8d274-ad83a22378.zip/node_modules/@hapi/hoek/",\ + ["@babel/plugin-transform-shorthand-properties", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-shorthand-properties-npm-7.24.6-b1a75f5dd6-c2fa1f5d50.zip/node_modules/@babel/plugin-transform-shorthand-properties/",\ "packageDependencies": [\ - ["@hapi/hoek", "npm:9.3.0"]\ + ["@babel/plugin-transform-shorthand-properties", "npm:7.24.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-shorthand-properties-virtual-ffd472c570/0/cache/@babel-plugin-transform-shorthand-properties-npm-7.24.6-b1a75f5dd6-c2fa1f5d50.zip/node_modules/@babel/plugin-transform-shorthand-properties/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-shorthand-properties", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.24.6"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@hapi/topo", [\ - ["npm:5.1.0", {\ - "packageLocation": "./.yarn/cache/@hapi-topo-npm-5.1.0-5e0b776809-084bfa6470.zip/node_modules/@hapi/topo/",\ + ["@babel/plugin-transform-spread", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-spread-npm-7.24.6-790817f830-3c33a8c659.zip/node_modules/@babel/plugin-transform-spread/",\ "packageDependencies": [\ - ["@hapi/topo", "npm:5.1.0"],\ - ["@hapi/hoek", "npm:9.3.0"]\ + ["@babel/plugin-transform-spread", "npm:7.24.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-spread-virtual-c51866fa5e/0/cache/@babel-plugin-transform-spread-npm-7.24.6-790817f830-3c33a8c659.zip/node_modules/@babel/plugin-transform-spread/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-spread", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.24.6"],\ + ["@babel/helper-skip-transparent-expression-wrappers", "npm:7.24.6"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@humanwhocodes/config-array", [\ - ["npm:0.11.14", {\ - "packageLocation": "./.yarn/cache/@humanwhocodes-config-array-npm-0.11.14-94a02fcc87-3ffb24ecdf.zip/node_modules/@humanwhocodes/config-array/",\ + ["@babel/plugin-transform-sticky-regex", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-sticky-regex-npm-7.24.6-6eed00f95b-abfff67b11.zip/node_modules/@babel/plugin-transform-sticky-regex/",\ "packageDependencies": [\ - ["@humanwhocodes/config-array", "npm:0.11.14"],\ - ["@humanwhocodes/object-schema", "npm:2.0.2"],\ - ["debug", "virtual:1ff4b5f90832ba0a9c93ba1223af226e44ba70c1126a3740d93562b97bc36544e896a5e95908196f7458713e6a6089a34bfc67362fc6df7fa093bd06c878be47#npm:4.3.4"],\ - ["minimatch", "npm:3.1.2"]\ + ["@babel/plugin-transform-sticky-regex", "npm:7.24.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-sticky-regex-virtual-61fa290cc8/0/cache/@babel-plugin-transform-sticky-regex-npm-7.24.6-6eed00f95b-abfff67b11.zip/node_modules/@babel/plugin-transform-sticky-regex/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-sticky-regex", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.24.6"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@humanwhocodes/module-importer", [\ - ["npm:1.0.1", {\ - "packageLocation": "./.yarn/cache/@humanwhocodes-module-importer-npm-1.0.1-9d07ed2e4a-e993950e34.zip/node_modules/@humanwhocodes/module-importer/",\ + ["@babel/plugin-transform-template-literals", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-template-literals-npm-7.24.6-43dac72e85-94431a6403.zip/node_modules/@babel/plugin-transform-template-literals/",\ "packageDependencies": [\ - ["@humanwhocodes/module-importer", "npm:1.0.1"]\ + ["@babel/plugin-transform-template-literals", "npm:7.24.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-template-literals-virtual-f38ac0d9c9/0/cache/@babel-plugin-transform-template-literals-npm-7.24.6-43dac72e85-94431a6403.zip/node_modules/@babel/plugin-transform-template-literals/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-template-literals", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.24.6"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@humanwhocodes/object-schema", [\ - ["npm:2.0.2", {\ - "packageLocation": "./.yarn/cache/@humanwhocodes-object-schema-npm-2.0.2-77b42018f9-ef915e3e2f.zip/node_modules/@humanwhocodes/object-schema/",\ + ["@babel/plugin-transform-typeof-symbol", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-typeof-symbol-npm-7.24.6-1ad74983cc-50755df3f0.zip/node_modules/@babel/plugin-transform-typeof-symbol/",\ "packageDependencies": [\ - ["@humanwhocodes/object-schema", "npm:2.0.2"]\ + ["@babel/plugin-transform-typeof-symbol", "npm:7.24.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-typeof-symbol-virtual-4303a9a5ff/0/cache/@babel-plugin-transform-typeof-symbol-npm-7.24.6-1ad74983cc-50755df3f0.zip/node_modules/@babel/plugin-transform-typeof-symbol/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-typeof-symbol", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.24.6"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@isaacs/cliui", [\ - ["npm:8.0.2", {\ - "packageLocation": "./.yarn/cache/@isaacs-cliui-npm-8.0.2-f4364666d5-e9ed5fd27c.zip/node_modules/@isaacs/cliui/",\ + ["@babel/plugin-transform-typescript", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-typescript-npm-7.24.6-b83608e860-6bd05b928d.zip/node_modules/@babel/plugin-transform-typescript/",\ "packageDependencies": [\ - ["@isaacs/cliui", "npm:8.0.2"],\ - ["string-width", "npm:5.1.2"],\ - ["string-width-cjs", [\ - "string-width",\ - "npm:4.2.3"\ - ]],\ - ["strip-ansi", "npm:7.1.0"],\ - ["strip-ansi-cjs", [\ - "strip-ansi",\ - "npm:6.0.1"\ - ]],\ - ["wrap-ansi", "npm:8.1.0"],\ - ["wrap-ansi-cjs", [\ - "wrap-ansi",\ - "npm:7.0.0"\ - ]]\ + ["@babel/plugin-transform-typescript", "npm:7.24.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:53ec7cc6fb52f5302716494a74c19fa098d1db612ebcdb7fff842f691c688a2fda0b3a647c6da166388fc3a64c8619193d87179b5fd5cdf24a2f6fb86186a30a#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-typescript-virtual-8c3b3ecfcd/0/cache/@babel-plugin-transform-typescript-npm-7.24.6-b83608e860-6bd05b928d.zip/node_modules/@babel/plugin-transform-typescript/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-typescript", "virtual:53ec7cc6fb52f5302716494a74c19fa098d1db612ebcdb7fff842f691c688a2fda0b3a647c6da166388fc3a64c8619193d87179b5fd5cdf24a2f6fb86186a30a#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-annotate-as-pure", "npm:7.24.6"],\ + ["@babel/helper-create-class-features-plugin", "virtual:ac0924fd9f59da232b5874052cdabdc93c0e7bd39c73744cdd4875eac25a3e5a523b99b66b9e45a8c8f96ec48434b37dd089a5fa0c36bcd9a5b05700f2161fa5#npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.24.6"],\ + ["@babel/plugin-syntax-typescript", "virtual:8c3b3ecfcd65a0aca1c022f0655832309ea2ea312be2cfa3975b8c6439a81b551594358db41ba876d5a1cdf5e9c45a82c8aba6c81e35763f58568daca9cd4a11#npm:7.24.6"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@istanbuljs/load-nyc-config", [\ - ["npm:1.1.0", {\ - "packageLocation": "./.yarn/cache/@istanbuljs-load-nyc-config-npm-1.1.0-42d17c9cb1-b000a5acd8.zip/node_modules/@istanbuljs/load-nyc-config/",\ + ["@babel/plugin-transform-unicode-escapes", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-unicode-escapes-npm-7.24.6-f80ba7ce4e-6778e32a1e.zip/node_modules/@babel/plugin-transform-unicode-escapes/",\ "packageDependencies": [\ - ["@istanbuljs/load-nyc-config", "npm:1.1.0"],\ - ["camelcase", "npm:5.3.1"],\ - ["find-up", "npm:4.1.0"],\ - ["get-package-type", "npm:0.1.0"],\ - ["js-yaml", "npm:3.14.1"],\ - ["resolve-from", "npm:5.0.0"]\ + ["@babel/plugin-transform-unicode-escapes", "npm:7.24.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-unicode-escapes-virtual-8f1a5b620f/0/cache/@babel-plugin-transform-unicode-escapes-npm-7.24.6-f80ba7ce4e-6778e32a1e.zip/node_modules/@babel/plugin-transform-unicode-escapes/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-unicode-escapes", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.24.6"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@istanbuljs/schema", [\ - ["npm:0.1.3", {\ - "packageLocation": "./.yarn/cache/@istanbuljs-schema-npm-0.1.3-466bd3eaaa-a9b1e49acd.zip/node_modules/@istanbuljs/schema/",\ + ["@babel/plugin-transform-unicode-property-regex", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-unicode-property-regex-npm-7.24.6-8e983d1357-3f51141c57.zip/node_modules/@babel/plugin-transform-unicode-property-regex/",\ "packageDependencies": [\ - ["@istanbuljs/schema", "npm:0.1.3"]\ + ["@babel/plugin-transform-unicode-property-regex", "npm:7.24.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-unicode-property-regex-virtual-9e8d7cd42a/0/cache/@babel-plugin-transform-unicode-property-regex-npm-7.24.6-8e983d1357-3f51141c57.zip/node_modules/@babel/plugin-transform-unicode-property-regex/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-unicode-property-regex", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-create-regexp-features-plugin", "virtual:a4794fbefb43482740cb1accd74dd35653da7069fdbf8d43bc1ea446946c26bd592fce7bf18a75224865cf9fab6e6f71a8aa32e0a5cb498c152e2b240bb5e494#npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.24.6"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@jest/console", [\ - ["npm:29.7.0", {\ - "packageLocation": "./.yarn/cache/@jest-console-npm-29.7.0-77689f186f-4a80c750e8.zip/node_modules/@jest/console/",\ + ["@babel/plugin-transform-unicode-regex", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-unicode-regex-npm-7.24.6-6a3273dbe8-dccdd3724b.zip/node_modules/@babel/plugin-transform-unicode-regex/",\ "packageDependencies": [\ - ["@jest/console", "npm:29.7.0"],\ - ["@jest/types", "npm:29.6.3"],\ - ["@types/node", "npm:20.11.20"],\ - ["chalk", "npm:4.1.2"],\ - ["jest-message-util", "npm:29.7.0"],\ - ["jest-util", "npm:29.7.0"],\ - ["slash", "npm:3.0.0"]\ + ["@babel/plugin-transform-unicode-regex", "npm:7.24.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-unicode-regex-virtual-b676de4a74/0/cache/@babel-plugin-transform-unicode-regex-npm-7.24.6-6a3273dbe8-dccdd3724b.zip/node_modules/@babel/plugin-transform-unicode-regex/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-unicode-regex", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-create-regexp-features-plugin", "virtual:a4794fbefb43482740cb1accd74dd35653da7069fdbf8d43bc1ea446946c26bd592fce7bf18a75224865cf9fab6e6f71a8aa32e0a5cb498c152e2b240bb5e494#npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.24.6"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@jest/core", [\ - ["npm:29.7.0", {\ - "packageLocation": "./.yarn/cache/@jest-core-npm-29.7.0-cef60d74c4-ab6ac2e562.zip/node_modules/@jest/core/",\ + ["@babel/plugin-transform-unicode-sets-regex", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-unicode-sets-regex-npm-7.24.6-45d5b9651f-c140a43e06.zip/node_modules/@babel/plugin-transform-unicode-sets-regex/",\ "packageDependencies": [\ - ["@jest/core", "npm:29.7.0"]\ + ["@babel/plugin-transform-unicode-sets-regex", "npm:7.24.6"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:f22a73b9c1f4f0e2e1c95f149ccb41c96491085e4b2ecd3061e554432306c4df6c2976f3c6ce3a6d62abead3ccc6cf04e88b4aebf1de7356583819351e2346e2#npm:29.7.0", {\ - "packageLocation": "./.yarn/__virtual__/@jest-core-virtual-8388e1a620/0/cache/@jest-core-npm-29.7.0-cef60d74c4-ab6ac2e562.zip/node_modules/@jest/core/",\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-unicode-sets-regex-virtual-cc9570b837/0/cache/@babel-plugin-transform-unicode-sets-regex-npm-7.24.6-45d5b9651f-c140a43e06.zip/node_modules/@babel/plugin-transform-unicode-sets-regex/",\ "packageDependencies": [\ - ["@jest/core", "virtual:f22a73b9c1f4f0e2e1c95f149ccb41c96491085e4b2ecd3061e554432306c4df6c2976f3c6ce3a6d62abead3ccc6cf04e88b4aebf1de7356583819351e2346e2#npm:29.7.0"],\ - ["@jest/console", "npm:29.7.0"],\ - ["@jest/reporters", "virtual:8388e1a620616fcf7175e48057ece72f5fe71b0378fb1e863b3926a225ca85687e9b6a2f4b74a2d6a66a879bb715e9be32861bfa0165da041968dcb30a6278cc#npm:29.7.0"],\ - ["@jest/test-result", "npm:29.7.0"],\ - ["@jest/transform", "npm:29.7.0"],\ - ["@jest/types", "npm:29.6.3"],\ - ["@types/node", "npm:20.11.20"],\ - ["@types/node-notifier", null],\ - ["ansi-escapes", "npm:4.3.2"],\ - ["chalk", "npm:4.1.2"],\ - ["ci-info", "npm:3.9.0"],\ - ["exit", "npm:0.1.2"],\ - ["graceful-fs", "npm:4.2.11"],\ - ["jest-changed-files", "npm:29.7.0"],\ - ["jest-config", "virtual:8388e1a620616fcf7175e48057ece72f5fe71b0378fb1e863b3926a225ca85687e9b6a2f4b74a2d6a66a879bb715e9be32861bfa0165da041968dcb30a6278cc#npm:29.7.0"],\ - ["jest-haste-map", "npm:29.7.0"],\ - ["jest-message-util", "npm:29.7.0"],\ - ["jest-regex-util", "npm:29.6.3"],\ - ["jest-resolve", "npm:29.7.0"],\ - ["jest-resolve-dependencies", "npm:29.7.0"],\ - ["jest-runner", "npm:29.7.0"],\ - ["jest-runtime", "npm:29.7.0"],\ - ["jest-snapshot", "npm:29.7.0"],\ - ["jest-util", "npm:29.7.0"],\ - ["jest-validate", "npm:29.7.0"],\ - ["jest-watcher", "npm:29.7.0"],\ - ["micromatch", "npm:4.0.5"],\ - ["node-notifier", null],\ - ["pretty-format", "npm:29.7.0"],\ - ["slash", "npm:3.0.0"],\ - ["strip-ansi", "npm:6.0.1"]\ + ["@babel/plugin-transform-unicode-sets-regex", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-create-regexp-features-plugin", "virtual:a4794fbefb43482740cb1accd74dd35653da7069fdbf8d43bc1ea446946c26bd592fce7bf18a75224865cf9fab6e6f71a8aa32e0a5cb498c152e2b240bb5e494#npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.24.6"],\ + ["@types/babel__core", "npm:7.20.5"]\ ],\ "packagePeers": [\ - "@types/node-notifier",\ - "node-notifier"\ + "@babel/core",\ + "@types/babel__core"\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@jest/environment", [\ - ["npm:29.7.0", {\ - "packageLocation": "./.yarn/cache/@jest-environment-npm-29.7.0-97705658d0-90b5844a9a.zip/node_modules/@jest/environment/",\ + ["@babel/preset-env", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-preset-env-npm-7.24.6-81a49fc26b-4a6f57dffd.zip/node_modules/@babel/preset-env/",\ "packageDependencies": [\ - ["@jest/environment", "npm:29.7.0"],\ - ["@jest/fake-timers", "npm:29.7.0"],\ - ["@jest/types", "npm:29.6.3"],\ - ["@types/node", "npm:20.11.20"],\ - ["jest-mock", "npm:29.7.0"]\ + ["@babel/preset-env", "npm:7.24.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:3b04c8c38dde7165df844f9cd74e94cc47d78164564600cf56ba5f8c6011d25ef0d3afc13d610f3da970f6807c830914053ff96a43c86ba17f3ec650dfd687d3#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-preset-env-virtual-0986e27c45/0/cache/@babel-preset-env-npm-7.24.6-81a49fc26b-4a6f57dffd.zip/node_modules/@babel/preset-env/",\ + "packageDependencies": [\ + ["@babel/preset-env", "virtual:3b04c8c38dde7165df844f9cd74e94cc47d78164564600cf56ba5f8c6011d25ef0d3afc13d610f3da970f6807c830914053ff96a43c86ba17f3ec650dfd687d3#npm:7.24.6"],\ + ["@babel/compat-data", "npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-compilation-targets", "npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.24.6"],\ + ["@babel/helper-validator-option", "npm:7.24.6"],\ + ["@babel/plugin-bugfix-firefox-class-in-computed-class-key", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/plugin-proposal-private-property-in-object", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.21.0-placeholder-for-preset-env.2"],\ + ["@babel/plugin-syntax-async-generators", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.8.4"],\ + ["@babel/plugin-syntax-class-properties", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.12.13"],\ + ["@babel/plugin-syntax-class-static-block", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.14.5"],\ + ["@babel/plugin-syntax-dynamic-import", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.8.3"],\ + ["@babel/plugin-syntax-export-namespace-from", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.8.3"],\ + ["@babel/plugin-syntax-import-assertions", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/plugin-syntax-import-attributes", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/plugin-syntax-import-meta", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.10.4"],\ + ["@babel/plugin-syntax-json-strings", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.8.3"],\ + ["@babel/plugin-syntax-logical-assignment-operators", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.10.4"],\ + ["@babel/plugin-syntax-nullish-coalescing-operator", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.8.3"],\ + ["@babel/plugin-syntax-numeric-separator", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.10.4"],\ + ["@babel/plugin-syntax-object-rest-spread", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.8.3"],\ + ["@babel/plugin-syntax-optional-catch-binding", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.8.3"],\ + ["@babel/plugin-syntax-optional-chaining", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.8.3"],\ + ["@babel/plugin-syntax-private-property-in-object", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.14.5"],\ + ["@babel/plugin-syntax-top-level-await", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.14.5"],\ + ["@babel/plugin-syntax-unicode-sets-regex", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.18.6"],\ + ["@babel/plugin-transform-arrow-functions", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/plugin-transform-async-generator-functions", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/plugin-transform-async-to-generator", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/plugin-transform-block-scoped-functions", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/plugin-transform-block-scoping", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/plugin-transform-class-properties", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/plugin-transform-class-static-block", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/plugin-transform-classes", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/plugin-transform-computed-properties", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/plugin-transform-destructuring", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/plugin-transform-dotall-regex", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/plugin-transform-duplicate-keys", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/plugin-transform-dynamic-import", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/plugin-transform-exponentiation-operator", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/plugin-transform-export-namespace-from", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/plugin-transform-for-of", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/plugin-transform-function-name", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/plugin-transform-json-strings", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/plugin-transform-literals", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/plugin-transform-logical-assignment-operators", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/plugin-transform-member-expression-literals", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/plugin-transform-modules-amd", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/plugin-transform-modules-commonjs", "virtual:3b04c8c38dde7165df844f9cd74e94cc47d78164564600cf56ba5f8c6011d25ef0d3afc13d610f3da970f6807c830914053ff96a43c86ba17f3ec650dfd687d3#npm:7.24.6"],\ + ["@babel/plugin-transform-modules-systemjs", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/plugin-transform-modules-umd", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/plugin-transform-named-capturing-groups-regex", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/plugin-transform-new-target", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/plugin-transform-nullish-coalescing-operator", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/plugin-transform-numeric-separator", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/plugin-transform-object-rest-spread", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/plugin-transform-object-super", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/plugin-transform-optional-catch-binding", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/plugin-transform-optional-chaining", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/plugin-transform-parameters", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/plugin-transform-private-methods", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/plugin-transform-private-property-in-object", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/plugin-transform-property-literals", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/plugin-transform-regenerator", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/plugin-transform-reserved-words", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/plugin-transform-shorthand-properties", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/plugin-transform-spread", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/plugin-transform-sticky-regex", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/plugin-transform-template-literals", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/plugin-transform-typeof-symbol", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/plugin-transform-unicode-escapes", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/plugin-transform-unicode-property-regex", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/plugin-transform-unicode-regex", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/plugin-transform-unicode-sets-regex", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:7.24.6"],\ + ["@babel/preset-modules", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:0.1.6-no-external-plugins"],\ + ["@types/babel__core", "npm:7.20.5"],\ + ["babel-plugin-polyfill-corejs2", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:0.4.11"],\ + ["babel-plugin-polyfill-corejs3", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:0.10.4"],\ + ["babel-plugin-polyfill-regenerator", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:0.6.2"],\ + ["core-js-compat", "npm:3.37.1"],\ + ["semver", "npm:6.3.1"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@jest/expect", [\ - ["npm:29.7.0", {\ - "packageLocation": "./.yarn/cache/@jest-expect-npm-29.7.0-9dfe9cebaa-fea6c3317a.zip/node_modules/@jest/expect/",\ + ["@babel/preset-modules", [\ + ["npm:0.1.6-no-external-plugins", {\ + "packageLocation": "./.yarn/cache/@babel-preset-modules-npm-0.1.6-no-external-plugins-0ae0b52ff3-039aba98a6.zip/node_modules/@babel/preset-modules/",\ "packageDependencies": [\ - ["@jest/expect", "npm:29.7.0"],\ - ["expect", "npm:29.7.0"],\ - ["jest-snapshot", "npm:29.7.0"]\ + ["@babel/preset-modules", "npm:0.1.6-no-external-plugins"]\ ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@jest/expect-utils", [\ - ["npm:29.7.0", {\ - "packageLocation": "./.yarn/cache/@jest-expect-utils-npm-29.7.0-14740cc487-ef8d379778.zip/node_modules/@jest/expect-utils/",\ - "packageDependencies": [\ - ["@jest/expect-utils", "npm:29.7.0"],\ - ["jest-get-type", "npm:29.6.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@jest/fake-timers", [\ - ["npm:29.7.0", {\ - "packageLocation": "./.yarn/cache/@jest-fake-timers-npm-29.7.0-e4174d1b56-9b394e04ff.zip/node_modules/@jest/fake-timers/",\ + "linkType": "SOFT"\ + }],\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:0.1.6-no-external-plugins", {\ + "packageLocation": "./.yarn/__virtual__/@babel-preset-modules-virtual-bc432beacc/0/cache/@babel-preset-modules-npm-0.1.6-no-external-plugins-0ae0b52ff3-039aba98a6.zip/node_modules/@babel/preset-modules/",\ "packageDependencies": [\ - ["@jest/fake-timers", "npm:29.7.0"],\ - ["@jest/types", "npm:29.6.3"],\ - ["@sinonjs/fake-timers", "npm:10.3.0"],\ - ["@types/node", "npm:20.11.20"],\ - ["jest-message-util", "npm:29.7.0"],\ - ["jest-mock", "npm:29.7.0"],\ - ["jest-util", "npm:29.7.0"]\ + ["@babel/preset-modules", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:0.1.6-no-external-plugins"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.22.5"],\ + ["@babel/types", "npm:7.24.6"],\ + ["@types/babel__core", "npm:7.20.5"],\ + ["esutils", "npm:2.0.3"]\ ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@jest/globals", [\ - ["npm:29.7.0", {\ - "packageLocation": "./.yarn/cache/@jest-globals-npm-29.7.0-06f2bd411e-97dbb94591.zip/node_modules/@jest/globals/",\ - "packageDependencies": [\ - ["@jest/globals", "npm:29.7.0"],\ - ["@jest/environment", "npm:29.7.0"],\ - ["@jest/expect", "npm:29.7.0"],\ - ["@jest/types", "npm:29.6.3"],\ - ["jest-mock", "npm:29.7.0"]\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@jest/reporters", [\ - ["npm:29.7.0", {\ - "packageLocation": "./.yarn/cache/@jest-reporters-npm-29.7.0-2561cd7a09-a17d1644b2.zip/node_modules/@jest/reporters/",\ + ["@babel/preset-typescript", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-preset-typescript-npm-7.24.6-369363844a-e4c88dd074.zip/node_modules/@babel/preset-typescript/",\ "packageDependencies": [\ - ["@jest/reporters", "npm:29.7.0"]\ + ["@babel/preset-typescript", "npm:7.24.6"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:8388e1a620616fcf7175e48057ece72f5fe71b0378fb1e863b3926a225ca85687e9b6a2f4b74a2d6a66a879bb715e9be32861bfa0165da041968dcb30a6278cc#npm:29.7.0", {\ - "packageLocation": "./.yarn/__virtual__/@jest-reporters-virtual-54c7304460/0/cache/@jest-reporters-npm-29.7.0-2561cd7a09-a17d1644b2.zip/node_modules/@jest/reporters/",\ + ["virtual:3b04c8c38dde7165df844f9cd74e94cc47d78164564600cf56ba5f8c6011d25ef0d3afc13d610f3da970f6807c830914053ff96a43c86ba17f3ec650dfd687d3#npm:7.24.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-preset-typescript-virtual-53ec7cc6fb/0/cache/@babel-preset-typescript-npm-7.24.6-369363844a-e4c88dd074.zip/node_modules/@babel/preset-typescript/",\ "packageDependencies": [\ - ["@jest/reporters", "virtual:8388e1a620616fcf7175e48057ece72f5fe71b0378fb1e863b3926a225ca85687e9b6a2f4b74a2d6a66a879bb715e9be32861bfa0165da041968dcb30a6278cc#npm:29.7.0"],\ - ["@bcoe/v8-coverage", "npm:0.2.3"],\ - ["@jest/console", "npm:29.7.0"],\ - ["@jest/test-result", "npm:29.7.0"],\ - ["@jest/transform", "npm:29.7.0"],\ - ["@jest/types", "npm:29.6.3"],\ - ["@jridgewell/trace-mapping", "npm:0.3.23"],\ - ["@types/node", "npm:20.11.20"],\ - ["@types/node-notifier", null],\ - ["chalk", "npm:4.1.2"],\ - ["collect-v8-coverage", "npm:1.0.2"],\ - ["exit", "npm:0.1.2"],\ - ["glob", "npm:7.2.3"],\ - ["graceful-fs", "npm:4.2.11"],\ - ["istanbul-lib-coverage", "npm:3.2.2"],\ - ["istanbul-lib-instrument", "npm:6.0.2"],\ - ["istanbul-lib-report", "npm:3.0.1"],\ - ["istanbul-lib-source-maps", "npm:4.0.1"],\ - ["istanbul-reports", "npm:3.1.7"],\ - ["jest-message-util", "npm:29.7.0"],\ - ["jest-util", "npm:29.7.0"],\ - ["jest-worker", "npm:29.7.0"],\ - ["node-notifier", null],\ - ["slash", "npm:3.0.0"],\ - ["string-length", "npm:4.0.2"],\ - ["strip-ansi", "npm:6.0.1"],\ - ["v8-to-istanbul", "npm:9.2.0"]\ + ["@babel/preset-typescript", "virtual:3b04c8c38dde7165df844f9cd74e94cc47d78164564600cf56ba5f8c6011d25ef0d3afc13d610f3da970f6807c830914053ff96a43c86ba17f3ec650dfd687d3#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-plugin-utils", "npm:7.24.6"],\ + ["@babel/helper-validator-option", "npm:7.24.6"],\ + ["@babel/plugin-syntax-jsx", "virtual:53ec7cc6fb52f5302716494a74c19fa098d1db612ebcdb7fff842f691c688a2fda0b3a647c6da166388fc3a64c8619193d87179b5fd5cdf24a2f6fb86186a30a#npm:7.24.6"],\ + ["@babel/plugin-transform-modules-commonjs", "virtual:3b04c8c38dde7165df844f9cd74e94cc47d78164564600cf56ba5f8c6011d25ef0d3afc13d610f3da970f6807c830914053ff96a43c86ba17f3ec650dfd687d3#npm:7.24.6"],\ + ["@babel/plugin-transform-typescript", "virtual:53ec7cc6fb52f5302716494a74c19fa098d1db612ebcdb7fff842f691c688a2fda0b3a647c6da166388fc3a64c8619193d87179b5fd5cdf24a2f6fb86186a30a#npm:7.24.6"],\ + ["@types/babel__core", "npm:7.20.5"]\ ],\ "packagePeers": [\ - "@types/node-notifier",\ - "node-notifier"\ + "@babel/core",\ + "@types/babel__core"\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@jest/schemas", [\ - ["npm:29.6.3", {\ - "packageLocation": "./.yarn/cache/@jest-schemas-npm-29.6.3-292730e442-910040425f.zip/node_modules/@jest/schemas/",\ + ["@babel/regjsgen", [\ + ["npm:0.8.0", {\ + "packageLocation": "./.yarn/cache/@babel-regjsgen-npm-0.8.0-b0fbdbf644-c57fb730b1.zip/node_modules/@babel/regjsgen/",\ "packageDependencies": [\ - ["@jest/schemas", "npm:29.6.3"],\ - ["@sinclair/typebox", "npm:0.27.8"]\ + ["@babel/regjsgen", "npm:0.8.0"]\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@jest/source-map", [\ - ["npm:29.6.3", {\ - "packageLocation": "./.yarn/cache/@jest-source-map-npm-29.6.3-8bb8289263-bcc5a8697d.zip/node_modules/@jest/source-map/",\ + ["@babel/runtime", [\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-runtime-npm-7.24.6-3acd4a9fd9-6c4e12731c.zip/node_modules/@babel/runtime/",\ "packageDependencies": [\ - ["@jest/source-map", "npm:29.6.3"],\ - ["@jridgewell/trace-mapping", "npm:0.3.23"],\ - ["callsites", "npm:3.1.0"],\ - ["graceful-fs", "npm:4.2.11"]\ + ["@babel/runtime", "npm:7.24.6"],\ + ["regenerator-runtime", "npm:0.14.1"]\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@jest/test-result", [\ - ["npm:29.7.0", {\ - "packageLocation": "./.yarn/cache/@jest-test-result-npm-29.7.0-4bb532101b-c073ab7dfe.zip/node_modules/@jest/test-result/",\ + ["@babel/template", [\ + ["npm:7.23.9", {\ + "packageLocation": "./.yarn/cache/@babel-template-npm-7.23.9-d3df10ecd2-1b011ba935.zip/node_modules/@babel/template/",\ "packageDependencies": [\ - ["@jest/test-result", "npm:29.7.0"],\ - ["@jest/console", "npm:29.7.0"],\ - ["@jest/types", "npm:29.6.3"],\ - ["@types/istanbul-lib-coverage", "npm:2.0.6"],\ - ["collect-v8-coverage", "npm:1.0.2"]\ + ["@babel/template", "npm:7.23.9"],\ + ["@babel/code-frame", "npm:7.23.5"],\ + ["@babel/parser", "npm:7.23.9"],\ + ["@babel/types", "npm:7.23.9"]\ ],\ "linkType": "HARD"\ - }]\ - ]],\ - ["@jest/test-sequencer", [\ - ["npm:29.7.0", {\ - "packageLocation": "./.yarn/cache/@jest-test-sequencer-npm-29.7.0-291f23a495-4420c26a0b.zip/node_modules/@jest/test-sequencer/",\ + }],\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-template-npm-7.24.6-fa5066ccd1-e4641733df.zip/node_modules/@babel/template/",\ "packageDependencies": [\ - ["@jest/test-sequencer", "npm:29.7.0"],\ - ["@jest/test-result", "npm:29.7.0"],\ - ["graceful-fs", "npm:4.2.11"],\ - ["jest-haste-map", "npm:29.7.0"],\ - ["slash", "npm:3.0.0"]\ + ["@babel/template", "npm:7.24.6"],\ + ["@babel/code-frame", "npm:7.24.6"],\ + ["@babel/parser", "npm:7.24.6"],\ + ["@babel/types", "npm:7.24.6"]\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@jest/transform", [\ - ["npm:29.7.0", {\ - "packageLocation": "./.yarn/cache/@jest-transform-npm-29.7.0-af20d68b57-30f4229354.zip/node_modules/@jest/transform/",\ + ["@babel/traverse", [\ + ["npm:7.23.2", {\ + "packageLocation": "./.yarn/cache/@babel-traverse-npm-7.23.2-4758feee42-e4fcb8f839.zip/node_modules/@babel/traverse/",\ "packageDependencies": [\ - ["@jest/transform", "npm:29.7.0"],\ - ["@babel/core", "npm:7.23.9"],\ - ["@jest/types", "npm:29.6.3"],\ - ["@jridgewell/trace-mapping", "npm:0.3.23"],\ - ["babel-plugin-istanbul", "npm:6.1.1"],\ - ["chalk", "npm:4.1.2"],\ - ["convert-source-map", "npm:2.0.0"],\ - ["fast-json-stable-stringify", "npm:2.1.0"],\ - ["graceful-fs", "npm:4.2.11"],\ - ["jest-haste-map", "npm:29.7.0"],\ - ["jest-regex-util", "npm:29.6.3"],\ - ["jest-util", "npm:29.7.0"],\ - ["micromatch", "npm:4.0.5"],\ - ["pirates", "npm:4.0.6"],\ - ["slash", "npm:3.0.0"],\ - ["write-file-atomic", "npm:4.0.2"]\ + ["@babel/traverse", "npm:7.23.2"],\ + ["@babel/code-frame", "npm:7.23.5"],\ + ["@babel/generator", "npm:7.23.6"],\ + ["@babel/helper-environment-visitor", "npm:7.22.20"],\ + ["@babel/helper-function-name", "npm:7.23.0"],\ + ["@babel/helper-hoist-variables", "npm:7.22.5"],\ + ["@babel/helper-split-export-declaration", "npm:7.22.6"],\ + ["@babel/parser", "npm:7.23.9"],\ + ["@babel/types", "npm:7.23.9"],\ + ["debug", "virtual:1ff4b5f90832ba0a9c93ba1223af226e44ba70c1126a3740d93562b97bc36544e896a5e95908196f7458713e6a6089a34bfc67362fc6df7fa093bd06c878be47#npm:4.3.4"],\ + ["globals", "npm:11.12.0"]\ ],\ "linkType": "HARD"\ - }]\ - ]],\ - ["@jest/types", [\ - ["npm:29.6.3", {\ - "packageLocation": "./.yarn/cache/@jest-types-npm-29.6.3-a584ca999d-f74bf512fd.zip/node_modules/@jest/types/",\ + }],\ + ["npm:7.23.9", {\ + "packageLocation": "./.yarn/cache/@babel-traverse-npm-7.23.9-5506c369f7-e2bb845f7f.zip/node_modules/@babel/traverse/",\ "packageDependencies": [\ - ["@jest/types", "npm:29.6.3"],\ - ["@jest/schemas", "npm:29.6.3"],\ - ["@types/istanbul-lib-coverage", "npm:2.0.6"],\ - ["@types/istanbul-reports", "npm:3.0.4"],\ - ["@types/node", "npm:20.11.20"],\ - ["@types/yargs", "npm:17.0.32"],\ - ["chalk", "npm:4.1.2"]\ + ["@babel/traverse", "npm:7.23.9"],\ + ["@babel/code-frame", "npm:7.23.5"],\ + ["@babel/generator", "npm:7.23.6"],\ + ["@babel/helper-environment-visitor", "npm:7.22.20"],\ + ["@babel/helper-function-name", "npm:7.23.0"],\ + ["@babel/helper-hoist-variables", "npm:7.22.5"],\ + ["@babel/helper-split-export-declaration", "npm:7.22.6"],\ + ["@babel/parser", "npm:7.23.9"],\ + ["@babel/types", "npm:7.23.9"],\ + ["debug", "virtual:1ff4b5f90832ba0a9c93ba1223af226e44ba70c1126a3740d93562b97bc36544e896a5e95908196f7458713e6a6089a34bfc67362fc6df7fa093bd06c878be47#npm:4.3.4"],\ + ["globals", "npm:11.12.0"]\ ],\ "linkType": "HARD"\ - }]\ - ]],\ - ["@jridgewell/gen-mapping", [\ - ["npm:0.3.4", {\ - "packageLocation": "./.yarn/cache/@jridgewell-gen-mapping-npm-0.3.4-874921f557-c111a3d52f.zip/node_modules/@jridgewell/gen-mapping/",\ + }],\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-traverse-npm-7.24.6-e778dc10f7-11e5904f9a.zip/node_modules/@babel/traverse/",\ "packageDependencies": [\ - ["@jridgewell/gen-mapping", "npm:0.3.4"],\ - ["@jridgewell/set-array", "npm:1.1.2"],\ - ["@jridgewell/sourcemap-codec", "npm:1.4.15"],\ - ["@jridgewell/trace-mapping", "npm:0.3.23"]\ + ["@babel/traverse", "npm:7.24.6"],\ + ["@babel/code-frame", "npm:7.24.6"],\ + ["@babel/generator", "npm:7.24.6"],\ + ["@babel/helper-environment-visitor", "npm:7.24.6"],\ + ["@babel/helper-function-name", "npm:7.24.6"],\ + ["@babel/helper-hoist-variables", "npm:7.24.6"],\ + ["@babel/helper-split-export-declaration", "npm:7.24.6"],\ + ["@babel/parser", "npm:7.24.6"],\ + ["@babel/types", "npm:7.24.6"],\ + ["debug", "virtual:1ff4b5f90832ba0a9c93ba1223af226e44ba70c1126a3740d93562b97bc36544e896a5e95908196f7458713e6a6089a34bfc67362fc6df7fa093bd06c878be47#npm:4.3.4"],\ + ["globals", "npm:11.12.0"]\ ],\ "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/",\ + ["@babel/types", [\ + ["npm:7.17.0", {\ + "packageLocation": "./.yarn/cache/@babel-types-npm-7.17.0-3c936b54e4-535ccef360.zip/node_modules/@babel/types/",\ "packageDependencies": [\ - ["@jridgewell/resolve-uri", "npm:3.1.2"]\ + ["@babel/types", "npm:7.17.0"],\ + ["@babel/helper-validator-identifier", "npm:7.22.20"],\ + ["to-fast-properties", "npm:2.0.0"]\ ],\ "linkType": "HARD"\ - }]\ - ]],\ - ["@jridgewell/set-array", [\ - ["npm:1.1.2", {\ - "packageLocation": "./.yarn/cache/@jridgewell-set-array-npm-1.1.2-45b82d7fb6-69a84d5980.zip/node_modules/@jridgewell/set-array/",\ + }],\ + ["npm:7.23.9", {\ + "packageLocation": "./.yarn/cache/@babel-types-npm-7.23.9-c32aeb5f36-bed9634e5f.zip/node_modules/@babel/types/",\ "packageDependencies": [\ - ["@jridgewell/set-array", "npm:1.1.2"]\ + ["@babel/types", "npm:7.23.9"],\ + ["@babel/helper-string-parser", "npm:7.23.4"],\ + ["@babel/helper-validator-identifier", "npm:7.22.20"],\ + ["to-fast-properties", "npm:2.0.0"]\ ],\ "linkType": "HARD"\ - }]\ - ]],\ - ["@jridgewell/source-map", [\ - ["npm:0.3.5", {\ - "packageLocation": "./.yarn/cache/@jridgewell-source-map-npm-0.3.5-9f964eaf44-73838ac432.zip/node_modules/@jridgewell/source-map/",\ + }],\ + ["npm:7.24.6", {\ + "packageLocation": "./.yarn/cache/@babel-types-npm-7.24.6-5a7d5202c4-34552539cd.zip/node_modules/@babel/types/",\ "packageDependencies": [\ - ["@jridgewell/source-map", "npm:0.3.5"],\ - ["@jridgewell/gen-mapping", "npm:0.3.4"],\ - ["@jridgewell/trace-mapping", "npm:0.3.23"]\ + ["@babel/types", "npm:7.24.6"],\ + ["@babel/helper-string-parser", "npm:7.24.6"],\ + ["@babel/helper-validator-identifier", "npm:7.24.6"],\ + ["to-fast-properties", "npm:2.0.0"]\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@jridgewell/sourcemap-codec", [\ - ["npm:1.4.15", {\ - "packageLocation": "./.yarn/cache/@jridgewell-sourcemap-codec-npm-1.4.15-a055fb62cf-89960ac087.zip/node_modules/@jridgewell/sourcemap-codec/",\ + ["@bcoe/v8-coverage", [\ + ["npm:0.2.3", {\ + "packageLocation": "./.yarn/cache/@bcoe-v8-coverage-npm-0.2.3-9e27b3c57e-1a1f0e356a.zip/node_modules/@bcoe/v8-coverage/",\ "packageDependencies": [\ - ["@jridgewell/sourcemap-codec", "npm:1.4.15"]\ + ["@bcoe/v8-coverage", "npm:0.2.3"]\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@jridgewell/trace-mapping", [\ - ["npm:0.3.23", {\ - "packageLocation": "./.yarn/cache/@jridgewell-trace-mapping-npm-0.3.23-1097836461-eb8d167f8a.zip/node_modules/@jridgewell/trace-mapping/",\ + ["@codeceptjs/configure", [\ + ["npm:0.10.0", {\ + "packageLocation": "./.yarn/cache/@codeceptjs-configure-npm-0.10.0-ba73c0a5e7-afd4512fee.zip/node_modules/@codeceptjs/configure/",\ "packageDependencies": [\ - ["@jridgewell/trace-mapping", "npm:0.3.23"],\ - ["@jridgewell/resolve-uri", "npm:3.1.2"],\ - ["@jridgewell/sourcemap-codec", "npm:1.4.15"]\ + ["@codeceptjs/configure", "npm:0.10.0"]\ ],\ - "linkType": "HARD"\ + "linkType": "SOFT"\ }],\ - ["npm:0.3.9", {\ - "packageLocation": "./.yarn/cache/@jridgewell-trace-mapping-npm-0.3.9-91625cd7fb-83deafb8e7.zip/node_modules/@jridgewell/trace-mapping/",\ + ["npm:1.0.1", {\ + "packageLocation": "./.yarn/cache/@codeceptjs-configure-npm-1.0.1-d9352a52f7-f570ddc1db.zip/node_modules/@codeceptjs/configure/",\ "packageDependencies": [\ - ["@jridgewell/trace-mapping", "npm:0.3.9"],\ - ["@jridgewell/resolve-uri", "npm:3.1.2"],\ - ["@jridgewell/sourcemap-codec", "npm:1.4.15"]\ + ["@codeceptjs/configure", "npm:1.0.1"]\ ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@mswjs/cookies", [\ - ["npm:0.2.2", {\ - "packageLocation": "./.yarn/cache/@mswjs-cookies-npm-0.2.2-fdd3f4ab67-f1b3b82a68.zip/node_modules/@mswjs/cookies/",\ + "linkType": "SOFT"\ + }],\ + ["virtual:0f260612f43d62f390b7c799a6d835ee2a70036c46318983810c9645356da12a32ffa66b9a29be816548aaa485243032e8cbbe0967390766206b2817a3eada37#npm:0.10.0", {\ + "packageLocation": "./.yarn/__virtual__/@codeceptjs-configure-virtual-ef6a13bbe9/0/cache/@codeceptjs-configure-npm-0.10.0-ba73c0a5e7-afd4512fee.zip/node_modules/@codeceptjs/configure/",\ "packageDependencies": [\ - ["@mswjs/cookies", "npm:0.2.2"],\ - ["@types/set-cookie-parser", "npm:2.4.7"],\ - ["set-cookie-parser", "npm:2.6.0"]\ + ["@codeceptjs/configure", "virtual:0f260612f43d62f390b7c799a6d835ee2a70036c46318983810c9645356da12a32ffa66b9a29be816548aaa485243032e8cbbe0967390766206b2817a3eada37#npm:0.10.0"],\ + ["@types/codeceptjs", null],\ + ["codeceptjs", "npm:3.5.14"],\ + ["lodash.merge", "npm:4.6.2"],\ + ["lodash.mergewith", "npm:4.6.2"]\ + ],\ + "packagePeers": [\ + "@types/codeceptjs",\ + "codeceptjs"\ ],\ "linkType": "HARD"\ - }]\ - ]],\ - ["@mswjs/interceptors", [\ - ["npm:0.17.10", {\ - "packageLocation": "./.yarn/cache/@mswjs-interceptors-npm-0.17.10-c1199a9424-0bbadfc3c9.zip/node_modules/@mswjs/interceptors/",\ + }],\ + ["virtual:4dfda025008308960858af02ce2de23e6fbf02744b9548c2fa0efde5067623eaf08fec37555d32d6a86a61adf128d2c2890eef9d442aef417f3e2d1f5492c52d#npm:1.0.1", {\ + "packageLocation": "./.yarn/__virtual__/@codeceptjs-configure-virtual-b1595d0ff2/0/cache/@codeceptjs-configure-npm-1.0.1-d9352a52f7-f570ddc1db.zip/node_modules/@codeceptjs/configure/",\ "packageDependencies": [\ - ["@mswjs/interceptors", "npm:0.17.10"],\ - ["@open-draft/until", "npm:1.0.3"],\ - ["@types/debug", "npm:4.1.12"],\ - ["@xmldom/xmldom", "npm:0.8.10"],\ - ["debug", "virtual:1ff4b5f90832ba0a9c93ba1223af226e44ba70c1126a3740d93562b97bc36544e896a5e95908196f7458713e6a6089a34bfc67362fc6df7fa093bd06c878be47#npm:4.3.4"],\ - ["headers-polyfill", "npm:3.2.5"],\ - ["outvariant", "npm:1.4.2"],\ - ["strict-event-emitter", "npm:0.2.8"],\ - ["web-encoding", "npm:1.1.5"]\ + ["@codeceptjs/configure", "virtual:4dfda025008308960858af02ce2de23e6fbf02744b9548c2fa0efde5067623eaf08fec37555d32d6a86a61adf128d2c2890eef9d442aef417f3e2d1f5492c52d#npm:1.0.1"],\ + ["@types/codeceptjs", null],\ + ["codeceptjs", "npm:3.5.14"],\ + ["lodash.merge", "npm:4.6.2"],\ + ["lodash.mergewith", "npm:4.6.2"]\ + ],\ + "packagePeers": [\ + "@types/codeceptjs",\ + "codeceptjs"\ ],\ "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/",\ + ["@codeceptjs/detox-helper", [\ + ["npm:1.0.2", {\ + "packageLocation": "./.yarn/cache/@codeceptjs-detox-helper-npm-1.0.2-3153b71c46-4157dde568.zip/node_modules/@codeceptjs/detox-helper/",\ "packageDependencies": [\ - ["@nodelib/fs.scandir", "npm:2.1.5"],\ - ["@nodelib/fs.stat", "npm:2.0.5"],\ - ["run-parallel", "npm:1.2.0"]\ + ["@codeceptjs/detox-helper", "npm:1.0.2"],\ + ["detox", "npm:12.11.3"]\ ],\ "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/",\ + ["@codeceptjs/helper", [\ + ["npm:2.0.1", {\ + "packageLocation": "./.yarn/cache/@codeceptjs-helper-npm-2.0.1-658ed6443d-f4dfc1a916.zip/node_modules/@codeceptjs/helper/",\ "packageDependencies": [\ - ["@nodelib/fs.stat", "npm:2.0.5"]\ + ["@codeceptjs/helper", "npm:2.0.1"]\ ],\ "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/",\ + }],\ + ["npm:2.0.4", {\ + "packageLocation": "./.yarn/cache/@codeceptjs-helper-npm-2.0.4-95fd9d1c11-004e229f15.zip/node_modules/@codeceptjs/helper/",\ "packageDependencies": [\ - ["@nodelib/fs.walk", "npm:1.2.8"],\ - ["@nodelib/fs.scandir", "npm:2.1.5"],\ - ["fastq", "npm:1.17.1"]\ + ["@codeceptjs/helper", "npm:2.0.4"],\ + ["typescript", "patch:typescript@npm%3A5.4.5#optional!builtin::version=5.4.5&hash=5adc0c"]\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@npmcli/agent", [\ - ["npm:2.2.1", {\ - "packageLocation": "./.yarn/cache/@npmcli-agent-npm-2.2.1-8af33193ae-d4a48128f6.zip/node_modules/@npmcli/agent/",\ + ["@colors/colors", [\ + ["npm:1.5.0", {\ + "packageLocation": "./.yarn/cache/@colors-colors-npm-1.5.0-875af3a8b4-9d226461c1.zip/node_modules/@colors/colors/",\ "packageDependencies": [\ - ["@npmcli/agent", "npm:2.2.1"],\ - ["agent-base", "npm:7.1.0"],\ - ["http-proxy-agent", "npm:7.0.2"],\ - ["https-proxy-agent", "npm:7.0.4"],\ - ["lru-cache", "npm:10.2.0"],\ - ["socks-proxy-agent", "npm:8.0.2"]\ + ["@colors/colors", "npm:1.5.0"]\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@npmcli/fs", [\ - ["npm:3.1.0", {\ - "packageLocation": "./.yarn/cache/@npmcli-fs-npm-3.1.0-0844a57978-f3a7ab3a31.zip/node_modules/@npmcli/fs/",\ + ["@cspotcode/source-map-support", [\ + ["npm:0.8.1", {\ + "packageLocation": "./.yarn/cache/@cspotcode-source-map-support-npm-0.8.1-964f2de99d-b6e38a1712.zip/node_modules/@cspotcode/source-map-support/",\ "packageDependencies": [\ - ["@npmcli/fs", "npm:3.1.0"],\ - ["semver", "npm:7.6.0"]\ + ["@cspotcode/source-map-support", "npm:0.8.1"],\ + ["@jridgewell/trace-mapping", "npm:0.3.9"]\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@one-ini/wasm", [\ - ["npm:0.1.1", {\ - "packageLocation": "./.yarn/cache/@one-ini-wasm-npm-0.1.1-cee8120e33-673c11518d.zip/node_modules/@one-ini/wasm/",\ + ["@cucumber/ci-environment", [\ + ["npm:10.0.1", {\ + "packageLocation": "./.yarn/cache/@cucumber-ci-environment-npm-10.0.1-15056f4a9d-726f7957ea.zip/node_modules/@cucumber/ci-environment/",\ "packageDependencies": [\ - ["@one-ini/wasm", "npm:0.1.1"]\ + ["@cucumber/ci-environment", "npm:10.0.1"]\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@open-draft/until", [\ - ["npm:1.0.3", {\ - "packageLocation": "./.yarn/cache/@open-draft-until-npm-1.0.3-c0d6a46a29-323e92ebef.zip/node_modules/@open-draft/until/",\ + ["@cucumber/cucumber", [\ + ["npm:10.4.0", {\ + "packageLocation": "./.yarn/cache/@cucumber-cucumber-npm-10.4.0-1fcea15c8b-9527f82450.zip/node_modules/@cucumber/cucumber/",\ "packageDependencies": [\ - ["@open-draft/until", "npm:1.0.3"]\ + ["@cucumber/cucumber", "npm:10.4.0"],\ + ["@cucumber/ci-environment", "npm:10.0.1"],\ + ["@cucumber/cucumber-expressions", "npm:17.1.0"],\ + ["@cucumber/gherkin", "npm:28.0.0"],\ + ["@cucumber/gherkin-streams", "virtual:1fcea15c8bf2089a53fe8bf9ffc837d613c1bc61a4d4dd5395727d0484bd003ca936b69b8a0cf6bdf6c55f3297ae5255818ce58084d2abc55778d09888281fe5#npm:5.0.1"],\ + ["@cucumber/gherkin-utils", "npm:9.0.0"],\ + ["@cucumber/html-formatter", "virtual:1fcea15c8bf2089a53fe8bf9ffc837d613c1bc61a4d4dd5395727d0484bd003ca936b69b8a0cf6bdf6c55f3297ae5255818ce58084d2abc55778d09888281fe5#npm:21.3.1"],\ + ["@cucumber/message-streams", "virtual:1fcea15c8bf2089a53fe8bf9ffc837d613c1bc61a4d4dd5395727d0484bd003ca936b69b8a0cf6bdf6c55f3297ae5255818ce58084d2abc55778d09888281fe5#npm:4.0.1"],\ + ["@cucumber/messages", "npm:24.1.0"],\ + ["@cucumber/tag-expressions", "npm:6.1.0"],\ + ["assertion-error-formatter", "npm:3.0.0"],\ + ["capital-case", "npm:1.0.4"],\ + ["chalk", "npm:4.1.2"],\ + ["cli-table3", "npm:0.6.3"],\ + ["commander", "npm:10.0.1"],\ + ["debug", "virtual:87db25c7c5e6b25bbc12571091cdabc648b79d427ab445d1714ccfdcdfb3265c9de6561ca760cc3de470037cbedf3af4be56ba3b684b3a1c01d4c9c2fd55a741#npm:4.3.4"],\ + ["error-stack-parser", "npm:2.1.4"],\ + ["figures", "npm:3.2.0"],\ + ["glob", "npm:10.3.10"],\ + ["has-ansi", "npm:4.0.1"],\ + ["indent-string", "npm:4.0.0"],\ + ["is-installed-globally", "npm:0.4.0"],\ + ["is-stream", "npm:2.0.1"],\ + ["knuth-shuffle-seeded", "npm:1.0.6"],\ + ["lodash.merge", "npm:4.6.2"],\ + ["lodash.mergewith", "npm:4.6.2"],\ + ["luxon", "npm:3.2.1"],\ + ["mkdirp", "npm:2.1.6"],\ + ["mz", "npm:2.7.0"],\ + ["progress", "npm:2.0.3"],\ + ["read-pkg-up", "npm:7.0.1"],\ + ["resolve-pkg", "npm:2.0.0"],\ + ["semver", "npm:7.5.3"],\ + ["string-argv", "npm:0.3.1"],\ + ["strip-ansi", "npm:6.0.1"],\ + ["supports-color", "npm:8.1.1"],\ + ["tmp", "npm:0.2.3"],\ + ["type-fest", "npm:4.15.0"],\ + ["util-arity", "npm:1.1.0"],\ + ["xmlbuilder", "npm:15.1.1"],\ + ["yaml", "npm:2.4.0"],\ + ["yup", "npm:1.2.0"]\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@pkgjs/parseargs", [\ - ["npm:0.11.0", {\ - "packageLocation": "./.yarn/cache/@pkgjs-parseargs-npm-0.11.0-cd2a3fe948-115e8ceeec.zip/node_modules/@pkgjs/parseargs/",\ + ["@cucumber/cucumber-expressions", [\ + ["npm:17.0.2", {\ + "packageLocation": "./.yarn/cache/@cucumber-cucumber-expressions-npm-17.0.2-1bfb6b14aa-9ca02cc8ac.zip/node_modules/@cucumber/cucumber-expressions/",\ "packageDependencies": [\ - ["@pkgjs/parseargs", "npm:0.11.0"]\ + ["@cucumber/cucumber-expressions", "npm:17.0.2"],\ + ["regexp-match-indices", "npm:1.0.2"]\ ],\ "linkType": "HARD"\ - }]\ - ]],\ - ["@pkgr/core", [\ - ["npm:0.1.1", {\ - "packageLocation": "./.yarn/cache/@pkgr-core-npm-0.1.1-844d1f59d1-6f25fd2e30.zip/node_modules/@pkgr/core/",\ + }],\ + ["npm:17.1.0", {\ + "packageLocation": "./.yarn/cache/@cucumber-cucumber-expressions-npm-17.1.0-d04812b220-2dda4129c3.zip/node_modules/@cucumber/cucumber-expressions/",\ "packageDependencies": [\ - ["@pkgr/core", "npm:0.1.1"]\ + ["@cucumber/cucumber-expressions", "npm:17.1.0"],\ + ["regexp-match-indices", "npm:1.0.2"]\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@playwright/test", [\ - ["npm:1.41.2", {\ - "packageLocation": "./.yarn/cache/@playwright-test-npm-1.41.2-09e0b1ec36-e87405987f.zip/node_modules/@playwright/test/",\ + ["@cucumber/gherkin", [\ + ["npm:26.2.0", {\ + "packageLocation": "./.yarn/cache/@cucumber-gherkin-npm-26.2.0-8df6a26563-f50f9f6f9a.zip/node_modules/@cucumber/gherkin/",\ "packageDependencies": [\ - ["@playwright/test", "npm:1.41.2"],\ - ["playwright", "npm:1.41.2"]\ + ["@cucumber/gherkin", "npm:26.2.0"],\ + ["@cucumber/messages", "npm:22.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:28.0.0", {\ + "packageLocation": "./.yarn/cache/@cucumber-gherkin-npm-28.0.0-0fe54c59df-f6c6f33e9a.zip/node_modules/@cucumber/gherkin/",\ + "packageDependencies": [\ + ["@cucumber/gherkin", "npm:28.0.0"],\ + ["@cucumber/messages", "npm:24.1.0"]\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@polka/url", [\ - ["npm:0.5.0", {\ - "packageLocation": "./.yarn/cache/@polka-url-npm-0.5.0-97fa7737e1-3f007adf9c.zip/node_modules/@polka/url/",\ + ["@cucumber/gherkin-streams", [\ + ["npm:5.0.1", {\ + "packageLocation": "./.yarn/cache/@cucumber-gherkin-streams-npm-5.0.1-a9097ed93e-d52324a443.zip/node_modules/@cucumber/gherkin-streams/",\ "packageDependencies": [\ - ["@polka/url", "npm:0.5.0"]\ + ["@cucumber/gherkin-streams", "npm:5.0.1"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:1fcea15c8bf2089a53fe8bf9ffc837d613c1bc61a4d4dd5395727d0484bd003ca936b69b8a0cf6bdf6c55f3297ae5255818ce58084d2abc55778d09888281fe5#npm:5.0.1", {\ + "packageLocation": "./.yarn/__virtual__/@cucumber-gherkin-streams-virtual-db404f246b/0/cache/@cucumber-gherkin-streams-npm-5.0.1-a9097ed93e-d52324a443.zip/node_modules/@cucumber/gherkin-streams/",\ + "packageDependencies": [\ + ["@cucumber/gherkin-streams", "virtual:1fcea15c8bf2089a53fe8bf9ffc837d613c1bc61a4d4dd5395727d0484bd003ca936b69b8a0cf6bdf6c55f3297ae5255818ce58084d2abc55778d09888281fe5#npm:5.0.1"],\ + ["@cucumber/gherkin", "npm:28.0.0"],\ + ["@cucumber/message-streams", "virtual:1fcea15c8bf2089a53fe8bf9ffc837d613c1bc61a4d4dd5395727d0484bd003ca936b69b8a0cf6bdf6c55f3297ae5255818ce58084d2abc55778d09888281fe5#npm:4.0.1"],\ + ["@cucumber/messages", "npm:24.1.0"],\ + ["@types/cucumber__gherkin", null],\ + ["@types/cucumber__message-streams", null],\ + ["@types/cucumber__messages", null],\ + ["commander", "npm:9.1.0"],\ + ["source-map-support", "npm:0.5.21"]\ + ],\ + "packagePeers": [\ + "@cucumber/gherkin",\ + "@cucumber/message-streams",\ + "@cucumber/messages",\ + "@types/cucumber__gherkin",\ + "@types/cucumber__message-streams",\ + "@types/cucumber__messages"\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@postman/form-data", [\ - ["npm:3.1.1", {\ - "packageLocation": "./.yarn/cache/@postman-form-data-npm-3.1.1-af280b8745-c145f019f5.zip/node_modules/@postman/form-data/",\ + ["@cucumber/gherkin-utils", [\ + ["npm:9.0.0", {\ + "packageLocation": "./.yarn/cache/@cucumber-gherkin-utils-npm-9.0.0-c5432013ec-04ced60d52.zip/node_modules/@cucumber/gherkin-utils/",\ "packageDependencies": [\ - ["@postman/form-data", "npm:3.1.1"],\ - ["asynckit", "npm:0.4.0"],\ - ["combined-stream", "npm:1.0.8"],\ - ["mime-types", "npm:2.1.35"]\ + ["@cucumber/gherkin-utils", "npm:9.0.0"],\ + ["@cucumber/gherkin", "npm:28.0.0"],\ + ["@cucumber/messages", "npm:24.0.1"],\ + ["@teppeis/multimaps", "npm:3.0.0"],\ + ["commander", "npm:12.0.0"],\ + ["source-map-support", "npm:0.5.21"]\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@postman/tough-cookie", [\ - ["npm:4.1.3-postman.1", {\ - "packageLocation": "./.yarn/cache/@postman-tough-cookie-npm-4.1.3-postman.1-4b1b33434f-3120c3865b.zip/node_modules/@postman/tough-cookie/",\ + ["@cucumber/html-formatter", [\ + ["npm:21.3.1", {\ + "packageLocation": "./.yarn/cache/@cucumber-html-formatter-npm-21.3.1-5f1156cb5f-7c67856ab1.zip/node_modules/@cucumber/html-formatter/",\ "packageDependencies": [\ - ["@postman/tough-cookie", "npm:4.1.3-postman.1"],\ - ["psl", "npm:1.9.0"],\ - ["punycode", "npm:2.3.1"],\ - ["universalify", "npm:0.2.0"],\ - ["url-parse", "npm:1.5.10"]\ + ["@cucumber/html-formatter", "npm:21.3.1"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:1fcea15c8bf2089a53fe8bf9ffc837d613c1bc61a4d4dd5395727d0484bd003ca936b69b8a0cf6bdf6c55f3297ae5255818ce58084d2abc55778d09888281fe5#npm:21.3.1", {\ + "packageLocation": "./.yarn/__virtual__/@cucumber-html-formatter-virtual-9d579f6350/0/cache/@cucumber-html-formatter-npm-21.3.1-5f1156cb5f-7c67856ab1.zip/node_modules/@cucumber/html-formatter/",\ + "packageDependencies": [\ + ["@cucumber/html-formatter", "virtual:1fcea15c8bf2089a53fe8bf9ffc837d613c1bc61a4d4dd5395727d0484bd003ca936b69b8a0cf6bdf6c55f3297ae5255818ce58084d2abc55778d09888281fe5#npm:21.3.1"],\ + ["@cucumber/messages", "npm:24.1.0"],\ + ["@types/cucumber__messages", null]\ + ],\ + "packagePeers": [\ + "@cucumber/messages",\ + "@types/cucumber__messages"\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@postman/tunnel-agent", [\ - ["npm:0.6.3", {\ - "packageLocation": "./.yarn/cache/@postman-tunnel-agent-npm-0.6.3-0942abdb9d-71ea42fa77.zip/node_modules/@postman/tunnel-agent/",\ + ["@cucumber/message-streams", [\ + ["npm:4.0.1", {\ + "packageLocation": "./.yarn/cache/@cucumber-message-streams-npm-4.0.1-0c98ff65d5-74080dafde.zip/node_modules/@cucumber/message-streams/",\ "packageDependencies": [\ - ["@postman/tunnel-agent", "npm:0.6.3"],\ - ["safe-buffer", "npm:5.2.1"]\ + ["@cucumber/message-streams", "npm:4.0.1"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:1fcea15c8bf2089a53fe8bf9ffc837d613c1bc61a4d4dd5395727d0484bd003ca936b69b8a0cf6bdf6c55f3297ae5255818ce58084d2abc55778d09888281fe5#npm:4.0.1", {\ + "packageLocation": "./.yarn/__virtual__/@cucumber-message-streams-virtual-16cbcb1c8f/0/cache/@cucumber-message-streams-npm-4.0.1-0c98ff65d5-74080dafde.zip/node_modules/@cucumber/message-streams/",\ + "packageDependencies": [\ + ["@cucumber/message-streams", "virtual:1fcea15c8bf2089a53fe8bf9ffc837d613c1bc61a4d4dd5395727d0484bd003ca936b69b8a0cf6bdf6c55f3297ae5255818ce58084d2abc55778d09888281fe5#npm:4.0.1"],\ + ["@cucumber/messages", "npm:24.1.0"],\ + ["@types/cucumber__messages", null]\ + ],\ + "packagePeers": [\ + "@cucumber/messages",\ + "@types/cucumber__messages"\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@puppeteer/browsers", [\ - ["npm:1.3.0", {\ - "packageLocation": "./.yarn/cache/@puppeteer-browsers-npm-1.3.0-b480a6f919-b7df900c8f.zip/node_modules/@puppeteer/browsers/",\ + ["@cucumber/messages", [\ + ["npm:22.0.0", {\ + "packageLocation": "./.yarn/cache/@cucumber-messages-npm-22.0.0-923f9d93f5-09fa7264aa.zip/node_modules/@cucumber/messages/",\ "packageDependencies": [\ - ["@puppeteer/browsers", "npm:1.3.0"]\ + ["@cucumber/messages", "npm:22.0.0"],\ + ["@types/uuid", "npm:9.0.1"],\ + ["class-transformer", "npm:0.5.1"],\ + ["reflect-metadata", "npm:0.1.13"],\ + ["uuid", "npm:9.0.0"]\ ],\ - "linkType": "SOFT"\ + "linkType": "HARD"\ }],\ - ["npm:1.9.1", {\ - "packageLocation": "./.yarn/cache/@puppeteer-browsers-npm-1.9.1-f9743bc3b8-804cbc18bc.zip/node_modules/@puppeteer/browsers/",\ + ["npm:24.0.1", {\ + "packageLocation": "./.yarn/cache/@cucumber-messages-npm-24.0.1-561a811df8-fdaeb71eaa.zip/node_modules/@cucumber/messages/",\ "packageDependencies": [\ - ["@puppeteer/browsers", "npm:1.9.1"],\ - ["debug", "virtual:1ff4b5f90832ba0a9c93ba1223af226e44ba70c1126a3740d93562b97bc36544e896a5e95908196f7458713e6a6089a34bfc67362fc6df7fa093bd06c878be47#npm:4.3.4"],\ - ["extract-zip", "npm:2.0.1"],\ - ["progress", "npm:2.0.3"],\ - ["proxy-agent", "npm:6.3.1"],\ - ["tar-fs", "npm:3.0.4"],\ - ["unbzip2-stream", "npm:1.4.3"],\ - ["yargs", "npm:17.7.2"]\ + ["@cucumber/messages", "npm:24.0.1"],\ + ["@types/uuid", "npm:9.0.7"],\ + ["class-transformer", "npm:0.5.1"],\ + ["reflect-metadata", "npm:0.2.1"],\ + ["uuid", "npm:9.0.1"]\ ],\ "linkType": "HARD"\ }],\ - ["virtual:40161633ecef9d46bcf7484d533cce9b4d65103c4864a996a1db053cc86cb35738ad5ef2f4be259f0cecffff2fa9fb76a9ed95cd1a9168af6a4f5f2eb9115e9a#npm:1.3.0", {\ - "packageLocation": "./.yarn/__virtual__/@puppeteer-browsers-virtual-72b5f5b8d5/0/cache/@puppeteer-browsers-npm-1.3.0-b480a6f919-b7df900c8f.zip/node_modules/@puppeteer/browsers/",\ + ["npm:24.1.0", {\ + "packageLocation": "./.yarn/cache/@cucumber-messages-npm-24.1.0-c6e46c47d9-a0e28349af.zip/node_modules/@cucumber/messages/",\ "packageDependencies": [\ - ["@puppeteer/browsers", "virtual:40161633ecef9d46bcf7484d533cce9b4d65103c4864a996a1db053cc86cb35738ad5ef2f4be259f0cecffff2fa9fb76a9ed95cd1a9168af6a4f5f2eb9115e9a#npm:1.3.0"],\ - ["@types/typescript", null],\ - ["debug", "virtual:1ff4b5f90832ba0a9c93ba1223af226e44ba70c1126a3740d93562b97bc36544e896a5e95908196f7458713e6a6089a34bfc67362fc6df7fa093bd06c878be47#npm:4.3.4"],\ - ["extract-zip", "npm:2.0.1"],\ - ["http-proxy-agent", "npm:5.0.0"],\ - ["https-proxy-agent", "npm:5.0.1"],\ - ["progress", "npm:2.0.3"],\ - ["proxy-from-env", "npm:1.1.0"],\ - ["tar-fs", "npm:2.1.1"],\ - ["typescript", null],\ - ["unbzip2-stream", "npm:1.4.3"],\ - ["yargs", "npm:17.7.1"]\ + ["@cucumber/messages", "npm:24.1.0"],\ + ["@types/uuid", "npm:9.0.8"],\ + ["class-transformer", "npm:0.5.1"],\ + ["reflect-metadata", "npm:0.2.1"],\ + ["uuid", "npm:9.0.1"]\ ],\ - "packagePeers": [\ - "@types/typescript",\ - "typescript"\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@cucumber/tag-expressions", [\ + ["npm:6.1.0", {\ + "packageLocation": "./.yarn/cache/@cucumber-tag-expressions-npm-6.1.0-06be85a8b8-eaef7c3560.zip/node_modules/@cucumber/tag-expressions/",\ + "packageDependencies": [\ + ["@cucumber/tag-expressions", "npm:6.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@cypress/request", [\ + ["npm:3.0.1", {\ + "packageLocation": "./.yarn/cache/@cypress-request-npm-3.0.1-7528f5a10a-bf48bed6d6.zip/node_modules/@cypress/request/",\ + "packageDependencies": [\ + ["@cypress/request", "npm:3.0.1"],\ + ["aws-sign2", "npm:0.7.0"],\ + ["aws4", "npm:1.12.0"],\ + ["caseless", "npm:0.12.0"],\ + ["combined-stream", "npm:1.0.8"],\ + ["extend", "npm:3.0.2"],\ + ["forever-agent", "npm:0.6.1"],\ + ["form-data", "npm:2.3.3"],\ + ["http-signature", "npm:1.3.6"],\ + ["is-typedarray", "npm:1.0.0"],\ + ["isstream", "npm:0.1.2"],\ + ["json-stringify-safe", "npm:5.0.1"],\ + ["mime-types", "npm:2.1.35"],\ + ["performance-now", "npm:2.1.0"],\ + ["qs", "npm:6.10.4"],\ + ["safe-buffer", "npm:5.2.1"],\ + ["tough-cookie", "npm:4.1.3"],\ + ["tunnel-agent", "npm:0.6.0"],\ + ["uuid", "npm:8.3.2"]\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@rollup/plugin-commonjs", [\ - ["npm:25.0.7", {\ - "packageLocation": "./.yarn/cache/@rollup-plugin-commonjs-npm-25.0.7-f5b19139ea-89b108e245.zip/node_modules/@rollup/plugin-commonjs/",\ + ["@cypress/xvfb", [\ + ["npm:1.2.4", {\ + "packageLocation": "./.yarn/cache/@cypress-xvfb-npm-1.2.4-396a3691f7-cb995b069f.zip/node_modules/@cypress/xvfb/",\ "packageDependencies": [\ - ["@rollup/plugin-commonjs", "npm:25.0.7"]\ + ["@cypress/xvfb", "npm:1.2.4"],\ + ["debug", "virtual:2a426afc4b2eef43db12a540d29c2b5476640459bfcd5c24f86bb401cf8cce97e63bd81794d206a5643057e7f662643afd5ce3dfc4d4bfd8e706006c6309c5fa#npm:3.2.7"],\ + ["lodash.once", "npm:4.1.1"]\ ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:3b04c8c38dde7165df844f9cd74e94cc47d78164564600cf56ba5f8c6011d25ef0d3afc13d610f3da970f6807c830914053ff96a43c86ba17f3ec650dfd687d3#npm:25.0.7", {\ - "packageLocation": "./.yarn/__virtual__/@rollup-plugin-commonjs-virtual-a2c4557db4/0/cache/@rollup-plugin-commonjs-npm-25.0.7-f5b19139ea-89b108e245.zip/node_modules/@rollup/plugin-commonjs/",\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@es-joy/jsdoccomment", [\ + ["npm:0.42.0", {\ + "packageLocation": "./.yarn/cache/@es-joy-jsdoccomment-npm-0.42.0-a28de67572-413c058f22.zip/node_modules/@es-joy/jsdoccomment/",\ "packageDependencies": [\ - ["@rollup/plugin-commonjs", "virtual:3b04c8c38dde7165df844f9cd74e94cc47d78164564600cf56ba5f8c6011d25ef0d3afc13d610f3da970f6807c830914053ff96a43c86ba17f3ec650dfd687d3#npm:25.0.7"],\ - ["@rollup/pluginutils", "virtual:a2c4557db463139f551d486fec50de985ccd2a9ead54c237b144b207c1f8a68d0c69bd6db514bcfcd255cbd6313bfe84fc84449538194718f79b195d6cf59c6f#npm:5.1.0"],\ - ["@types/rollup", null],\ - ["commondir", "npm:1.0.1"],\ - ["estree-walker", "npm:2.0.2"],\ - ["glob", "npm:8.1.0"],\ - ["is-reference", "npm:1.2.1"],\ - ["magic-string", "npm:0.30.8"],\ - ["rollup", "npm:4.14.3"]\ - ],\ - "packagePeers": [\ - "@types/rollup",\ - "rollup"\ + ["@es-joy/jsdoccomment", "npm:0.42.0"],\ + ["comment-parser", "npm:1.4.1"],\ + ["esquery", "npm:1.5.0"],\ + ["jsdoc-type-pratt-parser", "npm:4.0.0"]\ ],\ "linkType": "HARD"\ - }],\ - ["virtual:606d5fd11adc18cba076ddb26a9b3adaf466a45eef985b60ea990c3ead5fe6bcc20990b0ed8d0763c4a8c861cdc2277964415bf12191df7c6923d8e78816abf5#npm:25.0.7", {\ - "packageLocation": "./.yarn/__virtual__/@rollup-plugin-commonjs-virtual-f2dd29eb8c/0/cache/@rollup-plugin-commonjs-npm-25.0.7-f5b19139ea-89b108e245.zip/node_modules/@rollup/plugin-commonjs/",\ + }]\ + ]],\ + ["@esbuild/aix-ppc64", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-aix-ppc64-npm-0.19.12-20acbc4c27/node_modules/@esbuild/aix-ppc64/",\ "packageDependencies": [\ - ["@rollup/plugin-commonjs", "virtual:606d5fd11adc18cba076ddb26a9b3adaf466a45eef985b60ea990c3ead5fe6bcc20990b0ed8d0763c4a8c861cdc2277964415bf12191df7c6923d8e78816abf5#npm:25.0.7"],\ - ["@rollup/pluginutils", "virtual:f2dd29eb8ce754cc38119f3bef656790439ff81ce1567367a17a97e74a2571c67e043911d48f02b50140131649ff6cf6f7ed45ef64c42bf632451728c521764c#npm:5.1.0"],\ - ["@types/rollup", null],\ - ["commondir", "npm:1.0.1"],\ - ["estree-walker", "npm:2.0.2"],\ - ["glob", "npm:8.1.0"],\ - ["is-reference", "npm:1.2.1"],\ - ["magic-string", "npm:0.30.8"],\ - ["rollup", "npm:4.14.1"]\ - ],\ - "packagePeers": [\ - "@types/rollup",\ - "rollup"\ + ["@esbuild/aix-ppc64", "npm:0.19.12"]\ ],\ "linkType": "HARD"\ }],\ - ["virtual:98c60b7d3b6c5117c4513c6cb8006cab39e0411be8ffe9bb791d9b6d0a1566b28587d5455e7567553092cbdbab928cfaf2a758f8f25f0e31ddedfee569ca964b#npm:25.0.7", {\ - "packageLocation": "./.yarn/__virtual__/@rollup-plugin-commonjs-virtual-3e67de48fa/0/cache/@rollup-plugin-commonjs-npm-25.0.7-f5b19139ea-89b108e245.zip/node_modules/@rollup/plugin-commonjs/",\ + ["npm:0.21.4", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-aix-ppc64-npm-0.21.4-6a635a0f23/node_modules/@esbuild/aix-ppc64/",\ "packageDependencies": [\ - ["@rollup/plugin-commonjs", "virtual:98c60b7d3b6c5117c4513c6cb8006cab39e0411be8ffe9bb791d9b6d0a1566b28587d5455e7567553092cbdbab928cfaf2a758f8f25f0e31ddedfee569ca964b#npm:25.0.7"],\ - ["@rollup/pluginutils", "virtual:3e67de48faf9dd77804e49e4c530179bb52bbeb976fef3d3ef69b0dda8f67dd11e8c6535834337225432ad00e4f61dd45296e4b5eef5f3d4355de97ec20a359d#npm:5.1.0"],\ - ["@types/rollup", null],\ - ["commondir", "npm:1.0.1"],\ - ["estree-walker", "npm:2.0.2"],\ - ["glob", "npm:8.1.0"],\ - ["is-reference", "npm:1.2.1"],\ - ["magic-string", "npm:0.30.8"],\ - ["rollup", "npm:4.13.0"]\ - ],\ - "packagePeers": [\ - "@types/rollup",\ - "rollup"\ + ["@esbuild/aix-ppc64", "npm:0.21.4"]\ ],\ "linkType": "HARD"\ - }],\ - ["virtual:f22a73b9c1f4f0e2e1c95f149ccb41c96491085e4b2ecd3061e554432306c4df6c2976f3c6ce3a6d62abead3ccc6cf04e88b4aebf1de7356583819351e2346e2#npm:25.0.7", {\ - "packageLocation": "./.yarn/__virtual__/@rollup-plugin-commonjs-virtual-875f160d1c/0/cache/@rollup-plugin-commonjs-npm-25.0.7-f5b19139ea-89b108e245.zip/node_modules/@rollup/plugin-commonjs/",\ + }]\ + ]],\ + ["@esbuild/android-arm", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-android-arm-npm-0.19.12-007d87d00d/node_modules/@esbuild/android-arm/",\ "packageDependencies": [\ - ["@rollup/plugin-commonjs", "virtual:f22a73b9c1f4f0e2e1c95f149ccb41c96491085e4b2ecd3061e554432306c4df6c2976f3c6ce3a6d62abead3ccc6cf04e88b4aebf1de7356583819351e2346e2#npm:25.0.7"],\ - ["@rollup/pluginutils", "virtual:875f160d1c6875d32968e8fe60b6f39d7d72b7d73f8b8c5c79a2db297a8603117e88ef16dbab7112577ca61ef2ad0ecc8123bd1dcc91f821d929f3dabc17dd58#npm:5.1.0"],\ - ["@types/rollup", null],\ - ["commondir", "npm:1.0.1"],\ - ["estree-walker", "npm:2.0.2"],\ - ["glob", "npm:8.1.0"],\ - ["is-reference", "npm:1.2.1"],\ - ["magic-string", "npm:0.30.8"],\ - ["rollup", "npm:4.17.1"]\ - ],\ - "packagePeers": [\ - "@types/rollup",\ - "rollup"\ + ["@esbuild/android-arm", "npm:0.19.12"]\ ],\ "linkType": "HARD"\ }],\ - ["virtual:f37ad3099f3665d5bbc9ee71081416c8874087a5d9739472f56367e210ca9246356f462b31407a28e510bc022801edd4632f86364db715287d62bd50b42e2c00#npm:25.0.7", {\ - "packageLocation": "./.yarn/__virtual__/@rollup-plugin-commonjs-virtual-a1d4129448/0/cache/@rollup-plugin-commonjs-npm-25.0.7-f5b19139ea-89b108e245.zip/node_modules/@rollup/plugin-commonjs/",\ + ["npm:0.21.4", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-android-arm-npm-0.21.4-b64f2b42f3/node_modules/@esbuild/android-arm/",\ "packageDependencies": [\ - ["@rollup/plugin-commonjs", "virtual:f37ad3099f3665d5bbc9ee71081416c8874087a5d9739472f56367e210ca9246356f462b31407a28e510bc022801edd4632f86364db715287d62bd50b42e2c00#npm:25.0.7"],\ - ["@rollup/pluginutils", "virtual:a1d4129448185ff2c63aa612b108d0a6affb8e0adc6886c6da9df4ec5e9db50b8d48bff21ea2047b8724dd77880d2676c0a5ff64c60afc6e9af5a71b4dc74ac5#npm:5.1.0"],\ - ["@types/rollup", null],\ - ["commondir", "npm:1.0.1"],\ - ["estree-walker", "npm:2.0.2"],\ - ["glob", "npm:8.1.0"],\ - ["is-reference", "npm:1.2.1"],\ - ["magic-string", "npm:0.30.8"],\ - ["rollup", "npm:4.17.2"]\ - ],\ - "packagePeers": [\ - "@types/rollup",\ - "rollup"\ + ["@esbuild/android-arm", "npm:0.21.4"]\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@rollup/plugin-node-resolve", [\ - ["npm:15.2.3", {\ - "packageLocation": "./.yarn/cache/@rollup-plugin-node-resolve-npm-15.2.3-f49fe9c656-d36a6792fb.zip/node_modules/@rollup/plugin-node-resolve/",\ - "packageDependencies": [\ - ["@rollup/plugin-node-resolve", "npm:15.2.3"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:3b04c8c38dde7165df844f9cd74e94cc47d78164564600cf56ba5f8c6011d25ef0d3afc13d610f3da970f6807c830914053ff96a43c86ba17f3ec650dfd687d3#npm:15.2.3", {\ - "packageLocation": "./.yarn/__virtual__/@rollup-plugin-node-resolve-virtual-655e585faf/0/cache/@rollup-plugin-node-resolve-npm-15.2.3-f49fe9c656-d36a6792fb.zip/node_modules/@rollup/plugin-node-resolve/",\ + ["@esbuild/android-arm64", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-android-arm64-npm-0.19.12-639e34c5cb/node_modules/@esbuild/android-arm64/",\ "packageDependencies": [\ - ["@rollup/plugin-node-resolve", "virtual:3b04c8c38dde7165df844f9cd74e94cc47d78164564600cf56ba5f8c6011d25ef0d3afc13d610f3da970f6807c830914053ff96a43c86ba17f3ec650dfd687d3#npm:15.2.3"],\ - ["@rollup/pluginutils", "virtual:a2c4557db463139f551d486fec50de985ccd2a9ead54c237b144b207c1f8a68d0c69bd6db514bcfcd255cbd6313bfe84fc84449538194718f79b195d6cf59c6f#npm:5.1.0"],\ - ["@types/resolve", "npm:1.20.2"],\ - ["@types/rollup", null],\ - ["deepmerge", "npm:4.3.1"],\ - ["is-builtin-module", "npm:3.2.1"],\ - ["is-module", "npm:1.0.0"],\ - ["resolve", "patch:resolve@npm%3A1.22.8#optional!builtin::version=1.22.8&hash=c3c19d"],\ - ["rollup", "npm:4.14.3"]\ - ],\ - "packagePeers": [\ - "@types/rollup",\ - "rollup"\ + ["@esbuild/android-arm64", "npm:0.19.12"]\ ],\ "linkType": "HARD"\ }],\ - ["virtual:4dfda025008308960858af02ce2de23e6fbf02744b9548c2fa0efde5067623eaf08fec37555d32d6a86a61adf128d2c2890eef9d442aef417f3e2d1f5492c52d#npm:15.2.3", {\ - "packageLocation": "./.yarn/__virtual__/@rollup-plugin-node-resolve-virtual-5231c0c88d/0/cache/@rollup-plugin-node-resolve-npm-15.2.3-f49fe9c656-d36a6792fb.zip/node_modules/@rollup/plugin-node-resolve/",\ + ["npm:0.21.4", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-android-arm64-npm-0.21.4-c133485251/node_modules/@esbuild/android-arm64/",\ "packageDependencies": [\ - ["@rollup/plugin-node-resolve", "virtual:4dfda025008308960858af02ce2de23e6fbf02744b9548c2fa0efde5067623eaf08fec37555d32d6a86a61adf128d2c2890eef9d442aef417f3e2d1f5492c52d#npm:15.2.3"],\ - ["@rollup/pluginutils", "virtual:5231c0c88deb9e1ffc789d0afa387fe8c64f8a465c7749a45a9444cbcd18eaef7e58cd50457cbcae660754f20261a18758425931d4a1e7b13722010d3290e35c#npm:5.1.0"],\ - ["@types/resolve", "npm:1.20.2"],\ - ["@types/rollup", null],\ - ["deepmerge", "npm:4.3.1"],\ - ["is-builtin-module", "npm:3.2.1"],\ - ["is-module", "npm:1.0.0"],\ - ["resolve", "patch:resolve@npm%3A1.22.8#optional!builtin::version=1.22.8&hash=c3c19d"],\ - ["rollup", "npm:4.16.3"]\ - ],\ - "packagePeers": [\ - "@types/rollup",\ - "rollup"\ + ["@esbuild/android-arm64", "npm:0.21.4"]\ ],\ "linkType": "HARD"\ - }],\ - ["virtual:606d5fd11adc18cba076ddb26a9b3adaf466a45eef985b60ea990c3ead5fe6bcc20990b0ed8d0763c4a8c861cdc2277964415bf12191df7c6923d8e78816abf5#npm:15.2.3", {\ - "packageLocation": "./.yarn/__virtual__/@rollup-plugin-node-resolve-virtual-419d5c7f39/0/cache/@rollup-plugin-node-resolve-npm-15.2.3-f49fe9c656-d36a6792fb.zip/node_modules/@rollup/plugin-node-resolve/",\ + }]\ + ]],\ + ["@esbuild/android-x64", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-android-x64-npm-0.19.12-eb12dd0e96/node_modules/@esbuild/android-x64/",\ "packageDependencies": [\ - ["@rollup/plugin-node-resolve", "virtual:606d5fd11adc18cba076ddb26a9b3adaf466a45eef985b60ea990c3ead5fe6bcc20990b0ed8d0763c4a8c861cdc2277964415bf12191df7c6923d8e78816abf5#npm:15.2.3"],\ - ["@rollup/pluginutils", "virtual:f2dd29eb8ce754cc38119f3bef656790439ff81ce1567367a17a97e74a2571c67e043911d48f02b50140131649ff6cf6f7ed45ef64c42bf632451728c521764c#npm:5.1.0"],\ - ["@types/resolve", "npm:1.20.2"],\ - ["@types/rollup", null],\ - ["deepmerge", "npm:4.3.1"],\ - ["is-builtin-module", "npm:3.2.1"],\ - ["is-module", "npm:1.0.0"],\ - ["resolve", "patch:resolve@npm%3A1.22.8#optional!builtin::version=1.22.8&hash=c3c19d"],\ - ["rollup", "npm:4.14.1"]\ - ],\ - "packagePeers": [\ - "@types/rollup",\ - "rollup"\ + ["@esbuild/android-x64", "npm:0.19.12"]\ ],\ "linkType": "HARD"\ }],\ - ["virtual:98c60b7d3b6c5117c4513c6cb8006cab39e0411be8ffe9bb791d9b6d0a1566b28587d5455e7567553092cbdbab928cfaf2a758f8f25f0e31ddedfee569ca964b#npm:15.2.3", {\ - "packageLocation": "./.yarn/__virtual__/@rollup-plugin-node-resolve-virtual-df2cb905ab/0/cache/@rollup-plugin-node-resolve-npm-15.2.3-f49fe9c656-d36a6792fb.zip/node_modules/@rollup/plugin-node-resolve/",\ + ["npm:0.21.4", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-android-x64-npm-0.21.4-a081eb4ee8/node_modules/@esbuild/android-x64/",\ "packageDependencies": [\ - ["@rollup/plugin-node-resolve", "virtual:98c60b7d3b6c5117c4513c6cb8006cab39e0411be8ffe9bb791d9b6d0a1566b28587d5455e7567553092cbdbab928cfaf2a758f8f25f0e31ddedfee569ca964b#npm:15.2.3"],\ - ["@rollup/pluginutils", "virtual:3e67de48faf9dd77804e49e4c530179bb52bbeb976fef3d3ef69b0dda8f67dd11e8c6535834337225432ad00e4f61dd45296e4b5eef5f3d4355de97ec20a359d#npm:5.1.0"],\ - ["@types/resolve", "npm:1.20.2"],\ - ["@types/rollup", null],\ - ["deepmerge", "npm:4.3.1"],\ - ["is-builtin-module", "npm:3.2.1"],\ - ["is-module", "npm:1.0.0"],\ - ["resolve", "patch:resolve@npm%3A1.22.8#optional!builtin::version=1.22.8&hash=c3c19d"],\ - ["rollup", "npm:4.13.0"]\ - ],\ - "packagePeers": [\ - "@types/rollup",\ - "rollup"\ + ["@esbuild/android-x64", "npm:0.21.4"]\ ],\ "linkType": "HARD"\ - }],\ - ["virtual:f22a73b9c1f4f0e2e1c95f149ccb41c96491085e4b2ecd3061e554432306c4df6c2976f3c6ce3a6d62abead3ccc6cf04e88b4aebf1de7356583819351e2346e2#npm:15.2.3", {\ - "packageLocation": "./.yarn/__virtual__/@rollup-plugin-node-resolve-virtual-efaa96ad1e/0/cache/@rollup-plugin-node-resolve-npm-15.2.3-f49fe9c656-d36a6792fb.zip/node_modules/@rollup/plugin-node-resolve/",\ + }]\ + ]],\ + ["@esbuild/darwin-arm64", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-darwin-arm64-npm-0.19.12-09699ac6cb/node_modules/@esbuild/darwin-arm64/",\ "packageDependencies": [\ - ["@rollup/plugin-node-resolve", "virtual:f22a73b9c1f4f0e2e1c95f149ccb41c96491085e4b2ecd3061e554432306c4df6c2976f3c6ce3a6d62abead3ccc6cf04e88b4aebf1de7356583819351e2346e2#npm:15.2.3"],\ - ["@rollup/pluginutils", "virtual:875f160d1c6875d32968e8fe60b6f39d7d72b7d73f8b8c5c79a2db297a8603117e88ef16dbab7112577ca61ef2ad0ecc8123bd1dcc91f821d929f3dabc17dd58#npm:5.1.0"],\ - ["@types/resolve", "npm:1.20.2"],\ - ["@types/rollup", null],\ - ["deepmerge", "npm:4.3.1"],\ - ["is-builtin-module", "npm:3.2.1"],\ - ["is-module", "npm:1.0.0"],\ - ["resolve", "patch:resolve@npm%3A1.22.8#optional!builtin::version=1.22.8&hash=c3c19d"],\ - ["rollup", "npm:4.17.1"]\ - ],\ - "packagePeers": [\ - "@types/rollup",\ - "rollup"\ + ["@esbuild/darwin-arm64", "npm:0.19.12"]\ ],\ "linkType": "HARD"\ }],\ - ["virtual:f37ad3099f3665d5bbc9ee71081416c8874087a5d9739472f56367e210ca9246356f462b31407a28e510bc022801edd4632f86364db715287d62bd50b42e2c00#npm:15.2.3", {\ - "packageLocation": "./.yarn/__virtual__/@rollup-plugin-node-resolve-virtual-42ea06a324/0/cache/@rollup-plugin-node-resolve-npm-15.2.3-f49fe9c656-d36a6792fb.zip/node_modules/@rollup/plugin-node-resolve/",\ + ["npm:0.21.4", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-darwin-arm64-npm-0.21.4-eb10760bec/node_modules/@esbuild/darwin-arm64/",\ "packageDependencies": [\ - ["@rollup/plugin-node-resolve", "virtual:f37ad3099f3665d5bbc9ee71081416c8874087a5d9739472f56367e210ca9246356f462b31407a28e510bc022801edd4632f86364db715287d62bd50b42e2c00#npm:15.2.3"],\ - ["@rollup/pluginutils", "virtual:a1d4129448185ff2c63aa612b108d0a6affb8e0adc6886c6da9df4ec5e9db50b8d48bff21ea2047b8724dd77880d2676c0a5ff64c60afc6e9af5a71b4dc74ac5#npm:5.1.0"],\ - ["@types/resolve", "npm:1.20.2"],\ - ["@types/rollup", null],\ - ["deepmerge", "npm:4.3.1"],\ - ["is-builtin-module", "npm:3.2.1"],\ - ["is-module", "npm:1.0.0"],\ - ["resolve", "patch:resolve@npm%3A1.22.8#optional!builtin::version=1.22.8&hash=c3c19d"],\ - ["rollup", "npm:4.17.2"]\ - ],\ - "packagePeers": [\ - "@types/rollup",\ - "rollup"\ + ["@esbuild/darwin-arm64", "npm:0.21.4"]\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@rollup/plugin-typescript", [\ - ["npm:11.1.6", {\ - "packageLocation": "./.yarn/cache/@rollup-plugin-typescript-npm-11.1.6-aeaa3525fc-4ae4d6cfc9.zip/node_modules/@rollup/plugin-typescript/",\ - "packageDependencies": [\ - ["@rollup/plugin-typescript", "npm:11.1.6"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:3b04c8c38dde7165df844f9cd74e94cc47d78164564600cf56ba5f8c6011d25ef0d3afc13d610f3da970f6807c830914053ff96a43c86ba17f3ec650dfd687d3#npm:11.1.6", {\ - "packageLocation": "./.yarn/__virtual__/@rollup-plugin-typescript-virtual-cb23a206c3/0/cache/@rollup-plugin-typescript-npm-11.1.6-aeaa3525fc-4ae4d6cfc9.zip/node_modules/@rollup/plugin-typescript/",\ + ["@esbuild/darwin-x64", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-darwin-x64-npm-0.19.12-b0a4fc6ed4/node_modules/@esbuild/darwin-x64/",\ "packageDependencies": [\ - ["@rollup/plugin-typescript", "virtual:3b04c8c38dde7165df844f9cd74e94cc47d78164564600cf56ba5f8c6011d25ef0d3afc13d610f3da970f6807c830914053ff96a43c86ba17f3ec650dfd687d3#npm:11.1.6"],\ - ["@rollup/pluginutils", "virtual:a2c4557db463139f551d486fec50de985ccd2a9ead54c237b144b207c1f8a68d0c69bd6db514bcfcd255cbd6313bfe84fc84449538194718f79b195d6cf59c6f#npm:5.1.0"],\ - ["@types/rollup", null],\ - ["@types/tslib", null],\ - ["@types/typescript", null],\ - ["resolve", "patch:resolve@npm%3A1.22.8#optional!builtin::version=1.22.8&hash=c3c19d"],\ - ["rollup", "npm:4.14.3"],\ - ["tslib", "npm:2.6.2"],\ - ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"]\ - ],\ - "packagePeers": [\ - "@types/rollup",\ - "@types/tslib",\ - "@types/typescript",\ - "rollup",\ - "tslib",\ - "typescript"\ + ["@esbuild/darwin-x64", "npm:0.19.12"]\ ],\ "linkType": "HARD"\ }],\ - ["virtual:4dfda025008308960858af02ce2de23e6fbf02744b9548c2fa0efde5067623eaf08fec37555d32d6a86a61adf128d2c2890eef9d442aef417f3e2d1f5492c52d#npm:11.1.6", {\ - "packageLocation": "./.yarn/__virtual__/@rollup-plugin-typescript-virtual-4ce624870c/0/cache/@rollup-plugin-typescript-npm-11.1.6-aeaa3525fc-4ae4d6cfc9.zip/node_modules/@rollup/plugin-typescript/",\ + ["npm:0.21.4", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-darwin-x64-npm-0.21.4-c85054066f/node_modules/@esbuild/darwin-x64/",\ "packageDependencies": [\ - ["@rollup/plugin-typescript", "virtual:4dfda025008308960858af02ce2de23e6fbf02744b9548c2fa0efde5067623eaf08fec37555d32d6a86a61adf128d2c2890eef9d442aef417f3e2d1f5492c52d#npm:11.1.6"],\ - ["@rollup/pluginutils", "virtual:5231c0c88deb9e1ffc789d0afa387fe8c64f8a465c7749a45a9444cbcd18eaef7e58cd50457cbcae660754f20261a18758425931d4a1e7b13722010d3290e35c#npm:5.1.0"],\ - ["@types/rollup", null],\ - ["@types/tslib", null],\ - ["@types/typescript", null],\ - ["resolve", "patch:resolve@npm%3A1.22.8#optional!builtin::version=1.22.8&hash=c3c19d"],\ - ["rollup", "npm:4.16.3"],\ - ["tslib", "npm:2.6.2"],\ - ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"]\ - ],\ - "packagePeers": [\ - "@types/rollup",\ - "@types/tslib",\ - "@types/typescript",\ - "rollup",\ - "tslib",\ - "typescript"\ + ["@esbuild/darwin-x64", "npm:0.21.4"]\ ],\ "linkType": "HARD"\ - }],\ - ["virtual:606d5fd11adc18cba076ddb26a9b3adaf466a45eef985b60ea990c3ead5fe6bcc20990b0ed8d0763c4a8c861cdc2277964415bf12191df7c6923d8e78816abf5#npm:11.1.6", {\ - "packageLocation": "./.yarn/__virtual__/@rollup-plugin-typescript-virtual-2489a20f4d/0/cache/@rollup-plugin-typescript-npm-11.1.6-aeaa3525fc-4ae4d6cfc9.zip/node_modules/@rollup/plugin-typescript/",\ + }]\ + ]],\ + ["@esbuild/freebsd-arm64", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-freebsd-arm64-npm-0.19.12-72d17754c1/node_modules/@esbuild/freebsd-arm64/",\ "packageDependencies": [\ - ["@rollup/plugin-typescript", "virtual:606d5fd11adc18cba076ddb26a9b3adaf466a45eef985b60ea990c3ead5fe6bcc20990b0ed8d0763c4a8c861cdc2277964415bf12191df7c6923d8e78816abf5#npm:11.1.6"],\ - ["@rollup/pluginutils", "virtual:f2dd29eb8ce754cc38119f3bef656790439ff81ce1567367a17a97e74a2571c67e043911d48f02b50140131649ff6cf6f7ed45ef64c42bf632451728c521764c#npm:5.1.0"],\ - ["@types/rollup", null],\ - ["@types/tslib", null],\ - ["@types/typescript", null],\ - ["resolve", "patch:resolve@npm%3A1.22.8#optional!builtin::version=1.22.8&hash=c3c19d"],\ - ["rollup", "npm:4.14.1"],\ - ["tslib", "npm:2.6.2"],\ - ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"]\ - ],\ - "packagePeers": [\ - "@types/rollup",\ - "@types/tslib",\ - "@types/typescript",\ - "rollup",\ - "tslib",\ - "typescript"\ + ["@esbuild/freebsd-arm64", "npm:0.19.12"]\ ],\ "linkType": "HARD"\ }],\ - ["virtual:98c60b7d3b6c5117c4513c6cb8006cab39e0411be8ffe9bb791d9b6d0a1566b28587d5455e7567553092cbdbab928cfaf2a758f8f25f0e31ddedfee569ca964b#npm:11.1.6", {\ - "packageLocation": "./.yarn/__virtual__/@rollup-plugin-typescript-virtual-a60c028f2b/0/cache/@rollup-plugin-typescript-npm-11.1.6-aeaa3525fc-4ae4d6cfc9.zip/node_modules/@rollup/plugin-typescript/",\ + ["npm:0.21.4", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-freebsd-arm64-npm-0.21.4-86ef568766/node_modules/@esbuild/freebsd-arm64/",\ "packageDependencies": [\ - ["@rollup/plugin-typescript", "virtual:98c60b7d3b6c5117c4513c6cb8006cab39e0411be8ffe9bb791d9b6d0a1566b28587d5455e7567553092cbdbab928cfaf2a758f8f25f0e31ddedfee569ca964b#npm:11.1.6"],\ - ["@rollup/pluginutils", "virtual:3e67de48faf9dd77804e49e4c530179bb52bbeb976fef3d3ef69b0dda8f67dd11e8c6535834337225432ad00e4f61dd45296e4b5eef5f3d4355de97ec20a359d#npm:5.1.0"],\ - ["@types/rollup", null],\ - ["@types/tslib", null],\ - ["@types/typescript", null],\ - ["resolve", "patch:resolve@npm%3A1.22.8#optional!builtin::version=1.22.8&hash=c3c19d"],\ - ["rollup", "npm:4.13.0"],\ - ["tslib", "npm:2.6.2"],\ - ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"]\ - ],\ - "packagePeers": [\ - "@types/rollup",\ - "@types/tslib",\ - "@types/typescript",\ - "rollup",\ - "tslib",\ - "typescript"\ + ["@esbuild/freebsd-arm64", "npm:0.21.4"]\ ],\ "linkType": "HARD"\ - }],\ - ["virtual:f22a73b9c1f4f0e2e1c95f149ccb41c96491085e4b2ecd3061e554432306c4df6c2976f3c6ce3a6d62abead3ccc6cf04e88b4aebf1de7356583819351e2346e2#npm:11.1.6", {\ - "packageLocation": "./.yarn/__virtual__/@rollup-plugin-typescript-virtual-62d2ccef88/0/cache/@rollup-plugin-typescript-npm-11.1.6-aeaa3525fc-4ae4d6cfc9.zip/node_modules/@rollup/plugin-typescript/",\ + }]\ + ]],\ + ["@esbuild/freebsd-x64", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-freebsd-x64-npm-0.19.12-205ae522fa/node_modules/@esbuild/freebsd-x64/",\ "packageDependencies": [\ - ["@rollup/plugin-typescript", "virtual:f22a73b9c1f4f0e2e1c95f149ccb41c96491085e4b2ecd3061e554432306c4df6c2976f3c6ce3a6d62abead3ccc6cf04e88b4aebf1de7356583819351e2346e2#npm:11.1.6"],\ - ["@rollup/pluginutils", "virtual:875f160d1c6875d32968e8fe60b6f39d7d72b7d73f8b8c5c79a2db297a8603117e88ef16dbab7112577ca61ef2ad0ecc8123bd1dcc91f821d929f3dabc17dd58#npm:5.1.0"],\ - ["@types/rollup", null],\ - ["@types/tslib", null],\ - ["@types/typescript", null],\ - ["resolve", "patch:resolve@npm%3A1.22.8#optional!builtin::version=1.22.8&hash=c3c19d"],\ - ["rollup", "npm:4.17.1"],\ - ["tslib", "npm:2.6.2"],\ - ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"]\ - ],\ - "packagePeers": [\ - "@types/rollup",\ - "@types/tslib",\ - "@types/typescript",\ - "rollup",\ - "tslib",\ - "typescript"\ + ["@esbuild/freebsd-x64", "npm:0.19.12"]\ ],\ "linkType": "HARD"\ }],\ - ["virtual:f37ad3099f3665d5bbc9ee71081416c8874087a5d9739472f56367e210ca9246356f462b31407a28e510bc022801edd4632f86364db715287d62bd50b42e2c00#npm:11.1.6", {\ - "packageLocation": "./.yarn/__virtual__/@rollup-plugin-typescript-virtual-03370a45f4/0/cache/@rollup-plugin-typescript-npm-11.1.6-aeaa3525fc-4ae4d6cfc9.zip/node_modules/@rollup/plugin-typescript/",\ + ["npm:0.21.4", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-freebsd-x64-npm-0.21.4-066e34649d/node_modules/@esbuild/freebsd-x64/",\ "packageDependencies": [\ - ["@rollup/plugin-typescript", "virtual:f37ad3099f3665d5bbc9ee71081416c8874087a5d9739472f56367e210ca9246356f462b31407a28e510bc022801edd4632f86364db715287d62bd50b42e2c00#npm:11.1.6"],\ - ["@rollup/pluginutils", "virtual:a1d4129448185ff2c63aa612b108d0a6affb8e0adc6886c6da9df4ec5e9db50b8d48bff21ea2047b8724dd77880d2676c0a5ff64c60afc6e9af5a71b4dc74ac5#npm:5.1.0"],\ - ["@types/rollup", null],\ - ["@types/tslib", null],\ - ["@types/typescript", null],\ - ["resolve", "patch:resolve@npm%3A1.22.8#optional!builtin::version=1.22.8&hash=c3c19d"],\ - ["rollup", "npm:4.17.2"],\ - ["tslib", "npm:2.6.2"],\ - ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"]\ - ],\ - "packagePeers": [\ - "@types/rollup",\ - "@types/tslib",\ - "@types/typescript",\ - "rollup",\ - "tslib",\ - "typescript"\ + ["@esbuild/freebsd-x64", "npm:0.21.4"]\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@rollup/pluginutils", [\ - ["npm:5.1.0", {\ - "packageLocation": "./.yarn/cache/@rollup-pluginutils-npm-5.1.0-6939820ef8-abb15eaec5.zip/node_modules/@rollup/pluginutils/",\ - "packageDependencies": [\ - ["@rollup/pluginutils", "npm:5.1.0"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:3e67de48faf9dd77804e49e4c530179bb52bbeb976fef3d3ef69b0dda8f67dd11e8c6535834337225432ad00e4f61dd45296e4b5eef5f3d4355de97ec20a359d#npm:5.1.0", {\ - "packageLocation": "./.yarn/__virtual__/@rollup-pluginutils-virtual-07e951d3c0/0/cache/@rollup-pluginutils-npm-5.1.0-6939820ef8-abb15eaec5.zip/node_modules/@rollup/pluginutils/",\ + ["@esbuild/linux-arm", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-linux-arm-npm-0.19.12-7ca68cf68c/node_modules/@esbuild/linux-arm/",\ "packageDependencies": [\ - ["@rollup/pluginutils", "virtual:3e67de48faf9dd77804e49e4c530179bb52bbeb976fef3d3ef69b0dda8f67dd11e8c6535834337225432ad00e4f61dd45296e4b5eef5f3d4355de97ec20a359d#npm:5.1.0"],\ - ["@types/estree", "npm:1.0.5"],\ - ["@types/rollup", null],\ - ["estree-walker", "npm:2.0.2"],\ - ["picomatch", "npm:2.3.1"],\ - ["rollup", "npm:4.13.0"]\ - ],\ - "packagePeers": [\ - "@types/rollup",\ - "rollup"\ + ["@esbuild/linux-arm", "npm:0.19.12"]\ ],\ "linkType": "HARD"\ }],\ - ["virtual:5231c0c88deb9e1ffc789d0afa387fe8c64f8a465c7749a45a9444cbcd18eaef7e58cd50457cbcae660754f20261a18758425931d4a1e7b13722010d3290e35c#npm:5.1.0", {\ - "packageLocation": "./.yarn/__virtual__/@rollup-pluginutils-virtual-0b040bec8d/0/cache/@rollup-pluginutils-npm-5.1.0-6939820ef8-abb15eaec5.zip/node_modules/@rollup/pluginutils/",\ + ["npm:0.21.4", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-linux-arm-npm-0.21.4-c596823b55/node_modules/@esbuild/linux-arm/",\ "packageDependencies": [\ - ["@rollup/pluginutils", "virtual:5231c0c88deb9e1ffc789d0afa387fe8c64f8a465c7749a45a9444cbcd18eaef7e58cd50457cbcae660754f20261a18758425931d4a1e7b13722010d3290e35c#npm:5.1.0"],\ - ["@types/estree", "npm:1.0.5"],\ - ["@types/rollup", null],\ - ["estree-walker", "npm:2.0.2"],\ - ["picomatch", "npm:2.3.1"],\ - ["rollup", "npm:4.16.3"]\ - ],\ - "packagePeers": [\ - "@types/rollup",\ - "rollup"\ + ["@esbuild/linux-arm", "npm:0.21.4"]\ ],\ "linkType": "HARD"\ - }],\ - ["virtual:875f160d1c6875d32968e8fe60b6f39d7d72b7d73f8b8c5c79a2db297a8603117e88ef16dbab7112577ca61ef2ad0ecc8123bd1dcc91f821d929f3dabc17dd58#npm:5.1.0", {\ - "packageLocation": "./.yarn/__virtual__/@rollup-pluginutils-virtual-9dc5b32c44/0/cache/@rollup-pluginutils-npm-5.1.0-6939820ef8-abb15eaec5.zip/node_modules/@rollup/pluginutils/",\ + }]\ + ]],\ + ["@esbuild/linux-arm64", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-linux-arm64-npm-0.19.12-8892c62251/node_modules/@esbuild/linux-arm64/",\ "packageDependencies": [\ - ["@rollup/pluginutils", "virtual:875f160d1c6875d32968e8fe60b6f39d7d72b7d73f8b8c5c79a2db297a8603117e88ef16dbab7112577ca61ef2ad0ecc8123bd1dcc91f821d929f3dabc17dd58#npm:5.1.0"],\ - ["@types/estree", "npm:1.0.5"],\ - ["@types/rollup", null],\ - ["estree-walker", "npm:2.0.2"],\ - ["picomatch", "npm:2.3.1"],\ - ["rollup", "npm:4.17.1"]\ - ],\ - "packagePeers": [\ - "@types/rollup",\ - "rollup"\ + ["@esbuild/linux-arm64", "npm:0.19.12"]\ ],\ "linkType": "HARD"\ }],\ - ["virtual:a1d4129448185ff2c63aa612b108d0a6affb8e0adc6886c6da9df4ec5e9db50b8d48bff21ea2047b8724dd77880d2676c0a5ff64c60afc6e9af5a71b4dc74ac5#npm:5.1.0", {\ - "packageLocation": "./.yarn/__virtual__/@rollup-pluginutils-virtual-11cbd147f5/0/cache/@rollup-pluginutils-npm-5.1.0-6939820ef8-abb15eaec5.zip/node_modules/@rollup/pluginutils/",\ + ["npm:0.21.4", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-linux-arm64-npm-0.21.4-005b269e0f/node_modules/@esbuild/linux-arm64/",\ "packageDependencies": [\ - ["@rollup/pluginutils", "virtual:a1d4129448185ff2c63aa612b108d0a6affb8e0adc6886c6da9df4ec5e9db50b8d48bff21ea2047b8724dd77880d2676c0a5ff64c60afc6e9af5a71b4dc74ac5#npm:5.1.0"],\ - ["@types/estree", "npm:1.0.5"],\ - ["@types/rollup", null],\ - ["estree-walker", "npm:2.0.2"],\ - ["picomatch", "npm:2.3.1"],\ - ["rollup", "npm:4.17.2"]\ - ],\ - "packagePeers": [\ - "@types/rollup",\ - "rollup"\ + ["@esbuild/linux-arm64", "npm:0.21.4"]\ ],\ "linkType": "HARD"\ - }],\ - ["virtual:a2c4557db463139f551d486fec50de985ccd2a9ead54c237b144b207c1f8a68d0c69bd6db514bcfcd255cbd6313bfe84fc84449538194718f79b195d6cf59c6f#npm:5.1.0", {\ - "packageLocation": "./.yarn/__virtual__/@rollup-pluginutils-virtual-4b95158695/0/cache/@rollup-pluginutils-npm-5.1.0-6939820ef8-abb15eaec5.zip/node_modules/@rollup/pluginutils/",\ + }]\ + ]],\ + ["@esbuild/linux-ia32", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-linux-ia32-npm-0.19.12-268f0311c2/node_modules/@esbuild/linux-ia32/",\ "packageDependencies": [\ - ["@rollup/pluginutils", "virtual:a2c4557db463139f551d486fec50de985ccd2a9ead54c237b144b207c1f8a68d0c69bd6db514bcfcd255cbd6313bfe84fc84449538194718f79b195d6cf59c6f#npm:5.1.0"],\ - ["@types/estree", "npm:1.0.5"],\ - ["@types/rollup", null],\ - ["estree-walker", "npm:2.0.2"],\ - ["picomatch", "npm:2.3.1"],\ - ["rollup", "npm:4.14.3"]\ - ],\ - "packagePeers": [\ - "@types/rollup",\ - "rollup"\ + ["@esbuild/linux-ia32", "npm:0.19.12"]\ ],\ "linkType": "HARD"\ }],\ - ["virtual:f2dd29eb8ce754cc38119f3bef656790439ff81ce1567367a17a97e74a2571c67e043911d48f02b50140131649ff6cf6f7ed45ef64c42bf632451728c521764c#npm:5.1.0", {\ - "packageLocation": "./.yarn/__virtual__/@rollup-pluginutils-virtual-10bc665149/0/cache/@rollup-pluginutils-npm-5.1.0-6939820ef8-abb15eaec5.zip/node_modules/@rollup/pluginutils/",\ + ["npm:0.21.4", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-linux-ia32-npm-0.21.4-2d90381a42/node_modules/@esbuild/linux-ia32/",\ "packageDependencies": [\ - ["@rollup/pluginutils", "virtual:f2dd29eb8ce754cc38119f3bef656790439ff81ce1567367a17a97e74a2571c67e043911d48f02b50140131649ff6cf6f7ed45ef64c42bf632451728c521764c#npm:5.1.0"],\ - ["@types/estree", "npm:1.0.5"],\ - ["@types/rollup", null],\ - ["estree-walker", "npm:2.0.2"],\ - ["picomatch", "npm:2.3.1"],\ - ["rollup", "npm:4.14.1"]\ - ],\ - "packagePeers": [\ - "@types/rollup",\ - "rollup"\ + ["@esbuild/linux-ia32", "npm:0.21.4"]\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@rollup/rollup-android-arm-eabi", [\ - ["npm:4.12.0", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-android-arm-eabi-npm-4.12.0-e216111d4f/node_modules/@rollup/rollup-android-arm-eabi/",\ - "packageDependencies": [\ - ["@rollup/rollup-android-arm-eabi", "npm:4.12.0"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:4.13.0", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-android-arm-eabi-npm-4.13.0-defc2ed224/node_modules/@rollup/rollup-android-arm-eabi/",\ + ["@esbuild/linux-loong64", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-linux-loong64-npm-0.19.12-45095084a9/node_modules/@esbuild/linux-loong64/",\ "packageDependencies": [\ - ["@rollup/rollup-android-arm-eabi", "npm:4.13.0"]\ + ["@esbuild/linux-loong64", "npm:0.19.12"]\ ],\ "linkType": "HARD"\ }],\ - ["npm:4.14.1", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-android-arm-eabi-npm-4.14.1-a363de085d/node_modules/@rollup/rollup-android-arm-eabi/",\ + ["npm:0.21.4", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-linux-loong64-npm-0.21.4-a73f91b9e2/node_modules/@esbuild/linux-loong64/",\ "packageDependencies": [\ - ["@rollup/rollup-android-arm-eabi", "npm:4.14.1"]\ + ["@esbuild/linux-loong64", "npm:0.21.4"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:4.14.3", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-android-arm-eabi-npm-4.14.3-1f211f7cee/node_modules/@rollup/rollup-android-arm-eabi/",\ + }]\ + ]],\ + ["@esbuild/linux-mips64el", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-linux-mips64el-npm-0.19.12-c44a0dd39c/node_modules/@esbuild/linux-mips64el/",\ "packageDependencies": [\ - ["@rollup/rollup-android-arm-eabi", "npm:4.14.3"]\ + ["@esbuild/linux-mips64el", "npm:0.19.12"]\ ],\ "linkType": "HARD"\ }],\ - ["npm:4.16.3", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-android-arm-eabi-npm-4.16.3-68974eb271/node_modules/@rollup/rollup-android-arm-eabi/",\ + ["npm:0.21.4", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-linux-mips64el-npm-0.21.4-3e814c0525/node_modules/@esbuild/linux-mips64el/",\ "packageDependencies": [\ - ["@rollup/rollup-android-arm-eabi", "npm:4.16.3"]\ + ["@esbuild/linux-mips64el", "npm:0.21.4"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:4.17.1", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-android-arm-eabi-npm-4.17.1-258a2bb5a7/node_modules/@rollup/rollup-android-arm-eabi/",\ + }]\ + ]],\ + ["@esbuild/linux-ppc64", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-linux-ppc64-npm-0.19.12-cd007087a2/node_modules/@esbuild/linux-ppc64/",\ "packageDependencies": [\ - ["@rollup/rollup-android-arm-eabi", "npm:4.17.1"]\ + ["@esbuild/linux-ppc64", "npm:0.19.12"]\ ],\ "linkType": "HARD"\ }],\ - ["npm:4.17.2", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-android-arm-eabi-npm-4.17.2-51b4f959da/node_modules/@rollup/rollup-android-arm-eabi/",\ + ["npm:0.21.4", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-linux-ppc64-npm-0.21.4-52fd4e5b42/node_modules/@esbuild/linux-ppc64/",\ "packageDependencies": [\ - ["@rollup/rollup-android-arm-eabi", "npm:4.17.2"]\ + ["@esbuild/linux-ppc64", "npm:0.21.4"]\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@rollup/rollup-android-arm64", [\ - ["npm:4.12.0", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-android-arm64-npm-4.12.0-979ed3e718/node_modules/@rollup/rollup-android-arm64/",\ - "packageDependencies": [\ - ["@rollup/rollup-android-arm64", "npm:4.12.0"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:4.13.0", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-android-arm64-npm-4.13.0-d861c3dd57/node_modules/@rollup/rollup-android-arm64/",\ + ["@esbuild/linux-riscv64", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-linux-riscv64-npm-0.19.12-0f130d0d2f/node_modules/@esbuild/linux-riscv64/",\ "packageDependencies": [\ - ["@rollup/rollup-android-arm64", "npm:4.13.0"]\ + ["@esbuild/linux-riscv64", "npm:0.19.12"]\ ],\ "linkType": "HARD"\ }],\ - ["npm:4.14.1", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-android-arm64-npm-4.14.1-9ab5b9f2e6/node_modules/@rollup/rollup-android-arm64/",\ + ["npm:0.21.4", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-linux-riscv64-npm-0.21.4-e0c47c3e6b/node_modules/@esbuild/linux-riscv64/",\ "packageDependencies": [\ - ["@rollup/rollup-android-arm64", "npm:4.14.1"]\ + ["@esbuild/linux-riscv64", "npm:0.21.4"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:4.14.3", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-android-arm64-npm-4.14.3-1cd297407a/node_modules/@rollup/rollup-android-arm64/",\ + }]\ + ]],\ + ["@esbuild/linux-s390x", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-linux-s390x-npm-0.19.12-037101307a/node_modules/@esbuild/linux-s390x/",\ "packageDependencies": [\ - ["@rollup/rollup-android-arm64", "npm:4.14.3"]\ + ["@esbuild/linux-s390x", "npm:0.19.12"]\ ],\ "linkType": "HARD"\ }],\ - ["npm:4.16.3", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-android-arm64-npm-4.16.3-986f97053d/node_modules/@rollup/rollup-android-arm64/",\ + ["npm:0.21.4", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-linux-s390x-npm-0.21.4-a26292557b/node_modules/@esbuild/linux-s390x/",\ "packageDependencies": [\ - ["@rollup/rollup-android-arm64", "npm:4.16.3"]\ + ["@esbuild/linux-s390x", "npm:0.21.4"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:4.17.1", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-android-arm64-npm-4.17.1-6587cfa4e8/node_modules/@rollup/rollup-android-arm64/",\ + }]\ + ]],\ + ["@esbuild/linux-x64", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-linux-x64-npm-0.19.12-59062fdb38/node_modules/@esbuild/linux-x64/",\ "packageDependencies": [\ - ["@rollup/rollup-android-arm64", "npm:4.17.1"]\ + ["@esbuild/linux-x64", "npm:0.19.12"]\ ],\ "linkType": "HARD"\ }],\ - ["npm:4.17.2", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-android-arm64-npm-4.17.2-e8f9ad0010/node_modules/@rollup/rollup-android-arm64/",\ + ["npm:0.21.4", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-linux-x64-npm-0.21.4-80de919e54/node_modules/@esbuild/linux-x64/",\ "packageDependencies": [\ - ["@rollup/rollup-android-arm64", "npm:4.17.2"]\ + ["@esbuild/linux-x64", "npm:0.21.4"]\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@rollup/rollup-darwin-arm64", [\ - ["npm:4.12.0", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-darwin-arm64-npm-4.12.0-d438d60a52/node_modules/@rollup/rollup-darwin-arm64/",\ + ["@esbuild/netbsd-x64", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-netbsd-x64-npm-0.19.12-1fdaf59d1d/node_modules/@esbuild/netbsd-x64/",\ "packageDependencies": [\ - ["@rollup/rollup-darwin-arm64", "npm:4.12.0"]\ + ["@esbuild/netbsd-x64", "npm:0.19.12"]\ ],\ "linkType": "HARD"\ }],\ - ["npm:4.13.0", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-darwin-arm64-npm-4.13.0-31260831e3/node_modules/@rollup/rollup-darwin-arm64/",\ + ["npm:0.21.4", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-netbsd-x64-npm-0.21.4-6f6a50d758/node_modules/@esbuild/netbsd-x64/",\ "packageDependencies": [\ - ["@rollup/rollup-darwin-arm64", "npm:4.13.0"]\ + ["@esbuild/netbsd-x64", "npm:0.21.4"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:4.14.1", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-darwin-arm64-npm-4.14.1-add15ea204/node_modules/@rollup/rollup-darwin-arm64/",\ + }]\ + ]],\ + ["@esbuild/openbsd-x64", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-openbsd-x64-npm-0.19.12-4624aab034/node_modules/@esbuild/openbsd-x64/",\ "packageDependencies": [\ - ["@rollup/rollup-darwin-arm64", "npm:4.14.1"]\ + ["@esbuild/openbsd-x64", "npm:0.19.12"]\ ],\ "linkType": "HARD"\ }],\ - ["npm:4.14.3", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-darwin-arm64-npm-4.14.3-eca59280e9/node_modules/@rollup/rollup-darwin-arm64/",\ + ["npm:0.21.4", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-openbsd-x64-npm-0.21.4-2e2b22bb10/node_modules/@esbuild/openbsd-x64/",\ "packageDependencies": [\ - ["@rollup/rollup-darwin-arm64", "npm:4.14.3"]\ + ["@esbuild/openbsd-x64", "npm:0.21.4"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:4.16.3", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-darwin-arm64-npm-4.16.3-e059aade27/node_modules/@rollup/rollup-darwin-arm64/",\ + }]\ + ]],\ + ["@esbuild/sunos-x64", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-sunos-x64-npm-0.19.12-66171c0024/node_modules/@esbuild/sunos-x64/",\ "packageDependencies": [\ - ["@rollup/rollup-darwin-arm64", "npm:4.16.3"]\ + ["@esbuild/sunos-x64", "npm:0.19.12"]\ ],\ "linkType": "HARD"\ }],\ - ["npm:4.17.1", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-darwin-arm64-npm-4.17.1-add109e212/node_modules/@rollup/rollup-darwin-arm64/",\ + ["npm:0.21.4", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-sunos-x64-npm-0.21.4-b835263ded/node_modules/@esbuild/sunos-x64/",\ + "packageDependencies": [\ + ["@esbuild/sunos-x64", "npm:0.21.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/win32-arm64", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-win32-arm64-npm-0.19.12-aecceea4ec/node_modules/@esbuild/win32-arm64/",\ "packageDependencies": [\ - ["@rollup/rollup-darwin-arm64", "npm:4.17.1"]\ + ["@esbuild/win32-arm64", "npm:0.19.12"]\ ],\ "linkType": "HARD"\ }],\ - ["npm:4.17.2", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-darwin-arm64-npm-4.17.2-aab5f1f21d/node_modules/@rollup/rollup-darwin-arm64/",\ + ["npm:0.21.4", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-win32-arm64-npm-0.21.4-0497ddf1bf/node_modules/@esbuild/win32-arm64/",\ "packageDependencies": [\ - ["@rollup/rollup-darwin-arm64", "npm:4.17.2"]\ + ["@esbuild/win32-arm64", "npm:0.21.4"]\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@rollup/rollup-darwin-x64", [\ - ["npm:4.12.0", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-darwin-x64-npm-4.12.0-ce57e8207c/node_modules/@rollup/rollup-darwin-x64/",\ + ["@esbuild/win32-ia32", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-win32-ia32-npm-0.19.12-0d6b37e2da/node_modules/@esbuild/win32-ia32/",\ "packageDependencies": [\ - ["@rollup/rollup-darwin-x64", "npm:4.12.0"]\ + ["@esbuild/win32-ia32", "npm:0.19.12"]\ ],\ "linkType": "HARD"\ }],\ - ["npm:4.13.0", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-darwin-x64-npm-4.13.0-5d3d8d0a6f/node_modules/@rollup/rollup-darwin-x64/",\ + ["npm:0.21.4", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-win32-ia32-npm-0.21.4-921442957a/node_modules/@esbuild/win32-ia32/",\ "packageDependencies": [\ - ["@rollup/rollup-darwin-x64", "npm:4.13.0"]\ + ["@esbuild/win32-ia32", "npm:0.21.4"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:4.14.1", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-darwin-x64-npm-4.14.1-0b9f69b85c/node_modules/@rollup/rollup-darwin-x64/",\ + }]\ + ]],\ + ["@esbuild/win32-x64", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-win32-x64-npm-0.19.12-1bf4cb5f20/node_modules/@esbuild/win32-x64/",\ "packageDependencies": [\ - ["@rollup/rollup-darwin-x64", "npm:4.14.1"]\ + ["@esbuild/win32-x64", "npm:0.19.12"]\ ],\ "linkType": "HARD"\ }],\ - ["npm:4.14.3", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-darwin-x64-npm-4.14.3-cf427ed30d/node_modules/@rollup/rollup-darwin-x64/",\ + ["npm:0.21.4", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-win32-x64-npm-0.21.4-74f82cd172/node_modules/@esbuild/win32-x64/",\ "packageDependencies": [\ - ["@rollup/rollup-darwin-x64", "npm:4.14.3"]\ + ["@esbuild/win32-x64", "npm:0.21.4"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:4.16.3", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-darwin-x64-npm-4.16.3-ab5bbfc7f2/node_modules/@rollup/rollup-darwin-x64/",\ + }]\ + ]],\ + ["@eslint-community/eslint-utils", [\ + ["npm:4.4.0", {\ + "packageLocation": "./.yarn/cache/@eslint-community-eslint-utils-npm-4.4.0-d1791bd5a3-8d70bcdcd8.zip/node_modules/@eslint-community/eslint-utils/",\ "packageDependencies": [\ - ["@rollup/rollup-darwin-x64", "npm:4.16.3"]\ + ["@eslint-community/eslint-utils", "npm:4.4.0"]\ ],\ - "linkType": "HARD"\ + "linkType": "SOFT"\ }],\ - ["npm:4.17.1", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-darwin-x64-npm-4.17.1-330855746a/node_modules/@rollup/rollup-darwin-x64/",\ + ["virtual:4286e12a3a0f74af013bc8f16c6d8fdde823cfbf6389660266b171e551f576c805b0a7a8eb2a7087a5cee7dfe6ebb6e1ea3808d93daf915edc95656907a381bb#npm:4.4.0", {\ + "packageLocation": "./.yarn/__virtual__/@eslint-community-eslint-utils-virtual-1c7da85a1a/0/cache/@eslint-community-eslint-utils-npm-4.4.0-d1791bd5a3-8d70bcdcd8.zip/node_modules/@eslint-community/eslint-utils/",\ "packageDependencies": [\ - ["@rollup/rollup-darwin-x64", "npm:4.17.1"]\ + ["@eslint-community/eslint-utils", "virtual:4286e12a3a0f74af013bc8f16c6d8fdde823cfbf6389660266b171e551f576c805b0a7a8eb2a7087a5cee7dfe6ebb6e1ea3808d93daf915edc95656907a381bb#npm:4.4.0"],\ + ["@types/eslint", null],\ + ["eslint", "npm:8.57.0"],\ + ["eslint-visitor-keys", "npm:3.4.3"]\ + ],\ + "packagePeers": [\ + "@types/eslint",\ + "eslint"\ ],\ "linkType": "HARD"\ }],\ - ["npm:4.17.2", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-darwin-x64-npm-4.17.2-0e65b7698a/node_modules/@rollup/rollup-darwin-x64/",\ + ["virtual:e21f34241652994887495ef7e8ddb5ecf3d3261197681d1595cd59e282be0e9000c0c0792a5018872694ddfd93cca5b615a9d8045ac0d37e0aea8cd03b2383e6#npm:4.4.0", {\ + "packageLocation": "./.yarn/__virtual__/@eslint-community-eslint-utils-virtual-744b02fb79/0/cache/@eslint-community-eslint-utils-npm-4.4.0-d1791bd5a3-8d70bcdcd8.zip/node_modules/@eslint-community/eslint-utils/",\ "packageDependencies": [\ - ["@rollup/rollup-darwin-x64", "npm:4.17.2"]\ + ["@eslint-community/eslint-utils", "virtual:e21f34241652994887495ef7e8ddb5ecf3d3261197681d1595cd59e282be0e9000c0c0792a5018872694ddfd93cca5b615a9d8045ac0d37e0aea8cd03b2383e6#npm:4.4.0"],\ + ["@types/eslint", "npm:8.56.3"],\ + ["eslint", "npm:8.57.0"],\ + ["eslint-visitor-keys", "npm:3.4.3"]\ + ],\ + "packagePeers": [\ + "@types/eslint",\ + "eslint"\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@rollup/rollup-linux-arm-gnueabihf", [\ - ["npm:4.12.0", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-arm-gnueabihf-npm-4.12.0-d548765171/node_modules/@rollup/rollup-linux-arm-gnueabihf/",\ + ["@eslint-community/regexpp", [\ + ["npm:4.10.0", {\ + "packageLocation": "./.yarn/cache/@eslint-community-regexpp-npm-4.10.0-6bfb984c81-8c36169c81.zip/node_modules/@eslint-community/regexpp/",\ "packageDependencies": [\ - ["@rollup/rollup-linux-arm-gnueabihf", "npm:4.12.0"]\ + ["@eslint-community/regexpp", "npm:4.10.0"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:4.13.0", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-arm-gnueabihf-npm-4.13.0-50fa293dbc/node_modules/@rollup/rollup-linux-arm-gnueabihf/",\ + }]\ + ]],\ + ["@eslint/eslintrc", [\ + ["npm:2.1.4", {\ + "packageLocation": "./.yarn/cache/@eslint-eslintrc-npm-2.1.4-1ff4b5f908-7a3b14f4b4.zip/node_modules/@eslint/eslintrc/",\ "packageDependencies": [\ - ["@rollup/rollup-linux-arm-gnueabihf", "npm:4.13.0"]\ + ["@eslint/eslintrc", "npm:2.1.4"],\ + ["ajv", "npm:6.12.6"],\ + ["debug", "virtual:1ff4b5f90832ba0a9c93ba1223af226e44ba70c1126a3740d93562b97bc36544e896a5e95908196f7458713e6a6089a34bfc67362fc6df7fa093bd06c878be47#npm:4.3.4"],\ + ["espree", "npm:9.6.1"],\ + ["globals", "npm:13.24.0"],\ + ["ignore", "npm:5.3.1"],\ + ["import-fresh", "npm:3.3.0"],\ + ["js-yaml", "npm:4.1.0"],\ + ["minimatch", "npm:3.1.2"],\ + ["strip-json-comments", "npm:3.1.1"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:4.14.1", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-arm-gnueabihf-npm-4.14.1-c8d2635604/node_modules/@rollup/rollup-linux-arm-gnueabihf/",\ + }]\ + ]],\ + ["@eslint/js", [\ + ["npm:8.57.0", {\ + "packageLocation": "./.yarn/cache/@eslint-js-npm-8.57.0-00ead3710a-3c501ce8a9.zip/node_modules/@eslint/js/",\ "packageDependencies": [\ - ["@rollup/rollup-linux-arm-gnueabihf", "npm:4.14.1"]\ + ["@eslint/js", "npm:8.57.0"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:4.14.3", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-arm-gnueabihf-npm-4.14.3-e480df2430/node_modules/@rollup/rollup-linux-arm-gnueabihf/",\ + }]\ + ]],\ + ["@exodus/schemasafe", [\ + ["npm:1.3.0", {\ + "packageLocation": "./.yarn/cache/@exodus-schemasafe-npm-1.3.0-ee317302ab-791d9e4b43.zip/node_modules/@exodus/schemasafe/",\ "packageDependencies": [\ - ["@rollup/rollup-linux-arm-gnueabihf", "npm:4.14.3"]\ + ["@exodus/schemasafe", "npm:1.3.0"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:4.16.3", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-arm-gnueabihf-npm-4.16.3-fe2e37864d/node_modules/@rollup/rollup-linux-arm-gnueabihf/",\ + }]\ + ]],\ + ["@faker-js/faker", [\ + ["npm:5.5.3", {\ + "packageLocation": "./.yarn/cache/@faker-js-faker-npm-5.5.3-d1b4d39808-1a4fd61d1a.zip/node_modules/@faker-js/faker/",\ "packageDependencies": [\ - ["@rollup/rollup-linux-arm-gnueabihf", "npm:4.16.3"]\ + ["@faker-js/faker", "npm:5.5.3"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:4.17.1", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-arm-gnueabihf-npm-4.17.1-6a4aebac41/node_modules/@rollup/rollup-linux-arm-gnueabihf/",\ + }]\ + ]],\ + ["@hapi/hoek", [\ + ["npm:9.3.0", {\ + "packageLocation": "./.yarn/cache/@hapi-hoek-npm-9.3.0-447eb8d274-ad83a22378.zip/node_modules/@hapi/hoek/",\ "packageDependencies": [\ - ["@rollup/rollup-linux-arm-gnueabihf", "npm:4.17.1"]\ + ["@hapi/hoek", "npm:9.3.0"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:4.17.2", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-arm-gnueabihf-npm-4.17.2-dbeaa4b8ad/node_modules/@rollup/rollup-linux-arm-gnueabihf/",\ + }]\ + ]],\ + ["@hapi/topo", [\ + ["npm:5.1.0", {\ + "packageLocation": "./.yarn/cache/@hapi-topo-npm-5.1.0-5e0b776809-084bfa6470.zip/node_modules/@hapi/topo/",\ "packageDependencies": [\ - ["@rollup/rollup-linux-arm-gnueabihf", "npm:4.17.2"]\ + ["@hapi/topo", "npm:5.1.0"],\ + ["@hapi/hoek", "npm:9.3.0"]\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@rollup/rollup-linux-arm-musleabihf", [\ - ["npm:4.14.3", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-arm-musleabihf-npm-4.14.3-ecd34042a1/node_modules/@rollup/rollup-linux-arm-musleabihf/",\ + ["@humanwhocodes/config-array", [\ + ["npm:0.11.14", {\ + "packageLocation": "./.yarn/cache/@humanwhocodes-config-array-npm-0.11.14-94a02fcc87-3ffb24ecdf.zip/node_modules/@humanwhocodes/config-array/",\ "packageDependencies": [\ - ["@rollup/rollup-linux-arm-musleabihf", "npm:4.14.3"]\ + ["@humanwhocodes/config-array", "npm:0.11.14"],\ + ["@humanwhocodes/object-schema", "npm:2.0.2"],\ + ["debug", "virtual:1ff4b5f90832ba0a9c93ba1223af226e44ba70c1126a3740d93562b97bc36544e896a5e95908196f7458713e6a6089a34bfc67362fc6df7fa093bd06c878be47#npm:4.3.4"],\ + ["minimatch", "npm:3.1.2"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:4.16.3", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-arm-musleabihf-npm-4.16.3-af23589ce2/node_modules/@rollup/rollup-linux-arm-musleabihf/",\ + }]\ + ]],\ + ["@humanwhocodes/module-importer", [\ + ["npm:1.0.1", {\ + "packageLocation": "./.yarn/cache/@humanwhocodes-module-importer-npm-1.0.1-9d07ed2e4a-e993950e34.zip/node_modules/@humanwhocodes/module-importer/",\ "packageDependencies": [\ - ["@rollup/rollup-linux-arm-musleabihf", "npm:4.16.3"]\ + ["@humanwhocodes/module-importer", "npm:1.0.1"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:4.17.1", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-arm-musleabihf-npm-4.17.1-1d13f50a22/node_modules/@rollup/rollup-linux-arm-musleabihf/",\ + }]\ + ]],\ + ["@humanwhocodes/object-schema", [\ + ["npm:2.0.2", {\ + "packageLocation": "./.yarn/cache/@humanwhocodes-object-schema-npm-2.0.2-77b42018f9-ef915e3e2f.zip/node_modules/@humanwhocodes/object-schema/",\ "packageDependencies": [\ - ["@rollup/rollup-linux-arm-musleabihf", "npm:4.17.1"]\ + ["@humanwhocodes/object-schema", "npm:2.0.2"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:4.17.2", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-arm-musleabihf-npm-4.17.2-42613b3e5d/node_modules/@rollup/rollup-linux-arm-musleabihf/",\ + }]\ + ]],\ + ["@isaacs/cliui", [\ + ["npm:8.0.2", {\ + "packageLocation": "./.yarn/cache/@isaacs-cliui-npm-8.0.2-f4364666d5-e9ed5fd27c.zip/node_modules/@isaacs/cliui/",\ "packageDependencies": [\ - ["@rollup/rollup-linux-arm-musleabihf", "npm:4.17.2"]\ + ["@isaacs/cliui", "npm:8.0.2"],\ + ["string-width", "npm:5.1.2"],\ + ["string-width-cjs", [\ + "string-width",\ + "npm:4.2.3"\ + ]],\ + ["strip-ansi", "npm:7.1.0"],\ + ["strip-ansi-cjs", [\ + "strip-ansi",\ + "npm:6.0.1"\ + ]],\ + ["wrap-ansi", "npm:8.1.0"],\ + ["wrap-ansi-cjs", [\ + "wrap-ansi",\ + "npm:7.0.0"\ + ]]\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@rollup/rollup-linux-arm64-gnu", [\ - ["npm:4.12.0", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-arm64-gnu-npm-4.12.0-e6336e4cdb/node_modules/@rollup/rollup-linux-arm64-gnu/",\ + ["@istanbuljs/load-nyc-config", [\ + ["npm:1.1.0", {\ + "packageLocation": "./.yarn/cache/@istanbuljs-load-nyc-config-npm-1.1.0-42d17c9cb1-b000a5acd8.zip/node_modules/@istanbuljs/load-nyc-config/",\ "packageDependencies": [\ - ["@rollup/rollup-linux-arm64-gnu", "npm:4.12.0"]\ + ["@istanbuljs/load-nyc-config", "npm:1.1.0"],\ + ["camelcase", "npm:5.3.1"],\ + ["find-up", "npm:4.1.0"],\ + ["get-package-type", "npm:0.1.0"],\ + ["js-yaml", "npm:3.14.1"],\ + ["resolve-from", "npm:5.0.0"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:4.13.0", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-arm64-gnu-npm-4.13.0-3f49f23698/node_modules/@rollup/rollup-linux-arm64-gnu/",\ + }]\ + ]],\ + ["@istanbuljs/schema", [\ + ["npm:0.1.3", {\ + "packageLocation": "./.yarn/cache/@istanbuljs-schema-npm-0.1.3-466bd3eaaa-a9b1e49acd.zip/node_modules/@istanbuljs/schema/",\ "packageDependencies": [\ - ["@rollup/rollup-linux-arm64-gnu", "npm:4.13.0"]\ + ["@istanbuljs/schema", "npm:0.1.3"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:4.14.1", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-arm64-gnu-npm-4.14.1-e385ba3464/node_modules/@rollup/rollup-linux-arm64-gnu/",\ + }]\ + ]],\ + ["@jest/console", [\ + ["npm:29.7.0", {\ + "packageLocation": "./.yarn/cache/@jest-console-npm-29.7.0-77689f186f-4a80c750e8.zip/node_modules/@jest/console/",\ "packageDependencies": [\ - ["@rollup/rollup-linux-arm64-gnu", "npm:4.14.1"]\ + ["@jest/console", "npm:29.7.0"],\ + ["@jest/types", "npm:29.6.3"],\ + ["@types/node", "npm:20.11.20"],\ + ["chalk", "npm:4.1.2"],\ + ["jest-message-util", "npm:29.7.0"],\ + ["jest-util", "npm:29.7.0"],\ + ["slash", "npm:3.0.0"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:4.14.3", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-arm64-gnu-npm-4.14.3-d988b6f1f7/node_modules/@rollup/rollup-linux-arm64-gnu/",\ + }]\ + ]],\ + ["@jest/core", [\ + ["npm:29.7.0", {\ + "packageLocation": "./.yarn/cache/@jest-core-npm-29.7.0-cef60d74c4-ab6ac2e562.zip/node_modules/@jest/core/",\ "packageDependencies": [\ - ["@rollup/rollup-linux-arm64-gnu", "npm:4.14.3"]\ + ["@jest/core", "npm:29.7.0"]\ ],\ - "linkType": "HARD"\ + "linkType": "SOFT"\ }],\ - ["npm:4.16.3", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-arm64-gnu-npm-4.16.3-f2c8585521/node_modules/@rollup/rollup-linux-arm64-gnu/",\ + ["virtual:f22a73b9c1f4f0e2e1c95f149ccb41c96491085e4b2ecd3061e554432306c4df6c2976f3c6ce3a6d62abead3ccc6cf04e88b4aebf1de7356583819351e2346e2#npm:29.7.0", {\ + "packageLocation": "./.yarn/__virtual__/@jest-core-virtual-8388e1a620/0/cache/@jest-core-npm-29.7.0-cef60d74c4-ab6ac2e562.zip/node_modules/@jest/core/",\ "packageDependencies": [\ - ["@rollup/rollup-linux-arm64-gnu", "npm:4.16.3"]\ + ["@jest/core", "virtual:f22a73b9c1f4f0e2e1c95f149ccb41c96491085e4b2ecd3061e554432306c4df6c2976f3c6ce3a6d62abead3ccc6cf04e88b4aebf1de7356583819351e2346e2#npm:29.7.0"],\ + ["@jest/console", "npm:29.7.0"],\ + ["@jest/reporters", "virtual:8388e1a620616fcf7175e48057ece72f5fe71b0378fb1e863b3926a225ca85687e9b6a2f4b74a2d6a66a879bb715e9be32861bfa0165da041968dcb30a6278cc#npm:29.7.0"],\ + ["@jest/test-result", "npm:29.7.0"],\ + ["@jest/transform", "npm:29.7.0"],\ + ["@jest/types", "npm:29.6.3"],\ + ["@types/node", "npm:20.11.20"],\ + ["@types/node-notifier", null],\ + ["ansi-escapes", "npm:4.3.2"],\ + ["chalk", "npm:4.1.2"],\ + ["ci-info", "npm:3.9.0"],\ + ["exit", "npm:0.1.2"],\ + ["graceful-fs", "npm:4.2.11"],\ + ["jest-changed-files", "npm:29.7.0"],\ + ["jest-config", "virtual:8388e1a620616fcf7175e48057ece72f5fe71b0378fb1e863b3926a225ca85687e9b6a2f4b74a2d6a66a879bb715e9be32861bfa0165da041968dcb30a6278cc#npm:29.7.0"],\ + ["jest-haste-map", "npm:29.7.0"],\ + ["jest-message-util", "npm:29.7.0"],\ + ["jest-regex-util", "npm:29.6.3"],\ + ["jest-resolve", "npm:29.7.0"],\ + ["jest-resolve-dependencies", "npm:29.7.0"],\ + ["jest-runner", "npm:29.7.0"],\ + ["jest-runtime", "npm:29.7.0"],\ + ["jest-snapshot", "npm:29.7.0"],\ + ["jest-util", "npm:29.7.0"],\ + ["jest-validate", "npm:29.7.0"],\ + ["jest-watcher", "npm:29.7.0"],\ + ["micromatch", "npm:4.0.5"],\ + ["node-notifier", null],\ + ["pretty-format", "npm:29.7.0"],\ + ["slash", "npm:3.0.0"],\ + ["strip-ansi", "npm:6.0.1"]\ ],\ - "linkType": "HARD"\ - }],\ - ["npm:4.17.1", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-arm64-gnu-npm-4.17.1-5704467160/node_modules/@rollup/rollup-linux-arm64-gnu/",\ - "packageDependencies": [\ - ["@rollup/rollup-linux-arm64-gnu", "npm:4.17.1"]\ + "packagePeers": [\ + "@types/node-notifier",\ + "node-notifier"\ ],\ "linkType": "HARD"\ - }],\ - ["npm:4.17.2", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-arm64-gnu-npm-4.17.2-56f9d0ef11/node_modules/@rollup/rollup-linux-arm64-gnu/",\ + }]\ + ]],\ + ["@jest/environment", [\ + ["npm:29.7.0", {\ + "packageLocation": "./.yarn/cache/@jest-environment-npm-29.7.0-97705658d0-90b5844a9a.zip/node_modules/@jest/environment/",\ "packageDependencies": [\ - ["@rollup/rollup-linux-arm64-gnu", "npm:4.17.2"]\ + ["@jest/environment", "npm:29.7.0"],\ + ["@jest/fake-timers", "npm:29.7.0"],\ + ["@jest/types", "npm:29.6.3"],\ + ["@types/node", "npm:20.11.20"],\ + ["jest-mock", "npm:29.7.0"]\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@rollup/rollup-linux-arm64-musl", [\ - ["npm:4.12.0", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-arm64-musl-npm-4.12.0-ab0970e35c/node_modules/@rollup/rollup-linux-arm64-musl/",\ + ["@jest/expect", [\ + ["npm:29.7.0", {\ + "packageLocation": "./.yarn/cache/@jest-expect-npm-29.7.0-9dfe9cebaa-fea6c3317a.zip/node_modules/@jest/expect/",\ "packageDependencies": [\ - ["@rollup/rollup-linux-arm64-musl", "npm:4.12.0"]\ + ["@jest/expect", "npm:29.7.0"],\ + ["expect", "npm:29.7.0"],\ + ["jest-snapshot", "npm:29.7.0"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:4.13.0", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-arm64-musl-npm-4.13.0-8b79e93ea4/node_modules/@rollup/rollup-linux-arm64-musl/",\ + }]\ + ]],\ + ["@jest/expect-utils", [\ + ["npm:29.7.0", {\ + "packageLocation": "./.yarn/cache/@jest-expect-utils-npm-29.7.0-14740cc487-ef8d379778.zip/node_modules/@jest/expect-utils/",\ "packageDependencies": [\ - ["@rollup/rollup-linux-arm64-musl", "npm:4.13.0"]\ + ["@jest/expect-utils", "npm:29.7.0"],\ + ["jest-get-type", "npm:29.6.3"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:4.14.1", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-arm64-musl-npm-4.14.1-9d6a7f22eb/node_modules/@rollup/rollup-linux-arm64-musl/",\ + }]\ + ]],\ + ["@jest/fake-timers", [\ + ["npm:29.7.0", {\ + "packageLocation": "./.yarn/cache/@jest-fake-timers-npm-29.7.0-e4174d1b56-9b394e04ff.zip/node_modules/@jest/fake-timers/",\ "packageDependencies": [\ - ["@rollup/rollup-linux-arm64-musl", "npm:4.14.1"]\ + ["@jest/fake-timers", "npm:29.7.0"],\ + ["@jest/types", "npm:29.6.3"],\ + ["@sinonjs/fake-timers", "npm:10.3.0"],\ + ["@types/node", "npm:20.11.20"],\ + ["jest-message-util", "npm:29.7.0"],\ + ["jest-mock", "npm:29.7.0"],\ + ["jest-util", "npm:29.7.0"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:4.14.3", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-arm64-musl-npm-4.14.3-77a1646c73/node_modules/@rollup/rollup-linux-arm64-musl/",\ + }]\ + ]],\ + ["@jest/globals", [\ + ["npm:29.7.0", {\ + "packageLocation": "./.yarn/cache/@jest-globals-npm-29.7.0-06f2bd411e-97dbb94591.zip/node_modules/@jest/globals/",\ "packageDependencies": [\ - ["@rollup/rollup-linux-arm64-musl", "npm:4.14.3"]\ + ["@jest/globals", "npm:29.7.0"],\ + ["@jest/environment", "npm:29.7.0"],\ + ["@jest/expect", "npm:29.7.0"],\ + ["@jest/types", "npm:29.6.3"],\ + ["jest-mock", "npm:29.7.0"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:4.16.3", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-arm64-musl-npm-4.16.3-c32ea32f01/node_modules/@rollup/rollup-linux-arm64-musl/",\ + }]\ + ]],\ + ["@jest/reporters", [\ + ["npm:29.7.0", {\ + "packageLocation": "./.yarn/cache/@jest-reporters-npm-29.7.0-2561cd7a09-a17d1644b2.zip/node_modules/@jest/reporters/",\ "packageDependencies": [\ - ["@rollup/rollup-linux-arm64-musl", "npm:4.16.3"]\ + ["@jest/reporters", "npm:29.7.0"]\ ],\ - "linkType": "HARD"\ + "linkType": "SOFT"\ }],\ - ["npm:4.17.1", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-arm64-musl-npm-4.17.1-aa30ce876d/node_modules/@rollup/rollup-linux-arm64-musl/",\ + ["virtual:8388e1a620616fcf7175e48057ece72f5fe71b0378fb1e863b3926a225ca85687e9b6a2f4b74a2d6a66a879bb715e9be32861bfa0165da041968dcb30a6278cc#npm:29.7.0", {\ + "packageLocation": "./.yarn/__virtual__/@jest-reporters-virtual-54c7304460/0/cache/@jest-reporters-npm-29.7.0-2561cd7a09-a17d1644b2.zip/node_modules/@jest/reporters/",\ "packageDependencies": [\ - ["@rollup/rollup-linux-arm64-musl", "npm:4.17.1"]\ + ["@jest/reporters", "virtual:8388e1a620616fcf7175e48057ece72f5fe71b0378fb1e863b3926a225ca85687e9b6a2f4b74a2d6a66a879bb715e9be32861bfa0165da041968dcb30a6278cc#npm:29.7.0"],\ + ["@bcoe/v8-coverage", "npm:0.2.3"],\ + ["@jest/console", "npm:29.7.0"],\ + ["@jest/test-result", "npm:29.7.0"],\ + ["@jest/transform", "npm:29.7.0"],\ + ["@jest/types", "npm:29.6.3"],\ + ["@jridgewell/trace-mapping", "npm:0.3.23"],\ + ["@types/node", "npm:20.11.20"],\ + ["@types/node-notifier", null],\ + ["chalk", "npm:4.1.2"],\ + ["collect-v8-coverage", "npm:1.0.2"],\ + ["exit", "npm:0.1.2"],\ + ["glob", "npm:7.2.3"],\ + ["graceful-fs", "npm:4.2.11"],\ + ["istanbul-lib-coverage", "npm:3.2.2"],\ + ["istanbul-lib-instrument", "npm:6.0.2"],\ + ["istanbul-lib-report", "npm:3.0.1"],\ + ["istanbul-lib-source-maps", "npm:4.0.1"],\ + ["istanbul-reports", "npm:3.1.7"],\ + ["jest-message-util", "npm:29.7.0"],\ + ["jest-util", "npm:29.7.0"],\ + ["jest-worker", "npm:29.7.0"],\ + ["node-notifier", null],\ + ["slash", "npm:3.0.0"],\ + ["string-length", "npm:4.0.2"],\ + ["strip-ansi", "npm:6.0.1"],\ + ["v8-to-istanbul", "npm:9.2.0"]\ ],\ - "linkType": "HARD"\ - }],\ - ["npm:4.17.2", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-arm64-musl-npm-4.17.2-ea8e7f7a9c/node_modules/@rollup/rollup-linux-arm64-musl/",\ - "packageDependencies": [\ - ["@rollup/rollup-linux-arm64-musl", "npm:4.17.2"]\ + "packagePeers": [\ + "@types/node-notifier",\ + "node-notifier"\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@rollup/rollup-linux-powerpc64le-gnu", [\ - ["npm:4.14.1", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-powerpc64le-gnu-npm-4.14.1-31dce61bd7/node_modules/@rollup/rollup-linux-powerpc64le-gnu/",\ - "packageDependencies": [\ - ["@rollup/rollup-linux-powerpc64le-gnu", "npm:4.14.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:4.14.3", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-powerpc64le-gnu-npm-4.14.3-06cbf72eb6/node_modules/@rollup/rollup-linux-powerpc64le-gnu/",\ + ["@jest/schemas", [\ + ["npm:29.6.3", {\ + "packageLocation": "./.yarn/cache/@jest-schemas-npm-29.6.3-292730e442-910040425f.zip/node_modules/@jest/schemas/",\ "packageDependencies": [\ - ["@rollup/rollup-linux-powerpc64le-gnu", "npm:4.14.3"]\ + ["@jest/schemas", "npm:29.6.3"],\ + ["@sinclair/typebox", "npm:0.27.8"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:4.16.3", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-powerpc64le-gnu-npm-4.16.3-49ed710d2a/node_modules/@rollup/rollup-linux-powerpc64le-gnu/",\ + }]\ + ]],\ + ["@jest/source-map", [\ + ["npm:29.6.3", {\ + "packageLocation": "./.yarn/cache/@jest-source-map-npm-29.6.3-8bb8289263-bcc5a8697d.zip/node_modules/@jest/source-map/",\ "packageDependencies": [\ - ["@rollup/rollup-linux-powerpc64le-gnu", "npm:4.16.3"]\ + ["@jest/source-map", "npm:29.6.3"],\ + ["@jridgewell/trace-mapping", "npm:0.3.23"],\ + ["callsites", "npm:3.1.0"],\ + ["graceful-fs", "npm:4.2.11"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:4.17.1", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-powerpc64le-gnu-npm-4.17.1-ed0714994e/node_modules/@rollup/rollup-linux-powerpc64le-gnu/",\ + }]\ + ]],\ + ["@jest/test-result", [\ + ["npm:29.7.0", {\ + "packageLocation": "./.yarn/cache/@jest-test-result-npm-29.7.0-4bb532101b-c073ab7dfe.zip/node_modules/@jest/test-result/",\ "packageDependencies": [\ - ["@rollup/rollup-linux-powerpc64le-gnu", "npm:4.17.1"]\ + ["@jest/test-result", "npm:29.7.0"],\ + ["@jest/console", "npm:29.7.0"],\ + ["@jest/types", "npm:29.6.3"],\ + ["@types/istanbul-lib-coverage", "npm:2.0.6"],\ + ["collect-v8-coverage", "npm:1.0.2"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:4.17.2", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-powerpc64le-gnu-npm-4.17.2-aaa0c69662/node_modules/@rollup/rollup-linux-powerpc64le-gnu/",\ + }]\ + ]],\ + ["@jest/test-sequencer", [\ + ["npm:29.7.0", {\ + "packageLocation": "./.yarn/cache/@jest-test-sequencer-npm-29.7.0-291f23a495-4420c26a0b.zip/node_modules/@jest/test-sequencer/",\ "packageDependencies": [\ - ["@rollup/rollup-linux-powerpc64le-gnu", "npm:4.17.2"]\ + ["@jest/test-sequencer", "npm:29.7.0"],\ + ["@jest/test-result", "npm:29.7.0"],\ + ["graceful-fs", "npm:4.2.11"],\ + ["jest-haste-map", "npm:29.7.0"],\ + ["slash", "npm:3.0.0"]\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@rollup/rollup-linux-riscv64-gnu", [\ - ["npm:4.12.0", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-riscv64-gnu-npm-4.12.0-e00ee762ef/node_modules/@rollup/rollup-linux-riscv64-gnu/",\ + ["@jest/transform", [\ + ["npm:29.7.0", {\ + "packageLocation": "./.yarn/cache/@jest-transform-npm-29.7.0-af20d68b57-30f4229354.zip/node_modules/@jest/transform/",\ "packageDependencies": [\ - ["@rollup/rollup-linux-riscv64-gnu", "npm:4.12.0"]\ + ["@jest/transform", "npm:29.7.0"],\ + ["@babel/core", "npm:7.23.9"],\ + ["@jest/types", "npm:29.6.3"],\ + ["@jridgewell/trace-mapping", "npm:0.3.23"],\ + ["babel-plugin-istanbul", "npm:6.1.1"],\ + ["chalk", "npm:4.1.2"],\ + ["convert-source-map", "npm:2.0.0"],\ + ["fast-json-stable-stringify", "npm:2.1.0"],\ + ["graceful-fs", "npm:4.2.11"],\ + ["jest-haste-map", "npm:29.7.0"],\ + ["jest-regex-util", "npm:29.6.3"],\ + ["jest-util", "npm:29.7.0"],\ + ["micromatch", "npm:4.0.5"],\ + ["pirates", "npm:4.0.6"],\ + ["slash", "npm:3.0.0"],\ + ["write-file-atomic", "npm:4.0.2"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:4.13.0", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-riscv64-gnu-npm-4.13.0-c91100fc28/node_modules/@rollup/rollup-linux-riscv64-gnu/",\ + }]\ + ]],\ + ["@jest/types", [\ + ["npm:29.6.3", {\ + "packageLocation": "./.yarn/cache/@jest-types-npm-29.6.3-a584ca999d-f74bf512fd.zip/node_modules/@jest/types/",\ "packageDependencies": [\ - ["@rollup/rollup-linux-riscv64-gnu", "npm:4.13.0"]\ + ["@jest/types", "npm:29.6.3"],\ + ["@jest/schemas", "npm:29.6.3"],\ + ["@types/istanbul-lib-coverage", "npm:2.0.6"],\ + ["@types/istanbul-reports", "npm:3.0.4"],\ + ["@types/node", "npm:20.11.20"],\ + ["@types/yargs", "npm:17.0.32"],\ + ["chalk", "npm:4.1.2"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:4.14.1", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-riscv64-gnu-npm-4.14.1-1e0874209f/node_modules/@rollup/rollup-linux-riscv64-gnu/",\ + }]\ + ]],\ + ["@jridgewell/gen-mapping", [\ + ["npm:0.3.4", {\ + "packageLocation": "./.yarn/cache/@jridgewell-gen-mapping-npm-0.3.4-874921f557-c111a3d52f.zip/node_modules/@jridgewell/gen-mapping/",\ "packageDependencies": [\ - ["@rollup/rollup-linux-riscv64-gnu", "npm:4.14.1"]\ + ["@jridgewell/gen-mapping", "npm:0.3.4"],\ + ["@jridgewell/set-array", "npm:1.1.2"],\ + ["@jridgewell/sourcemap-codec", "npm:1.4.15"],\ + ["@jridgewell/trace-mapping", "npm:0.3.23"]\ ],\ "linkType": "HARD"\ }],\ - ["npm:4.14.3", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-riscv64-gnu-npm-4.14.3-ef5c7e155f/node_modules/@rollup/rollup-linux-riscv64-gnu/",\ + ["npm:0.3.5", {\ + "packageLocation": "./.yarn/cache/@jridgewell-gen-mapping-npm-0.3.5-d8b85ebeaf-81587b3c4d.zip/node_modules/@jridgewell/gen-mapping/",\ "packageDependencies": [\ - ["@rollup/rollup-linux-riscv64-gnu", "npm:4.14.3"]\ + ["@jridgewell/gen-mapping", "npm:0.3.5"],\ + ["@jridgewell/set-array", "npm:1.2.1"],\ + ["@jridgewell/sourcemap-codec", "npm:1.4.15"],\ + ["@jridgewell/trace-mapping", "npm:0.3.25"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:4.16.3", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-riscv64-gnu-npm-4.16.3-f8bc42e025/node_modules/@rollup/rollup-linux-riscv64-gnu/",\ + }]\ + ]],\ + ["@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/",\ "packageDependencies": [\ - ["@rollup/rollup-linux-riscv64-gnu", "npm:4.16.3"]\ + ["@jridgewell/resolve-uri", "npm:3.1.2"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:4.17.1", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-riscv64-gnu-npm-4.17.1-e588836eaa/node_modules/@rollup/rollup-linux-riscv64-gnu/",\ + }]\ + ]],\ + ["@jridgewell/set-array", [\ + ["npm:1.1.2", {\ + "packageLocation": "./.yarn/cache/@jridgewell-set-array-npm-1.1.2-45b82d7fb6-69a84d5980.zip/node_modules/@jridgewell/set-array/",\ "packageDependencies": [\ - ["@rollup/rollup-linux-riscv64-gnu", "npm:4.17.1"]\ + ["@jridgewell/set-array", "npm:1.1.2"]\ ],\ "linkType": "HARD"\ }],\ - ["npm:4.17.2", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-riscv64-gnu-npm-4.17.2-f986b09ae2/node_modules/@rollup/rollup-linux-riscv64-gnu/",\ + ["npm:1.2.1", {\ + "packageLocation": "./.yarn/cache/@jridgewell-set-array-npm-1.2.1-2312928209-832e513a85.zip/node_modules/@jridgewell/set-array/",\ "packageDependencies": [\ - ["@rollup/rollup-linux-riscv64-gnu", "npm:4.17.2"]\ + ["@jridgewell/set-array", "npm:1.2.1"]\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@rollup/rollup-linux-s390x-gnu", [\ - ["npm:4.14.1", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-s390x-gnu-npm-4.14.1-3dfaf6e5c0/node_modules/@rollup/rollup-linux-s390x-gnu/",\ + ["@jridgewell/source-map", [\ + ["npm:0.3.5", {\ + "packageLocation": "./.yarn/cache/@jridgewell-source-map-npm-0.3.5-9f964eaf44-73838ac432.zip/node_modules/@jridgewell/source-map/",\ "packageDependencies": [\ - ["@rollup/rollup-linux-s390x-gnu", "npm:4.14.1"]\ + ["@jridgewell/source-map", "npm:0.3.5"],\ + ["@jridgewell/gen-mapping", "npm:0.3.4"],\ + ["@jridgewell/trace-mapping", "npm:0.3.23"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:4.14.3", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-s390x-gnu-npm-4.14.3-cc1db83c5b/node_modules/@rollup/rollup-linux-s390x-gnu/",\ + }]\ + ]],\ + ["@jridgewell/sourcemap-codec", [\ + ["npm:1.4.15", {\ + "packageLocation": "./.yarn/cache/@jridgewell-sourcemap-codec-npm-1.4.15-a055fb62cf-89960ac087.zip/node_modules/@jridgewell/sourcemap-codec/",\ "packageDependencies": [\ - ["@rollup/rollup-linux-s390x-gnu", "npm:4.14.3"]\ + ["@jridgewell/sourcemap-codec", "npm:1.4.15"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:4.16.3", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-s390x-gnu-npm-4.16.3-9c17db0838/node_modules/@rollup/rollup-linux-s390x-gnu/",\ + }]\ + ]],\ + ["@jridgewell/trace-mapping", [\ + ["npm:0.3.23", {\ + "packageLocation": "./.yarn/cache/@jridgewell-trace-mapping-npm-0.3.23-1097836461-eb8d167f8a.zip/node_modules/@jridgewell/trace-mapping/",\ "packageDependencies": [\ - ["@rollup/rollup-linux-s390x-gnu", "npm:4.16.3"]\ + ["@jridgewell/trace-mapping", "npm:0.3.23"],\ + ["@jridgewell/resolve-uri", "npm:3.1.2"],\ + ["@jridgewell/sourcemap-codec", "npm:1.4.15"]\ ],\ "linkType": "HARD"\ }],\ - ["npm:4.17.1", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-s390x-gnu-npm-4.17.1-68b6bf5d87/node_modules/@rollup/rollup-linux-s390x-gnu/",\ + ["npm:0.3.25", {\ + "packageLocation": "./.yarn/cache/@jridgewell-trace-mapping-npm-0.3.25-c076fd2279-dced32160a.zip/node_modules/@jridgewell/trace-mapping/",\ "packageDependencies": [\ - ["@rollup/rollup-linux-s390x-gnu", "npm:4.17.1"]\ + ["@jridgewell/trace-mapping", "npm:0.3.25"],\ + ["@jridgewell/resolve-uri", "npm:3.1.2"],\ + ["@jridgewell/sourcemap-codec", "npm:1.4.15"]\ ],\ "linkType": "HARD"\ }],\ - ["npm:4.17.2", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-s390x-gnu-npm-4.17.2-9de97c23bb/node_modules/@rollup/rollup-linux-s390x-gnu/",\ + ["npm:0.3.9", {\ + "packageLocation": "./.yarn/cache/@jridgewell-trace-mapping-npm-0.3.9-91625cd7fb-83deafb8e7.zip/node_modules/@jridgewell/trace-mapping/",\ "packageDependencies": [\ - ["@rollup/rollup-linux-s390x-gnu", "npm:4.17.2"]\ + ["@jridgewell/trace-mapping", "npm:0.3.9"],\ + ["@jridgewell/resolve-uri", "npm:3.1.2"],\ + ["@jridgewell/sourcemap-codec", "npm:1.4.15"]\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@rollup/rollup-linux-x64-gnu", [\ - ["npm:4.12.0", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-x64-gnu-npm-4.12.0-8984040333/node_modules/@rollup/rollup-linux-x64-gnu/",\ + ["@mswjs/cookies", [\ + ["npm:0.2.2", {\ + "packageLocation": "./.yarn/cache/@mswjs-cookies-npm-0.2.2-fdd3f4ab67-f1b3b82a68.zip/node_modules/@mswjs/cookies/",\ "packageDependencies": [\ - ["@rollup/rollup-linux-x64-gnu", "npm:4.12.0"]\ + ["@mswjs/cookies", "npm:0.2.2"],\ + ["@types/set-cookie-parser", "npm:2.4.7"],\ + ["set-cookie-parser", "npm:2.6.0"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:4.13.0", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-x64-gnu-npm-4.13.0-834923f1a9/node_modules/@rollup/rollup-linux-x64-gnu/",\ + }]\ + ]],\ + ["@mswjs/interceptors", [\ + ["npm:0.17.10", {\ + "packageLocation": "./.yarn/cache/@mswjs-interceptors-npm-0.17.10-c1199a9424-0bbadfc3c9.zip/node_modules/@mswjs/interceptors/",\ "packageDependencies": [\ - ["@rollup/rollup-linux-x64-gnu", "npm:4.13.0"]\ + ["@mswjs/interceptors", "npm:0.17.10"],\ + ["@open-draft/until", "npm:1.0.3"],\ + ["@types/debug", "npm:4.1.12"],\ + ["@xmldom/xmldom", "npm:0.8.10"],\ + ["debug", "virtual:1ff4b5f90832ba0a9c93ba1223af226e44ba70c1126a3740d93562b97bc36544e896a5e95908196f7458713e6a6089a34bfc67362fc6df7fa093bd06c878be47#npm:4.3.4"],\ + ["headers-polyfill", "npm:3.2.5"],\ + ["outvariant", "npm:1.4.2"],\ + ["strict-event-emitter", "npm:0.2.8"],\ + ["web-encoding", "npm:1.1.5"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:4.14.1", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-x64-gnu-npm-4.14.1-3b808993c8/node_modules/@rollup/rollup-linux-x64-gnu/",\ + }]\ + ]],\ + ["@nicolo-ribaudo/chokidar-2", [\ + ["npm:2.1.8-no-fsevents.3", {\ + "packageLocation": "./.yarn/cache/@nicolo-ribaudo-chokidar-2-npm-2.1.8-no-fsevents.3-79ca8bfcef-c6e83af3b5.zip/node_modules/@nicolo-ribaudo/chokidar-2/",\ "packageDependencies": [\ - ["@rollup/rollup-linux-x64-gnu", "npm:4.14.1"]\ + ["@nicolo-ribaudo/chokidar-2", "npm:2.1.8-no-fsevents.3"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:4.14.3", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-x64-gnu-npm-4.14.3-ca0d385d25/node_modules/@rollup/rollup-linux-x64-gnu/",\ + }]\ + ]],\ + ["@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": [\ - ["@rollup/rollup-linux-x64-gnu", "npm:4.14.3"]\ + ["@nodelib/fs.scandir", "npm:2.1.5"],\ + ["@nodelib/fs.stat", "npm:2.0.5"],\ + ["run-parallel", "npm:1.2.0"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:4.16.3", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-x64-gnu-npm-4.16.3-61dd055f35/node_modules/@rollup/rollup-linux-x64-gnu/",\ + }]\ + ]],\ + ["@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": [\ - ["@rollup/rollup-linux-x64-gnu", "npm:4.16.3"]\ + ["@nodelib/fs.stat", "npm:2.0.5"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:4.17.1", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-x64-gnu-npm-4.17.1-a2ec383d51/node_modules/@rollup/rollup-linux-x64-gnu/",\ + }]\ + ]],\ + ["@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": [\ - ["@rollup/rollup-linux-x64-gnu", "npm:4.17.1"]\ + ["@nodelib/fs.walk", "npm:1.2.8"],\ + ["@nodelib/fs.scandir", "npm:2.1.5"],\ + ["fastq", "npm:1.17.1"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:4.17.2", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-x64-gnu-npm-4.17.2-0d17f6c4a4/node_modules/@rollup/rollup-linux-x64-gnu/",\ + }]\ + ]],\ + ["@npmcli/agent", [\ + ["npm:2.2.1", {\ + "packageLocation": "./.yarn/cache/@npmcli-agent-npm-2.2.1-8af33193ae-d4a48128f6.zip/node_modules/@npmcli/agent/",\ "packageDependencies": [\ - ["@rollup/rollup-linux-x64-gnu", "npm:4.17.2"]\ + ["@npmcli/agent", "npm:2.2.1"],\ + ["agent-base", "npm:7.1.0"],\ + ["http-proxy-agent", "npm:7.0.2"],\ + ["https-proxy-agent", "npm:7.0.4"],\ + ["lru-cache", "npm:10.2.0"],\ + ["socks-proxy-agent", "npm:8.0.2"]\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@rollup/rollup-linux-x64-musl", [\ - ["npm:4.12.0", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-x64-musl-npm-4.12.0-21da3668ea/node_modules/@rollup/rollup-linux-x64-musl/",\ + ["@npmcli/fs", [\ + ["npm:3.1.0", {\ + "packageLocation": "./.yarn/cache/@npmcli-fs-npm-3.1.0-0844a57978-f3a7ab3a31.zip/node_modules/@npmcli/fs/",\ "packageDependencies": [\ - ["@rollup/rollup-linux-x64-musl", "npm:4.12.0"]\ + ["@npmcli/fs", "npm:3.1.0"],\ + ["semver", "npm:7.6.0"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:4.13.0", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-x64-musl-npm-4.13.0-725a5f475a/node_modules/@rollup/rollup-linux-x64-musl/",\ + }]\ + ]],\ + ["@one-ini/wasm", [\ + ["npm:0.1.1", {\ + "packageLocation": "./.yarn/cache/@one-ini-wasm-npm-0.1.1-cee8120e33-673c11518d.zip/node_modules/@one-ini/wasm/",\ "packageDependencies": [\ - ["@rollup/rollup-linux-x64-musl", "npm:4.13.0"]\ + ["@one-ini/wasm", "npm:0.1.1"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:4.14.1", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-x64-musl-npm-4.14.1-bd7e8799fc/node_modules/@rollup/rollup-linux-x64-musl/",\ + }]\ + ]],\ + ["@open-draft/until", [\ + ["npm:1.0.3", {\ + "packageLocation": "./.yarn/cache/@open-draft-until-npm-1.0.3-c0d6a46a29-323e92ebef.zip/node_modules/@open-draft/until/",\ "packageDependencies": [\ - ["@rollup/rollup-linux-x64-musl", "npm:4.14.1"]\ + ["@open-draft/until", "npm:1.0.3"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:4.14.3", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-x64-musl-npm-4.14.3-f459c7a0de/node_modules/@rollup/rollup-linux-x64-musl/",\ + }]\ + ]],\ + ["@pkgjs/parseargs", [\ + ["npm:0.11.0", {\ + "packageLocation": "./.yarn/cache/@pkgjs-parseargs-npm-0.11.0-cd2a3fe948-115e8ceeec.zip/node_modules/@pkgjs/parseargs/",\ "packageDependencies": [\ - ["@rollup/rollup-linux-x64-musl", "npm:4.14.3"]\ + ["@pkgjs/parseargs", "npm:0.11.0"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:4.16.3", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-x64-musl-npm-4.16.3-4a9b287ff3/node_modules/@rollup/rollup-linux-x64-musl/",\ + }]\ + ]],\ + ["@pkgr/core", [\ + ["npm:0.1.1", {\ + "packageLocation": "./.yarn/cache/@pkgr-core-npm-0.1.1-844d1f59d1-6f25fd2e30.zip/node_modules/@pkgr/core/",\ "packageDependencies": [\ - ["@rollup/rollup-linux-x64-musl", "npm:4.16.3"]\ + ["@pkgr/core", "npm:0.1.1"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:4.17.1", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-x64-musl-npm-4.17.1-2d72266c9c/node_modules/@rollup/rollup-linux-x64-musl/",\ + }]\ + ]],\ + ["@playwright/test", [\ + ["npm:1.41.2", {\ + "packageLocation": "./.yarn/cache/@playwright-test-npm-1.41.2-09e0b1ec36-e87405987f.zip/node_modules/@playwright/test/",\ "packageDependencies": [\ - ["@rollup/rollup-linux-x64-musl", "npm:4.17.1"]\ + ["@playwright/test", "npm:1.41.2"],\ + ["playwright", "npm:1.41.2"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:4.17.2", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-x64-musl-npm-4.17.2-19dcc07e5c/node_modules/@rollup/rollup-linux-x64-musl/",\ + }]\ + ]],\ + ["@polka/url", [\ + ["npm:0.5.0", {\ + "packageLocation": "./.yarn/cache/@polka-url-npm-0.5.0-97fa7737e1-3f007adf9c.zip/node_modules/@polka/url/",\ "packageDependencies": [\ - ["@rollup/rollup-linux-x64-musl", "npm:4.17.2"]\ + ["@polka/url", "npm:0.5.0"]\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@rollup/rollup-win32-arm64-msvc", [\ - ["npm:4.12.0", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-win32-arm64-msvc-npm-4.12.0-c2287b809a/node_modules/@rollup/rollup-win32-arm64-msvc/",\ + ["@postman/form-data", [\ + ["npm:3.1.1", {\ + "packageLocation": "./.yarn/cache/@postman-form-data-npm-3.1.1-af280b8745-c145f019f5.zip/node_modules/@postman/form-data/",\ "packageDependencies": [\ - ["@rollup/rollup-win32-arm64-msvc", "npm:4.12.0"]\ + ["@postman/form-data", "npm:3.1.1"],\ + ["asynckit", "npm:0.4.0"],\ + ["combined-stream", "npm:1.0.8"],\ + ["mime-types", "npm:2.1.35"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:4.13.0", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-win32-arm64-msvc-npm-4.13.0-da036647ec/node_modules/@rollup/rollup-win32-arm64-msvc/",\ + }]\ + ]],\ + ["@postman/tough-cookie", [\ + ["npm:4.1.3-postman.1", {\ + "packageLocation": "./.yarn/cache/@postman-tough-cookie-npm-4.1.3-postman.1-4b1b33434f-3120c3865b.zip/node_modules/@postman/tough-cookie/",\ "packageDependencies": [\ - ["@rollup/rollup-win32-arm64-msvc", "npm:4.13.0"]\ + ["@postman/tough-cookie", "npm:4.1.3-postman.1"],\ + ["psl", "npm:1.9.0"],\ + ["punycode", "npm:2.3.1"],\ + ["universalify", "npm:0.2.0"],\ + ["url-parse", "npm:1.5.10"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:4.14.1", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-win32-arm64-msvc-npm-4.14.1-84a1f00afa/node_modules/@rollup/rollup-win32-arm64-msvc/",\ + }]\ + ]],\ + ["@postman/tunnel-agent", [\ + ["npm:0.6.3", {\ + "packageLocation": "./.yarn/cache/@postman-tunnel-agent-npm-0.6.3-0942abdb9d-71ea42fa77.zip/node_modules/@postman/tunnel-agent/",\ "packageDependencies": [\ - ["@rollup/rollup-win32-arm64-msvc", "npm:4.14.1"]\ + ["@postman/tunnel-agent", "npm:0.6.3"],\ + ["safe-buffer", "npm:5.2.1"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:4.14.3", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-win32-arm64-msvc-npm-4.14.3-6d6cfa63c2/node_modules/@rollup/rollup-win32-arm64-msvc/",\ + }]\ + ]],\ + ["@puppeteer/browsers", [\ + ["npm:1.3.0", {\ + "packageLocation": "./.yarn/cache/@puppeteer-browsers-npm-1.3.0-b480a6f919-b7df900c8f.zip/node_modules/@puppeteer/browsers/",\ "packageDependencies": [\ - ["@rollup/rollup-win32-arm64-msvc", "npm:4.14.3"]\ + ["@puppeteer/browsers", "npm:1.3.0"]\ ],\ - "linkType": "HARD"\ + "linkType": "SOFT"\ }],\ - ["npm:4.16.3", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-win32-arm64-msvc-npm-4.16.3-5753bcc207/node_modules/@rollup/rollup-win32-arm64-msvc/",\ + ["npm:1.9.1", {\ + "packageLocation": "./.yarn/cache/@puppeteer-browsers-npm-1.9.1-f9743bc3b8-804cbc18bc.zip/node_modules/@puppeteer/browsers/",\ "packageDependencies": [\ - ["@rollup/rollup-win32-arm64-msvc", "npm:4.16.3"]\ + ["@puppeteer/browsers", "npm:1.9.1"],\ + ["debug", "virtual:1ff4b5f90832ba0a9c93ba1223af226e44ba70c1126a3740d93562b97bc36544e896a5e95908196f7458713e6a6089a34bfc67362fc6df7fa093bd06c878be47#npm:4.3.4"],\ + ["extract-zip", "npm:2.0.1"],\ + ["progress", "npm:2.0.3"],\ + ["proxy-agent", "npm:6.3.1"],\ + ["tar-fs", "npm:3.0.4"],\ + ["unbzip2-stream", "npm:1.4.3"],\ + ["yargs", "npm:17.7.2"]\ ],\ "linkType": "HARD"\ }],\ - ["npm:4.17.1", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-win32-arm64-msvc-npm-4.17.1-60e427d06e/node_modules/@rollup/rollup-win32-arm64-msvc/",\ + ["virtual:40161633ecef9d46bcf7484d533cce9b4d65103c4864a996a1db053cc86cb35738ad5ef2f4be259f0cecffff2fa9fb76a9ed95cd1a9168af6a4f5f2eb9115e9a#npm:1.3.0", {\ + "packageLocation": "./.yarn/__virtual__/@puppeteer-browsers-virtual-72b5f5b8d5/0/cache/@puppeteer-browsers-npm-1.3.0-b480a6f919-b7df900c8f.zip/node_modules/@puppeteer/browsers/",\ "packageDependencies": [\ - ["@rollup/rollup-win32-arm64-msvc", "npm:4.17.1"]\ + ["@puppeteer/browsers", "virtual:40161633ecef9d46bcf7484d533cce9b4d65103c4864a996a1db053cc86cb35738ad5ef2f4be259f0cecffff2fa9fb76a9ed95cd1a9168af6a4f5f2eb9115e9a#npm:1.3.0"],\ + ["@types/typescript", null],\ + ["debug", "virtual:1ff4b5f90832ba0a9c93ba1223af226e44ba70c1126a3740d93562b97bc36544e896a5e95908196f7458713e6a6089a34bfc67362fc6df7fa093bd06c878be47#npm:4.3.4"],\ + ["extract-zip", "npm:2.0.1"],\ + ["http-proxy-agent", "npm:5.0.0"],\ + ["https-proxy-agent", "npm:5.0.1"],\ + ["progress", "npm:2.0.3"],\ + ["proxy-from-env", "npm:1.1.0"],\ + ["tar-fs", "npm:2.1.1"],\ + ["typescript", null],\ + ["unbzip2-stream", "npm:1.4.3"],\ + ["yargs", "npm:17.7.1"]\ ],\ - "linkType": "HARD"\ - }],\ - ["npm:4.17.2", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-win32-arm64-msvc-npm-4.17.2-fe01b5a765/node_modules/@rollup/rollup-win32-arm64-msvc/",\ - "packageDependencies": [\ - ["@rollup/rollup-win32-arm64-msvc", "npm:4.17.2"]\ + "packagePeers": [\ + "@types/typescript",\ + "typescript"\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@rollup/rollup-win32-ia32-msvc", [\ + ["@rollup/rollup-android-arm-eabi", [\ ["npm:4.12.0", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-win32-ia32-msvc-npm-4.12.0-fdfcf855a0/node_modules/@rollup/rollup-win32-ia32-msvc/",\ - "packageDependencies": [\ - ["@rollup/rollup-win32-ia32-msvc", "npm:4.12.0"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:4.13.0", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-win32-ia32-msvc-npm-4.13.0-fc1031132d/node_modules/@rollup/rollup-win32-ia32-msvc/",\ + "packageLocation": "./.yarn/unplugged/@rollup-rollup-android-arm-eabi-npm-4.12.0-e216111d4f/node_modules/@rollup/rollup-android-arm-eabi/",\ "packageDependencies": [\ - ["@rollup/rollup-win32-ia32-msvc", "npm:4.13.0"]\ + ["@rollup/rollup-android-arm-eabi", "npm:4.12.0"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:4.14.1", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-win32-ia32-msvc-npm-4.14.1-6e3fd84728/node_modules/@rollup/rollup-win32-ia32-msvc/",\ + }]\ + ]],\ + ["@rollup/rollup-android-arm64", [\ + ["npm:4.12.0", {\ + "packageLocation": "./.yarn/unplugged/@rollup-rollup-android-arm64-npm-4.12.0-979ed3e718/node_modules/@rollup/rollup-android-arm64/",\ "packageDependencies": [\ - ["@rollup/rollup-win32-ia32-msvc", "npm:4.14.1"]\ + ["@rollup/rollup-android-arm64", "npm:4.12.0"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:4.14.3", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-win32-ia32-msvc-npm-4.14.3-a318c607a6/node_modules/@rollup/rollup-win32-ia32-msvc/",\ + }]\ + ]],\ + ["@rollup/rollup-darwin-arm64", [\ + ["npm:4.12.0", {\ + "packageLocation": "./.yarn/unplugged/@rollup-rollup-darwin-arm64-npm-4.12.0-d438d60a52/node_modules/@rollup/rollup-darwin-arm64/",\ "packageDependencies": [\ - ["@rollup/rollup-win32-ia32-msvc", "npm:4.14.3"]\ + ["@rollup/rollup-darwin-arm64", "npm:4.12.0"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:4.16.3", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-win32-ia32-msvc-npm-4.16.3-330624d780/node_modules/@rollup/rollup-win32-ia32-msvc/",\ + }]\ + ]],\ + ["@rollup/rollup-darwin-x64", [\ + ["npm:4.12.0", {\ + "packageLocation": "./.yarn/unplugged/@rollup-rollup-darwin-x64-npm-4.12.0-ce57e8207c/node_modules/@rollup/rollup-darwin-x64/",\ "packageDependencies": [\ - ["@rollup/rollup-win32-ia32-msvc", "npm:4.16.3"]\ + ["@rollup/rollup-darwin-x64", "npm:4.12.0"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:4.17.1", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-win32-ia32-msvc-npm-4.17.1-4e3317e113/node_modules/@rollup/rollup-win32-ia32-msvc/",\ + }]\ + ]],\ + ["@rollup/rollup-linux-arm-gnueabihf", [\ + ["npm:4.12.0", {\ + "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-arm-gnueabihf-npm-4.12.0-d548765171/node_modules/@rollup/rollup-linux-arm-gnueabihf/",\ "packageDependencies": [\ - ["@rollup/rollup-win32-ia32-msvc", "npm:4.17.1"]\ + ["@rollup/rollup-linux-arm-gnueabihf", "npm:4.12.0"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:4.17.2", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-win32-ia32-msvc-npm-4.17.2-8bbc6c58a0/node_modules/@rollup/rollup-win32-ia32-msvc/",\ + }]\ + ]],\ + ["@rollup/rollup-linux-arm64-gnu", [\ + ["npm:4.12.0", {\ + "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-arm64-gnu-npm-4.12.0-e6336e4cdb/node_modules/@rollup/rollup-linux-arm64-gnu/",\ "packageDependencies": [\ - ["@rollup/rollup-win32-ia32-msvc", "npm:4.17.2"]\ + ["@rollup/rollup-linux-arm64-gnu", "npm:4.12.0"]\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["@rollup/rollup-win32-x64-msvc", [\ + ["@rollup/rollup-linux-arm64-musl", [\ ["npm:4.12.0", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-win32-x64-msvc-npm-4.12.0-b21d4991d2/node_modules/@rollup/rollup-win32-x64-msvc/",\ + "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-arm64-musl-npm-4.12.0-ab0970e35c/node_modules/@rollup/rollup-linux-arm64-musl/",\ "packageDependencies": [\ - ["@rollup/rollup-win32-x64-msvc", "npm:4.12.0"]\ + ["@rollup/rollup-linux-arm64-musl", "npm:4.12.0"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:4.13.0", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-win32-x64-msvc-npm-4.13.0-d52da037fd/node_modules/@rollup/rollup-win32-x64-msvc/",\ + }]\ + ]],\ + ["@rollup/rollup-linux-riscv64-gnu", [\ + ["npm:4.12.0", {\ + "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-riscv64-gnu-npm-4.12.0-e00ee762ef/node_modules/@rollup/rollup-linux-riscv64-gnu/",\ "packageDependencies": [\ - ["@rollup/rollup-win32-x64-msvc", "npm:4.13.0"]\ + ["@rollup/rollup-linux-riscv64-gnu", "npm:4.12.0"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:4.14.1", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-win32-x64-msvc-npm-4.14.1-2a262059ab/node_modules/@rollup/rollup-win32-x64-msvc/",\ + }]\ + ]],\ + ["@rollup/rollup-linux-x64-gnu", [\ + ["npm:4.12.0", {\ + "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-x64-gnu-npm-4.12.0-8984040333/node_modules/@rollup/rollup-linux-x64-gnu/",\ "packageDependencies": [\ - ["@rollup/rollup-win32-x64-msvc", "npm:4.14.1"]\ + ["@rollup/rollup-linux-x64-gnu", "npm:4.12.0"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:4.14.3", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-win32-x64-msvc-npm-4.14.3-44e9c9878e/node_modules/@rollup/rollup-win32-x64-msvc/",\ + }]\ + ]],\ + ["@rollup/rollup-linux-x64-musl", [\ + ["npm:4.12.0", {\ + "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-x64-musl-npm-4.12.0-21da3668ea/node_modules/@rollup/rollup-linux-x64-musl/",\ "packageDependencies": [\ - ["@rollup/rollup-win32-x64-msvc", "npm:4.14.3"]\ + ["@rollup/rollup-linux-x64-musl", "npm:4.12.0"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:4.16.3", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-win32-x64-msvc-npm-4.16.3-8d496c1dc7/node_modules/@rollup/rollup-win32-x64-msvc/",\ + }]\ + ]],\ + ["@rollup/rollup-win32-arm64-msvc", [\ + ["npm:4.12.0", {\ + "packageLocation": "./.yarn/unplugged/@rollup-rollup-win32-arm64-msvc-npm-4.12.0-c2287b809a/node_modules/@rollup/rollup-win32-arm64-msvc/",\ "packageDependencies": [\ - ["@rollup/rollup-win32-x64-msvc", "npm:4.16.3"]\ + ["@rollup/rollup-win32-arm64-msvc", "npm:4.12.0"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:4.17.1", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-win32-x64-msvc-npm-4.17.1-c41dd385d7/node_modules/@rollup/rollup-win32-x64-msvc/",\ + }]\ + ]],\ + ["@rollup/rollup-win32-ia32-msvc", [\ + ["npm:4.12.0", {\ + "packageLocation": "./.yarn/unplugged/@rollup-rollup-win32-ia32-msvc-npm-4.12.0-fdfcf855a0/node_modules/@rollup/rollup-win32-ia32-msvc/",\ "packageDependencies": [\ - ["@rollup/rollup-win32-x64-msvc", "npm:4.17.1"]\ + ["@rollup/rollup-win32-ia32-msvc", "npm:4.12.0"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:4.17.2", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-win32-x64-msvc-npm-4.17.2-36fa45f655/node_modules/@rollup/rollup-win32-x64-msvc/",\ + }]\ + ]],\ + ["@rollup/rollup-win32-x64-msvc", [\ + ["npm:4.12.0", {\ + "packageLocation": "./.yarn/unplugged/@rollup-rollup-win32-x64-msvc-npm-4.12.0-b21d4991d2/node_modules/@rollup/rollup-win32-x64-msvc/",\ "packageDependencies": [\ - ["@rollup/rollup-win32-x64-msvc", "npm:4.17.2"]\ + ["@rollup/rollup-win32-x64-msvc", "npm:4.12.0"]\ ],\ "linkType": "HARD"\ }]\ @@ -3594,33 +4963,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ - ["@testdeck/core", [\ - ["npm:0.3.3", {\ - "packageLocation": "./.yarn/cache/@testdeck-core-npm-0.3.3-e615ae168c-7702d81ff1.zip/node_modules/@testdeck/core/",\ - "packageDependencies": [\ - ["@testdeck/core", "npm:0.3.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@testdeck/mocha", [\ - ["npm:0.3.3", {\ - "packageLocation": "./.yarn/cache/@testdeck-mocha-npm-0.3.3-ad944772d9-c49deed641.zip/node_modules/@testdeck/mocha/",\ - "packageDependencies": [\ - ["@testdeck/mocha", "npm:0.3.3"],\ - ["@testdeck/core", "npm:0.3.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ ["@tootallnate/once", [\ - ["npm:1.1.2", {\ - "packageLocation": "./.yarn/cache/@tootallnate-once-npm-1.1.2-0517220057-e1fb1bbbc1.zip/node_modules/@tootallnate/once/",\ - "packageDependencies": [\ - ["@tootallnate/once", "npm:1.1.2"]\ - ],\ - "linkType": "HARD"\ - }],\ ["npm:2.0.0", {\ "packageLocation": "./.yarn/cache/@tootallnate-once-npm-2.0.0-e36cf4f140-ad87447820.zip/node_modules/@tootallnate/once/",\ "packageDependencies": [\ @@ -3730,6 +5073,15 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["@types/babel__preset-env", [\ + ["npm:7.9.6", {\ + "packageLocation": "./.yarn/cache/@types-babel__preset-env-npm-7.9.6-38dd2bbb04-4783334e18.zip/node_modules/@types/babel__preset-env/",\ + "packageDependencies": [\ + ["@types/babel__preset-env", "npm:7.9.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["@types/babel__template", [\ ["npm:7.4.4", {\ "packageLocation": "./.yarn/cache/@types-babel__template-npm-7.4.4-f34eba762c-d7a02d2a9b.zip/node_modules/@types/babel__template/",\ @@ -3876,15 +5228,11 @@ const RAW_RUNTIME_STATE = ["@types/jasmine", "npm:3.10.18"]\ ],\ "linkType": "HARD"\ - }]\ - ]],\ - ["@types/jest", [\ - ["npm:29.5.12", {\ - "packageLocation": "./.yarn/cache/@types-jest-npm-29.5.12-6459b9d012-312e8dcf92.zip/node_modules/@types/jest/",\ + }],\ + ["npm:5.1.4", {\ + "packageLocation": "./.yarn/cache/@types-jasmine-npm-5.1.4-2a05d96f38-6b21eb0fc7.zip/node_modules/@types/jasmine/",\ "packageDependencies": [\ - ["@types/jest", "npm:29.5.12"],\ - ["expect", "npm:29.7.0"],\ - ["pretty-format", "npm:29.7.0"]\ + ["@types/jasmine", "npm:5.1.4"]\ ],\ "linkType": "HARD"\ }]\ @@ -4012,15 +5360,6 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ - ["@types/resolve", [\ - ["npm:1.20.2", {\ - "packageLocation": "./.yarn/cache/@types-resolve-npm-1.20.2-5fccb2ad46-1bff0d3875.zip/node_modules/@types/resolve/",\ - "packageDependencies": [\ - ["@types/resolve", "npm:1.20.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ ["@types/set-cookie-parser", [\ ["npm:2.4.7", {\ "packageLocation": "./.yarn/cache/@types-set-cookie-parser-npm-2.4.7-e9d6d979b1-01ef803e24.zip/node_modules/@types/set-cookie-parser/",\ @@ -4831,15 +6170,22 @@ const RAW_RUNTIME_STATE = "packageLocation": "./packages/allure-codeceptjs/",\ "packageDependencies": [\ ["allure-codeceptjs", "workspace:packages/allure-codeceptjs"],\ + ["@babel/cli", "virtual:3b04c8c38dde7165df844f9cd74e94cc47d78164564600cf56ba5f8c6011d25ef0d3afc13d610f3da970f6807c830914053ff96a43c86ba17f3ec650dfd687d3#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/plugin-transform-modules-commonjs", "virtual:3b04c8c38dde7165df844f9cd74e94cc47d78164564600cf56ba5f8c6011d25ef0d3afc13d610f3da970f6807c830914053ff96a43c86ba17f3ec650dfd687d3#npm:7.24.6"],\ + ["@babel/preset-env", "virtual:3b04c8c38dde7165df844f9cd74e94cc47d78164564600cf56ba5f8c6011d25ef0d3afc13d610f3da970f6807c830914053ff96a43c86ba17f3ec650dfd687d3#npm:7.24.6"],\ + ["@babel/preset-typescript", "virtual:3b04c8c38dde7165df844f9cd74e94cc47d78164564600cf56ba5f8c6011d25ef0d3afc13d610f3da970f6807c830914053ff96a43c86ba17f3ec650dfd687d3#npm:7.24.6"],\ ["@codeceptjs/configure", "virtual:4dfda025008308960858af02ce2de23e6fbf02744b9548c2fa0efde5067623eaf08fec37555d32d6a86a61adf128d2c2890eef9d442aef417f3e2d1f5492c52d#npm:1.0.1"],\ ["@codeceptjs/helper", "npm:2.0.4"],\ - ["@rollup/plugin-node-resolve", "virtual:4dfda025008308960858af02ce2de23e6fbf02744b9548c2fa0efde5067623eaf08fec37555d32d6a86a61adf128d2c2890eef9d442aef417f3e2d1f5492c52d#npm:15.2.3"],\ - ["@rollup/plugin-typescript", "virtual:4dfda025008308960858af02ce2de23e6fbf02744b9548c2fa0efde5067623eaf08fec37555d32d6a86a61adf128d2c2890eef9d442aef417f3e2d1f5492c52d#npm:11.1.6"],\ + ["@types/babel__core", "npm:7.20.5"],\ + ["@types/babel__preset-env", "npm:7.9.6"],\ ["@types/eslint", "npm:8.56.3"],\ + ["@types/jasmine", "npm:5.1.4"],\ ["@types/node", "npm:20.11.20"],\ ["@typescript-eslint/eslint-plugin", "virtual:a59b12f7fe7bf3b80fc61d73eaaa33af60483f6ce31789d384fbe8ef169791f667d2559ec5f2fbae1a273a658ce021f1f5f1ea0718c56f81b30ad4e95a5668dd#npm:7.10.0"],\ ["@typescript-eslint/parser", "virtual:a59b12f7fe7bf3b80fc61d73eaaa33af60483f6ce31789d384fbe8ef169791f667d2559ec5f2fbae1a273a658ce021f1f5f1ea0718c56f81b30ad4e95a5668dd#npm:7.10.0"],\ ["allure-js-commons", "workspace:packages/allure-js-commons"],\ + ["babel-plugin-add-module-exports", "npm:1.0.4"],\ ["codeceptjs", "npm:3.5.14"],\ ["eslint", "npm:8.57.0"],\ ["eslint-config-prettier", "virtual:a59b12f7fe7bf3b80fc61d73eaaa33af60483f6ce31789d384fbe8ef169791f667d2559ec5f2fbae1a273a658ce021f1f5f1ea0718c56f81b30ad4e95a5668dd#npm:9.1.0"],\ @@ -4849,13 +6195,9 @@ const RAW_RUNTIME_STATE = ["eslint-plugin-no-null", "virtual:a59b12f7fe7bf3b80fc61d73eaaa33af60483f6ce31789d384fbe8ef169791f667d2559ec5f2fbae1a273a658ce021f1f5f1ea0718c56f81b30ad4e95a5668dd#npm:1.0.2"],\ ["eslint-plugin-prefer-arrow", "virtual:a59b12f7fe7bf3b80fc61d73eaaa33af60483f6ce31789d384fbe8ef169791f667d2559ec5f2fbae1a273a658ce021f1f5f1ea0718c56f81b30ad4e95a5668dd#npm:1.2.3"],\ ["expect", "npm:29.7.0"],\ - ["glob", "npm:10.3.12"],\ ["npm-run-all2", "npm:6.1.2"],\ ["rimraf", "npm:5.0.5"],\ - ["rollup", "npm:4.16.3"],\ - ["strip-ansi", "npm:5.2.0"],\ ["ts-node", "virtual:3c6c31eedba60f6d4a0031098f0272720e7414162569ae8f58388d36f8e79683154a59f38a8e5aece9f0d5e45421fab86d5311a37a1c1aec338de3c79151496a#npm:10.9.2"],\ - ["tslib", "npm:2.6.2"],\ ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"],\ ["vitest", "virtual:3b04c8c38dde7165df844f9cd74e94cc47d78164564600cf56ba5f8c6011d25ef0d3afc13d610f3da970f6807c830914053ff96a43c86ba17f3ec650dfd687d3#npm:1.5.0"]\ ],\ @@ -4867,15 +6209,19 @@ const RAW_RUNTIME_STATE = "packageLocation": "./packages/allure-cucumberjs/",\ "packageDependencies": [\ ["allure-cucumberjs", "workspace:packages/allure-cucumberjs"],\ + ["@babel/cli", "virtual:3b04c8c38dde7165df844f9cd74e94cc47d78164564600cf56ba5f8c6011d25ef0d3afc13d610f3da970f6807c830914053ff96a43c86ba17f3ec650dfd687d3#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/plugin-transform-modules-commonjs", "virtual:3b04c8c38dde7165df844f9cd74e94cc47d78164564600cf56ba5f8c6011d25ef0d3afc13d610f3da970f6807c830914053ff96a43c86ba17f3ec650dfd687d3#npm:7.24.6"],\ + ["@babel/preset-env", "virtual:3b04c8c38dde7165df844f9cd74e94cc47d78164564600cf56ba5f8c6011d25ef0d3afc13d610f3da970f6807c830914053ff96a43c86ba17f3ec650dfd687d3#npm:7.24.6"],\ + ["@babel/preset-typescript", "virtual:3b04c8c38dde7165df844f9cd74e94cc47d78164564600cf56ba5f8c6011d25ef0d3afc13d610f3da970f6807c830914053ff96a43c86ba17f3ec650dfd687d3#npm:7.24.6"],\ ["@cucumber/cucumber", "npm:10.4.0"],\ ["@cucumber/gherkin", "npm:28.0.0"],\ ["@cucumber/gherkin-streams", "virtual:1fcea15c8bf2089a53fe8bf9ffc837d613c1bc61a4d4dd5395727d0484bd003ca936b69b8a0cf6bdf6c55f3297ae5255818ce58084d2abc55778d09888281fe5#npm:5.0.1"],\ ["@cucumber/gherkin-utils", "npm:9.0.0"],\ ["@cucumber/message-streams", "virtual:1fcea15c8bf2089a53fe8bf9ffc837d613c1bc61a4d4dd5395727d0484bd003ca936b69b8a0cf6bdf6c55f3297ae5255818ce58084d2abc55778d09888281fe5#npm:4.0.1"],\ ["@cucumber/messages", "npm:24.1.0"],\ - ["@rollup/plugin-commonjs", "virtual:606d5fd11adc18cba076ddb26a9b3adaf466a45eef985b60ea990c3ead5fe6bcc20990b0ed8d0763c4a8c861cdc2277964415bf12191df7c6923d8e78816abf5#npm:25.0.7"],\ - ["@rollup/plugin-node-resolve", "virtual:606d5fd11adc18cba076ddb26a9b3adaf466a45eef985b60ea990c3ead5fe6bcc20990b0ed8d0763c4a8c861cdc2277964415bf12191df7c6923d8e78816abf5#npm:15.2.3"],\ - ["@rollup/plugin-typescript", "virtual:606d5fd11adc18cba076ddb26a9b3adaf466a45eef985b60ea990c3ead5fe6bcc20990b0ed8d0763c4a8c861cdc2277964415bf12191df7c6923d8e78816abf5#npm:11.1.6"],\ + ["@types/babel__core", "npm:7.20.5"],\ + ["@types/babel__preset-env", "npm:7.9.6"],\ ["@types/chai", "npm:4.3.12"],\ ["@types/chai-like", "npm:1.1.3"],\ ["@types/chai-things", "npm:0.0.36"],\ @@ -4887,6 +6233,7 @@ const RAW_RUNTIME_STATE = ["@typescript-eslint/parser", "virtual:a59b12f7fe7bf3b80fc61d73eaaa33af60483f6ce31789d384fbe8ef169791f667d2559ec5f2fbae1a273a658ce021f1f5f1ea0718c56f81b30ad4e95a5668dd#npm:7.10.0"],\ ["allure-js-commons", "workspace:packages/allure-js-commons"],\ ["allure-vitest", "workspace:packages/allure-vitest"],\ + ["babel-plugin-add-module-exports", "npm:1.0.4"],\ ["chai", "npm:4.4.1"],\ ["chai-like", "virtual:606d5fd11adc18cba076ddb26a9b3adaf466a45eef985b60ea990c3ead5fe6bcc20990b0ed8d0763c4a8c861cdc2277964415bf12191df7c6923d8e78816abf5#npm:1.1.1"],\ ["chai-things", "npm:0.2.0"],\ @@ -4897,13 +6244,10 @@ const RAW_RUNTIME_STATE = ["eslint-plugin-n", "virtual:3b04c8c38dde7165df844f9cd74e94cc47d78164564600cf56ba5f8c6011d25ef0d3afc13d610f3da970f6807c830914053ff96a43c86ba17f3ec650dfd687d3#npm:17.7.0"],\ ["eslint-plugin-no-null", "virtual:a59b12f7fe7bf3b80fc61d73eaaa33af60483f6ce31789d384fbe8ef169791f667d2559ec5f2fbae1a273a658ce021f1f5f1ea0718c56f81b30ad4e95a5668dd#npm:1.0.2"],\ ["eslint-plugin-prefer-arrow", "virtual:a59b12f7fe7bf3b80fc61d73eaaa33af60483f6ce31789d384fbe8ef169791f667d2559ec5f2fbae1a273a658ce021f1f5f1ea0718c56f81b30ad4e95a5668dd#npm:1.2.3"],\ - ["glob", "npm:10.3.12"],\ ["npm-run-all2", "npm:6.1.2"],\ ["rimraf", "npm:5.0.5"],\ - ["rollup", "npm:4.14.1"],\ ["sinon", "npm:18.0.0"],\ ["ts-node", "virtual:3c6c31eedba60f6d4a0031098f0272720e7414162569ae8f58388d36f8e79683154a59f38a8e5aece9f0d5e45421fab86d5311a37a1c1aec338de3c79151496a#npm:10.9.2"],\ - ["tslib", "npm:2.6.2"],\ ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"],\ ["vitest", "virtual:606d5fd11adc18cba076ddb26a9b3adaf466a45eef985b60ea990c3ead5fe6bcc20990b0ed8d0763c4a8c861cdc2277964415bf12191df7c6923d8e78816abf5#npm:1.4.0"]\ ],\ @@ -4915,9 +6259,13 @@ const RAW_RUNTIME_STATE = "packageLocation": "./packages/allure-cypress/",\ "packageDependencies": [\ ["allure-cypress", "workspace:packages/allure-cypress"],\ - ["@rollup/plugin-commonjs", "virtual:98c60b7d3b6c5117c4513c6cb8006cab39e0411be8ffe9bb791d9b6d0a1566b28587d5455e7567553092cbdbab928cfaf2a758f8f25f0e31ddedfee569ca964b#npm:25.0.7"],\ - ["@rollup/plugin-node-resolve", "virtual:98c60b7d3b6c5117c4513c6cb8006cab39e0411be8ffe9bb791d9b6d0a1566b28587d5455e7567553092cbdbab928cfaf2a758f8f25f0e31ddedfee569ca964b#npm:15.2.3"],\ - ["@rollup/plugin-typescript", "virtual:98c60b7d3b6c5117c4513c6cb8006cab39e0411be8ffe9bb791d9b6d0a1566b28587d5455e7567553092cbdbab928cfaf2a758f8f25f0e31ddedfee569ca964b#npm:11.1.6"],\ + ["@babel/cli", "virtual:3b04c8c38dde7165df844f9cd74e94cc47d78164564600cf56ba5f8c6011d25ef0d3afc13d610f3da970f6807c830914053ff96a43c86ba17f3ec650dfd687d3#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/plugin-transform-modules-commonjs", "virtual:3b04c8c38dde7165df844f9cd74e94cc47d78164564600cf56ba5f8c6011d25ef0d3afc13d610f3da970f6807c830914053ff96a43c86ba17f3ec650dfd687d3#npm:7.24.6"],\ + ["@babel/preset-env", "virtual:3b04c8c38dde7165df844f9cd74e94cc47d78164564600cf56ba5f8c6011d25ef0d3afc13d610f3da970f6807c830914053ff96a43c86ba17f3ec650dfd687d3#npm:7.24.6"],\ + ["@babel/preset-typescript", "virtual:3b04c8c38dde7165df844f9cd74e94cc47d78164564600cf56ba5f8c6011d25ef0d3afc13d610f3da970f6807c830914053ff96a43c86ba17f3ec650dfd687d3#npm:7.24.6"],\ + ["@types/babel__core", "npm:7.20.5"],\ + ["@types/babel__preset-env", "npm:7.9.6"],\ ["@types/eslint", "npm:8.56.3"],\ ["@types/glob", "npm:8.1.0"],\ ["@types/mocha", "npm:10.0.6"],\ @@ -4926,8 +6274,10 @@ const RAW_RUNTIME_STATE = ["@typescript-eslint/parser", "virtual:a59b12f7fe7bf3b80fc61d73eaaa33af60483f6ce31789d384fbe8ef169791f667d2559ec5f2fbae1a273a658ce021f1f5f1ea0718c56f81b30ad4e95a5668dd#npm:7.10.0"],\ ["allure-js-commons", "workspace:packages/allure-js-commons"],\ ["allure-vitest", "workspace:packages/allure-vitest"],\ + ["babel-plugin-add-module-exports", "npm:1.0.4"],\ ["cypress", "npm:13.6.6"],\ ["enquirer", "npm:2.4.1"],\ + ["esbuild", "npm:0.21.4"],\ ["eslint", "npm:8.57.0"],\ ["eslint-config-prettier", "virtual:a59b12f7fe7bf3b80fc61d73eaaa33af60483f6ce31789d384fbe8ef169791f667d2559ec5f2fbae1a273a658ce021f1f5f1ea0718c56f81b30ad4e95a5668dd#npm:9.1.0"],\ ["eslint-plugin-cypress", "virtual:98c60b7d3b6c5117c4513c6cb8006cab39e0411be8ffe9bb791d9b6d0a1566b28587d5455e7567553092cbdbab928cfaf2a758f8f25f0e31ddedfee569ca964b#npm:3.2.0"],\ @@ -4936,12 +6286,9 @@ const RAW_RUNTIME_STATE = ["eslint-plugin-n", "virtual:3b04c8c38dde7165df844f9cd74e94cc47d78164564600cf56ba5f8c6011d25ef0d3afc13d610f3da970f6807c830914053ff96a43c86ba17f3ec650dfd687d3#npm:17.7.0"],\ ["eslint-plugin-no-null", "virtual:a59b12f7fe7bf3b80fc61d73eaaa33af60483f6ce31789d384fbe8ef169791f667d2559ec5f2fbae1a273a658ce021f1f5f1ea0718c56f81b30ad4e95a5668dd#npm:1.0.2"],\ ["eslint-plugin-prefer-arrow", "virtual:a59b12f7fe7bf3b80fc61d73eaaa33af60483f6ce31789d384fbe8ef169791f667d2559ec5f2fbae1a273a658ce021f1f5f1ea0718c56f81b30ad4e95a5668dd#npm:1.2.3"],\ - ["glob", "npm:10.3.10"],\ ["npm-run-all2", "npm:6.2.0"],\ ["rimraf", "npm:5.0.5"],\ - ["rollup", "npm:4.13.0"],\ ["ts-node", "virtual:3c6c31eedba60f6d4a0031098f0272720e7414162569ae8f58388d36f8e79683154a59f38a8e5aece9f0d5e45421fab86d5311a37a1c1aec338de3c79151496a#npm:10.9.2"],\ - ["tslib", "npm:2.6.2"],\ ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"],\ ["vitest", "virtual:606d5fd11adc18cba076ddb26a9b3adaf466a45eef985b60ea990c3ead5fe6bcc20990b0ed8d0763c4a8c861cdc2277964415bf12191df7c6923d8e78816abf5#npm:1.4.0"]\ ],\ @@ -4953,15 +6300,19 @@ const RAW_RUNTIME_STATE = "packageLocation": "./packages/allure-jasmine/",\ "packageDependencies": [\ ["allure-jasmine", "workspace:packages/allure-jasmine"],\ - ["@rollup/plugin-commonjs", "virtual:f37ad3099f3665d5bbc9ee71081416c8874087a5d9739472f56367e210ca9246356f462b31407a28e510bc022801edd4632f86364db715287d62bd50b42e2c00#npm:25.0.7"],\ - ["@rollup/plugin-node-resolve", "virtual:f37ad3099f3665d5bbc9ee71081416c8874087a5d9739472f56367e210ca9246356f462b31407a28e510bc022801edd4632f86364db715287d62bd50b42e2c00#npm:15.2.3"],\ - ["@rollup/plugin-typescript", "virtual:f37ad3099f3665d5bbc9ee71081416c8874087a5d9739472f56367e210ca9246356f462b31407a28e510bc022801edd4632f86364db715287d62bd50b42e2c00#npm:11.1.6"],\ + ["@babel/cli", "virtual:3b04c8c38dde7165df844f9cd74e94cc47d78164564600cf56ba5f8c6011d25ef0d3afc13d610f3da970f6807c830914053ff96a43c86ba17f3ec650dfd687d3#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/preset-env", "virtual:3b04c8c38dde7165df844f9cd74e94cc47d78164564600cf56ba5f8c6011d25ef0d3afc13d610f3da970f6807c830914053ff96a43c86ba17f3ec650dfd687d3#npm:7.24.6"],\ + ["@babel/preset-typescript", "virtual:3b04c8c38dde7165df844f9cd74e94cc47d78164564600cf56ba5f8c6011d25ef0d3afc13d610f3da970f6807c830914053ff96a43c86ba17f3ec650dfd687d3#npm:7.24.6"],\ + ["@types/babel__core", "npm:7.20.5"],\ + ["@types/babel__preset-env", "npm:7.9.6"],\ ["@types/eslint", "npm:8.56.3"],\ ["@types/jasmine", "npm:3.10.18"],\ ["@types/node", "npm:20.11.20"],\ ["@typescript-eslint/eslint-plugin", "virtual:a59b12f7fe7bf3b80fc61d73eaaa33af60483f6ce31789d384fbe8ef169791f667d2559ec5f2fbae1a273a658ce021f1f5f1ea0718c56f81b30ad4e95a5668dd#npm:7.10.0"],\ ["@typescript-eslint/parser", "virtual:a59b12f7fe7bf3b80fc61d73eaaa33af60483f6ce31789d384fbe8ef169791f667d2559ec5f2fbae1a273a658ce021f1f5f1ea0718c56f81b30ad4e95a5668dd#npm:7.10.0"],\ ["allure-js-commons", "workspace:packages/allure-js-commons"],\ + ["babel-plugin-add-module-exports", "npm:1.0.4"],\ ["eslint", "npm:8.57.0"],\ ["eslint-config-prettier", "virtual:a59b12f7fe7bf3b80fc61d73eaaa33af60483f6ce31789d384fbe8ef169791f667d2559ec5f2fbae1a273a658ce021f1f5f1ea0718c56f81b30ad4e95a5668dd#npm:9.1.0"],\ ["eslint-plugin-import", "virtual:a59b12f7fe7bf3b80fc61d73eaaa33af60483f6ce31789d384fbe8ef169791f667d2559ec5f2fbae1a273a658ce021f1f5f1ea0718c56f81b30ad4e95a5668dd#npm:2.29.1"],\ @@ -4969,12 +6320,9 @@ const RAW_RUNTIME_STATE = ["eslint-plugin-n", "virtual:3b04c8c38dde7165df844f9cd74e94cc47d78164564600cf56ba5f8c6011d25ef0d3afc13d610f3da970f6807c830914053ff96a43c86ba17f3ec650dfd687d3#npm:17.7.0"],\ ["eslint-plugin-no-null", "virtual:a59b12f7fe7bf3b80fc61d73eaaa33af60483f6ce31789d384fbe8ef169791f667d2559ec5f2fbae1a273a658ce021f1f5f1ea0718c56f81b30ad4e95a5668dd#npm:1.0.2"],\ ["eslint-plugin-prefer-arrow", "virtual:a59b12f7fe7bf3b80fc61d73eaaa33af60483f6ce31789d384fbe8ef169791f667d2559ec5f2fbae1a273a658ce021f1f5f1ea0718c56f81b30ad4e95a5668dd#npm:1.2.3"],\ - ["glob", "npm:10.3.12"],\ ["jasmine", "npm:3.99.0"],\ ["npm-run-all2", "npm:6.1.2"],\ - ["properties", "npm:1.2.1"],\ ["rimraf", "npm:5.0.5"],\ - ["rollup", "npm:4.17.2"],\ ["tslib", "npm:2.6.2"],\ ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"],\ ["vitest", "virtual:e64d7f26127b0c38f2abe71db23f0a141b0538db2f417ca2c220511e19f5e4f807ad3daa66e38a4a857f9c6bfd539c632538c990ab69f65c09d763e405a3f457#npm:1.5.3"]\ @@ -4987,26 +6335,23 @@ const RAW_RUNTIME_STATE = "packageLocation": "./packages/allure-jest/",\ "packageDependencies": [\ ["allure-jest", "workspace:packages/allure-jest"],\ + ["@babel/cli", "virtual:3b04c8c38dde7165df844f9cd74e94cc47d78164564600cf56ba5f8c6011d25ef0d3afc13d610f3da970f6807c830914053ff96a43c86ba17f3ec650dfd687d3#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/preset-env", "virtual:3b04c8c38dde7165df844f9cd74e94cc47d78164564600cf56ba5f8c6011d25ef0d3afc13d610f3da970f6807c830914053ff96a43c86ba17f3ec650dfd687d3#npm:7.24.6"],\ + ["@babel/preset-typescript", "virtual:3b04c8c38dde7165df844f9cd74e94cc47d78164564600cf56ba5f8c6011d25ef0d3afc13d610f3da970f6807c830914053ff96a43c86ba17f3ec650dfd687d3#npm:7.24.6"],\ ["@jest/core", "virtual:f22a73b9c1f4f0e2e1c95f149ccb41c96491085e4b2ecd3061e554432306c4df6c2976f3c6ce3a6d62abead3ccc6cf04e88b4aebf1de7356583819351e2346e2#npm:29.7.0"],\ ["@jest/environment", "npm:29.7.0"],\ ["@jest/expect", "npm:29.7.0"],\ - ["@jest/globals", "npm:29.7.0"],\ ["@jest/types", "npm:29.6.3"],\ - ["@rollup/plugin-commonjs", "virtual:f22a73b9c1f4f0e2e1c95f149ccb41c96491085e4b2ecd3061e554432306c4df6c2976f3c6ce3a6d62abead3ccc6cf04e88b4aebf1de7356583819351e2346e2#npm:25.0.7"],\ - ["@rollup/plugin-node-resolve", "virtual:f22a73b9c1f4f0e2e1c95f149ccb41c96491085e4b2ecd3061e554432306c4df6c2976f3c6ce3a6d62abead3ccc6cf04e88b4aebf1de7356583819351e2346e2#npm:15.2.3"],\ - ["@rollup/plugin-typescript", "virtual:f22a73b9c1f4f0e2e1c95f149ccb41c96491085e4b2ecd3061e554432306c4df6c2976f3c6ce3a6d62abead3ccc6cf04e88b4aebf1de7356583819351e2346e2#npm:11.1.6"],\ + ["@types/babel__core", "npm:7.20.5"],\ + ["@types/babel__preset-env", "npm:7.9.6"],\ ["@types/eslint", "npm:8.56.3"],\ - ["@types/glob", "npm:8.1.0"],\ - ["@types/jasmine", "npm:3.10.18"],\ - ["@types/jest", "npm:29.5.12"],\ - ["@types/mocha", "npm:10.0.6"],\ ["@types/node", "npm:20.11.20"],\ - ["@types/sinon", "npm:17.0.3"],\ ["@types/source-map-support", "npm:0.5.10"],\ ["@typescript-eslint/eslint-plugin", "virtual:a59b12f7fe7bf3b80fc61d73eaaa33af60483f6ce31789d384fbe8ef169791f667d2559ec5f2fbae1a273a658ce021f1f5f1ea0718c56f81b30ad4e95a5668dd#npm:7.10.0"],\ ["@typescript-eslint/parser", "virtual:a59b12f7fe7bf3b80fc61d73eaaa33af60483f6ce31789d384fbe8ef169791f667d2559ec5f2fbae1a273a658ce021f1f5f1ea0718c56f81b30ad4e95a5668dd#npm:7.10.0"],\ ["allure-js-commons", "workspace:packages/allure-js-commons"],\ - ["codecov", "npm:3.8.3"],\ + ["babel-plugin-add-module-exports", "npm:1.0.4"],\ ["eslint", "npm:8.57.0"],\ ["eslint-config-prettier", "virtual:a59b12f7fe7bf3b80fc61d73eaaa33af60483f6ce31789d384fbe8ef169791f667d2559ec5f2fbae1a273a658ce021f1f5f1ea0718c56f81b30ad4e95a5668dd#npm:9.1.0"],\ ["eslint-plugin-import", "virtual:a59b12f7fe7bf3b80fc61d73eaaa33af60483f6ce31789d384fbe8ef169791f667d2559ec5f2fbae1a273a658ce021f1f5f1ea0718c56f81b30ad4e95a5668dd#npm:2.29.1"],\ @@ -5014,25 +6359,17 @@ const RAW_RUNTIME_STATE = ["eslint-plugin-n", "virtual:3b04c8c38dde7165df844f9cd74e94cc47d78164564600cf56ba5f8c6011d25ef0d3afc13d610f3da970f6807c830914053ff96a43c86ba17f3ec650dfd687d3#npm:17.7.0"],\ ["eslint-plugin-no-null", "virtual:a59b12f7fe7bf3b80fc61d73eaaa33af60483f6ce31789d384fbe8ef169791f667d2559ec5f2fbae1a273a658ce021f1f5f1ea0718c56f81b30ad4e95a5668dd#npm:1.0.2"],\ ["eslint-plugin-prefer-arrow", "virtual:a59b12f7fe7bf3b80fc61d73eaaa33af60483f6ce31789d384fbe8ef169791f667d2559ec5f2fbae1a273a658ce021f1f5f1ea0718c56f81b30ad4e95a5668dd#npm:1.2.3"],\ - ["expect", "npm:29.7.0"],\ - ["glob", "npm:10.3.12"],\ - ["jest", "virtual:f22a73b9c1f4f0e2e1c95f149ccb41c96491085e4b2ecd3061e554432306c4df6c2976f3c6ce3a6d62abead3ccc6cf04e88b4aebf1de7356583819351e2346e2#npm:29.7.0"],\ ["jest-circus", "npm:29.7.0"],\ ["jest-cli", "virtual:f22a73b9c1f4f0e2e1c95f149ccb41c96491085e4b2ecd3061e554432306c4df6c2976f3c6ce3a6d62abead3ccc6cf04e88b4aebf1de7356583819351e2346e2#npm:29.7.0"],\ ["jest-environment-jsdom", "virtual:f22a73b9c1f4f0e2e1c95f149ccb41c96491085e4b2ecd3061e554432306c4df6c2976f3c6ce3a6d62abead3ccc6cf04e88b4aebf1de7356583819351e2346e2#npm:29.7.0"],\ ["jest-environment-node", "npm:29.7.0"],\ - ["mocha", "npm:10.3.0"],\ - ["mocha-multi-reporters", "virtual:f22a73b9c1f4f0e2e1c95f149ccb41c96491085e4b2ecd3061e554432306c4df6c2976f3c6ce3a6d62abead3ccc6cf04e88b4aebf1de7356583819351e2346e2#npm:1.5.1"],\ ["npm-run-all2", "npm:6.1.2"],\ ["rimraf", "npm:5.0.5"],\ - ["rollup", "npm:4.17.1"],\ - ["sinon", "npm:18.0.0"],\ ["source-map-support", "npm:0.5.21"],\ - ["strip-ansi", "npm:5.2.0"],\ - ["ts-jest", "virtual:f22a73b9c1f4f0e2e1c95f149ccb41c96491085e4b2ecd3061e554432306c4df6c2976f3c6ce3a6d62abead3ccc6cf04e88b4aebf1de7356583819351e2346e2#npm:29.1.2"],\ ["ts-node", "virtual:3c6c31eedba60f6d4a0031098f0272720e7414162569ae8f58388d36f8e79683154a59f38a8e5aece9f0d5e45421fab86d5311a37a1c1aec338de3c79151496a#npm:10.9.2"],\ ["tslib", "npm:2.6.2"],\ - ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"]\ + ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"],\ + ["vitest", "virtual:3c6c31eedba60f6d4a0031098f0272720e7414162569ae8f58388d36f8e79683154a59f38a8e5aece9f0d5e45421fab86d5311a37a1c1aec338de3c79151496a#npm:1.6.0"]\ ],\ "linkType": "SOFT"\ }]\ @@ -5067,6 +6404,13 @@ const RAW_RUNTIME_STATE = "packageLocation": "./packages/allure-js-commons/",\ "packageDependencies": [\ ["allure-js-commons", "workspace:packages/allure-js-commons"],\ + ["@babel/cli", "virtual:3b04c8c38dde7165df844f9cd74e94cc47d78164564600cf56ba5f8c6011d25ef0d3afc13d610f3da970f6807c830914053ff96a43c86ba17f3ec650dfd687d3#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/plugin-transform-modules-commonjs", "virtual:3b04c8c38dde7165df844f9cd74e94cc47d78164564600cf56ba5f8c6011d25ef0d3afc13d610f3da970f6807c830914053ff96a43c86ba17f3ec650dfd687d3#npm:7.24.6"],\ + ["@babel/preset-env", "virtual:3b04c8c38dde7165df844f9cd74e94cc47d78164564600cf56ba5f8c6011d25ef0d3afc13d610f3da970f6807c830914053ff96a43c86ba17f3ec650dfd687d3#npm:7.24.6"],\ + ["@babel/preset-typescript", "virtual:3b04c8c38dde7165df844f9cd74e94cc47d78164564600cf56ba5f8c6011d25ef0d3afc13d610f3da970f6807c830914053ff96a43c86ba17f3ec650dfd687d3#npm:7.24.6"],\ + ["@types/babel__core", "npm:7.20.5"],\ + ["@types/babel__preset-env", "npm:7.9.6"],\ ["@types/eslint", "npm:8.56.3"],\ ["@types/md5", "npm:2.3.5"],\ ["@types/node", "npm:20.11.20"],\ @@ -5083,13 +6427,11 @@ const RAW_RUNTIME_STATE = ["eslint-plugin-no-null", "virtual:a59b12f7fe7bf3b80fc61d73eaaa33af60483f6ce31789d384fbe8ef169791f667d2559ec5f2fbae1a273a658ce021f1f5f1ea0718c56f81b30ad4e95a5668dd#npm:1.0.2"],\ ["eslint-plugin-prefer-arrow", "virtual:a59b12f7fe7bf3b80fc61d73eaaa33af60483f6ce31789d384fbe8ef169791f667d2559ec5f2fbae1a273a658ce021f1f5f1ea0718c56f81b30ad4e95a5668dd#npm:1.2.3"],\ ["expect", "npm:29.7.0"],\ - ["glob", "npm:10.3.10"],\ ["md5", "npm:2.3.0"],\ ["npm-run-all2", "npm:6.2.0"],\ ["properties", "npm:1.2.1"],\ ["rimraf", "npm:5.0.5"],\ ["source-map-support", "npm:0.5.21"],\ - ["strip-ansi", "npm:5.2.0"],\ ["ts-node", "virtual:3c6c31eedba60f6d4a0031098f0272720e7414162569ae8f58388d36f8e79683154a59f38a8e5aece9f0d5e45421fab86d5311a37a1c1aec338de3c79151496a#npm:10.9.2"],\ ["tslib", "npm:2.6.2"],\ ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"],\ @@ -5103,23 +6445,23 @@ const RAW_RUNTIME_STATE = "packageLocation": "./packages/allure-mocha/",\ "packageDependencies": [\ ["allure-mocha", "workspace:packages/allure-mocha"],\ - ["@rollup/plugin-commonjs", "virtual:606d5fd11adc18cba076ddb26a9b3adaf466a45eef985b60ea990c3ead5fe6bcc20990b0ed8d0763c4a8c861cdc2277964415bf12191df7c6923d8e78816abf5#npm:25.0.7"],\ - ["@rollup/plugin-node-resolve", "virtual:606d5fd11adc18cba076ddb26a9b3adaf466a45eef985b60ea990c3ead5fe6bcc20990b0ed8d0763c4a8c861cdc2277964415bf12191df7c6923d8e78816abf5#npm:15.2.3"],\ - ["@rollup/plugin-typescript", "virtual:606d5fd11adc18cba076ddb26a9b3adaf466a45eef985b60ea990c3ead5fe6bcc20990b0ed8d0763c4a8c861cdc2277964415bf12191df7c6923d8e78816abf5#npm:11.1.6"],\ - ["@testdeck/mocha", "npm:0.3.3"],\ + ["@babel/cli", "virtual:3b04c8c38dde7165df844f9cd74e94cc47d78164564600cf56ba5f8c6011d25ef0d3afc13d610f3da970f6807c830914053ff96a43c86ba17f3ec650dfd687d3#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/preset-env", "virtual:3b04c8c38dde7165df844f9cd74e94cc47d78164564600cf56ba5f8c6011d25ef0d3afc13d610f3da970f6807c830914053ff96a43c86ba17f3ec650dfd687d3#npm:7.24.6"],\ + ["@babel/preset-typescript", "virtual:3b04c8c38dde7165df844f9cd74e94cc47d78164564600cf56ba5f8c6011d25ef0d3afc13d610f3da970f6807c830914053ff96a43c86ba17f3ec650dfd687d3#npm:7.24.6"],\ + ["@types/babel__core", "npm:7.20.5"],\ + ["@types/babel__preset-env", "npm:7.9.6"],\ ["@types/chai", "npm:4.3.12"],\ ["@types/eslint", "npm:8.56.3"],\ ["@types/mocha", "npm:10.0.6"],\ ["@types/node", "npm:20.11.20"],\ - ["@types/sinon", "npm:17.0.3"],\ ["@typescript-eslint/eslint-plugin", "virtual:a59b12f7fe7bf3b80fc61d73eaaa33af60483f6ce31789d384fbe8ef169791f667d2559ec5f2fbae1a273a658ce021f1f5f1ea0718c56f81b30ad4e95a5668dd#npm:7.10.0"],\ ["@typescript-eslint/parser", "virtual:a59b12f7fe7bf3b80fc61d73eaaa33af60483f6ce31789d384fbe8ef169791f667d2559ec5f2fbae1a273a658ce021f1f5f1ea0718c56f81b30ad4e95a5668dd#npm:7.10.0"],\ ["allure-js-commons", "workspace:packages/allure-js-commons"],\ - ["allure-vitest", "workspace:packages/allure-vitest"],\ + ["babel-plugin-add-module-exports", "npm:1.0.4"],\ ["chai", "npm:4.4.1"],\ ["chai-like", "virtual:606d5fd11adc18cba076ddb26a9b3adaf466a45eef985b60ea990c3ead5fe6bcc20990b0ed8d0763c4a8c861cdc2277964415bf12191df7c6923d8e78816abf5#npm:1.1.1"],\ ["chai-things", "npm:0.2.0"],\ - ["codecov", "npm:3.8.2"],\ ["eslint", "npm:8.57.0"],\ ["eslint-config-prettier", "virtual:a59b12f7fe7bf3b80fc61d73eaaa33af60483f6ce31789d384fbe8ef169791f667d2559ec5f2fbae1a273a658ce021f1f5f1ea0718c56f81b30ad4e95a5668dd#npm:9.1.0"],\ ["eslint-plugin-import", "virtual:a59b12f7fe7bf3b80fc61d73eaaa33af60483f6ce31789d384fbe8ef169791f667d2559ec5f2fbae1a273a658ce021f1f5f1ea0718c56f81b30ad4e95a5668dd#npm:2.29.1"],\ @@ -5127,13 +6469,9 @@ const RAW_RUNTIME_STATE = ["eslint-plugin-n", "virtual:3b04c8c38dde7165df844f9cd74e94cc47d78164564600cf56ba5f8c6011d25ef0d3afc13d610f3da970f6807c830914053ff96a43c86ba17f3ec650dfd687d3#npm:17.7.0"],\ ["eslint-plugin-no-null", "virtual:a59b12f7fe7bf3b80fc61d73eaaa33af60483f6ce31789d384fbe8ef169791f667d2559ec5f2fbae1a273a658ce021f1f5f1ea0718c56f81b30ad4e95a5668dd#npm:1.0.2"],\ ["eslint-plugin-prefer-arrow", "virtual:a59b12f7fe7bf3b80fc61d73eaaa33af60483f6ce31789d384fbe8ef169791f667d2559ec5f2fbae1a273a658ce021f1f5f1ea0718c56f81b30ad4e95a5668dd#npm:1.2.3"],\ - ["fs-jetpack", "npm:4.3.1"],\ - ["glob", "npm:10.3.12"],\ ["mocha", "npm:10.3.0"],\ ["npm-run-all2", "npm:6.1.2"],\ ["rimraf", "npm:5.0.5"],\ - ["rollup", "npm:4.14.1"],\ - ["sinon", "npm:18.0.0"],\ ["source-map-support", "npm:0.5.21"],\ ["ts-node", "virtual:3c6c31eedba60f6d4a0031098f0272720e7414162569ae8f58388d36f8e79683154a59f38a8e5aece9f0d5e45421fab86d5311a37a1c1aec338de3c79151496a#npm:10.9.2"],\ ["tslib", "npm:2.6.2"],\ @@ -5148,12 +6486,15 @@ const RAW_RUNTIME_STATE = "packageLocation": "./packages/allure-playwright/",\ "packageDependencies": [\ ["allure-playwright", "workspace:packages/allure-playwright"],\ + ["@babel/cli", "virtual:3b04c8c38dde7165df844f9cd74e94cc47d78164564600cf56ba5f8c6011d25ef0d3afc13d610f3da970f6807c830914053ff96a43c86ba17f3ec650dfd687d3#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/plugin-transform-modules-commonjs", "virtual:3b04c8c38dde7165df844f9cd74e94cc47d78164564600cf56ba5f8c6011d25ef0d3afc13d610f3da970f6807c830914053ff96a43c86ba17f3ec650dfd687d3#npm:7.24.6"],\ + ["@babel/preset-env", "virtual:3b04c8c38dde7165df844f9cd74e94cc47d78164564600cf56ba5f8c6011d25ef0d3afc13d610f3da970f6807c830914053ff96a43c86ba17f3ec650dfd687d3#npm:7.24.6"],\ + ["@babel/preset-typescript", "virtual:3b04c8c38dde7165df844f9cd74e94cc47d78164564600cf56ba5f8c6011d25ef0d3afc13d610f3da970f6807c830914053ff96a43c86ba17f3ec650dfd687d3#npm:7.24.6"],\ ["@playwright/test", "npm:1.41.2"],\ - ["@rollup/plugin-commonjs", "virtual:3b04c8c38dde7165df844f9cd74e94cc47d78164564600cf56ba5f8c6011d25ef0d3afc13d610f3da970f6807c830914053ff96a43c86ba17f3ec650dfd687d3#npm:25.0.7"],\ - ["@rollup/plugin-node-resolve", "virtual:3b04c8c38dde7165df844f9cd74e94cc47d78164564600cf56ba5f8c6011d25ef0d3afc13d610f3da970f6807c830914053ff96a43c86ba17f3ec650dfd687d3#npm:15.2.3"],\ - ["@rollup/plugin-typescript", "virtual:3b04c8c38dde7165df844f9cd74e94cc47d78164564600cf56ba5f8c6011d25ef0d3afc13d610f3da970f6807c830914053ff96a43c86ba17f3ec650dfd687d3#npm:11.1.6"],\ + ["@types/babel__core", "npm:7.20.5"],\ + ["@types/babel__preset-env", "npm:7.9.6"],\ ["@types/eslint", "npm:8.56.3"],\ - ["@types/md5", "npm:2.3.5"],\ ["@types/node", "npm:20.11.20"],\ ["@typescript-eslint/eslint-plugin", "virtual:a59b12f7fe7bf3b80fc61d73eaaa33af60483f6ce31789d384fbe8ef169791f667d2559ec5f2fbae1a273a658ce021f1f5f1ea0718c56f81b30ad4e95a5668dd#npm:7.10.0"],\ ["@typescript-eslint/parser", "virtual:a59b12f7fe7bf3b80fc61d73eaaa33af60483f6ce31789d384fbe8ef169791f667d2559ec5f2fbae1a273a658ce021f1f5f1ea0718c56f81b30ad4e95a5668dd#npm:7.10.0"],\ @@ -5165,14 +6506,8 @@ const RAW_RUNTIME_STATE = ["eslint-plugin-n", "virtual:3b04c8c38dde7165df844f9cd74e94cc47d78164564600cf56ba5f8c6011d25ef0d3afc13d610f3da970f6807c830914053ff96a43c86ba17f3ec650dfd687d3#npm:17.7.0"],\ ["eslint-plugin-no-null", "virtual:a59b12f7fe7bf3b80fc61d73eaaa33af60483f6ce31789d384fbe8ef169791f667d2559ec5f2fbae1a273a658ce021f1f5f1ea0718c56f81b30ad4e95a5668dd#npm:1.0.2"],\ ["eslint-plugin-prefer-arrow", "virtual:a59b12f7fe7bf3b80fc61d73eaaa33af60483f6ce31789d384fbe8ef169791f667d2559ec5f2fbae1a273a658ce021f1f5f1ea0718c56f81b30ad4e95a5668dd#npm:1.2.3"],\ - ["glob", "npm:10.3.12"],\ - ["md5", "npm:2.3.0"],\ ["npm-run-all2", "npm:6.1.2"],\ - ["properties", "npm:1.2.1"],\ ["rimraf", "npm:5.0.5"],\ - ["rollup", "npm:4.14.3"],\ - ["strip-ansi", "npm:5.2.0"],\ - ["tslib", "npm:2.6.2"],\ ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"],\ ["vitest", "virtual:3b04c8c38dde7165df844f9cd74e94cc47d78164564600cf56ba5f8c6011d25ef0d3afc13d610f3da970f6807c830914053ff96a43c86ba17f3ec650dfd687d3#npm:1.5.0"]\ ],\ @@ -5184,9 +6519,6 @@ const RAW_RUNTIME_STATE = "packageLocation": "./packages/allure-vitest/",\ "packageDependencies": [\ ["allure-vitest", "workspace:packages/allure-vitest"],\ - ["@rollup/plugin-commonjs", "virtual:f37ad3099f3665d5bbc9ee71081416c8874087a5d9739472f56367e210ca9246356f462b31407a28e510bc022801edd4632f86364db715287d62bd50b42e2c00#npm:25.0.7"],\ - ["@rollup/plugin-node-resolve", "virtual:f37ad3099f3665d5bbc9ee71081416c8874087a5d9739472f56367e210ca9246356f462b31407a28e510bc022801edd4632f86364db715287d62bd50b42e2c00#npm:15.2.3"],\ - ["@rollup/plugin-typescript", "virtual:f37ad3099f3665d5bbc9ee71081416c8874087a5d9739472f56367e210ca9246356f462b31407a28e510bc022801edd4632f86364db715287d62bd50b42e2c00#npm:11.1.6"],\ ["@types/eslint", "npm:8.56.3"],\ ["@types/node", "npm:20.11.20"],\ ["@typescript-eslint/eslint-plugin", "virtual:a59b12f7fe7bf3b80fc61d73eaaa33af60483f6ce31789d384fbe8ef169791f667d2559ec5f2fbae1a273a658ce021f1f5f1ea0718c56f81b30ad4e95a5668dd#npm:7.10.0"],\ @@ -5199,11 +6531,8 @@ const RAW_RUNTIME_STATE = ["eslint-plugin-n", "virtual:3b04c8c38dde7165df844f9cd74e94cc47d78164564600cf56ba5f8c6011d25ef0d3afc13d610f3da970f6807c830914053ff96a43c86ba17f3ec650dfd687d3#npm:17.7.0"],\ ["eslint-plugin-no-null", "virtual:a59b12f7fe7bf3b80fc61d73eaaa33af60483f6ce31789d384fbe8ef169791f667d2559ec5f2fbae1a273a658ce021f1f5f1ea0718c56f81b30ad4e95a5668dd#npm:1.0.2"],\ ["eslint-plugin-prefer-arrow", "virtual:a59b12f7fe7bf3b80fc61d73eaaa33af60483f6ce31789d384fbe8ef169791f667d2559ec5f2fbae1a273a658ce021f1f5f1ea0718c56f81b30ad4e95a5668dd#npm:1.2.3"],\ - ["glob", "npm:10.3.15"],\ ["npm-run-all2", "npm:6.1.2"],\ ["rimraf", "npm:5.0.5"],\ - ["rollup", "npm:4.17.2"],\ - ["tslib", "npm:2.6.2"],\ ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"],\ ["vite", "virtual:2f9daa1930b183306bde3dc7e714ee575aa41ff3acb75cdf2fcb34391dad7237f537ce69f083adbbac3edcae14a47c578e0a2a94691380d68bd7c3ac03078496#npm:5.1.4"],\ ["vitest", "virtual:f37ad3099f3665d5bbc9ee71081416c8874087a5d9739472f56367e210ca9246356f462b31407a28e510bc022801edd4632f86364db715287d62bd50b42e2c00#npm:1.3.1"]\ @@ -5378,15 +6707,6 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ - ["argv", [\ - ["npm:0.0.2", {\ - "packageLocation": "./.yarn/cache/argv-npm-0.0.2-48b22895d8-5670f77bb2.zip/node_modules/argv/",\ - "packageDependencies": [\ - ["argv", "npm:0.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ ["array-buffer-byte-length", [\ ["npm:1.0.1", {\ "packageLocation": "./.yarn/cache/array-buffer-byte-length-npm-1.0.1-e7afc30010-53524e08f4.zip/node_modules/array-buffer-byte-length/",\ @@ -5694,6 +7014,15 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["babel-plugin-add-module-exports", [\ + ["npm:1.0.4", {\ + "packageLocation": "./.yarn/cache/babel-plugin-add-module-exports-npm-1.0.4-b465d45ef9-abf38d7140.zip/node_modules/babel-plugin-add-module-exports/",\ + "packageDependencies": [\ + ["babel-plugin-add-module-exports", "npm:1.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["babel-plugin-istanbul", [\ ["npm:6.1.1", {\ "packageLocation": "./.yarn/cache/babel-plugin-istanbul-npm-6.1.1-df824055e4-ffd436bb2a.zip/node_modules/babel-plugin-istanbul/",\ @@ -5721,6 +7050,78 @@ const RAW_RUNTIME_STATE = "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/",\ + "packageDependencies": [\ + ["babel-plugin-polyfill-corejs2", "npm:0.4.11"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:0.4.11", {\ + "packageLocation": "./.yarn/__virtual__/babel-plugin-polyfill-corejs2-virtual-4e0032ad14/0/cache/babel-plugin-polyfill-corejs2-npm-0.4.11-77e1239277-9c79908bed.zip/node_modules/babel-plugin-polyfill-corejs2/",\ + "packageDependencies": [\ + ["babel-plugin-polyfill-corejs2", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:0.4.11"],\ + ["@babel/compat-data", "npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-define-polyfill-provider", "virtual:4e0032ad14c250554f65da6dabf7a9bb08acf20454297972ceb02253acaa5a047af730a04c45f8668d5a71d4b411ca415c55660ae34a0f753a503681e3694149#npm:0.6.2"],\ + ["@types/babel__core", "npm:7.20.5"],\ + ["semver", "npm:6.3.1"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["babel-plugin-polyfill-corejs3", [\ + ["npm:0.10.4", {\ + "packageLocation": "./.yarn/cache/babel-plugin-polyfill-corejs3-npm-0.10.4-f40fa174d8-a69ed5a95b.zip/node_modules/babel-plugin-polyfill-corejs3/",\ + "packageDependencies": [\ + ["babel-plugin-polyfill-corejs3", "npm:0.10.4"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:0.10.4", {\ + "packageLocation": "./.yarn/__virtual__/babel-plugin-polyfill-corejs3-virtual-4f564d1498/0/cache/babel-plugin-polyfill-corejs3-npm-0.10.4-f40fa174d8-a69ed5a95b.zip/node_modules/babel-plugin-polyfill-corejs3/",\ + "packageDependencies": [\ + ["babel-plugin-polyfill-corejs3", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:0.10.4"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-define-polyfill-provider", "virtual:4e0032ad14c250554f65da6dabf7a9bb08acf20454297972ceb02253acaa5a047af730a04c45f8668d5a71d4b411ca415c55660ae34a0f753a503681e3694149#npm:0.6.2"],\ + ["@types/babel__core", "npm:7.20.5"],\ + ["core-js-compat", "npm:3.37.1"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["babel-plugin-polyfill-regenerator", [\ + ["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": [\ + ["babel-plugin-polyfill-regenerator", "npm:0.6.2"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:0.6.2", {\ + "packageLocation": "./.yarn/__virtual__/babel-plugin-polyfill-regenerator-virtual-92e3bdd198/0/cache/babel-plugin-polyfill-regenerator-npm-0.6.2-c6dd64788f-1502335710.zip/node_modules/babel-plugin-polyfill-regenerator/",\ + "packageDependencies": [\ + ["babel-plugin-polyfill-regenerator", "virtual:0986e27c45f8440f44d2117a0ab78ff12583dbc66d7d554decd10597a97b078c7f78f8354194dbd1275deedcdb31093e9adb19ef5d53e27583be3c0e7a5cd2a7#npm:0.6.2"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/helper-define-polyfill-provider", "virtual:4e0032ad14c250554f65da6dabf7a9bb08acf20454297972ceb02253acaa5a047af730a04c45f8668d5a71d4b411ca415c55660ae34a0f753a503681e3694149#npm:0.6.2"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["babel-preset-current-node-syntax", [\ ["npm:1.0.1", {\ "packageLocation": "./.yarn/cache/babel-preset-current-node-syntax-npm-1.0.1-849ec71e32-94561959cb.zip/node_modules/babel-preset-current-node-syntax/",\ @@ -6032,16 +7433,6 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ - ["bs-logger", [\ - ["npm:0.2.6", {\ - "packageLocation": "./.yarn/cache/bs-logger-npm-0.2.6-7670f88b66-e6d3ff8269.zip/node_modules/bs-logger/",\ - "packageDependencies": [\ - ["bs-logger", "npm:0.2.6"],\ - ["fast-json-stable-stringify", "npm:2.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ ["bser", [\ ["npm:2.1.1", {\ "packageLocation": "./.yarn/cache/bser-npm-2.1.1-cc902055ce-edba1b65ba.zip/node_modules/bser/",\ @@ -6904,32 +8295,6 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ - ["codecov", [\ - ["npm:3.8.2", {\ - "packageLocation": "./.yarn/cache/codecov-npm-3.8.2-bf74e2b02f-51409f12e2.zip/node_modules/codecov/",\ - "packageDependencies": [\ - ["codecov", "npm:3.8.2"],\ - ["argv", "npm:0.0.2"],\ - ["ignore-walk", "npm:3.0.3"],\ - ["js-yaml", "npm:3.14.1"],\ - ["teeny-request", "npm:7.0.1"],\ - ["urlgrey", "npm:0.4.4"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:3.8.3", {\ - "packageLocation": "./.yarn/cache/codecov-npm-3.8.3-05fdf00df8-b10e6b9511.zip/node_modules/codecov/",\ - "packageDependencies": [\ - ["codecov", "npm:3.8.3"],\ - ["argv", "npm:0.0.2"],\ - ["ignore-walk", "npm:3.0.4"],\ - ["js-yaml", "npm:3.14.1"],\ - ["teeny-request", "npm:7.1.1"],\ - ["urlgrey", "npm:1.0.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/",\ @@ -7077,15 +8442,6 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ - ["commondir", [\ - ["npm:1.0.1", {\ - "packageLocation": "./.yarn/cache/commondir-npm-1.0.1-291b790340-4620bc4936.zip/node_modules/commondir/",\ - "packageDependencies": [\ - ["commondir", "npm:1.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ ["concat-map", [\ ["npm:0.0.1", {\ "packageLocation": "./.yarn/cache/concat-map-npm-0.0.1-85a921b7ee-9680699c8e.zip/node_modules/concat-map/",\ @@ -7124,6 +8480,16 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["core-js-compat", [\ + ["npm:3.37.1", {\ + "packageLocation": "./.yarn/cache/core-js-compat-npm-3.37.1-51cca8bb53-30c6fdbd9f.zip/node_modules/core-js-compat/",\ + "packageDependencies": [\ + ["core-js-compat", "npm:3.37.1"],\ + ["browserslist", "npm:4.23.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["core-util-is", [\ ["npm:1.0.2", {\ "packageLocation": "./.yarn/cache/core-util-is-npm-1.0.2-9fc2b94dc3-d0f7587346.zip/node_modules/core-util-is/",\ @@ -8171,6 +9537,36 @@ const RAW_RUNTIME_STATE = ["@esbuild/win32-x64", "npm:0.19.12"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:0.21.4", {\ + "packageLocation": "./.yarn/unplugged/esbuild-npm-0.21.4-2dbf54e35d/node_modules/esbuild/",\ + "packageDependencies": [\ + ["esbuild", "npm:0.21.4"],\ + ["@esbuild/aix-ppc64", "npm:0.21.4"],\ + ["@esbuild/android-arm", "npm:0.21.4"],\ + ["@esbuild/android-arm64", "npm:0.21.4"],\ + ["@esbuild/android-x64", "npm:0.21.4"],\ + ["@esbuild/darwin-arm64", "npm:0.21.4"],\ + ["@esbuild/darwin-x64", "npm:0.21.4"],\ + ["@esbuild/freebsd-arm64", "npm:0.21.4"],\ + ["@esbuild/freebsd-x64", "npm:0.21.4"],\ + ["@esbuild/linux-arm", "npm:0.21.4"],\ + ["@esbuild/linux-arm64", "npm:0.21.4"],\ + ["@esbuild/linux-ia32", "npm:0.21.4"],\ + ["@esbuild/linux-loong64", "npm:0.21.4"],\ + ["@esbuild/linux-mips64el", "npm:0.21.4"],\ + ["@esbuild/linux-ppc64", "npm:0.21.4"],\ + ["@esbuild/linux-riscv64", "npm:0.21.4"],\ + ["@esbuild/linux-s390x", "npm:0.21.4"],\ + ["@esbuild/linux-x64", "npm:0.21.4"],\ + ["@esbuild/netbsd-x64", "npm:0.21.4"],\ + ["@esbuild/openbsd-x64", "npm:0.21.4"],\ + ["@esbuild/sunos-x64", "npm:0.21.4"],\ + ["@esbuild/win32-arm64", "npm:0.21.4"],\ + ["@esbuild/win32-ia32", "npm:0.21.4"],\ + ["@esbuild/win32-x64", "npm:0.21.4"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["escalade", [\ @@ -8628,13 +10024,6 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["estree-walker", [\ - ["npm:2.0.2", {\ - "packageLocation": "./.yarn/cache/estree-walker-npm-2.0.2-dfab42f65c-b02109c5d4.zip/node_modules/estree-walker/",\ - "packageDependencies": [\ - ["estree-walker", "npm:2.0.2"]\ - ],\ - "linkType": "HARD"\ - }],\ ["npm:3.0.3", {\ "packageLocation": "./.yarn/cache/estree-walker-npm-3.0.3-0372979673-a65728d572.zip/node_modules/estree-walker/",\ "packageDependencies": [\ @@ -8889,16 +10278,6 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ - ["fast-url-parser", [\ - ["npm:1.1.3", {\ - "packageLocation": "./.yarn/cache/fast-url-parser-npm-1.1.3-9be698120a-6d33f46ce9.zip/node_modules/fast-url-parser/",\ - "packageDependencies": [\ - ["fast-url-parser", "npm:1.1.3"],\ - ["punycode", "npm:1.4.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ ["fastq", [\ ["npm:1.17.1", {\ "packageLocation": "./.yarn/cache/fastq-npm-1.17.1-56d4554993-a443180068.zip/node_modules/fastq/",\ @@ -9217,17 +10596,6 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ - ["fs-jetpack", [\ - ["npm:4.3.1", {\ - "packageLocation": "./.yarn/cache/fs-jetpack-npm-4.3.1-db8c1c3372-cb6636a083.zip/node_modules/fs-jetpack/",\ - "packageDependencies": [\ - ["fs-jetpack", "npm:4.3.1"],\ - ["minimatch", "npm:3.1.2"],\ - ["rimraf", "npm:2.7.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ ["fs-minipass", [\ ["npm:2.1.0", {\ "packageLocation": "./.yarn/cache/fs-minipass-npm-2.1.0-501ef87306-03191781e9.zip/node_modules/fs-minipass/",\ @@ -9246,6 +10614,15 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["fs-readdir-recursive", [\ + ["npm:1.1.0", {\ + "packageLocation": "./.yarn/cache/fs-readdir-recursive-npm-1.1.0-258e230a4b-d5e3fd8456.zip/node_modules/fs-readdir-recursive/",\ + "packageDependencies": [\ + ["fs-readdir-recursive", "npm:1.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["fs.realpath", [\ ["npm:1.0.0", {\ "packageLocation": "./.yarn/cache/fs.realpath-npm-1.0.0-c8f05d8126-e703107c28.zip/node_modules/fs.realpath/",\ @@ -9529,30 +10906,6 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "HARD"\ }],\ - ["npm:10.3.12", {\ - "packageLocation": "./.yarn/cache/glob-npm-10.3.12-f2e90133a0-9e8186abc2.zip/node_modules/glob/",\ - "packageDependencies": [\ - ["glob", "npm:10.3.12"],\ - ["foreground-child", "npm:3.1.1"],\ - ["jackspeak", "npm:2.3.6"],\ - ["minimatch", "npm:9.0.3"],\ - ["minipass", "npm:7.0.4"],\ - ["path-scurry", "npm:1.10.2"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:10.3.15", {\ - "packageLocation": "./.yarn/cache/glob-npm-10.3.15-501e87a16f-b2b1c74309.zip/node_modules/glob/",\ - "packageDependencies": [\ - ["glob", "npm:10.3.15"],\ - ["foreground-child", "npm:3.1.1"],\ - ["jackspeak", "npm:2.3.6"],\ - ["minimatch", "npm:9.0.3"],\ - ["minipass", "npm:7.0.4"],\ - ["path-scurry", "npm:1.11.1"]\ - ],\ - "linkType": "HARD"\ - }],\ ["npm:6.0.1", {\ "packageLocation": "./.yarn/cache/glob-npm-6.0.1-8e9c8956b1-a0670bc51f.zip/node_modules/glob/",\ "packageDependencies": [\ @@ -9931,16 +11284,6 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["http-proxy-agent", [\ - ["npm:4.0.1", {\ - "packageLocation": "./.yarn/cache/http-proxy-agent-npm-4.0.1-ce9ef61788-2e17f5519f.zip/node_modules/http-proxy-agent/",\ - "packageDependencies": [\ - ["http-proxy-agent", "npm:4.0.1"],\ - ["@tootallnate/once", "npm:1.1.2"],\ - ["agent-base", "npm:6.0.2"],\ - ["debug", "virtual:1ff4b5f90832ba0a9c93ba1223af226e44ba70c1126a3740d93562b97bc36544e896a5e95908196f7458713e6a6089a34bfc67362fc6df7fa093bd06c878be47#npm:4.3.4"]\ - ],\ - "linkType": "HARD"\ - }],\ ["npm:5.0.0", {\ "packageLocation": "./.yarn/cache/http-proxy-agent-npm-5.0.0-7f1f121b83-5ee19423bc.zip/node_modules/http-proxy-agent/",\ "packageDependencies": [\ @@ -10092,24 +11435,6 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ - ["ignore-walk", [\ - ["npm:3.0.3", {\ - "packageLocation": "./.yarn/cache/ignore-walk-npm-3.0.3-7d7a6bd656-7e18321e75.zip/node_modules/ignore-walk/",\ - "packageDependencies": [\ - ["ignore-walk", "npm:3.0.3"],\ - ["minimatch", "npm:3.1.2"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:3.0.4", {\ - "packageLocation": "./.yarn/cache/ignore-walk-npm-3.0.4-dc5095baa0-4f56a0a40a.zip/node_modules/ignore-walk/",\ - "packageDependencies": [\ - ["ignore-walk", "npm:3.0.4"],\ - ["minimatch", "npm:3.1.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ ["import-fresh", [\ ["npm:3.3.0", {\ "packageLocation": "./.yarn/cache/import-fresh-npm-3.3.0-3e34265ca9-2cacfad06e.zip/node_modules/import-fresh/",\ @@ -10482,18 +11807,9 @@ const RAW_RUNTIME_STATE = ]],\ ["is-lambda", [\ ["npm:1.0.1", {\ - "packageLocation": "./.yarn/cache/is-lambda-npm-1.0.1-7ab55bc8a8-93a32f0194.zip/node_modules/is-lambda/",\ - "packageDependencies": [\ - ["is-lambda", "npm:1.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["is-module", [\ - ["npm:1.0.0", {\ - "packageLocation": "./.yarn/cache/is-module-npm-1.0.0-79ba918283-8cd5390730.zip/node_modules/is-module/",\ + "packageLocation": "./.yarn/cache/is-lambda-npm-1.0.1-7ab55bc8a8-93a32f0194.zip/node_modules/is-lambda/",\ "packageDependencies": [\ - ["is-module", "npm:1.0.0"]\ + ["is-lambda", "npm:1.0.1"]\ ],\ "linkType": "HARD"\ }]\ @@ -10569,16 +11885,6 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ - ["is-reference", [\ - ["npm:1.2.1", {\ - "packageLocation": "./.yarn/cache/is-reference-npm-1.2.1-87ca1743c8-e7b48149f8.zip/node_modules/is-reference/",\ - "packageDependencies": [\ - ["is-reference", "npm:1.2.1"],\ - ["@types/estree", "npm:1.0.5"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ ["is-regex", [\ ["npm:1.1.4", {\ "packageLocation": "./.yarn/cache/is-regex-npm-1.1.4-cca193ef11-36d9174d16.zip/node_modules/is-regex/",\ @@ -10835,32 +12141,6 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ - ["jest", [\ - ["npm:29.7.0", {\ - "packageLocation": "./.yarn/cache/jest-npm-29.7.0-d8dd095b81-97023d7844.zip/node_modules/jest/",\ - "packageDependencies": [\ - ["jest", "npm:29.7.0"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:f22a73b9c1f4f0e2e1c95f149ccb41c96491085e4b2ecd3061e554432306c4df6c2976f3c6ce3a6d62abead3ccc6cf04e88b4aebf1de7356583819351e2346e2#npm:29.7.0", {\ - "packageLocation": "./.yarn/__virtual__/jest-virtual-9144a8521d/0/cache/jest-npm-29.7.0-d8dd095b81-97023d7844.zip/node_modules/jest/",\ - "packageDependencies": [\ - ["jest", "virtual:f22a73b9c1f4f0e2e1c95f149ccb41c96491085e4b2ecd3061e554432306c4df6c2976f3c6ce3a6d62abead3ccc6cf04e88b4aebf1de7356583819351e2346e2#npm:29.7.0"],\ - ["@jest/core", "virtual:f22a73b9c1f4f0e2e1c95f149ccb41c96491085e4b2ecd3061e554432306c4df6c2976f3c6ce3a6d62abead3ccc6cf04e88b4aebf1de7356583819351e2346e2#npm:29.7.0"],\ - ["@jest/types", "npm:29.6.3"],\ - ["@types/node-notifier", null],\ - ["import-local", "npm:3.1.0"],\ - ["jest-cli", "virtual:f22a73b9c1f4f0e2e1c95f149ccb41c96491085e4b2ecd3061e554432306c4df6c2976f3c6ce3a6d62abead3ccc6cf04e88b4aebf1de7356583819351e2346e2#npm:29.7.0"],\ - ["node-notifier", null]\ - ],\ - "packagePeers": [\ - "@types/node-notifier",\ - "node-notifier"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ ["jest-changed-files", [\ ["npm:29.7.0", {\ "packageLocation": "./.yarn/cache/jest-changed-files-npm-29.7.0-c2dcd10525-3d93742e56.zip/node_modules/jest-changed-files/",\ @@ -11545,17 +12825,17 @@ const RAW_RUNTIME_STATE = ["http-proxy-agent", "npm:5.0.0"],\ ["https-proxy-agent", "npm:5.0.1"],\ ["is-potential-custom-element-name", "npm:1.0.1"],\ - ["nwsapi", "npm:2.2.7"],\ + ["nwsapi", "npm:2.2.10"],\ ["parse5", "npm:7.1.2"],\ ["saxes", "npm:6.0.0"],\ ["symbol-tree", "npm:3.2.4"],\ - ["tough-cookie", "npm:4.1.3"],\ + ["tough-cookie", "npm:4.1.4"],\ ["w3c-xmlserializer", "npm:4.0.0"],\ ["webidl-conversions", "npm:7.0.0"],\ ["whatwg-encoding", "npm:2.0.0"],\ ["whatwg-mimetype", "npm:3.0.0"],\ ["whatwg-url", "npm:11.0.0"],\ - ["ws", "virtual:631444271834b14a4c05c24b453350b0eab92a47fe2f2989cd49078830f0e6fd167b5ce97dc88fd305b29be9ebc565b0f5f576d0d9aed657ccd6a87d0f276739#npm:8.16.0"],\ + ["ws", "virtual:631444271834b14a4c05c24b453350b0eab92a47fe2f2989cd49078830f0e6fd167b5ce97dc88fd305b29be9ebc565b0f5f576d0d9aed657ccd6a87d0f276739#npm:8.17.0"],\ ["xml-name-validator", "npm:4.0.0"]\ ],\ "packagePeers": [\ @@ -11566,6 +12846,13 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["jsesc", [\ + ["npm:0.5.0", {\ + "packageLocation": "./.yarn/cache/jsesc-npm-0.5.0-6827074492-fab949f585.zip/node_modules/jsesc/",\ + "packageDependencies": [\ + ["jsesc", "npm:0.5.0"]\ + ],\ + "linkType": "HARD"\ + }],\ ["npm:2.5.2", {\ "packageLocation": "./.yarn/cache/jsesc-npm-2.5.2-c5acb78804-d2096abdcd.zip/node_modules/jsesc/",\ "packageDependencies": [\ @@ -12006,20 +13293,20 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ - ["lodash.get", [\ - ["npm:4.4.2", {\ - "packageLocation": "./.yarn/cache/lodash.get-npm-4.4.2-7bda64ed87-2a4925f6e8.zip/node_modules/lodash.get/",\ + ["lodash.debounce", [\ + ["npm:4.0.8", {\ + "packageLocation": "./.yarn/cache/lodash.debounce-npm-4.0.8-f1d6e09799-cd0b281978.zip/node_modules/lodash.debounce/",\ "packageDependencies": [\ - ["lodash.get", "npm:4.4.2"]\ + ["lodash.debounce", "npm:4.0.8"]\ ],\ "linkType": "HARD"\ }]\ ]],\ - ["lodash.memoize", [\ - ["npm:4.1.2", {\ - "packageLocation": "./.yarn/cache/lodash.memoize-npm-4.1.2-0e6250041f-192b2168f3.zip/node_modules/lodash.memoize/",\ + ["lodash.get", [\ + ["npm:4.4.2", {\ + "packageLocation": "./.yarn/cache/lodash.get-npm-4.4.2-7bda64ed87-2a4925f6e8.zip/node_modules/lodash.get/",\ "packageDependencies": [\ - ["lodash.memoize", "npm:4.1.2"]\ + ["lodash.get", "npm:4.4.2"]\ ],\ "linkType": "HARD"\ }]\ @@ -12191,17 +13478,18 @@ const RAW_RUNTIME_STATE = ["@jridgewell/sourcemap-codec", "npm:1.4.15"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:0.30.8", {\ - "packageLocation": "./.yarn/cache/magic-string-npm-0.30.8-0378572eee-72ab63817a.zip/node_modules/magic-string/",\ - "packageDependencies": [\ - ["magic-string", "npm:0.30.8"],\ - ["@jridgewell/sourcemap-codec", "npm:1.4.15"]\ - ],\ - "linkType": "HARD"\ }]\ ]],\ ["make-dir", [\ + ["npm:2.1.0", {\ + "packageLocation": "./.yarn/cache/make-dir-npm-2.1.0-1ddaf205e7-043548886b.zip/node_modules/make-dir/",\ + "packageDependencies": [\ + ["make-dir", "npm:2.1.0"],\ + ["pify", "npm:4.0.1"],\ + ["semver", "npm:5.7.2"]\ + ],\ + "linkType": "HARD"\ + }],\ ["npm:4.0.0", {\ "packageLocation": "./.yarn/cache/make-dir-npm-4.0.0-ec3cd921cc-bf0731a2dd.zip/node_modules/make-dir/",\ "packageDependencies": [\ @@ -12655,30 +13943,6 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ - ["mocha-multi-reporters", [\ - ["npm:1.5.1", {\ - "packageLocation": "./.yarn/cache/mocha-multi-reporters-npm-1.5.1-0a1088aed5-ae15b9fc12.zip/node_modules/mocha-multi-reporters/",\ - "packageDependencies": [\ - ["mocha-multi-reporters", "npm:1.5.1"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:f22a73b9c1f4f0e2e1c95f149ccb41c96491085e4b2ecd3061e554432306c4df6c2976f3c6ce3a6d62abead3ccc6cf04e88b4aebf1de7356583819351e2346e2#npm:1.5.1", {\ - "packageLocation": "./.yarn/__virtual__/mocha-multi-reporters-virtual-aa5497e335/0/cache/mocha-multi-reporters-npm-1.5.1-0a1088aed5-ae15b9fc12.zip/node_modules/mocha-multi-reporters/",\ - "packageDependencies": [\ - ["mocha-multi-reporters", "virtual:f22a73b9c1f4f0e2e1c95f149ccb41c96491085e4b2ecd3061e554432306c4df6c2976f3c6ce3a6d62abead3ccc6cf04e88b4aebf1de7356583819351e2346e2#npm:1.5.1"],\ - ["@types/mocha", "npm:10.0.6"],\ - ["debug", "virtual:1ff4b5f90832ba0a9c93ba1223af226e44ba70c1126a3740d93562b97bc36544e896a5e95908196f7458713e6a6089a34bfc67362fc6df7fa093bd06c878be47#npm:4.3.4"],\ - ["lodash", "npm:4.17.21"],\ - ["mocha", "npm:10.3.0"]\ - ],\ - "packagePeers": [\ - "@types/mocha",\ - "mocha"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ ["moment", [\ ["npm:2.30.1", {\ "packageLocation": "./.yarn/cache/moment-npm-2.30.1-1c51a5c631-ae42d876d4.zip/node_modules/moment/",\ @@ -12908,18 +14172,21 @@ const RAW_RUNTIME_STATE = "packageLocation": "./packages/newman-reporter-allure/",\ "packageDependencies": [\ ["newman-reporter-allure", "workspace:packages/newman-reporter-allure"],\ - ["@rollup/plugin-commonjs", "virtual:f37ad3099f3665d5bbc9ee71081416c8874087a5d9739472f56367e210ca9246356f462b31407a28e510bc022801edd4632f86364db715287d62bd50b42e2c00#npm:25.0.7"],\ - ["@rollup/plugin-node-resolve", "virtual:f37ad3099f3665d5bbc9ee71081416c8874087a5d9739472f56367e210ca9246356f462b31407a28e510bc022801edd4632f86364db715287d62bd50b42e2c00#npm:15.2.3"],\ - ["@rollup/plugin-typescript", "virtual:f37ad3099f3665d5bbc9ee71081416c8874087a5d9739472f56367e210ca9246356f462b31407a28e510bc022801edd4632f86364db715287d62bd50b42e2c00#npm:11.1.6"],\ + ["@babel/cli", "virtual:3b04c8c38dde7165df844f9cd74e94cc47d78164564600cf56ba5f8c6011d25ef0d3afc13d610f3da970f6807c830914053ff96a43c86ba17f3ec650dfd687d3#npm:7.24.6"],\ + ["@babel/core", "npm:7.24.6"],\ + ["@babel/preset-env", "virtual:3b04c8c38dde7165df844f9cd74e94cc47d78164564600cf56ba5f8c6011d25ef0d3afc13d610f3da970f6807c830914053ff96a43c86ba17f3ec650dfd687d3#npm:7.24.6"],\ + ["@babel/preset-typescript", "virtual:3b04c8c38dde7165df844f9cd74e94cc47d78164564600cf56ba5f8c6011d25ef0d3afc13d610f3da970f6807c830914053ff96a43c86ba17f3ec650dfd687d3#npm:7.24.6"],\ + ["@types/babel__core", "npm:7.20.5"],\ + ["@types/babel__preset-env", "npm:7.9.6"],\ ["@types/eslint", "npm:8.56.3"],\ ["@types/newman", "npm:5.3.6"],\ ["@types/node", "npm:20.12.12"],\ ["@types/postman-collection", "npm:3.5.10"],\ ["@types/source-map-support", "npm:0.5.10"],\ - ["@types/yargs", "npm:17.0.32"],\ ["@typescript-eslint/eslint-plugin", "virtual:a59b12f7fe7bf3b80fc61d73eaaa33af60483f6ce31789d384fbe8ef169791f667d2559ec5f2fbae1a273a658ce021f1f5f1ea0718c56f81b30ad4e95a5668dd#npm:7.10.0"],\ ["@typescript-eslint/parser", "virtual:a59b12f7fe7bf3b80fc61d73eaaa33af60483f6ce31789d384fbe8ef169791f667d2559ec5f2fbae1a273a658ce021f1f5f1ea0718c56f81b30ad4e95a5668dd#npm:7.10.0"],\ ["allure-js-commons", "workspace:packages/allure-js-commons"],\ + ["babel-plugin-add-module-exports", "npm:1.0.4"],\ ["eslint", "npm:8.57.0"],\ ["eslint-config-prettier", "virtual:a59b12f7fe7bf3b80fc61d73eaaa33af60483f6ce31789d384fbe8ef169791f667d2559ec5f2fbae1a273a658ce021f1f5f1ea0718c56f81b30ad4e95a5668dd#npm:9.1.0"],\ ["eslint-plugin-import", "virtual:a59b12f7fe7bf3b80fc61d73eaaa33af60483f6ce31789d384fbe8ef169791f667d2559ec5f2fbae1a273a658ce021f1f5f1ea0718c56f81b30ad4e95a5668dd#npm:2.29.1"],\ @@ -12928,13 +14195,11 @@ const RAW_RUNTIME_STATE = ["eslint-plugin-no-null", "virtual:a59b12f7fe7bf3b80fc61d73eaaa33af60483f6ce31789d384fbe8ef169791f667d2559ec5f2fbae1a273a658ce021f1f5f1ea0718c56f81b30ad4e95a5668dd#npm:1.0.2"],\ ["eslint-plugin-prefer-arrow", "virtual:a59b12f7fe7bf3b80fc61d73eaaa33af60483f6ce31789d384fbe8ef169791f667d2559ec5f2fbae1a273a658ce021f1f5f1ea0718c56f81b30ad4e95a5668dd#npm:1.2.3"],\ ["expect", "npm:29.7.0"],\ - ["glob", "npm:10.3.12"],\ ["msw", "virtual:4218b6600acb0c8954cf8466c426bad46f922b530cc59d6a89bb99bced31fcbe6a5d15569d569781ed3b73521fe5248efe67b2809fc9b4d1dcf8adddcf65f3df#npm:1.3.3"],\ ["newman", "npm:6.1.2"],\ ["npm-run-all2", "npm:6.1.2"],\ ["postman-collection", "npm:4.3.0"],\ ["rimraf", "npm:5.0.5"],\ - ["rollup", "npm:4.17.2"],\ ["source-map-support", "npm:0.5.21"],\ ["ts-node", "virtual:4218b6600acb0c8954cf8466c426bad46f922b530cc59d6a89bb99bced31fcbe6a5d15569d569781ed3b73521fe5248efe67b2809fc9b4d1dcf8adddcf65f3df#npm:10.9.2"],\ ["tslib", "npm:2.6.2"],\ @@ -13165,10 +14430,10 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["nwsapi", [\ - ["npm:2.2.7", {\ - "packageLocation": "./.yarn/cache/nwsapi-npm-2.2.7-3bed340fab-22c002080f.zip/node_modules/nwsapi/",\ + ["npm:2.2.10", {\ + "packageLocation": "./.yarn/cache/nwsapi-npm-2.2.10-d9c9a3f5f1-b310e9dd08.zip/node_modules/nwsapi/",\ "packageDependencies": [\ - ["nwsapi", "npm:2.2.7"]\ + ["nwsapi", "npm:2.2.10"]\ ],\ "linkType": "HARD"\ }]\ @@ -13685,24 +14950,6 @@ const RAW_RUNTIME_STATE = ["minipass", "npm:7.0.4"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:1.10.2", {\ - "packageLocation": "./.yarn/cache/path-scurry-npm-1.10.2-676482c764-a2bbbe8dc2.zip/node_modules/path-scurry/",\ - "packageDependencies": [\ - ["path-scurry", "npm:1.10.2"],\ - ["lru-cache", "npm:10.2.0"],\ - ["minipass", "npm:7.0.4"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:1.11.1", {\ - "packageLocation": "./.yarn/cache/path-scurry-npm-1.11.1-aaf8c339af-5e8845c159.zip/node_modules/path-scurry/",\ - "packageDependencies": [\ - ["path-scurry", "npm:1.11.1"],\ - ["lru-cache", "npm:10.2.0"],\ - ["minipass", "npm:7.0.4"]\ - ],\ - "linkType": "HARD"\ }]\ ]],\ ["path-to-regexp", [\ @@ -13810,6 +15057,13 @@ const RAW_RUNTIME_STATE = ["pify", "npm:2.3.0"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:4.0.1", {\ + "packageLocation": "./.yarn/cache/pify-npm-4.0.1-062756097b-8b97cbf9dc.zip/node_modules/pify/",\ + "packageDependencies": [\ + ["pify", "npm:4.0.1"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["pinkie", [\ @@ -14299,13 +15553,6 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["punycode", [\ - ["npm:1.4.1", {\ - "packageLocation": "./.yarn/cache/punycode-npm-1.4.1-be4c23e6d2-af2700dde1.zip/node_modules/punycode/",\ - "packageDependencies": [\ - ["punycode", "npm:1.4.1"]\ - ],\ - "linkType": "HARD"\ - }],\ ["npm:2.3.1", {\ "packageLocation": "./.yarn/cache/punycode-npm-2.3.1-97543c420d-febdc4362b.zip/node_modules/punycode/",\ "packageDependencies": [\ @@ -14511,6 +15758,44 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["regenerate", [\ + ["npm:1.4.2", {\ + "packageLocation": "./.yarn/cache/regenerate-npm-1.4.2-b296c5b63a-dc6c95ae4b.zip/node_modules/regenerate/",\ + "packageDependencies": [\ + ["regenerate", "npm:1.4.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["regenerate-unicode-properties", [\ + ["npm:10.1.1", {\ + "packageLocation": "./.yarn/cache/regenerate-unicode-properties-npm-10.1.1-07b52ba05f-b855152efd.zip/node_modules/regenerate-unicode-properties/",\ + "packageDependencies": [\ + ["regenerate-unicode-properties", "npm:10.1.1"],\ + ["regenerate", "npm:1.4.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["regenerator-runtime", [\ + ["npm:0.14.1", {\ + "packageLocation": "./.yarn/cache/regenerator-runtime-npm-0.14.1-a6c97c609a-5db3161abb.zip/node_modules/regenerator-runtime/",\ + "packageDependencies": [\ + ["regenerator-runtime", "npm:0.14.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["regenerator-transform", [\ + ["npm:0.15.2", {\ + "packageLocation": "./.yarn/cache/regenerator-transform-npm-0.15.2-109e57a69f-c4fdcb46d1.zip/node_modules/regenerator-transform/",\ + "packageDependencies": [\ + ["regenerator-transform", "npm:0.15.2"],\ + ["@babel/runtime", "npm:7.24.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["regexp-match-indices", [\ ["npm:1.0.2", {\ "packageLocation": "./.yarn/cache/regexp-match-indices-npm-1.0.2-9d4b896d66-da86ddebf4.zip/node_modules/regexp-match-indices/",\ @@ -14543,6 +15828,31 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["regexpu-core", [\ + ["npm:5.3.2", {\ + "packageLocation": "./.yarn/cache/regexpu-core-npm-5.3.2-89effc52a2-ed0d7c66d8.zip/node_modules/regexpu-core/",\ + "packageDependencies": [\ + ["regexpu-core", "npm:5.3.2"],\ + ["@babel/regjsgen", "npm:0.8.0"],\ + ["regenerate", "npm:1.4.2"],\ + ["regenerate-unicode-properties", "npm:10.1.1"],\ + ["regjsparser", "npm:0.9.1"],\ + ["unicode-match-property-ecmascript", "npm:2.0.0"],\ + ["unicode-match-property-value-ecmascript", "npm:2.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["regjsparser", [\ + ["npm:0.9.1", {\ + "packageLocation": "./.yarn/cache/regjsparser-npm-0.9.1-47cd7c2ee2-be7757ef76.zip/node_modules/regjsparser/",\ + "packageDependencies": [\ + ["regjsparser", "npm:0.9.1"],\ + ["jsesc", "npm:0.5.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["relateurl", [\ ["npm:0.2.7", {\ "packageLocation": "./.yarn/cache/relateurl-npm-0.2.7-7687cc0a2a-f5d6ba58f2.zip/node_modules/relateurl/",\ @@ -14793,152 +16103,6 @@ const RAW_RUNTIME_STATE = ["fsevents", "patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:4.13.0", {\ - "packageLocation": "./.yarn/cache/rollup-npm-4.13.0-6c6a010f12-3ebced8ad4.zip/node_modules/rollup/",\ - "packageDependencies": [\ - ["rollup", "npm:4.13.0"],\ - ["@rollup/rollup-android-arm-eabi", "npm:4.13.0"],\ - ["@rollup/rollup-android-arm64", "npm:4.13.0"],\ - ["@rollup/rollup-darwin-arm64", "npm:4.13.0"],\ - ["@rollup/rollup-darwin-x64", "npm:4.13.0"],\ - ["@rollup/rollup-linux-arm-gnueabihf", "npm:4.13.0"],\ - ["@rollup/rollup-linux-arm64-gnu", "npm:4.13.0"],\ - ["@rollup/rollup-linux-arm64-musl", "npm:4.13.0"],\ - ["@rollup/rollup-linux-riscv64-gnu", "npm:4.13.0"],\ - ["@rollup/rollup-linux-x64-gnu", "npm:4.13.0"],\ - ["@rollup/rollup-linux-x64-musl", "npm:4.13.0"],\ - ["@rollup/rollup-win32-arm64-msvc", "npm:4.13.0"],\ - ["@rollup/rollup-win32-ia32-msvc", "npm:4.13.0"],\ - ["@rollup/rollup-win32-x64-msvc", "npm:4.13.0"],\ - ["@types/estree", "npm:1.0.5"],\ - ["fsevents", "patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:4.14.1", {\ - "packageLocation": "./.yarn/cache/rollup-npm-4.14.1-e9caaf5723-dd7db60061.zip/node_modules/rollup/",\ - "packageDependencies": [\ - ["rollup", "npm:4.14.1"],\ - ["@rollup/rollup-android-arm-eabi", "npm:4.14.1"],\ - ["@rollup/rollup-android-arm64", "npm:4.14.1"],\ - ["@rollup/rollup-darwin-arm64", "npm:4.14.1"],\ - ["@rollup/rollup-darwin-x64", "npm:4.14.1"],\ - ["@rollup/rollup-linux-arm-gnueabihf", "npm:4.14.1"],\ - ["@rollup/rollup-linux-arm64-gnu", "npm:4.14.1"],\ - ["@rollup/rollup-linux-arm64-musl", "npm:4.14.1"],\ - ["@rollup/rollup-linux-powerpc64le-gnu", "npm:4.14.1"],\ - ["@rollup/rollup-linux-riscv64-gnu", "npm:4.14.1"],\ - ["@rollup/rollup-linux-s390x-gnu", "npm:4.14.1"],\ - ["@rollup/rollup-linux-x64-gnu", "npm:4.14.1"],\ - ["@rollup/rollup-linux-x64-musl", "npm:4.14.1"],\ - ["@rollup/rollup-win32-arm64-msvc", "npm:4.14.1"],\ - ["@rollup/rollup-win32-ia32-msvc", "npm:4.14.1"],\ - ["@rollup/rollup-win32-x64-msvc", "npm:4.14.1"],\ - ["@types/estree", "npm:1.0.5"],\ - ["fsevents", "patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:4.14.3", {\ - "packageLocation": "./.yarn/cache/rollup-npm-4.14.3-28fe395e65-caff654b73.zip/node_modules/rollup/",\ - "packageDependencies": [\ - ["rollup", "npm:4.14.3"],\ - ["@rollup/rollup-android-arm-eabi", "npm:4.14.3"],\ - ["@rollup/rollup-android-arm64", "npm:4.14.3"],\ - ["@rollup/rollup-darwin-arm64", "npm:4.14.3"],\ - ["@rollup/rollup-darwin-x64", "npm:4.14.3"],\ - ["@rollup/rollup-linux-arm-gnueabihf", "npm:4.14.3"],\ - ["@rollup/rollup-linux-arm-musleabihf", "npm:4.14.3"],\ - ["@rollup/rollup-linux-arm64-gnu", "npm:4.14.3"],\ - ["@rollup/rollup-linux-arm64-musl", "npm:4.14.3"],\ - ["@rollup/rollup-linux-powerpc64le-gnu", "npm:4.14.3"],\ - ["@rollup/rollup-linux-riscv64-gnu", "npm:4.14.3"],\ - ["@rollup/rollup-linux-s390x-gnu", "npm:4.14.3"],\ - ["@rollup/rollup-linux-x64-gnu", "npm:4.14.3"],\ - ["@rollup/rollup-linux-x64-musl", "npm:4.14.3"],\ - ["@rollup/rollup-win32-arm64-msvc", "npm:4.14.3"],\ - ["@rollup/rollup-win32-ia32-msvc", "npm:4.14.3"],\ - ["@rollup/rollup-win32-x64-msvc", "npm:4.14.3"],\ - ["@types/estree", "npm:1.0.5"],\ - ["fsevents", "patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:4.16.3", {\ - "packageLocation": "./.yarn/cache/rollup-npm-4.16.3-8cfdf7120d-2fa17e0464.zip/node_modules/rollup/",\ - "packageDependencies": [\ - ["rollup", "npm:4.16.3"],\ - ["@rollup/rollup-android-arm-eabi", "npm:4.16.3"],\ - ["@rollup/rollup-android-arm64", "npm:4.16.3"],\ - ["@rollup/rollup-darwin-arm64", "npm:4.16.3"],\ - ["@rollup/rollup-darwin-x64", "npm:4.16.3"],\ - ["@rollup/rollup-linux-arm-gnueabihf", "npm:4.16.3"],\ - ["@rollup/rollup-linux-arm-musleabihf", "npm:4.16.3"],\ - ["@rollup/rollup-linux-arm64-gnu", "npm:4.16.3"],\ - ["@rollup/rollup-linux-arm64-musl", "npm:4.16.3"],\ - ["@rollup/rollup-linux-powerpc64le-gnu", "npm:4.16.3"],\ - ["@rollup/rollup-linux-riscv64-gnu", "npm:4.16.3"],\ - ["@rollup/rollup-linux-s390x-gnu", "npm:4.16.3"],\ - ["@rollup/rollup-linux-x64-gnu", "npm:4.16.3"],\ - ["@rollup/rollup-linux-x64-musl", "npm:4.16.3"],\ - ["@rollup/rollup-win32-arm64-msvc", "npm:4.16.3"],\ - ["@rollup/rollup-win32-ia32-msvc", "npm:4.16.3"],\ - ["@rollup/rollup-win32-x64-msvc", "npm:4.16.3"],\ - ["@types/estree", "npm:1.0.5"],\ - ["fsevents", "patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:4.17.1", {\ - "packageLocation": "./.yarn/cache/rollup-npm-4.17.1-7b824476d8-4072609e24.zip/node_modules/rollup/",\ - "packageDependencies": [\ - ["rollup", "npm:4.17.1"],\ - ["@rollup/rollup-android-arm-eabi", "npm:4.17.1"],\ - ["@rollup/rollup-android-arm64", "npm:4.17.1"],\ - ["@rollup/rollup-darwin-arm64", "npm:4.17.1"],\ - ["@rollup/rollup-darwin-x64", "npm:4.17.1"],\ - ["@rollup/rollup-linux-arm-gnueabihf", "npm:4.17.1"],\ - ["@rollup/rollup-linux-arm-musleabihf", "npm:4.17.1"],\ - ["@rollup/rollup-linux-arm64-gnu", "npm:4.17.1"],\ - ["@rollup/rollup-linux-arm64-musl", "npm:4.17.1"],\ - ["@rollup/rollup-linux-powerpc64le-gnu", "npm:4.17.1"],\ - ["@rollup/rollup-linux-riscv64-gnu", "npm:4.17.1"],\ - ["@rollup/rollup-linux-s390x-gnu", "npm:4.17.1"],\ - ["@rollup/rollup-linux-x64-gnu", "npm:4.17.1"],\ - ["@rollup/rollup-linux-x64-musl", "npm:4.17.1"],\ - ["@rollup/rollup-win32-arm64-msvc", "npm:4.17.1"],\ - ["@rollup/rollup-win32-ia32-msvc", "npm:4.17.1"],\ - ["@rollup/rollup-win32-x64-msvc", "npm:4.17.1"],\ - ["@types/estree", "npm:1.0.5"],\ - ["fsevents", "patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:4.17.2", {\ - "packageLocation": "./.yarn/cache/rollup-npm-4.17.2-f7b114774f-a021d57f73.zip/node_modules/rollup/",\ - "packageDependencies": [\ - ["rollup", "npm:4.17.2"],\ - ["@rollup/rollup-android-arm-eabi", "npm:4.17.2"],\ - ["@rollup/rollup-android-arm64", "npm:4.17.2"],\ - ["@rollup/rollup-darwin-arm64", "npm:4.17.2"],\ - ["@rollup/rollup-darwin-x64", "npm:4.17.2"],\ - ["@rollup/rollup-linux-arm-gnueabihf", "npm:4.17.2"],\ - ["@rollup/rollup-linux-arm-musleabihf", "npm:4.17.2"],\ - ["@rollup/rollup-linux-arm64-gnu", "npm:4.17.2"],\ - ["@rollup/rollup-linux-arm64-musl", "npm:4.17.2"],\ - ["@rollup/rollup-linux-powerpc64le-gnu", "npm:4.17.2"],\ - ["@rollup/rollup-linux-riscv64-gnu", "npm:4.17.2"],\ - ["@rollup/rollup-linux-s390x-gnu", "npm:4.17.2"],\ - ["@rollup/rollup-linux-x64-gnu", "npm:4.17.2"],\ - ["@rollup/rollup-linux-x64-musl", "npm:4.17.2"],\ - ["@rollup/rollup-win32-arm64-msvc", "npm:4.17.2"],\ - ["@rollup/rollup-win32-ia32-msvc", "npm:4.17.2"],\ - ["@rollup/rollup-win32-x64-msvc", "npm:4.17.2"],\ - ["@types/estree", "npm:1.0.5"],\ - ["fsevents", "patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1"]\ - ],\ - "linkType": "HARD"\ }]\ ]],\ ["run-async", [\ @@ -15293,6 +16457,13 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["slash", [\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/slash-npm-2.0.0-69009eac54-512d435073.zip/node_modules/slash/",\ + "packageDependencies": [\ + ["slash", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ ["npm:3.0.0", {\ "packageLocation": "./.yarn/cache/slash-npm-3.0.0-b87de2279a-94a93fff61.zip/node_modules/slash/",\ "packageDependencies": [\ @@ -15605,16 +16776,6 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ - ["stream-events", [\ - ["npm:1.0.5", {\ - "packageLocation": "./.yarn/cache/stream-events-npm-1.0.5-38468a7cf3-969ce82e34.zip/node_modules/stream-events/",\ - "packageDependencies": [\ - ["stream-events", "npm:1.0.5"],\ - ["stubs", "npm:3.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ ["stream-length", [\ ["npm:1.0.2", {\ "packageLocation": "./.yarn/cache/stream-length-npm-1.0.2-8e4ebc2c4d-676c8c4eb8.zip/node_modules/stream-length/",\ @@ -15871,15 +17032,6 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ - ["stubs", [\ - ["npm:3.0.0", {\ - "packageLocation": "./.yarn/cache/stubs-npm-3.0.0-22bb785265-dec7b82186.zip/node_modules/stubs/",\ - "packageDependencies": [\ - ["stubs", "npm:3.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ ["supports-color", [\ ["npm:5.5.0", {\ "packageLocation": "./.yarn/cache/supports-color-npm-5.5.0-183ac537bc-5f505c6fa3.zip/node_modules/supports-color/",\ @@ -16026,32 +17178,6 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ - ["teeny-request", [\ - ["npm:7.0.1", {\ - "packageLocation": "./.yarn/cache/teeny-request-npm-7.0.1-7cdc0d7119-c5a53d00fd.zip/node_modules/teeny-request/",\ - "packageDependencies": [\ - ["teeny-request", "npm:7.0.1"],\ - ["http-proxy-agent", "npm:4.0.1"],\ - ["https-proxy-agent", "npm:5.0.1"],\ - ["node-fetch", "virtual:cdb982d44661592ebbafe07217ec5667306fff17f8dbc22b1882f154f5441ce269c7f262b8dec39e8a578c85f617449d9637bdc205e5c7921787c7268959c215#npm:2.7.0"],\ - ["stream-events", "npm:1.0.5"],\ - ["uuid", "npm:8.3.2"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:7.1.1", {\ - "packageLocation": "./.yarn/cache/teeny-request-npm-7.1.1-6e3d43d40d-ee2cda5ba4.zip/node_modules/teeny-request/",\ - "packageDependencies": [\ - ["teeny-request", "npm:7.1.1"],\ - ["http-proxy-agent", "npm:4.0.1"],\ - ["https-proxy-agent", "npm:5.0.1"],\ - ["node-fetch", "virtual:cdb982d44661592ebbafe07217ec5667306fff17f8dbc22b1882f154f5441ce269c7f262b8dec39e8a578c85f617449d9637bdc205e5c7921787c7268959c215#npm:2.7.0"],\ - ["stream-events", "npm:1.0.5"],\ - ["uuid", "npm:8.3.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ ["teleport-javascript", [\ ["npm:1.0.0", {\ "packageLocation": "./.yarn/cache/teleport-javascript-npm-1.0.0-37f8b877b8-7d68d117b1.zip/node_modules/teleport-javascript/",\ @@ -16279,6 +17405,17 @@ const RAW_RUNTIME_STATE = ["url-parse", "npm:1.5.10"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:4.1.4", {\ + "packageLocation": "./.yarn/cache/tough-cookie-npm-4.1.4-8293cc8bd5-75663f4e2c.zip/node_modules/tough-cookie/",\ + "packageDependencies": [\ + ["tough-cookie", "npm:4.1.4"],\ + ["psl", "npm:1.9.0"],\ + ["punycode", "npm:2.3.1"],\ + ["universalify", "npm:0.2.0"],\ + ["url-parse", "npm:1.5.10"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["tr46", [\ @@ -16362,56 +17499,6 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ - ["ts-jest", [\ - ["npm:29.1.2", {\ - "packageLocation": "./.yarn/cache/ts-jest-npm-29.1.2-22ab85b861-5e40e7b933.zip/node_modules/ts-jest/",\ - "packageDependencies": [\ - ["ts-jest", "npm:29.1.2"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:f22a73b9c1f4f0e2e1c95f149ccb41c96491085e4b2ecd3061e554432306c4df6c2976f3c6ce3a6d62abead3ccc6cf04e88b4aebf1de7356583819351e2346e2#npm:29.1.2", {\ - "packageLocation": "./.yarn/__virtual__/ts-jest-virtual-03a80283ed/0/cache/ts-jest-npm-29.1.2-22ab85b861-5e40e7b933.zip/node_modules/ts-jest/",\ - "packageDependencies": [\ - ["ts-jest", "virtual:f22a73b9c1f4f0e2e1c95f149ccb41c96491085e4b2ecd3061e554432306c4df6c2976f3c6ce3a6d62abead3ccc6cf04e88b4aebf1de7356583819351e2346e2#npm:29.1.2"],\ - ["@babel/core", null],\ - ["@jest/types", "npm:29.6.3"],\ - ["@types/babel-jest", null],\ - ["@types/babel__core", null],\ - ["@types/esbuild", null],\ - ["@types/jest", "npm:29.5.12"],\ - ["@types/jest__types", null],\ - ["@types/typescript", null],\ - ["babel-jest", null],\ - ["bs-logger", "npm:0.2.6"],\ - ["esbuild", null],\ - ["fast-json-stable-stringify", "npm:2.1.0"],\ - ["jest", "virtual:f22a73b9c1f4f0e2e1c95f149ccb41c96491085e4b2ecd3061e554432306c4df6c2976f3c6ce3a6d62abead3ccc6cf04e88b4aebf1de7356583819351e2346e2#npm:29.7.0"],\ - ["jest-util", "npm:29.7.0"],\ - ["json5", "npm:2.2.3"],\ - ["lodash.memoize", "npm:4.1.2"],\ - ["make-error", "npm:1.3.6"],\ - ["semver", "npm:7.6.0"],\ - ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"],\ - ["yargs-parser", "npm:21.1.1"]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@jest/types",\ - "@types/babel-jest",\ - "@types/babel__core",\ - "@types/esbuild",\ - "@types/jest",\ - "@types/jest__types",\ - "@types/typescript",\ - "babel-jest",\ - "esbuild",\ - "jest",\ - "typescript"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ ["ts-node", [\ ["npm:10.9.2", {\ "packageLocation": "./.yarn/cache/ts-node-npm-10.9.2-3f3890b9ac-a91a15b3c9.zip/node_modules/ts-node/",\ @@ -16777,6 +17864,44 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["unicode-canonical-property-names-ecmascript", [\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/unicode-canonical-property-names-ecmascript-npm-2.0.0-d2d8554a14-39be078afd.zip/node_modules/unicode-canonical-property-names-ecmascript/",\ + "packageDependencies": [\ + ["unicode-canonical-property-names-ecmascript", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["unicode-match-property-ecmascript", [\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/unicode-match-property-ecmascript-npm-2.0.0-97a00fd52c-1f34a7434a.zip/node_modules/unicode-match-property-ecmascript/",\ + "packageDependencies": [\ + ["unicode-match-property-ecmascript", "npm:2.0.0"],\ + ["unicode-canonical-property-names-ecmascript", "npm:2.0.0"],\ + ["unicode-property-aliases-ecmascript", "npm:2.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["unicode-match-property-value-ecmascript", [\ + ["npm:2.1.0", {\ + "packageLocation": "./.yarn/cache/unicode-match-property-value-ecmascript-npm-2.1.0-65e24443e6-06661bc8ab.zip/node_modules/unicode-match-property-value-ecmascript/",\ + "packageDependencies": [\ + ["unicode-match-property-value-ecmascript", "npm:2.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["unicode-property-aliases-ecmascript", [\ + ["npm:2.1.0", {\ + "packageLocation": "./.yarn/cache/unicode-property-aliases-ecmascript-npm-2.1.0-46779595f4-2435244318.zip/node_modules/unicode-property-aliases-ecmascript/",\ + "packageDependencies": [\ + ["unicode-property-aliases-ecmascript", "npm:2.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["unique-filename", [\ ["npm:3.0.0", {\ "packageLocation": "./.yarn/cache/unique-filename-npm-3.0.0-77d68e0a45-8e2f59b356.zip/node_modules/unique-filename/",\ @@ -16903,23 +18028,6 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ - ["urlgrey", [\ - ["npm:0.4.4", {\ - "packageLocation": "./.yarn/cache/urlgrey-npm-0.4.4-a1b175fb65-466082b15f.zip/node_modules/urlgrey/",\ - "packageDependencies": [\ - ["urlgrey", "npm:0.4.4"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:1.0.0", {\ - "packageLocation": "./.yarn/cache/urlgrey-npm-1.0.0-3a5d58c774-c981808dd2.zip/node_modules/urlgrey/",\ - "packageDependencies": [\ - ["urlgrey", "npm:1.0.0"],\ - ["fast-url-parser", "npm:1.1.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ ["userhome", [\ ["npm:1.0.0", {\ "packageLocation": "./.yarn/cache/userhome-npm-1.0.0-e9531b3025-78e2c4f4fc.zip/node_modules/userhome/",\ @@ -17890,10 +18998,10 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ - ["npm:8.16.0", {\ - "packageLocation": "./.yarn/cache/ws-npm-8.16.0-46943f6199-7c511c59e9.zip/node_modules/ws/",\ + ["npm:8.17.0", {\ + "packageLocation": "./.yarn/cache/ws-npm-8.17.0-05fb441faf-5e1dcb0ae7.zip/node_modules/ws/",\ "packageDependencies": [\ - ["ws", "npm:8.16.0"]\ + ["ws", "npm:8.17.0"]\ ],\ "linkType": "SOFT"\ }],\ @@ -17914,10 +19022,10 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "HARD"\ }],\ - ["virtual:631444271834b14a4c05c24b453350b0eab92a47fe2f2989cd49078830f0e6fd167b5ce97dc88fd305b29be9ebc565b0f5f576d0d9aed657ccd6a87d0f276739#npm:8.16.0", {\ - "packageLocation": "./.yarn/__virtual__/ws-virtual-42d6d5b473/0/cache/ws-npm-8.16.0-46943f6199-7c511c59e9.zip/node_modules/ws/",\ + ["virtual:631444271834b14a4c05c24b453350b0eab92a47fe2f2989cd49078830f0e6fd167b5ce97dc88fd305b29be9ebc565b0f5f576d0d9aed657ccd6a87d0f276739#npm:8.17.0", {\ + "packageLocation": "./.yarn/__virtual__/ws-virtual-df18adb653/0/cache/ws-npm-8.17.0-05fb441faf-5e1dcb0ae7.zip/node_modules/ws/",\ "packageDependencies": [\ - ["ws", "virtual:631444271834b14a4c05c24b453350b0eab92a47fe2f2989cd49078830f0e6fd167b5ce97dc88fd305b29be9ebc565b0f5f576d0d9aed657ccd6a87d0f276739#npm:8.16.0"],\ + ["ws", "virtual:631444271834b14a4c05c24b453350b0eab92a47fe2f2989cd49078830f0e6fd167b5ce97dc88fd305b29be9ebc565b0f5f576d0d9aed657ccd6a87d0f276739#npm:8.17.0"],\ ["@types/bufferutil", null],\ ["@types/utf-8-validate", null],\ ["bufferutil", null],\ diff --git a/.yarn/cache/@babel-cli-npm-7.24.6-c336524bb2-57421a3bc2.zip b/.yarn/cache/@babel-cli-npm-7.24.6-c336524bb2-57421a3bc2.zip new file mode 100644 index 000000000..3081ec2ae Binary files /dev/null and b/.yarn/cache/@babel-cli-npm-7.24.6-c336524bb2-57421a3bc2.zip differ diff --git a/.yarn/cache/@babel-code-frame-npm-7.24.6-214509ff08-e9b70af2a9.zip b/.yarn/cache/@babel-code-frame-npm-7.24.6-214509ff08-e9b70af2a9.zip new file mode 100644 index 000000000..b9cf5811d Binary files /dev/null and b/.yarn/cache/@babel-code-frame-npm-7.24.6-214509ff08-e9b70af2a9.zip differ diff --git a/.yarn/cache/@babel-compat-data-npm-7.24.6-5ab069e1c6-c355141e46.zip b/.yarn/cache/@babel-compat-data-npm-7.24.6-5ab069e1c6-c355141e46.zip new file mode 100644 index 000000000..127d27338 Binary files /dev/null and b/.yarn/cache/@babel-compat-data-npm-7.24.6-5ab069e1c6-c355141e46.zip differ diff --git a/.yarn/cache/@babel-core-npm-7.24.6-3091458f24-49cd61b999.zip b/.yarn/cache/@babel-core-npm-7.24.6-3091458f24-49cd61b999.zip new file mode 100644 index 000000000..94b1cf9b9 Binary files /dev/null and b/.yarn/cache/@babel-core-npm-7.24.6-3091458f24-49cd61b999.zip differ diff --git a/.yarn/cache/@babel-generator-npm-7.24.6-a40f137f24-247002f124.zip b/.yarn/cache/@babel-generator-npm-7.24.6-a40f137f24-247002f124.zip new file mode 100644 index 000000000..15fd2ff9d Binary files /dev/null and b/.yarn/cache/@babel-generator-npm-7.24.6-a40f137f24-247002f124.zip differ diff --git a/.yarn/cache/@babel-helper-annotate-as-pure-npm-7.24.6-6c9a7c5046-1fc1790a67.zip b/.yarn/cache/@babel-helper-annotate-as-pure-npm-7.24.6-6c9a7c5046-1fc1790a67.zip new file mode 100644 index 000000000..ca96d462d Binary files /dev/null and b/.yarn/cache/@babel-helper-annotate-as-pure-npm-7.24.6-6c9a7c5046-1fc1790a67.zip differ diff --git a/.yarn/cache/@babel-helper-builder-binary-assignment-operator-visitor-npm-7.24.6-6f7beb5e4d-4d30748f6f.zip b/.yarn/cache/@babel-helper-builder-binary-assignment-operator-visitor-npm-7.24.6-6f7beb5e4d-4d30748f6f.zip new file mode 100644 index 000000000..e20dff2d8 Binary files /dev/null and b/.yarn/cache/@babel-helper-builder-binary-assignment-operator-visitor-npm-7.24.6-6f7beb5e4d-4d30748f6f.zip differ diff --git a/.yarn/cache/@babel-helper-compilation-targets-npm-7.24.6-21a082c281-28f34f2c9e.zip b/.yarn/cache/@babel-helper-compilation-targets-npm-7.24.6-21a082c281-28f34f2c9e.zip new file mode 100644 index 000000000..8a0d7f740 Binary files /dev/null and b/.yarn/cache/@babel-helper-compilation-targets-npm-7.24.6-21a082c281-28f34f2c9e.zip differ diff --git a/.yarn/cache/@babel-helper-create-class-features-plugin-npm-7.24.6-28f41f5ade-f4c2bfccb9.zip b/.yarn/cache/@babel-helper-create-class-features-plugin-npm-7.24.6-28f41f5ade-f4c2bfccb9.zip new file mode 100644 index 000000000..10311d22d Binary files /dev/null and b/.yarn/cache/@babel-helper-create-class-features-plugin-npm-7.24.6-28f41f5ade-f4c2bfccb9.zip differ diff --git a/.yarn/cache/@babel-helper-create-regexp-features-plugin-npm-7.24.6-3b27514578-74e717c71d.zip b/.yarn/cache/@babel-helper-create-regexp-features-plugin-npm-7.24.6-3b27514578-74e717c71d.zip new file mode 100644 index 000000000..63252134c Binary files /dev/null and b/.yarn/cache/@babel-helper-create-regexp-features-plugin-npm-7.24.6-3b27514578-74e717c71d.zip differ diff --git a/.yarn/cache/@babel-helper-define-polyfill-provider-npm-0.6.2-554cbf22ae-bb32ec1202.zip b/.yarn/cache/@babel-helper-define-polyfill-provider-npm-0.6.2-554cbf22ae-bb32ec1202.zip new file mode 100644 index 000000000..44c41a85a Binary files /dev/null and b/.yarn/cache/@babel-helper-define-polyfill-provider-npm-0.6.2-554cbf22ae-bb32ec1202.zip differ diff --git a/.yarn/cache/@babel-helper-environment-visitor-npm-7.24.6-c8c9ac9733-9c2b3f1ee7.zip b/.yarn/cache/@babel-helper-environment-visitor-npm-7.24.6-c8c9ac9733-9c2b3f1ee7.zip new file mode 100644 index 000000000..faa42f55d Binary files /dev/null and b/.yarn/cache/@babel-helper-environment-visitor-npm-7.24.6-c8c9ac9733-9c2b3f1ee7.zip differ diff --git a/.yarn/cache/@babel-helper-function-name-npm-7.24.6-31619ed629-66c0669c16.zip b/.yarn/cache/@babel-helper-function-name-npm-7.24.6-31619ed629-66c0669c16.zip new file mode 100644 index 000000000..ecbe3ea73 Binary files /dev/null and b/.yarn/cache/@babel-helper-function-name-npm-7.24.6-31619ed629-66c0669c16.zip differ diff --git a/.yarn/cache/@babel-helper-hoist-variables-npm-7.24.6-728285ae51-4819b57439.zip b/.yarn/cache/@babel-helper-hoist-variables-npm-7.24.6-728285ae51-4819b57439.zip new file mode 100644 index 000000000..d488a3586 Binary files /dev/null and b/.yarn/cache/@babel-helper-hoist-variables-npm-7.24.6-728285ae51-4819b57439.zip differ diff --git a/.yarn/cache/@babel-helper-member-expression-to-functions-npm-7.24.6-63961cfa17-49198b0ceb.zip b/.yarn/cache/@babel-helper-member-expression-to-functions-npm-7.24.6-63961cfa17-49198b0ceb.zip new file mode 100644 index 000000000..630334cd7 Binary files /dev/null and b/.yarn/cache/@babel-helper-member-expression-to-functions-npm-7.24.6-63961cfa17-49198b0ceb.zip differ diff --git a/.yarn/cache/@babel-helper-module-imports-npm-7.24.6-be1121ea22-38c4432191.zip b/.yarn/cache/@babel-helper-module-imports-npm-7.24.6-be1121ea22-38c4432191.zip new file mode 100644 index 000000000..691916329 Binary files /dev/null and b/.yarn/cache/@babel-helper-module-imports-npm-7.24.6-be1121ea22-38c4432191.zip differ diff --git a/.yarn/cache/@babel-helper-module-transforms-npm-7.24.6-8226cd35ca-e162d0c1d8.zip b/.yarn/cache/@babel-helper-module-transforms-npm-7.24.6-8226cd35ca-e162d0c1d8.zip new file mode 100644 index 000000000..f385cb306 Binary files /dev/null and b/.yarn/cache/@babel-helper-module-transforms-npm-7.24.6-8226cd35ca-e162d0c1d8.zip differ diff --git a/.yarn/cache/@babel-helper-optimise-call-expression-npm-7.24.6-4e899dbddc-0f5e062bff.zip b/.yarn/cache/@babel-helper-optimise-call-expression-npm-7.24.6-4e899dbddc-0f5e062bff.zip new file mode 100644 index 000000000..04338d223 Binary files /dev/null and b/.yarn/cache/@babel-helper-optimise-call-expression-npm-7.24.6-4e899dbddc-0f5e062bff.zip differ diff --git a/.yarn/cache/@babel-helper-plugin-utils-npm-7.24.6-2ff922bbf5-0ac0a7a199.zip b/.yarn/cache/@babel-helper-plugin-utils-npm-7.24.6-2ff922bbf5-0ac0a7a199.zip new file mode 100644 index 000000000..cb635f605 Binary files /dev/null and b/.yarn/cache/@babel-helper-plugin-utils-npm-7.24.6-2ff922bbf5-0ac0a7a199.zip differ diff --git a/.yarn/cache/@babel-helper-remap-async-to-generator-npm-7.24.6-22bae2511b-35733c4d3b.zip b/.yarn/cache/@babel-helper-remap-async-to-generator-npm-7.24.6-22bae2511b-35733c4d3b.zip new file mode 100644 index 000000000..755a38408 Binary files /dev/null and b/.yarn/cache/@babel-helper-remap-async-to-generator-npm-7.24.6-22bae2511b-35733c4d3b.zip differ diff --git a/.yarn/cache/@babel-helper-replace-supers-npm-7.24.6-4e35f7e426-3456b9fee0.zip b/.yarn/cache/@babel-helper-replace-supers-npm-7.24.6-4e35f7e426-3456b9fee0.zip new file mode 100644 index 000000000..71fdbb88d Binary files /dev/null and b/.yarn/cache/@babel-helper-replace-supers-npm-7.24.6-4e35f7e426-3456b9fee0.zip differ diff --git a/.yarn/cache/@babel-helper-simple-access-npm-7.24.6-834fac9374-4649d08f3e.zip b/.yarn/cache/@babel-helper-simple-access-npm-7.24.6-834fac9374-4649d08f3e.zip new file mode 100644 index 000000000..fa2b09002 Binary files /dev/null and b/.yarn/cache/@babel-helper-simple-access-npm-7.24.6-834fac9374-4649d08f3e.zip differ diff --git a/.yarn/cache/@babel-helper-skip-transparent-expression-wrappers-npm-7.24.6-2a28dccfe2-697a161c8d.zip b/.yarn/cache/@babel-helper-skip-transparent-expression-wrappers-npm-7.24.6-2a28dccfe2-697a161c8d.zip new file mode 100644 index 000000000..0e5210335 Binary files /dev/null and b/.yarn/cache/@babel-helper-skip-transparent-expression-wrappers-npm-7.24.6-2a28dccfe2-697a161c8d.zip differ diff --git a/.yarn/cache/@babel-helper-split-export-declaration-npm-7.24.6-299e17324f-48ded9611f.zip b/.yarn/cache/@babel-helper-split-export-declaration-npm-7.24.6-299e17324f-48ded9611f.zip new file mode 100644 index 000000000..38f24db23 Binary files /dev/null and b/.yarn/cache/@babel-helper-split-export-declaration-npm-7.24.6-299e17324f-48ded9611f.zip differ diff --git a/.yarn/cache/@babel-helper-string-parser-npm-7.24.6-ab02401caf-a24631e138.zip b/.yarn/cache/@babel-helper-string-parser-npm-7.24.6-ab02401caf-a24631e138.zip new file mode 100644 index 000000000..4cf2c80d1 Binary files /dev/null and b/.yarn/cache/@babel-helper-string-parser-npm-7.24.6-ab02401caf-a24631e138.zip differ diff --git a/.yarn/cache/@babel-helper-validator-identifier-npm-7.24.6-cf629561b7-7e725ef068.zip b/.yarn/cache/@babel-helper-validator-identifier-npm-7.24.6-cf629561b7-7e725ef068.zip new file mode 100644 index 000000000..081744e9e Binary files /dev/null and b/.yarn/cache/@babel-helper-validator-identifier-npm-7.24.6-cf629561b7-7e725ef068.zip differ diff --git a/.yarn/cache/@babel-helper-validator-option-npm-7.24.6-f2eea7cb8e-5defb2da74.zip b/.yarn/cache/@babel-helper-validator-option-npm-7.24.6-f2eea7cb8e-5defb2da74.zip new file mode 100644 index 000000000..70ffef7df Binary files /dev/null and b/.yarn/cache/@babel-helper-validator-option-npm-7.24.6-f2eea7cb8e-5defb2da74.zip differ diff --git a/.yarn/cache/@babel-helper-wrap-function-npm-7.24.6-94850a64f2-8f0c6f4113.zip b/.yarn/cache/@babel-helper-wrap-function-npm-7.24.6-94850a64f2-8f0c6f4113.zip new file mode 100644 index 000000000..9a26a4a98 Binary files /dev/null and b/.yarn/cache/@babel-helper-wrap-function-npm-7.24.6-94850a64f2-8f0c6f4113.zip differ diff --git a/.yarn/cache/@babel-helpers-npm-7.24.6-57c593ca2f-9043f71406.zip b/.yarn/cache/@babel-helpers-npm-7.24.6-57c593ca2f-9043f71406.zip new file mode 100644 index 000000000..43197b22c Binary files /dev/null and b/.yarn/cache/@babel-helpers-npm-7.24.6-57c593ca2f-9043f71406.zip differ diff --git a/.yarn/cache/@babel-highlight-npm-7.24.6-ceb9bdeb2e-e11cd39ceb.zip b/.yarn/cache/@babel-highlight-npm-7.24.6-ceb9bdeb2e-e11cd39ceb.zip new file mode 100644 index 000000000..b161ac73f Binary files /dev/null and b/.yarn/cache/@babel-highlight-npm-7.24.6-ceb9bdeb2e-e11cd39ceb.zip differ diff --git a/.yarn/cache/@babel-parser-npm-7.24.6-3dfa1e0b98-48af4251d0.zip b/.yarn/cache/@babel-parser-npm-7.24.6-3dfa1e0b98-48af4251d0.zip new file mode 100644 index 000000000..811f6962a Binary files /dev/null and b/.yarn/cache/@babel-parser-npm-7.24.6-3dfa1e0b98-48af4251d0.zip differ diff --git a/.yarn/cache/@babel-plugin-bugfix-firefox-class-in-computed-class-key-npm-7.24.6-7aa892a23d-6db8f337ca.zip b/.yarn/cache/@babel-plugin-bugfix-firefox-class-in-computed-class-key-npm-7.24.6-7aa892a23d-6db8f337ca.zip new file mode 100644 index 000000000..bae1482e2 Binary files /dev/null and b/.yarn/cache/@babel-plugin-bugfix-firefox-class-in-computed-class-key-npm-7.24.6-7aa892a23d-6db8f337ca.zip differ diff --git a/.yarn/cache/@babel-plugin-bugfix-safari-id-destructuring-collision-in-function-expression-npm-7.24.6-640cba7bfe-385a930f28.zip b/.yarn/cache/@babel-plugin-bugfix-safari-id-destructuring-collision-in-function-expression-npm-7.24.6-640cba7bfe-385a930f28.zip new file mode 100644 index 000000000..912ec0f12 Binary files /dev/null and b/.yarn/cache/@babel-plugin-bugfix-safari-id-destructuring-collision-in-function-expression-npm-7.24.6-640cba7bfe-385a930f28.zip differ diff --git a/.yarn/cache/@babel-plugin-bugfix-v8-spread-parameters-in-optional-chaining-npm-7.24.6-9261e4e4fa-14dac1a069.zip b/.yarn/cache/@babel-plugin-bugfix-v8-spread-parameters-in-optional-chaining-npm-7.24.6-9261e4e4fa-14dac1a069.zip new file mode 100644 index 000000000..22e8e737f Binary files /dev/null and b/.yarn/cache/@babel-plugin-bugfix-v8-spread-parameters-in-optional-chaining-npm-7.24.6-9261e4e4fa-14dac1a069.zip differ diff --git a/.yarn/cache/@babel-plugin-bugfix-v8-static-class-fields-redefine-readonly-npm-7.24.6-8f6c6e53f8-5740206ccf.zip b/.yarn/cache/@babel-plugin-bugfix-v8-static-class-fields-redefine-readonly-npm-7.24.6-8f6c6e53f8-5740206ccf.zip new file mode 100644 index 000000000..82b9256fb Binary files /dev/null and b/.yarn/cache/@babel-plugin-bugfix-v8-static-class-fields-redefine-readonly-npm-7.24.6-8f6c6e53f8-5740206ccf.zip differ diff --git a/.yarn/cache/@babel-plugin-proposal-private-property-in-object-npm-7.21.0-placeholder-for-preset-env.2-eb70026c88-fab70f399a.zip b/.yarn/cache/@babel-plugin-proposal-private-property-in-object-npm-7.21.0-placeholder-for-preset-env.2-eb70026c88-fab70f399a.zip new file mode 100644 index 000000000..08cafd8ff Binary files /dev/null and b/.yarn/cache/@babel-plugin-proposal-private-property-in-object-npm-7.21.0-placeholder-for-preset-env.2-eb70026c88-fab70f399a.zip differ diff --git a/.yarn/cache/@babel-plugin-syntax-class-static-block-npm-7.14.5-7bdd0ff1b3-3e80814b5b.zip b/.yarn/cache/@babel-plugin-syntax-class-static-block-npm-7.14.5-7bdd0ff1b3-3e80814b5b.zip new file mode 100644 index 000000000..025890a46 Binary files /dev/null and b/.yarn/cache/@babel-plugin-syntax-class-static-block-npm-7.14.5-7bdd0ff1b3-3e80814b5b.zip differ diff --git a/.yarn/cache/@babel-plugin-syntax-dynamic-import-npm-7.8.3-fb9ff5634a-ce307af83c.zip b/.yarn/cache/@babel-plugin-syntax-dynamic-import-npm-7.8.3-fb9ff5634a-ce307af83c.zip new file mode 100644 index 000000000..a41ecb49c Binary files /dev/null and b/.yarn/cache/@babel-plugin-syntax-dynamic-import-npm-7.8.3-fb9ff5634a-ce307af83c.zip differ diff --git a/.yarn/cache/@babel-plugin-syntax-export-namespace-from-npm-7.8.3-1747201aa9-85740478be.zip b/.yarn/cache/@babel-plugin-syntax-export-namespace-from-npm-7.8.3-1747201aa9-85740478be.zip new file mode 100644 index 000000000..f7f1bab98 Binary files /dev/null and b/.yarn/cache/@babel-plugin-syntax-export-namespace-from-npm-7.8.3-1747201aa9-85740478be.zip differ diff --git a/.yarn/cache/@babel-plugin-syntax-import-assertions-npm-7.24.6-a2590f45a6-ea73a9aed8.zip b/.yarn/cache/@babel-plugin-syntax-import-assertions-npm-7.24.6-a2590f45a6-ea73a9aed8.zip new file mode 100644 index 000000000..05cab223d Binary files /dev/null and b/.yarn/cache/@babel-plugin-syntax-import-assertions-npm-7.24.6-a2590f45a6-ea73a9aed8.zip differ diff --git a/.yarn/cache/@babel-plugin-syntax-import-attributes-npm-7.24.6-8317bc95f2-cd8a3aa480.zip b/.yarn/cache/@babel-plugin-syntax-import-attributes-npm-7.24.6-8317bc95f2-cd8a3aa480.zip new file mode 100644 index 000000000..88e9e676a Binary files /dev/null and b/.yarn/cache/@babel-plugin-syntax-import-attributes-npm-7.24.6-8317bc95f2-cd8a3aa480.zip differ diff --git a/.yarn/cache/@babel-plugin-syntax-jsx-npm-7.24.6-f98dc29919-68e90ec17c.zip b/.yarn/cache/@babel-plugin-syntax-jsx-npm-7.24.6-f98dc29919-68e90ec17c.zip new file mode 100644 index 000000000..6ca84e326 Binary files /dev/null and b/.yarn/cache/@babel-plugin-syntax-jsx-npm-7.24.6-f98dc29919-68e90ec17c.zip differ diff --git a/.yarn/cache/@babel-plugin-syntax-private-property-in-object-npm-7.14.5-ee837fdbb2-b317174783.zip b/.yarn/cache/@babel-plugin-syntax-private-property-in-object-npm-7.14.5-ee837fdbb2-b317174783.zip new file mode 100644 index 000000000..f4e180130 Binary files /dev/null and b/.yarn/cache/@babel-plugin-syntax-private-property-in-object-npm-7.14.5-ee837fdbb2-b317174783.zip differ diff --git a/.yarn/cache/@babel-plugin-syntax-typescript-npm-7.24.6-635ec8b174-29dc4528a3.zip b/.yarn/cache/@babel-plugin-syntax-typescript-npm-7.24.6-635ec8b174-29dc4528a3.zip new file mode 100644 index 000000000..21616a274 Binary files /dev/null and b/.yarn/cache/@babel-plugin-syntax-typescript-npm-7.24.6-635ec8b174-29dc4528a3.zip differ diff --git a/.yarn/cache/@babel-plugin-syntax-unicode-sets-regex-npm-7.18.6-b618a36bfd-a651d700fe.zip b/.yarn/cache/@babel-plugin-syntax-unicode-sets-regex-npm-7.18.6-b618a36bfd-a651d700fe.zip new file mode 100644 index 000000000..76e1ad833 Binary files /dev/null and b/.yarn/cache/@babel-plugin-syntax-unicode-sets-regex-npm-7.18.6-b618a36bfd-a651d700fe.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-arrow-functions-npm-7.24.6-d477a19aee-ae67650ff6.zip b/.yarn/cache/@babel-plugin-transform-arrow-functions-npm-7.24.6-d477a19aee-ae67650ff6.zip new file mode 100644 index 000000000..d066bc23e Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-arrow-functions-npm-7.24.6-d477a19aee-ae67650ff6.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-async-generator-functions-npm-7.24.6-12a8eced25-01025f7700.zip b/.yarn/cache/@babel-plugin-transform-async-generator-functions-npm-7.24.6-12a8eced25-01025f7700.zip new file mode 100644 index 000000000..3e27b9804 Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-async-generator-functions-npm-7.24.6-12a8eced25-01025f7700.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-async-to-generator-npm-7.24.6-189a0067fc-b10945afa1.zip b/.yarn/cache/@babel-plugin-transform-async-to-generator-npm-7.24.6-189a0067fc-b10945afa1.zip new file mode 100644 index 000000000..bd6e0efce Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-async-to-generator-npm-7.24.6-189a0067fc-b10945afa1.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-block-scoped-functions-npm-7.24.6-44ea7d0ddf-8479b49e7a.zip b/.yarn/cache/@babel-plugin-transform-block-scoped-functions-npm-7.24.6-44ea7d0ddf-8479b49e7a.zip new file mode 100644 index 000000000..615bc11c4 Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-block-scoped-functions-npm-7.24.6-44ea7d0ddf-8479b49e7a.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-block-scoping-npm-7.24.6-b953ced0c8-40affbc3fb.zip b/.yarn/cache/@babel-plugin-transform-block-scoping-npm-7.24.6-b953ced0c8-40affbc3fb.zip new file mode 100644 index 000000000..cf1020282 Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-block-scoping-npm-7.24.6-b953ced0c8-40affbc3fb.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-class-properties-npm-7.24.6-033dc59464-dee84706ae.zip b/.yarn/cache/@babel-plugin-transform-class-properties-npm-7.24.6-033dc59464-dee84706ae.zip new file mode 100644 index 000000000..2c6561c74 Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-class-properties-npm-7.24.6-033dc59464-dee84706ae.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-class-static-block-npm-7.24.6-871d2649d4-aa7fe118d5.zip b/.yarn/cache/@babel-plugin-transform-class-static-block-npm-7.24.6-871d2649d4-aa7fe118d5.zip new file mode 100644 index 000000000..af73bfe13 Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-class-static-block-npm-7.24.6-871d2649d4-aa7fe118d5.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-classes-npm-7.24.6-79ccec2357-7bd9350695.zip b/.yarn/cache/@babel-plugin-transform-classes-npm-7.24.6-79ccec2357-7bd9350695.zip new file mode 100644 index 000000000..1018205e1 Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-classes-npm-7.24.6-79ccec2357-7bd9350695.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-computed-properties-npm-7.24.6-68be96b8a1-11d4652596.zip b/.yarn/cache/@babel-plugin-transform-computed-properties-npm-7.24.6-68be96b8a1-11d4652596.zip new file mode 100644 index 000000000..82704384e Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-computed-properties-npm-7.24.6-68be96b8a1-11d4652596.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-destructuring-npm-7.24.6-eae3617992-0ae192d749.zip b/.yarn/cache/@babel-plugin-transform-destructuring-npm-7.24.6-eae3617992-0ae192d749.zip new file mode 100644 index 000000000..f9efc4c8e Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-destructuring-npm-7.24.6-eae3617992-0ae192d749.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-dotall-regex-npm-7.24.6-7d34434e0b-823732fade.zip b/.yarn/cache/@babel-plugin-transform-dotall-regex-npm-7.24.6-7d34434e0b-823732fade.zip new file mode 100644 index 000000000..ac3bd396f Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-dotall-regex-npm-7.24.6-7d34434e0b-823732fade.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-duplicate-keys-npm-7.24.6-29d492c2b1-fdeaa11873.zip b/.yarn/cache/@babel-plugin-transform-duplicate-keys-npm-7.24.6-29d492c2b1-fdeaa11873.zip new file mode 100644 index 000000000..a4d2048ed Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-duplicate-keys-npm-7.24.6-29d492c2b1-fdeaa11873.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-dynamic-import-npm-7.24.6-10fb978c80-c104b5bc05.zip b/.yarn/cache/@babel-plugin-transform-dynamic-import-npm-7.24.6-10fb978c80-c104b5bc05.zip new file mode 100644 index 000000000..0938113eb Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-dynamic-import-npm-7.24.6-10fb978c80-c104b5bc05.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-exponentiation-operator-npm-7.24.6-86824e8e69-8b59853c05.zip b/.yarn/cache/@babel-plugin-transform-exponentiation-operator-npm-7.24.6-86824e8e69-8b59853c05.zip new file mode 100644 index 000000000..c9660cb22 Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-exponentiation-operator-npm-7.24.6-86824e8e69-8b59853c05.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-export-namespace-from-npm-7.24.6-b61e093f4d-49d8f3ef9d.zip b/.yarn/cache/@babel-plugin-transform-export-namespace-from-npm-7.24.6-b61e093f4d-49d8f3ef9d.zip new file mode 100644 index 000000000..93de981b7 Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-export-namespace-from-npm-7.24.6-b61e093f4d-49d8f3ef9d.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-for-of-npm-7.24.6-1e2f21efe5-76d61d26ef.zip b/.yarn/cache/@babel-plugin-transform-for-of-npm-7.24.6-1e2f21efe5-76d61d26ef.zip new file mode 100644 index 000000000..521988725 Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-for-of-npm-7.24.6-1e2f21efe5-76d61d26ef.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-function-name-npm-7.24.6-89c1c46d51-fb96863c30.zip b/.yarn/cache/@babel-plugin-transform-function-name-npm-7.24.6-89c1c46d51-fb96863c30.zip new file mode 100644 index 000000000..a8205e3ae Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-function-name-npm-7.24.6-89c1c46d51-fb96863c30.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-json-strings-npm-7.24.6-cfaf679db4-417772d7b1.zip b/.yarn/cache/@babel-plugin-transform-json-strings-npm-7.24.6-cfaf679db4-417772d7b1.zip new file mode 100644 index 000000000..a714975ca Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-json-strings-npm-7.24.6-cfaf679db4-417772d7b1.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-literals-npm-7.24.6-7ab73c8c1c-29e467f05a.zip b/.yarn/cache/@babel-plugin-transform-literals-npm-7.24.6-7ab73c8c1c-29e467f05a.zip new file mode 100644 index 000000000..326295f59 Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-literals-npm-7.24.6-7ab73c8c1c-29e467f05a.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-logical-assignment-operators-npm-7.24.6-0e224ec19c-5ee614e959.zip b/.yarn/cache/@babel-plugin-transform-logical-assignment-operators-npm-7.24.6-0e224ec19c-5ee614e959.zip new file mode 100644 index 000000000..9be7d6578 Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-logical-assignment-operators-npm-7.24.6-0e224ec19c-5ee614e959.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-member-expression-literals-npm-7.24.6-1cea8cc022-7d5cfd042e.zip b/.yarn/cache/@babel-plugin-transform-member-expression-literals-npm-7.24.6-1cea8cc022-7d5cfd042e.zip new file mode 100644 index 000000000..b34d04e4f Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-member-expression-literals-npm-7.24.6-1cea8cc022-7d5cfd042e.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-modules-amd-npm-7.24.6-62644a7727-7c01c4e8b1.zip b/.yarn/cache/@babel-plugin-transform-modules-amd-npm-7.24.6-62644a7727-7c01c4e8b1.zip new file mode 100644 index 000000000..9afeae7f1 Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-modules-amd-npm-7.24.6-62644a7727-7c01c4e8b1.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-modules-commonjs-npm-7.24.6-79e6158c6f-ac6b0614bd.zip b/.yarn/cache/@babel-plugin-transform-modules-commonjs-npm-7.24.6-79e6158c6f-ac6b0614bd.zip new file mode 100644 index 000000000..20c2c33e3 Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-modules-commonjs-npm-7.24.6-79e6158c6f-ac6b0614bd.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-modules-systemjs-npm-7.24.6-004cfca68b-b1cad40242.zip b/.yarn/cache/@babel-plugin-transform-modules-systemjs-npm-7.24.6-004cfca68b-b1cad40242.zip new file mode 100644 index 000000000..072a8e021 Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-modules-systemjs-npm-7.24.6-004cfca68b-b1cad40242.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-modules-umd-npm-7.24.6-7dfd52001f-817c93a417.zip b/.yarn/cache/@babel-plugin-transform-modules-umd-npm-7.24.6-7dfd52001f-817c93a417.zip new file mode 100644 index 000000000..f003114e7 Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-modules-umd-npm-7.24.6-7dfd52001f-817c93a417.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-named-capturing-groups-regex-npm-7.24.6-c79d556a72-87b6dd9661.zip b/.yarn/cache/@babel-plugin-transform-named-capturing-groups-regex-npm-7.24.6-c79d556a72-87b6dd9661.zip new file mode 100644 index 000000000..008e519aa Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-named-capturing-groups-regex-npm-7.24.6-c79d556a72-87b6dd9661.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-new-target-npm-7.24.6-2d6fc13550-1f6ecbbae2.zip b/.yarn/cache/@babel-plugin-transform-new-target-npm-7.24.6-2d6fc13550-1f6ecbbae2.zip new file mode 100644 index 000000000..f5c899322 Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-new-target-npm-7.24.6-2d6fc13550-1f6ecbbae2.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-nullish-coalescing-operator-npm-7.24.6-3bcb417c31-e4499bbd58.zip b/.yarn/cache/@babel-plugin-transform-nullish-coalescing-operator-npm-7.24.6-3bcb417c31-e4499bbd58.zip new file mode 100644 index 000000000..50ebe1813 Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-nullish-coalescing-operator-npm-7.24.6-3bcb417c31-e4499bbd58.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-numeric-separator-npm-7.24.6-f8572c344b-ccc5e4eb6e.zip b/.yarn/cache/@babel-plugin-transform-numeric-separator-npm-7.24.6-f8572c344b-ccc5e4eb6e.zip new file mode 100644 index 000000000..3906e5c10 Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-numeric-separator-npm-7.24.6-f8572c344b-ccc5e4eb6e.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-object-rest-spread-npm-7.24.6-87951e587d-74d11df042.zip b/.yarn/cache/@babel-plugin-transform-object-rest-spread-npm-7.24.6-87951e587d-74d11df042.zip new file mode 100644 index 000000000..a8b249547 Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-object-rest-spread-npm-7.24.6-87951e587d-74d11df042.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-object-super-npm-7.24.6-1bba17cda9-41579a8434.zip b/.yarn/cache/@babel-plugin-transform-object-super-npm-7.24.6-1bba17cda9-41579a8434.zip new file mode 100644 index 000000000..9e47d9c6b Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-object-super-npm-7.24.6-1bba17cda9-41579a8434.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-optional-catch-binding-npm-7.24.6-a409b39a0e-5c57af6300.zip b/.yarn/cache/@babel-plugin-transform-optional-catch-binding-npm-7.24.6-a409b39a0e-5c57af6300.zip new file mode 100644 index 000000000..1f7360a35 Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-optional-catch-binding-npm-7.24.6-a409b39a0e-5c57af6300.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-optional-chaining-npm-7.24.6-19a5150e34-fb5deb31b2.zip b/.yarn/cache/@babel-plugin-transform-optional-chaining-npm-7.24.6-19a5150e34-fb5deb31b2.zip new file mode 100644 index 000000000..13ec6b866 Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-optional-chaining-npm-7.24.6-19a5150e34-fb5deb31b2.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-parameters-npm-7.24.6-a4a5e09f1c-c885f6c92f.zip b/.yarn/cache/@babel-plugin-transform-parameters-npm-7.24.6-a4a5e09f1c-c885f6c92f.zip new file mode 100644 index 000000000..9e64d25b1 Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-parameters-npm-7.24.6-a4a5e09f1c-c885f6c92f.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-private-methods-npm-7.24.6-62a9ec5472-83faa699d3.zip b/.yarn/cache/@babel-plugin-transform-private-methods-npm-7.24.6-62a9ec5472-83faa699d3.zip new file mode 100644 index 000000000..002c71cd7 Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-private-methods-npm-7.24.6-62a9ec5472-83faa699d3.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-private-property-in-object-npm-7.24.6-de1eff678f-f92e071614.zip b/.yarn/cache/@babel-plugin-transform-private-property-in-object-npm-7.24.6-de1eff678f-f92e071614.zip new file mode 100644 index 000000000..e6ea8ae24 Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-private-property-in-object-npm-7.24.6-de1eff678f-f92e071614.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-property-literals-npm-7.24.6-f818667022-5f609bb1e4.zip b/.yarn/cache/@babel-plugin-transform-property-literals-npm-7.24.6-f818667022-5f609bb1e4.zip new file mode 100644 index 000000000..7982ce401 Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-property-literals-npm-7.24.6-f818667022-5f609bb1e4.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-regenerator-npm-7.24.6-8b4204cbe0-ef75aac5ad.zip b/.yarn/cache/@babel-plugin-transform-regenerator-npm-7.24.6-8b4204cbe0-ef75aac5ad.zip new file mode 100644 index 000000000..885a2253e Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-regenerator-npm-7.24.6-8b4204cbe0-ef75aac5ad.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-reserved-words-npm-7.24.6-1e6f628916-aa1d490a35.zip b/.yarn/cache/@babel-plugin-transform-reserved-words-npm-7.24.6-1e6f628916-aa1d490a35.zip new file mode 100644 index 000000000..10295c456 Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-reserved-words-npm-7.24.6-1e6f628916-aa1d490a35.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-shorthand-properties-npm-7.24.6-b1a75f5dd6-c2fa1f5d50.zip b/.yarn/cache/@babel-plugin-transform-shorthand-properties-npm-7.24.6-b1a75f5dd6-c2fa1f5d50.zip new file mode 100644 index 000000000..481f80006 Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-shorthand-properties-npm-7.24.6-b1a75f5dd6-c2fa1f5d50.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-spread-npm-7.24.6-790817f830-3c33a8c659.zip b/.yarn/cache/@babel-plugin-transform-spread-npm-7.24.6-790817f830-3c33a8c659.zip new file mode 100644 index 000000000..ec261eba9 Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-spread-npm-7.24.6-790817f830-3c33a8c659.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-sticky-regex-npm-7.24.6-6eed00f95b-abfff67b11.zip b/.yarn/cache/@babel-plugin-transform-sticky-regex-npm-7.24.6-6eed00f95b-abfff67b11.zip new file mode 100644 index 000000000..3602cfd2b Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-sticky-regex-npm-7.24.6-6eed00f95b-abfff67b11.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-template-literals-npm-7.24.6-43dac72e85-94431a6403.zip b/.yarn/cache/@babel-plugin-transform-template-literals-npm-7.24.6-43dac72e85-94431a6403.zip new file mode 100644 index 000000000..40c68689c Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-template-literals-npm-7.24.6-43dac72e85-94431a6403.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-typeof-symbol-npm-7.24.6-1ad74983cc-50755df3f0.zip b/.yarn/cache/@babel-plugin-transform-typeof-symbol-npm-7.24.6-1ad74983cc-50755df3f0.zip new file mode 100644 index 000000000..594879bf9 Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-typeof-symbol-npm-7.24.6-1ad74983cc-50755df3f0.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-typescript-npm-7.24.6-b83608e860-6bd05b928d.zip b/.yarn/cache/@babel-plugin-transform-typescript-npm-7.24.6-b83608e860-6bd05b928d.zip new file mode 100644 index 000000000..98738a47b Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-typescript-npm-7.24.6-b83608e860-6bd05b928d.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-unicode-escapes-npm-7.24.6-f80ba7ce4e-6778e32a1e.zip b/.yarn/cache/@babel-plugin-transform-unicode-escapes-npm-7.24.6-f80ba7ce4e-6778e32a1e.zip new file mode 100644 index 000000000..7a8cb677e Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-unicode-escapes-npm-7.24.6-f80ba7ce4e-6778e32a1e.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-unicode-property-regex-npm-7.24.6-8e983d1357-3f51141c57.zip b/.yarn/cache/@babel-plugin-transform-unicode-property-regex-npm-7.24.6-8e983d1357-3f51141c57.zip new file mode 100644 index 000000000..c33df9e1d Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-unicode-property-regex-npm-7.24.6-8e983d1357-3f51141c57.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-unicode-regex-npm-7.24.6-6a3273dbe8-dccdd3724b.zip b/.yarn/cache/@babel-plugin-transform-unicode-regex-npm-7.24.6-6a3273dbe8-dccdd3724b.zip new file mode 100644 index 000000000..a5fdc531d Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-unicode-regex-npm-7.24.6-6a3273dbe8-dccdd3724b.zip differ diff --git a/.yarn/cache/@babel-plugin-transform-unicode-sets-regex-npm-7.24.6-45d5b9651f-c140a43e06.zip b/.yarn/cache/@babel-plugin-transform-unicode-sets-regex-npm-7.24.6-45d5b9651f-c140a43e06.zip new file mode 100644 index 000000000..6cf919240 Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-unicode-sets-regex-npm-7.24.6-45d5b9651f-c140a43e06.zip differ diff --git a/.yarn/cache/@babel-preset-env-npm-7.24.6-81a49fc26b-4a6f57dffd.zip b/.yarn/cache/@babel-preset-env-npm-7.24.6-81a49fc26b-4a6f57dffd.zip new file mode 100644 index 000000000..cc61c2ae0 Binary files /dev/null and b/.yarn/cache/@babel-preset-env-npm-7.24.6-81a49fc26b-4a6f57dffd.zip differ diff --git a/.yarn/cache/@babel-preset-modules-npm-0.1.6-no-external-plugins-0ae0b52ff3-039aba98a6.zip b/.yarn/cache/@babel-preset-modules-npm-0.1.6-no-external-plugins-0ae0b52ff3-039aba98a6.zip new file mode 100644 index 000000000..0007334f5 Binary files /dev/null and b/.yarn/cache/@babel-preset-modules-npm-0.1.6-no-external-plugins-0ae0b52ff3-039aba98a6.zip differ diff --git a/.yarn/cache/@babel-preset-typescript-npm-7.24.6-369363844a-e4c88dd074.zip b/.yarn/cache/@babel-preset-typescript-npm-7.24.6-369363844a-e4c88dd074.zip new file mode 100644 index 000000000..584e87bff Binary files /dev/null and b/.yarn/cache/@babel-preset-typescript-npm-7.24.6-369363844a-e4c88dd074.zip differ diff --git a/.yarn/cache/@babel-regjsgen-npm-0.8.0-b0fbdbf644-c57fb730b1.zip b/.yarn/cache/@babel-regjsgen-npm-0.8.0-b0fbdbf644-c57fb730b1.zip new file mode 100644 index 000000000..62e62b465 Binary files /dev/null and b/.yarn/cache/@babel-regjsgen-npm-0.8.0-b0fbdbf644-c57fb730b1.zip differ diff --git a/.yarn/cache/@babel-runtime-npm-7.24.6-3acd4a9fd9-6c4e12731c.zip b/.yarn/cache/@babel-runtime-npm-7.24.6-3acd4a9fd9-6c4e12731c.zip new file mode 100644 index 000000000..95e962ef6 Binary files /dev/null and b/.yarn/cache/@babel-runtime-npm-7.24.6-3acd4a9fd9-6c4e12731c.zip differ diff --git a/.yarn/cache/@babel-template-npm-7.24.6-fa5066ccd1-e4641733df.zip b/.yarn/cache/@babel-template-npm-7.24.6-fa5066ccd1-e4641733df.zip new file mode 100644 index 000000000..90cc85040 Binary files /dev/null and b/.yarn/cache/@babel-template-npm-7.24.6-fa5066ccd1-e4641733df.zip differ diff --git a/.yarn/cache/@babel-traverse-npm-7.24.6-e778dc10f7-11e5904f9a.zip b/.yarn/cache/@babel-traverse-npm-7.24.6-e778dc10f7-11e5904f9a.zip new file mode 100644 index 000000000..b259d9c3e Binary files /dev/null and b/.yarn/cache/@babel-traverse-npm-7.24.6-e778dc10f7-11e5904f9a.zip differ diff --git a/.yarn/cache/@babel-types-npm-7.24.6-5a7d5202c4-34552539cd.zip b/.yarn/cache/@babel-types-npm-7.24.6-5a7d5202c4-34552539cd.zip new file mode 100644 index 000000000..ce0b3c1aa Binary files /dev/null and b/.yarn/cache/@babel-types-npm-7.24.6-5a7d5202c4-34552539cd.zip differ diff --git a/.yarn/cache/@esbuild-darwin-arm64-npm-0.21.4-eb10760bec-10.zip b/.yarn/cache/@esbuild-darwin-arm64-npm-0.21.4-eb10760bec-10.zip new file mode 100644 index 000000000..f90669cba Binary files /dev/null and b/.yarn/cache/@esbuild-darwin-arm64-npm-0.21.4-eb10760bec-10.zip differ diff --git a/.yarn/cache/@esbuild-darwin-x64-npm-0.21.4-c85054066f-10.zip b/.yarn/cache/@esbuild-darwin-x64-npm-0.21.4-c85054066f-10.zip new file mode 100644 index 000000000..b7d16f376 Binary files /dev/null and b/.yarn/cache/@esbuild-darwin-x64-npm-0.21.4-c85054066f-10.zip differ diff --git a/.yarn/cache/@esbuild-linux-arm64-npm-0.21.4-005b269e0f-10.zip b/.yarn/cache/@esbuild-linux-arm64-npm-0.21.4-005b269e0f-10.zip new file mode 100644 index 000000000..1ac52d6aa Binary files /dev/null and b/.yarn/cache/@esbuild-linux-arm64-npm-0.21.4-005b269e0f-10.zip differ diff --git a/.yarn/cache/@esbuild-linux-x64-npm-0.21.4-80de919e54-10.zip b/.yarn/cache/@esbuild-linux-x64-npm-0.21.4-80de919e54-10.zip new file mode 100644 index 000000000..7b415e45e Binary files /dev/null and b/.yarn/cache/@esbuild-linux-x64-npm-0.21.4-80de919e54-10.zip differ diff --git a/.yarn/cache/@jridgewell-gen-mapping-npm-0.3.5-d8b85ebeaf-81587b3c4d.zip b/.yarn/cache/@jridgewell-gen-mapping-npm-0.3.5-d8b85ebeaf-81587b3c4d.zip new file mode 100644 index 000000000..18c8d136e Binary files /dev/null and b/.yarn/cache/@jridgewell-gen-mapping-npm-0.3.5-d8b85ebeaf-81587b3c4d.zip differ diff --git a/.yarn/cache/@jridgewell-set-array-npm-1.2.1-2312928209-832e513a85.zip b/.yarn/cache/@jridgewell-set-array-npm-1.2.1-2312928209-832e513a85.zip new file mode 100644 index 000000000..8a72fc72d Binary files /dev/null and b/.yarn/cache/@jridgewell-set-array-npm-1.2.1-2312928209-832e513a85.zip differ diff --git a/.yarn/cache/@jridgewell-trace-mapping-npm-0.3.25-c076fd2279-dced32160a.zip b/.yarn/cache/@jridgewell-trace-mapping-npm-0.3.25-c076fd2279-dced32160a.zip new file mode 100644 index 000000000..7e430802c Binary files /dev/null and b/.yarn/cache/@jridgewell-trace-mapping-npm-0.3.25-c076fd2279-dced32160a.zip differ diff --git a/.yarn/cache/@nicolo-ribaudo-chokidar-2-npm-2.1.8-no-fsevents.3-79ca8bfcef-c6e83af3b5.zip b/.yarn/cache/@nicolo-ribaudo-chokidar-2-npm-2.1.8-no-fsevents.3-79ca8bfcef-c6e83af3b5.zip new file mode 100644 index 000000000..4bc25eb23 Binary files /dev/null and b/.yarn/cache/@nicolo-ribaudo-chokidar-2-npm-2.1.8-no-fsevents.3-79ca8bfcef-c6e83af3b5.zip differ diff --git a/.yarn/cache/@rollup-plugin-commonjs-npm-25.0.7-f5b19139ea-89b108e245.zip b/.yarn/cache/@rollup-plugin-commonjs-npm-25.0.7-f5b19139ea-89b108e245.zip deleted file mode 100644 index 842d226f0..000000000 Binary files a/.yarn/cache/@rollup-plugin-commonjs-npm-25.0.7-f5b19139ea-89b108e245.zip and /dev/null differ diff --git a/.yarn/cache/@rollup-plugin-node-resolve-npm-15.2.3-f49fe9c656-d36a6792fb.zip b/.yarn/cache/@rollup-plugin-node-resolve-npm-15.2.3-f49fe9c656-d36a6792fb.zip deleted file mode 100644 index 1dbb9cab7..000000000 Binary files a/.yarn/cache/@rollup-plugin-node-resolve-npm-15.2.3-f49fe9c656-d36a6792fb.zip and /dev/null differ diff --git a/.yarn/cache/@rollup-plugin-typescript-npm-11.1.6-aeaa3525fc-4ae4d6cfc9.zip b/.yarn/cache/@rollup-plugin-typescript-npm-11.1.6-aeaa3525fc-4ae4d6cfc9.zip deleted file mode 100644 index 2a406b7b1..000000000 Binary files a/.yarn/cache/@rollup-plugin-typescript-npm-11.1.6-aeaa3525fc-4ae4d6cfc9.zip and /dev/null differ diff --git a/.yarn/cache/@rollup-pluginutils-npm-5.1.0-6939820ef8-abb15eaec5.zip b/.yarn/cache/@rollup-pluginutils-npm-5.1.0-6939820ef8-abb15eaec5.zip deleted file mode 100644 index 6daf5a90b..000000000 Binary files a/.yarn/cache/@rollup-pluginutils-npm-5.1.0-6939820ef8-abb15eaec5.zip and /dev/null differ diff --git a/.yarn/cache/@rollup-rollup-darwin-arm64-npm-4.13.0-31260831e3-10.zip b/.yarn/cache/@rollup-rollup-darwin-arm64-npm-4.13.0-31260831e3-10.zip deleted file mode 100644 index 65d3f2852..000000000 Binary files a/.yarn/cache/@rollup-rollup-darwin-arm64-npm-4.13.0-31260831e3-10.zip and /dev/null differ diff --git a/.yarn/cache/@rollup-rollup-darwin-arm64-npm-4.14.1-add15ea204-10.zip b/.yarn/cache/@rollup-rollup-darwin-arm64-npm-4.14.1-add15ea204-10.zip deleted file mode 100644 index e9d0f6f35..000000000 Binary files a/.yarn/cache/@rollup-rollup-darwin-arm64-npm-4.14.1-add15ea204-10.zip and /dev/null differ diff --git a/.yarn/cache/@rollup-rollup-darwin-arm64-npm-4.14.3-eca59280e9-10.zip b/.yarn/cache/@rollup-rollup-darwin-arm64-npm-4.14.3-eca59280e9-10.zip deleted file mode 100644 index b3c309cbe..000000000 Binary files a/.yarn/cache/@rollup-rollup-darwin-arm64-npm-4.14.3-eca59280e9-10.zip and /dev/null differ diff --git a/.yarn/cache/@rollup-rollup-darwin-arm64-npm-4.16.3-e059aade27-10.zip b/.yarn/cache/@rollup-rollup-darwin-arm64-npm-4.16.3-e059aade27-10.zip deleted file mode 100644 index c03ec9967..000000000 Binary files a/.yarn/cache/@rollup-rollup-darwin-arm64-npm-4.16.3-e059aade27-10.zip and /dev/null differ diff --git a/.yarn/cache/@rollup-rollup-darwin-arm64-npm-4.17.1-add109e212-10.zip b/.yarn/cache/@rollup-rollup-darwin-arm64-npm-4.17.1-add109e212-10.zip deleted file mode 100644 index 2a817e227..000000000 Binary files a/.yarn/cache/@rollup-rollup-darwin-arm64-npm-4.17.1-add109e212-10.zip and /dev/null differ diff --git a/.yarn/cache/@rollup-rollup-darwin-arm64-npm-4.17.2-aab5f1f21d-10.zip b/.yarn/cache/@rollup-rollup-darwin-arm64-npm-4.17.2-aab5f1f21d-10.zip deleted file mode 100644 index 4512e1ee8..000000000 Binary files a/.yarn/cache/@rollup-rollup-darwin-arm64-npm-4.17.2-aab5f1f21d-10.zip and /dev/null differ diff --git a/.yarn/cache/@rollup-rollup-darwin-x64-npm-4.13.0-5d3d8d0a6f-10.zip b/.yarn/cache/@rollup-rollup-darwin-x64-npm-4.13.0-5d3d8d0a6f-10.zip deleted file mode 100644 index 06f402cbf..000000000 Binary files a/.yarn/cache/@rollup-rollup-darwin-x64-npm-4.13.0-5d3d8d0a6f-10.zip and /dev/null differ diff --git a/.yarn/cache/@rollup-rollup-darwin-x64-npm-4.14.1-0b9f69b85c-10.zip b/.yarn/cache/@rollup-rollup-darwin-x64-npm-4.14.1-0b9f69b85c-10.zip deleted file mode 100644 index 1e2fc731f..000000000 Binary files a/.yarn/cache/@rollup-rollup-darwin-x64-npm-4.14.1-0b9f69b85c-10.zip and /dev/null differ diff --git a/.yarn/cache/@rollup-rollup-darwin-x64-npm-4.14.3-cf427ed30d-10.zip b/.yarn/cache/@rollup-rollup-darwin-x64-npm-4.14.3-cf427ed30d-10.zip deleted file mode 100644 index 0426229e5..000000000 Binary files a/.yarn/cache/@rollup-rollup-darwin-x64-npm-4.14.3-cf427ed30d-10.zip and /dev/null differ diff --git a/.yarn/cache/@rollup-rollup-darwin-x64-npm-4.16.3-ab5bbfc7f2-10.zip b/.yarn/cache/@rollup-rollup-darwin-x64-npm-4.16.3-ab5bbfc7f2-10.zip deleted file mode 100644 index 1da29b8f0..000000000 Binary files a/.yarn/cache/@rollup-rollup-darwin-x64-npm-4.16.3-ab5bbfc7f2-10.zip and /dev/null differ diff --git a/.yarn/cache/@rollup-rollup-darwin-x64-npm-4.17.1-330855746a-10.zip b/.yarn/cache/@rollup-rollup-darwin-x64-npm-4.17.1-330855746a-10.zip deleted file mode 100644 index c8148e585..000000000 Binary files a/.yarn/cache/@rollup-rollup-darwin-x64-npm-4.17.1-330855746a-10.zip and /dev/null differ diff --git a/.yarn/cache/@rollup-rollup-darwin-x64-npm-4.17.2-0e65b7698a-10.zip b/.yarn/cache/@rollup-rollup-darwin-x64-npm-4.17.2-0e65b7698a-10.zip deleted file mode 100644 index a41057876..000000000 Binary files a/.yarn/cache/@rollup-rollup-darwin-x64-npm-4.17.2-0e65b7698a-10.zip and /dev/null differ diff --git a/.yarn/cache/@rollup-rollup-linux-arm64-gnu-npm-4.13.0-3f49f23698-10.zip b/.yarn/cache/@rollup-rollup-linux-arm64-gnu-npm-4.13.0-3f49f23698-10.zip deleted file mode 100644 index 1c29a7274..000000000 Binary files a/.yarn/cache/@rollup-rollup-linux-arm64-gnu-npm-4.13.0-3f49f23698-10.zip and /dev/null differ diff --git a/.yarn/cache/@rollup-rollup-linux-arm64-gnu-npm-4.14.1-e385ba3464-10.zip b/.yarn/cache/@rollup-rollup-linux-arm64-gnu-npm-4.14.1-e385ba3464-10.zip deleted file mode 100644 index 1e139539d..000000000 Binary files a/.yarn/cache/@rollup-rollup-linux-arm64-gnu-npm-4.14.1-e385ba3464-10.zip and /dev/null differ diff --git a/.yarn/cache/@rollup-rollup-linux-arm64-gnu-npm-4.14.3-d988b6f1f7-10.zip b/.yarn/cache/@rollup-rollup-linux-arm64-gnu-npm-4.14.3-d988b6f1f7-10.zip deleted file mode 100644 index 7aa709a05..000000000 Binary files a/.yarn/cache/@rollup-rollup-linux-arm64-gnu-npm-4.14.3-d988b6f1f7-10.zip and /dev/null differ diff --git a/.yarn/cache/@rollup-rollup-linux-arm64-gnu-npm-4.16.3-f2c8585521-10.zip b/.yarn/cache/@rollup-rollup-linux-arm64-gnu-npm-4.16.3-f2c8585521-10.zip deleted file mode 100644 index 92520e0b1..000000000 Binary files a/.yarn/cache/@rollup-rollup-linux-arm64-gnu-npm-4.16.3-f2c8585521-10.zip and /dev/null differ diff --git a/.yarn/cache/@rollup-rollup-linux-arm64-gnu-npm-4.17.1-5704467160-10.zip b/.yarn/cache/@rollup-rollup-linux-arm64-gnu-npm-4.17.1-5704467160-10.zip deleted file mode 100644 index 4d0e3771f..000000000 Binary files a/.yarn/cache/@rollup-rollup-linux-arm64-gnu-npm-4.17.1-5704467160-10.zip and /dev/null differ diff --git a/.yarn/cache/@rollup-rollup-linux-arm64-gnu-npm-4.17.2-56f9d0ef11-10.zip b/.yarn/cache/@rollup-rollup-linux-arm64-gnu-npm-4.17.2-56f9d0ef11-10.zip deleted file mode 100644 index 3ece20ef6..000000000 Binary files a/.yarn/cache/@rollup-rollup-linux-arm64-gnu-npm-4.17.2-56f9d0ef11-10.zip and /dev/null differ diff --git a/.yarn/cache/@rollup-rollup-linux-arm64-musl-npm-4.13.0-8b79e93ea4-10.zip b/.yarn/cache/@rollup-rollup-linux-arm64-musl-npm-4.13.0-8b79e93ea4-10.zip deleted file mode 100644 index cc3e646aa..000000000 Binary files a/.yarn/cache/@rollup-rollup-linux-arm64-musl-npm-4.13.0-8b79e93ea4-10.zip and /dev/null differ diff --git a/.yarn/cache/@rollup-rollup-linux-arm64-musl-npm-4.14.1-9d6a7f22eb-10.zip b/.yarn/cache/@rollup-rollup-linux-arm64-musl-npm-4.14.1-9d6a7f22eb-10.zip deleted file mode 100644 index 6936d8e8a..000000000 Binary files a/.yarn/cache/@rollup-rollup-linux-arm64-musl-npm-4.14.1-9d6a7f22eb-10.zip and /dev/null differ diff --git a/.yarn/cache/@rollup-rollup-linux-arm64-musl-npm-4.14.3-77a1646c73-10.zip b/.yarn/cache/@rollup-rollup-linux-arm64-musl-npm-4.14.3-77a1646c73-10.zip deleted file mode 100644 index 5dc0eb0e3..000000000 Binary files a/.yarn/cache/@rollup-rollup-linux-arm64-musl-npm-4.14.3-77a1646c73-10.zip and /dev/null differ diff --git a/.yarn/cache/@rollup-rollup-linux-arm64-musl-npm-4.16.3-c32ea32f01-10.zip b/.yarn/cache/@rollup-rollup-linux-arm64-musl-npm-4.16.3-c32ea32f01-10.zip deleted file mode 100644 index 02fa13296..000000000 Binary files a/.yarn/cache/@rollup-rollup-linux-arm64-musl-npm-4.16.3-c32ea32f01-10.zip and /dev/null differ diff --git a/.yarn/cache/@rollup-rollup-linux-arm64-musl-npm-4.17.1-aa30ce876d-10.zip b/.yarn/cache/@rollup-rollup-linux-arm64-musl-npm-4.17.1-aa30ce876d-10.zip deleted file mode 100644 index 041f086ff..000000000 Binary files a/.yarn/cache/@rollup-rollup-linux-arm64-musl-npm-4.17.1-aa30ce876d-10.zip and /dev/null differ diff --git a/.yarn/cache/@rollup-rollup-linux-arm64-musl-npm-4.17.2-ea8e7f7a9c-10.zip b/.yarn/cache/@rollup-rollup-linux-arm64-musl-npm-4.17.2-ea8e7f7a9c-10.zip deleted file mode 100644 index 57a453518..000000000 Binary files a/.yarn/cache/@rollup-rollup-linux-arm64-musl-npm-4.17.2-ea8e7f7a9c-10.zip and /dev/null differ diff --git a/.yarn/cache/@rollup-rollup-linux-x64-gnu-npm-4.13.0-834923f1a9-10.zip b/.yarn/cache/@rollup-rollup-linux-x64-gnu-npm-4.13.0-834923f1a9-10.zip deleted file mode 100644 index e71a6fd40..000000000 Binary files a/.yarn/cache/@rollup-rollup-linux-x64-gnu-npm-4.13.0-834923f1a9-10.zip and /dev/null differ diff --git a/.yarn/cache/@rollup-rollup-linux-x64-gnu-npm-4.14.1-3b808993c8-10.zip b/.yarn/cache/@rollup-rollup-linux-x64-gnu-npm-4.14.1-3b808993c8-10.zip deleted file mode 100644 index e19901d89..000000000 Binary files a/.yarn/cache/@rollup-rollup-linux-x64-gnu-npm-4.14.1-3b808993c8-10.zip and /dev/null differ diff --git a/.yarn/cache/@rollup-rollup-linux-x64-gnu-npm-4.14.3-ca0d385d25-10.zip b/.yarn/cache/@rollup-rollup-linux-x64-gnu-npm-4.14.3-ca0d385d25-10.zip deleted file mode 100644 index 512ea368b..000000000 Binary files a/.yarn/cache/@rollup-rollup-linux-x64-gnu-npm-4.14.3-ca0d385d25-10.zip and /dev/null differ diff --git a/.yarn/cache/@rollup-rollup-linux-x64-gnu-npm-4.16.3-61dd055f35-10.zip b/.yarn/cache/@rollup-rollup-linux-x64-gnu-npm-4.16.3-61dd055f35-10.zip deleted file mode 100644 index b1c6987cb..000000000 Binary files a/.yarn/cache/@rollup-rollup-linux-x64-gnu-npm-4.16.3-61dd055f35-10.zip and /dev/null differ diff --git a/.yarn/cache/@rollup-rollup-linux-x64-gnu-npm-4.17.1-a2ec383d51-10.zip b/.yarn/cache/@rollup-rollup-linux-x64-gnu-npm-4.17.1-a2ec383d51-10.zip deleted file mode 100644 index 977bd8335..000000000 Binary files a/.yarn/cache/@rollup-rollup-linux-x64-gnu-npm-4.17.1-a2ec383d51-10.zip and /dev/null differ diff --git a/.yarn/cache/@rollup-rollup-linux-x64-gnu-npm-4.17.2-0d17f6c4a4-10.zip b/.yarn/cache/@rollup-rollup-linux-x64-gnu-npm-4.17.2-0d17f6c4a4-10.zip deleted file mode 100644 index da508271c..000000000 Binary files a/.yarn/cache/@rollup-rollup-linux-x64-gnu-npm-4.17.2-0d17f6c4a4-10.zip and /dev/null differ diff --git a/.yarn/cache/@rollup-rollup-linux-x64-musl-npm-4.13.0-725a5f475a-10.zip b/.yarn/cache/@rollup-rollup-linux-x64-musl-npm-4.13.0-725a5f475a-10.zip deleted file mode 100644 index 8669bf95d..000000000 Binary files a/.yarn/cache/@rollup-rollup-linux-x64-musl-npm-4.13.0-725a5f475a-10.zip and /dev/null differ diff --git a/.yarn/cache/@rollup-rollup-linux-x64-musl-npm-4.14.1-bd7e8799fc-10.zip b/.yarn/cache/@rollup-rollup-linux-x64-musl-npm-4.14.1-bd7e8799fc-10.zip deleted file mode 100644 index 393148119..000000000 Binary files a/.yarn/cache/@rollup-rollup-linux-x64-musl-npm-4.14.1-bd7e8799fc-10.zip and /dev/null differ diff --git a/.yarn/cache/@rollup-rollup-linux-x64-musl-npm-4.14.3-f459c7a0de-10.zip b/.yarn/cache/@rollup-rollup-linux-x64-musl-npm-4.14.3-f459c7a0de-10.zip deleted file mode 100644 index ff2d01c10..000000000 Binary files a/.yarn/cache/@rollup-rollup-linux-x64-musl-npm-4.14.3-f459c7a0de-10.zip and /dev/null differ diff --git a/.yarn/cache/@rollup-rollup-linux-x64-musl-npm-4.16.3-4a9b287ff3-10.zip b/.yarn/cache/@rollup-rollup-linux-x64-musl-npm-4.16.3-4a9b287ff3-10.zip deleted file mode 100644 index 26485e92d..000000000 Binary files a/.yarn/cache/@rollup-rollup-linux-x64-musl-npm-4.16.3-4a9b287ff3-10.zip and /dev/null differ diff --git a/.yarn/cache/@rollup-rollup-linux-x64-musl-npm-4.17.1-2d72266c9c-10.zip b/.yarn/cache/@rollup-rollup-linux-x64-musl-npm-4.17.1-2d72266c9c-10.zip deleted file mode 100644 index db2b79777..000000000 Binary files a/.yarn/cache/@rollup-rollup-linux-x64-musl-npm-4.17.1-2d72266c9c-10.zip and /dev/null differ diff --git a/.yarn/cache/@rollup-rollup-linux-x64-musl-npm-4.17.2-19dcc07e5c-10.zip b/.yarn/cache/@rollup-rollup-linux-x64-musl-npm-4.17.2-19dcc07e5c-10.zip deleted file mode 100644 index 844620ce5..000000000 Binary files a/.yarn/cache/@rollup-rollup-linux-x64-musl-npm-4.17.2-19dcc07e5c-10.zip and /dev/null differ diff --git a/.yarn/cache/@testdeck-core-npm-0.3.3-e615ae168c-7702d81ff1.zip b/.yarn/cache/@testdeck-core-npm-0.3.3-e615ae168c-7702d81ff1.zip deleted file mode 100644 index 9839bf1df..000000000 Binary files a/.yarn/cache/@testdeck-core-npm-0.3.3-e615ae168c-7702d81ff1.zip and /dev/null differ diff --git a/.yarn/cache/@testdeck-mocha-npm-0.3.3-ad944772d9-c49deed641.zip b/.yarn/cache/@testdeck-mocha-npm-0.3.3-ad944772d9-c49deed641.zip deleted file mode 100644 index 9d2619d59..000000000 Binary files a/.yarn/cache/@testdeck-mocha-npm-0.3.3-ad944772d9-c49deed641.zip and /dev/null differ diff --git a/.yarn/cache/@tootallnate-once-npm-1.1.2-0517220057-e1fb1bbbc1.zip b/.yarn/cache/@tootallnate-once-npm-1.1.2-0517220057-e1fb1bbbc1.zip deleted file mode 100644 index 05ad66ab2..000000000 Binary files a/.yarn/cache/@tootallnate-once-npm-1.1.2-0517220057-e1fb1bbbc1.zip and /dev/null differ diff --git a/.yarn/cache/@types-babel__preset-env-npm-7.9.6-38dd2bbb04-4783334e18.zip b/.yarn/cache/@types-babel__preset-env-npm-7.9.6-38dd2bbb04-4783334e18.zip new file mode 100644 index 000000000..136cc7f1b Binary files /dev/null and b/.yarn/cache/@types-babel__preset-env-npm-7.9.6-38dd2bbb04-4783334e18.zip differ diff --git a/.yarn/cache/@types-jasmine-npm-5.1.4-2a05d96f38-6b21eb0fc7.zip b/.yarn/cache/@types-jasmine-npm-5.1.4-2a05d96f38-6b21eb0fc7.zip new file mode 100644 index 000000000..94ba59226 Binary files /dev/null and b/.yarn/cache/@types-jasmine-npm-5.1.4-2a05d96f38-6b21eb0fc7.zip differ diff --git a/.yarn/cache/@types-jest-npm-29.5.12-6459b9d012-312e8dcf92.zip b/.yarn/cache/@types-jest-npm-29.5.12-6459b9d012-312e8dcf92.zip deleted file mode 100644 index 3b867eeb6..000000000 Binary files a/.yarn/cache/@types-jest-npm-29.5.12-6459b9d012-312e8dcf92.zip and /dev/null differ diff --git a/.yarn/cache/@types-resolve-npm-1.20.2-5fccb2ad46-1bff0d3875.zip b/.yarn/cache/@types-resolve-npm-1.20.2-5fccb2ad46-1bff0d3875.zip deleted file mode 100644 index 5e2151dcb..000000000 Binary files a/.yarn/cache/@types-resolve-npm-1.20.2-5fccb2ad46-1bff0d3875.zip and /dev/null differ diff --git a/.yarn/cache/argv-npm-0.0.2-48b22895d8-5670f77bb2.zip b/.yarn/cache/argv-npm-0.0.2-48b22895d8-5670f77bb2.zip deleted file mode 100644 index 9ddf893e0..000000000 Binary files a/.yarn/cache/argv-npm-0.0.2-48b22895d8-5670f77bb2.zip and /dev/null differ diff --git a/.yarn/cache/babel-plugin-add-module-exports-npm-1.0.4-b465d45ef9-abf38d7140.zip b/.yarn/cache/babel-plugin-add-module-exports-npm-1.0.4-b465d45ef9-abf38d7140.zip new file mode 100644 index 000000000..5849cffbb Binary files /dev/null and b/.yarn/cache/babel-plugin-add-module-exports-npm-1.0.4-b465d45ef9-abf38d7140.zip differ diff --git a/.yarn/cache/babel-plugin-polyfill-corejs2-npm-0.4.11-77e1239277-9c79908bed.zip b/.yarn/cache/babel-plugin-polyfill-corejs2-npm-0.4.11-77e1239277-9c79908bed.zip new file mode 100644 index 000000000..79c41c4f6 Binary files /dev/null and b/.yarn/cache/babel-plugin-polyfill-corejs2-npm-0.4.11-77e1239277-9c79908bed.zip differ diff --git a/.yarn/cache/babel-plugin-polyfill-corejs3-npm-0.10.4-f40fa174d8-a69ed5a95b.zip b/.yarn/cache/babel-plugin-polyfill-corejs3-npm-0.10.4-f40fa174d8-a69ed5a95b.zip new file mode 100644 index 000000000..6be952568 Binary files /dev/null and b/.yarn/cache/babel-plugin-polyfill-corejs3-npm-0.10.4-f40fa174d8-a69ed5a95b.zip differ diff --git a/.yarn/cache/babel-plugin-polyfill-regenerator-npm-0.6.2-c6dd64788f-1502335710.zip b/.yarn/cache/babel-plugin-polyfill-regenerator-npm-0.6.2-c6dd64788f-1502335710.zip new file mode 100644 index 000000000..499875f31 Binary files /dev/null and b/.yarn/cache/babel-plugin-polyfill-regenerator-npm-0.6.2-c6dd64788f-1502335710.zip differ diff --git a/.yarn/cache/bs-logger-npm-0.2.6-7670f88b66-e6d3ff8269.zip b/.yarn/cache/bs-logger-npm-0.2.6-7670f88b66-e6d3ff8269.zip deleted file mode 100644 index eadb145a8..000000000 Binary files a/.yarn/cache/bs-logger-npm-0.2.6-7670f88b66-e6d3ff8269.zip and /dev/null differ diff --git a/.yarn/cache/codecov-npm-3.8.2-bf74e2b02f-51409f12e2.zip b/.yarn/cache/codecov-npm-3.8.2-bf74e2b02f-51409f12e2.zip deleted file mode 100644 index 7e240a21e..000000000 Binary files a/.yarn/cache/codecov-npm-3.8.2-bf74e2b02f-51409f12e2.zip and /dev/null differ diff --git a/.yarn/cache/codecov-npm-3.8.3-05fdf00df8-b10e6b9511.zip b/.yarn/cache/codecov-npm-3.8.3-05fdf00df8-b10e6b9511.zip deleted file mode 100644 index 8d6c54c43..000000000 Binary files a/.yarn/cache/codecov-npm-3.8.3-05fdf00df8-b10e6b9511.zip and /dev/null differ diff --git a/.yarn/cache/commondir-npm-1.0.1-291b790340-4620bc4936.zip b/.yarn/cache/commondir-npm-1.0.1-291b790340-4620bc4936.zip deleted file mode 100644 index 99574e49d..000000000 Binary files a/.yarn/cache/commondir-npm-1.0.1-291b790340-4620bc4936.zip and /dev/null differ diff --git a/.yarn/cache/core-js-compat-npm-3.37.1-51cca8bb53-30c6fdbd9f.zip b/.yarn/cache/core-js-compat-npm-3.37.1-51cca8bb53-30c6fdbd9f.zip new file mode 100644 index 000000000..08613e590 Binary files /dev/null and b/.yarn/cache/core-js-compat-npm-3.37.1-51cca8bb53-30c6fdbd9f.zip differ diff --git a/.yarn/cache/esbuild-npm-0.21.4-2dbf54e35d-d27b0fcdce.zip b/.yarn/cache/esbuild-npm-0.21.4-2dbf54e35d-d27b0fcdce.zip new file mode 100644 index 000000000..f2c119c53 Binary files /dev/null and b/.yarn/cache/esbuild-npm-0.21.4-2dbf54e35d-d27b0fcdce.zip differ diff --git a/.yarn/cache/estree-walker-npm-2.0.2-dfab42f65c-b02109c5d4.zip b/.yarn/cache/estree-walker-npm-2.0.2-dfab42f65c-b02109c5d4.zip deleted file mode 100644 index 08560cf02..000000000 Binary files a/.yarn/cache/estree-walker-npm-2.0.2-dfab42f65c-b02109c5d4.zip and /dev/null differ diff --git a/.yarn/cache/fast-url-parser-npm-1.1.3-9be698120a-6d33f46ce9.zip b/.yarn/cache/fast-url-parser-npm-1.1.3-9be698120a-6d33f46ce9.zip deleted file mode 100644 index 5ff56f046..000000000 Binary files a/.yarn/cache/fast-url-parser-npm-1.1.3-9be698120a-6d33f46ce9.zip and /dev/null differ diff --git a/.yarn/cache/fs-jetpack-npm-4.3.1-db8c1c3372-cb6636a083.zip b/.yarn/cache/fs-jetpack-npm-4.3.1-db8c1c3372-cb6636a083.zip deleted file mode 100644 index 1cd74a533..000000000 Binary files a/.yarn/cache/fs-jetpack-npm-4.3.1-db8c1c3372-cb6636a083.zip and /dev/null differ diff --git a/.yarn/cache/fs-readdir-recursive-npm-1.1.0-258e230a4b-d5e3fd8456.zip b/.yarn/cache/fs-readdir-recursive-npm-1.1.0-258e230a4b-d5e3fd8456.zip new file mode 100644 index 000000000..cd9290432 Binary files /dev/null and b/.yarn/cache/fs-readdir-recursive-npm-1.1.0-258e230a4b-d5e3fd8456.zip differ diff --git a/.yarn/cache/glob-npm-10.3.12-f2e90133a0-9e8186abc2.zip b/.yarn/cache/glob-npm-10.3.12-f2e90133a0-9e8186abc2.zip deleted file mode 100644 index a5e147c39..000000000 Binary files a/.yarn/cache/glob-npm-10.3.12-f2e90133a0-9e8186abc2.zip and /dev/null differ diff --git a/.yarn/cache/glob-npm-10.3.15-501e87a16f-b2b1c74309.zip b/.yarn/cache/glob-npm-10.3.15-501e87a16f-b2b1c74309.zip deleted file mode 100644 index 14d70eb92..000000000 Binary files a/.yarn/cache/glob-npm-10.3.15-501e87a16f-b2b1c74309.zip and /dev/null differ diff --git a/.yarn/cache/http-proxy-agent-npm-4.0.1-ce9ef61788-2e17f5519f.zip b/.yarn/cache/http-proxy-agent-npm-4.0.1-ce9ef61788-2e17f5519f.zip deleted file mode 100644 index a47a5b41b..000000000 Binary files a/.yarn/cache/http-proxy-agent-npm-4.0.1-ce9ef61788-2e17f5519f.zip and /dev/null differ diff --git a/.yarn/cache/ignore-walk-npm-3.0.3-7d7a6bd656-7e18321e75.zip b/.yarn/cache/ignore-walk-npm-3.0.3-7d7a6bd656-7e18321e75.zip deleted file mode 100644 index 5b0e3e16c..000000000 Binary files a/.yarn/cache/ignore-walk-npm-3.0.3-7d7a6bd656-7e18321e75.zip and /dev/null differ diff --git a/.yarn/cache/ignore-walk-npm-3.0.4-dc5095baa0-4f56a0a40a.zip b/.yarn/cache/ignore-walk-npm-3.0.4-dc5095baa0-4f56a0a40a.zip deleted file mode 100644 index e111be3e7..000000000 Binary files a/.yarn/cache/ignore-walk-npm-3.0.4-dc5095baa0-4f56a0a40a.zip and /dev/null differ diff --git a/.yarn/cache/is-module-npm-1.0.0-79ba918283-8cd5390730.zip b/.yarn/cache/is-module-npm-1.0.0-79ba918283-8cd5390730.zip deleted file mode 100644 index 891dd7528..000000000 Binary files a/.yarn/cache/is-module-npm-1.0.0-79ba918283-8cd5390730.zip and /dev/null differ diff --git a/.yarn/cache/is-reference-npm-1.2.1-87ca1743c8-e7b48149f8.zip b/.yarn/cache/is-reference-npm-1.2.1-87ca1743c8-e7b48149f8.zip deleted file mode 100644 index bae17ee68..000000000 Binary files a/.yarn/cache/is-reference-npm-1.2.1-87ca1743c8-e7b48149f8.zip and /dev/null differ diff --git a/.yarn/cache/jest-npm-29.7.0-d8dd095b81-97023d7844.zip b/.yarn/cache/jest-npm-29.7.0-d8dd095b81-97023d7844.zip deleted file mode 100644 index c8b0feeb4..000000000 Binary files a/.yarn/cache/jest-npm-29.7.0-d8dd095b81-97023d7844.zip and /dev/null differ diff --git a/.yarn/cache/jsesc-npm-0.5.0-6827074492-fab949f585.zip b/.yarn/cache/jsesc-npm-0.5.0-6827074492-fab949f585.zip new file mode 100644 index 000000000..881ccbe8e Binary files /dev/null and b/.yarn/cache/jsesc-npm-0.5.0-6827074492-fab949f585.zip differ diff --git a/.yarn/cache/lodash.debounce-npm-4.0.8-f1d6e09799-cd0b281978.zip b/.yarn/cache/lodash.debounce-npm-4.0.8-f1d6e09799-cd0b281978.zip new file mode 100644 index 000000000..ab951371c Binary files /dev/null and b/.yarn/cache/lodash.debounce-npm-4.0.8-f1d6e09799-cd0b281978.zip differ diff --git a/.yarn/cache/lodash.memoize-npm-4.1.2-0e6250041f-192b2168f3.zip b/.yarn/cache/lodash.memoize-npm-4.1.2-0e6250041f-192b2168f3.zip deleted file mode 100644 index b10ece4c0..000000000 Binary files a/.yarn/cache/lodash.memoize-npm-4.1.2-0e6250041f-192b2168f3.zip and /dev/null differ diff --git a/.yarn/cache/magic-string-npm-0.30.8-0378572eee-72ab63817a.zip b/.yarn/cache/magic-string-npm-0.30.8-0378572eee-72ab63817a.zip deleted file mode 100644 index b0f7d4749..000000000 Binary files a/.yarn/cache/magic-string-npm-0.30.8-0378572eee-72ab63817a.zip and /dev/null differ diff --git a/.yarn/cache/make-dir-npm-2.1.0-1ddaf205e7-043548886b.zip b/.yarn/cache/make-dir-npm-2.1.0-1ddaf205e7-043548886b.zip new file mode 100644 index 000000000..ee28fceb6 Binary files /dev/null and b/.yarn/cache/make-dir-npm-2.1.0-1ddaf205e7-043548886b.zip differ diff --git a/.yarn/cache/mocha-multi-reporters-npm-1.5.1-0a1088aed5-ae15b9fc12.zip b/.yarn/cache/mocha-multi-reporters-npm-1.5.1-0a1088aed5-ae15b9fc12.zip deleted file mode 100644 index c9cc04abe..000000000 Binary files a/.yarn/cache/mocha-multi-reporters-npm-1.5.1-0a1088aed5-ae15b9fc12.zip and /dev/null differ diff --git a/.yarn/cache/nwsapi-npm-2.2.10-d9c9a3f5f1-b310e9dd08.zip b/.yarn/cache/nwsapi-npm-2.2.10-d9c9a3f5f1-b310e9dd08.zip new file mode 100644 index 000000000..ccf41e5d3 Binary files /dev/null and b/.yarn/cache/nwsapi-npm-2.2.10-d9c9a3f5f1-b310e9dd08.zip differ diff --git a/.yarn/cache/nwsapi-npm-2.2.7-3bed340fab-22c002080f.zip b/.yarn/cache/nwsapi-npm-2.2.7-3bed340fab-22c002080f.zip deleted file mode 100644 index 7111b4986..000000000 Binary files a/.yarn/cache/nwsapi-npm-2.2.7-3bed340fab-22c002080f.zip and /dev/null differ diff --git a/.yarn/cache/path-scurry-npm-1.10.2-676482c764-a2bbbe8dc2.zip b/.yarn/cache/path-scurry-npm-1.10.2-676482c764-a2bbbe8dc2.zip deleted file mode 100644 index b8b3c10a0..000000000 Binary files a/.yarn/cache/path-scurry-npm-1.10.2-676482c764-a2bbbe8dc2.zip and /dev/null differ diff --git a/.yarn/cache/path-scurry-npm-1.11.1-aaf8c339af-5e8845c159.zip b/.yarn/cache/path-scurry-npm-1.11.1-aaf8c339af-5e8845c159.zip deleted file mode 100644 index 40cc3d66f..000000000 Binary files a/.yarn/cache/path-scurry-npm-1.11.1-aaf8c339af-5e8845c159.zip and /dev/null differ diff --git a/.yarn/cache/pify-npm-4.0.1-062756097b-8b97cbf9dc.zip b/.yarn/cache/pify-npm-4.0.1-062756097b-8b97cbf9dc.zip new file mode 100644 index 000000000..c4e09affa Binary files /dev/null and b/.yarn/cache/pify-npm-4.0.1-062756097b-8b97cbf9dc.zip differ diff --git a/.yarn/cache/punycode-npm-1.4.1-be4c23e6d2-af2700dde1.zip b/.yarn/cache/punycode-npm-1.4.1-be4c23e6d2-af2700dde1.zip deleted file mode 100644 index 9853bb6e2..000000000 Binary files a/.yarn/cache/punycode-npm-1.4.1-be4c23e6d2-af2700dde1.zip and /dev/null differ diff --git a/.yarn/cache/regenerate-npm-1.4.2-b296c5b63a-dc6c95ae4b.zip b/.yarn/cache/regenerate-npm-1.4.2-b296c5b63a-dc6c95ae4b.zip new file mode 100644 index 000000000..c525e74f6 Binary files /dev/null and b/.yarn/cache/regenerate-npm-1.4.2-b296c5b63a-dc6c95ae4b.zip differ diff --git a/.yarn/cache/regenerate-unicode-properties-npm-10.1.1-07b52ba05f-b855152efd.zip b/.yarn/cache/regenerate-unicode-properties-npm-10.1.1-07b52ba05f-b855152efd.zip new file mode 100644 index 000000000..d1c960e91 Binary files /dev/null and b/.yarn/cache/regenerate-unicode-properties-npm-10.1.1-07b52ba05f-b855152efd.zip differ diff --git a/.yarn/cache/regenerator-runtime-npm-0.14.1-a6c97c609a-5db3161abb.zip b/.yarn/cache/regenerator-runtime-npm-0.14.1-a6c97c609a-5db3161abb.zip new file mode 100644 index 000000000..176e75507 Binary files /dev/null and b/.yarn/cache/regenerator-runtime-npm-0.14.1-a6c97c609a-5db3161abb.zip differ diff --git a/.yarn/cache/regenerator-transform-npm-0.15.2-109e57a69f-c4fdcb46d1.zip b/.yarn/cache/regenerator-transform-npm-0.15.2-109e57a69f-c4fdcb46d1.zip new file mode 100644 index 000000000..bde51c190 Binary files /dev/null and b/.yarn/cache/regenerator-transform-npm-0.15.2-109e57a69f-c4fdcb46d1.zip differ diff --git a/.yarn/cache/regexpu-core-npm-5.3.2-89effc52a2-ed0d7c66d8.zip b/.yarn/cache/regexpu-core-npm-5.3.2-89effc52a2-ed0d7c66d8.zip new file mode 100644 index 000000000..d1c53522a Binary files /dev/null and b/.yarn/cache/regexpu-core-npm-5.3.2-89effc52a2-ed0d7c66d8.zip differ diff --git a/.yarn/cache/regjsparser-npm-0.9.1-47cd7c2ee2-be7757ef76.zip b/.yarn/cache/regjsparser-npm-0.9.1-47cd7c2ee2-be7757ef76.zip new file mode 100644 index 000000000..34426cc08 Binary files /dev/null and b/.yarn/cache/regjsparser-npm-0.9.1-47cd7c2ee2-be7757ef76.zip differ diff --git a/.yarn/cache/rollup-npm-4.13.0-6c6a010f12-3ebced8ad4.zip b/.yarn/cache/rollup-npm-4.13.0-6c6a010f12-3ebced8ad4.zip deleted file mode 100644 index 92d1414cc..000000000 Binary files a/.yarn/cache/rollup-npm-4.13.0-6c6a010f12-3ebced8ad4.zip and /dev/null differ diff --git a/.yarn/cache/rollup-npm-4.14.1-e9caaf5723-dd7db60061.zip b/.yarn/cache/rollup-npm-4.14.1-e9caaf5723-dd7db60061.zip deleted file mode 100644 index 95d890093..000000000 Binary files a/.yarn/cache/rollup-npm-4.14.1-e9caaf5723-dd7db60061.zip and /dev/null differ diff --git a/.yarn/cache/rollup-npm-4.14.3-28fe395e65-caff654b73.zip b/.yarn/cache/rollup-npm-4.14.3-28fe395e65-caff654b73.zip deleted file mode 100644 index 0e2a89968..000000000 Binary files a/.yarn/cache/rollup-npm-4.14.3-28fe395e65-caff654b73.zip and /dev/null differ diff --git a/.yarn/cache/rollup-npm-4.16.3-8cfdf7120d-2fa17e0464.zip b/.yarn/cache/rollup-npm-4.16.3-8cfdf7120d-2fa17e0464.zip deleted file mode 100644 index 32df66d1d..000000000 Binary files a/.yarn/cache/rollup-npm-4.16.3-8cfdf7120d-2fa17e0464.zip and /dev/null differ diff --git a/.yarn/cache/rollup-npm-4.17.1-7b824476d8-4072609e24.zip b/.yarn/cache/rollup-npm-4.17.1-7b824476d8-4072609e24.zip deleted file mode 100644 index 774cd0795..000000000 Binary files a/.yarn/cache/rollup-npm-4.17.1-7b824476d8-4072609e24.zip and /dev/null differ diff --git a/.yarn/cache/rollup-npm-4.17.2-f7b114774f-a021d57f73.zip b/.yarn/cache/rollup-npm-4.17.2-f7b114774f-a021d57f73.zip deleted file mode 100644 index 184b2ce21..000000000 Binary files a/.yarn/cache/rollup-npm-4.17.2-f7b114774f-a021d57f73.zip and /dev/null differ diff --git a/.yarn/cache/slash-npm-2.0.0-69009eac54-512d435073.zip b/.yarn/cache/slash-npm-2.0.0-69009eac54-512d435073.zip new file mode 100644 index 000000000..39c8b1359 Binary files /dev/null and b/.yarn/cache/slash-npm-2.0.0-69009eac54-512d435073.zip differ diff --git a/.yarn/cache/stream-events-npm-1.0.5-38468a7cf3-969ce82e34.zip b/.yarn/cache/stream-events-npm-1.0.5-38468a7cf3-969ce82e34.zip deleted file mode 100644 index c712207aa..000000000 Binary files a/.yarn/cache/stream-events-npm-1.0.5-38468a7cf3-969ce82e34.zip and /dev/null differ diff --git a/.yarn/cache/stubs-npm-3.0.0-22bb785265-dec7b82186.zip b/.yarn/cache/stubs-npm-3.0.0-22bb785265-dec7b82186.zip deleted file mode 100644 index 519010cb1..000000000 Binary files a/.yarn/cache/stubs-npm-3.0.0-22bb785265-dec7b82186.zip and /dev/null differ diff --git a/.yarn/cache/teeny-request-npm-7.0.1-7cdc0d7119-c5a53d00fd.zip b/.yarn/cache/teeny-request-npm-7.0.1-7cdc0d7119-c5a53d00fd.zip deleted file mode 100644 index 6fe9aa065..000000000 Binary files a/.yarn/cache/teeny-request-npm-7.0.1-7cdc0d7119-c5a53d00fd.zip and /dev/null differ diff --git a/.yarn/cache/teeny-request-npm-7.1.1-6e3d43d40d-ee2cda5ba4.zip b/.yarn/cache/teeny-request-npm-7.1.1-6e3d43d40d-ee2cda5ba4.zip deleted file mode 100644 index 26b954307..000000000 Binary files a/.yarn/cache/teeny-request-npm-7.1.1-6e3d43d40d-ee2cda5ba4.zip and /dev/null differ diff --git a/.yarn/cache/tough-cookie-npm-4.1.4-8293cc8bd5-75663f4e2c.zip b/.yarn/cache/tough-cookie-npm-4.1.4-8293cc8bd5-75663f4e2c.zip new file mode 100644 index 000000000..663ceb004 Binary files /dev/null and b/.yarn/cache/tough-cookie-npm-4.1.4-8293cc8bd5-75663f4e2c.zip differ diff --git a/.yarn/cache/ts-jest-npm-29.1.2-22ab85b861-5e40e7b933.zip b/.yarn/cache/ts-jest-npm-29.1.2-22ab85b861-5e40e7b933.zip deleted file mode 100644 index 29ee5dc5c..000000000 Binary files a/.yarn/cache/ts-jest-npm-29.1.2-22ab85b861-5e40e7b933.zip and /dev/null differ diff --git a/.yarn/cache/unicode-canonical-property-names-ecmascript-npm-2.0.0-d2d8554a14-39be078afd.zip b/.yarn/cache/unicode-canonical-property-names-ecmascript-npm-2.0.0-d2d8554a14-39be078afd.zip new file mode 100644 index 000000000..8578f8343 Binary files /dev/null and b/.yarn/cache/unicode-canonical-property-names-ecmascript-npm-2.0.0-d2d8554a14-39be078afd.zip differ diff --git a/.yarn/cache/unicode-match-property-ecmascript-npm-2.0.0-97a00fd52c-1f34a7434a.zip b/.yarn/cache/unicode-match-property-ecmascript-npm-2.0.0-97a00fd52c-1f34a7434a.zip new file mode 100644 index 000000000..456f930eb Binary files /dev/null and b/.yarn/cache/unicode-match-property-ecmascript-npm-2.0.0-97a00fd52c-1f34a7434a.zip differ diff --git a/.yarn/cache/unicode-match-property-value-ecmascript-npm-2.1.0-65e24443e6-06661bc8ab.zip b/.yarn/cache/unicode-match-property-value-ecmascript-npm-2.1.0-65e24443e6-06661bc8ab.zip new file mode 100644 index 000000000..696c090e5 Binary files /dev/null and b/.yarn/cache/unicode-match-property-value-ecmascript-npm-2.1.0-65e24443e6-06661bc8ab.zip differ diff --git a/.yarn/cache/unicode-property-aliases-ecmascript-npm-2.1.0-46779595f4-2435244318.zip b/.yarn/cache/unicode-property-aliases-ecmascript-npm-2.1.0-46779595f4-2435244318.zip new file mode 100644 index 000000000..be89e75a7 Binary files /dev/null and b/.yarn/cache/unicode-property-aliases-ecmascript-npm-2.1.0-46779595f4-2435244318.zip differ diff --git a/.yarn/cache/urlgrey-npm-0.4.4-a1b175fb65-466082b15f.zip b/.yarn/cache/urlgrey-npm-0.4.4-a1b175fb65-466082b15f.zip deleted file mode 100644 index 5036d0c1f..000000000 Binary files a/.yarn/cache/urlgrey-npm-0.4.4-a1b175fb65-466082b15f.zip and /dev/null differ diff --git a/.yarn/cache/urlgrey-npm-1.0.0-3a5d58c774-c981808dd2.zip b/.yarn/cache/urlgrey-npm-1.0.0-3a5d58c774-c981808dd2.zip deleted file mode 100644 index 8bedb2bc6..000000000 Binary files a/.yarn/cache/urlgrey-npm-1.0.0-3a5d58c774-c981808dd2.zip and /dev/null differ diff --git a/.yarn/cache/ws-npm-8.16.0-46943f6199-7c511c59e9.zip b/.yarn/cache/ws-npm-8.16.0-46943f6199-7c511c59e9.zip deleted file mode 100644 index 3b552fa0e..000000000 Binary files a/.yarn/cache/ws-npm-8.16.0-46943f6199-7c511c59e9.zip and /dev/null differ diff --git a/.yarn/cache/ws-npm-8.17.0-05fb441faf-5e1dcb0ae7.zip b/.yarn/cache/ws-npm-8.17.0-05fb441faf-5e1dcb0ae7.zip new file mode 100644 index 000000000..4c688e84e Binary files /dev/null and b/.yarn/cache/ws-npm-8.17.0-05fb441faf-5e1dcb0ae7.zip differ diff --git a/package.json b/package.json index 280801080..dd758dfae 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "eslint-plugin-prefer-arrow": "^1.2.3", "husky": "^9.0.0", "lint-staged": "^15.0.0", - "prettier": "^3.2.4", + "prettier": "^3.2.5", "prettier-plugin-packagejson": "^2.4.9", "rimraf": "^5.0.1", "typescript": "^5.2.2" diff --git a/packages/allure-codeceptjs/.gitignore b/packages/allure-codeceptjs/.gitignore index 7b6dbf764..0e6b2f8c8 100644 --- a/packages/allure-codeceptjs/.gitignore +++ b/packages/allure-codeceptjs/.gitignore @@ -1,2 +1,2 @@ test-results -test/fixtures +test/temp diff --git a/packages/allure-codeceptjs/babel.cjs.json b/packages/allure-codeceptjs/babel.cjs.json new file mode 100644 index 000000000..b1a0df362 --- /dev/null +++ b/packages/allure-codeceptjs/babel.cjs.json @@ -0,0 +1,23 @@ +{ + "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/allure-codeceptjs/babel.esm.json b/packages/allure-codeceptjs/babel.esm.json new file mode 100644 index 000000000..bc8432e04 --- /dev/null +++ b/packages/allure-codeceptjs/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/allure-codeceptjs/package.json b/packages/allure-codeceptjs/package.json index 75c064ed2..93e551e01 100644 --- a/packages/allure-codeceptjs/package.json +++ b/packages/allure-codeceptjs/package.json @@ -15,38 +15,47 @@ "license": "Apache-2.0", "exports": { ".": { - "import": "./dist/index.mjs", - "require": "./dist/index.cjs" + "import": "./dist/esm/index.js", + "require": "./dist/cjs/index.js", + "types": "./dist/types/index.d.ts" } }, - "main": "./dist/index.cjs", - "module": "./dist/index.mjs", - "types": "./dist/index.d.ts", + "main": "./dist/cjs/index.js", + "module": "./dist/esm/index.js", + "types": "./dist/types/index.d.ts", "files": [ "dist" ], "scripts": { "clean": "rimraf ./dist ./out ./test-results", - "compile": "run-p 'compile:*'", - "compile:lib": "rollup -c", - "compile:types": "tsc --project ./tsconfig.dts.json", + "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 --declaration --emitDeclarationOnly", + "compile:fixup": "node ./scripts/fixup.mjs", "lint": "eslint ./src ./test --ext .ts", "lint:fix": "eslint ./src ./test --ext .ts --fix", - "test": "vitest run test/spec" + "test": "vitest run" }, "dependencies": { - "allure-js-commons": "workspace:*", - "strip-ansi": "^5.2.0" + "allure-js-commons": "workspace:*" }, "devDependencies": { + "@babel/cli": "^7.24.6", + "@babel/core": "^7.24.6", + "@babel/plugin-transform-modules-commonjs": "^7.24.6", + "@babel/preset-env": "^7.24.6", + "@babel/preset-typescript": "^7.24.6", "@codeceptjs/configure": "^1.0.0", "@codeceptjs/helper": "^2.0.4", - "@rollup/plugin-node-resolve": "^15.2.3", - "@rollup/plugin-typescript": "^11.1.6", + "@types/babel__core": "^7", + "@types/babel__preset-env": "^7", "@types/eslint": "^8", + "@types/jasmine": "^5.1.4", "@types/node": "^20.6.3", "@typescript-eslint/eslint-plugin": "^7.0.0", "@typescript-eslint/parser": "^7.0.0", + "babel-plugin-add-module-exports": "^1.0.4", "codeceptjs": "^3.5.4", "eslint": "^8.57.0", "eslint-config-prettier": "^9.0.0", @@ -56,12 +65,9 @@ "eslint-plugin-no-null": "^1.0.2", "eslint-plugin-prefer-arrow": "^1.2.3", "expect": "^29.7.0", - "glob": "^10.3.12", "npm-run-all2": "^6.1.2", "rimraf": "^5.0.1", - "rollup": "^4.16.3", "ts-node": "^10.9.2", - "tslib": "^2.6.2", "typescript": "^5.2.2", "vitest": "^1.5.0" } diff --git a/packages/allure-codeceptjs/rollup.config.mjs b/packages/allure-codeceptjs/rollup.config.mjs deleted file mode 100644 index 6addd094b..000000000 --- a/packages/allure-codeceptjs/rollup.config.mjs +++ /dev/null @@ -1,55 +0,0 @@ -import typescriptPlugin from "@rollup/plugin-typescript"; -import { globSync } from "glob"; -import { join, relative } from "node:path"; -import { fileURLToPath } from "node:url"; -import { defineConfig } from "rollup"; - -const dirname = fileURLToPath(new URL(".", import.meta.url)); - -const createNodeEntry = (inputFile) => { - const outputFileBase = inputFile.replace(/^src/, "dist"); - const external = [ - "allure-js-commons", - "allure-js-commons/sdk/node", - "strip-ansi", - "codeceptjs", - "node:path", - ]; - - return [ - defineConfig({ - input: inputFile, - output: { - file: join(dirname, outputFileBase.replace(/\.ts$/, ".mjs")), - format: "esm", - sourcemap: true, - }, - plugins: [ - typescriptPlugin({ - tsconfig: "./tsconfig.rollup.json", - }), - ], - external, - }), - defineConfig({ - input: inputFile, - output: { - file: join(dirname, outputFileBase.replace(/\.ts$/, ".cjs")), - format: "cjs", - sourcemap: true, - }, - plugins: [ - typescriptPlugin({ - tsconfig: "./tsconfig.rollup.json", - }), - ], - external, - }), - ]; -}; - -export default () => { - const entries = globSync("src/*.ts", { cwd: dirname }); - - return entries.map(createNodeEntry).flat(); -}; diff --git a/packages/allure-js-commons/scripts/fixup.ts b/packages/allure-codeceptjs/scripts/fixup.mjs similarity index 71% rename from packages/allure-js-commons/scripts/fixup.ts rename to packages/allure-codeceptjs/scripts/fixup.mjs index f268e78aa..59c47a9f4 100644 --- a/packages/allure-js-commons/scripts/fixup.ts +++ b/packages/allure-codeceptjs/scripts/fixup.mjs @@ -1,8 +1,10 @@ import { mkdirSync, writeFileSync } from "node:fs"; import { join, resolve } from "node:path"; +import { fileURLToPath } from "node:url"; -const esmBuildPath = resolve(__dirname, "../dist/esm"); -const cjsBuildPath = resolve(__dirname, "../dist/cjs"); +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 }); diff --git a/packages/allure-codeceptjs/src/helpers.ts b/packages/allure-codeceptjs/src/helpers.ts index 2660fb86f..1f0ba0838 100644 --- a/packages/allure-codeceptjs/src/helpers.ts +++ b/packages/allure-codeceptjs/src/helpers.ts @@ -1,5 +1,9 @@ -import { Label, LabelName, allureIdRegexp, allureLabelRegexp } from "allure-js-commons"; -import { CodeceptTest } from "./model"; +import type { Label } from "allure-js-commons"; +import { LabelName } from "allure-js-commons"; +import type { CodeceptTest } from "./model.js"; + +const allureIdRegexp = /@?allure.id[:=](?[^\s]+)/; +const allureLabelRegexp = /@?allure.label.(?[^\s]+?)[:=](?[^\s]+)/; export const extractMeta = (test: CodeceptTest & { tags: string[] }) => { const labels: Label[] = test.tags.map((tag) => { diff --git a/packages/allure-codeceptjs/src/index.ts b/packages/allure-codeceptjs/src/index.ts index da82a8442..2531e04c0 100644 --- a/packages/allure-codeceptjs/src/index.ts +++ b/packages/allure-codeceptjs/src/index.ts @@ -1,5 +1,6 @@ -import { setGlobalTestRuntime } from "allure-js-commons/sdk/node"; -import { AllureCodeceptJsConfig } from "./model.js"; +import { setGlobalTestRuntime } from "allure-js-commons/sdk/runtime"; +import { allureCodeceptJsLegacyApi } from "./legacy.js"; +import type { AllureCodeceptJsConfig } from "./model.js"; import { AllureCodeceptJsReporter } from "./reporter.js"; import { AllureCodeceptJsTestRuntime } from "./runtime.js"; @@ -7,9 +8,10 @@ const allurePlugin = (config: AllureCodeceptJsConfig) => { const reporter = new AllureCodeceptJsReporter(config); const testRuntime = new AllureCodeceptJsTestRuntime(reporter); + // @ts-ignore setGlobalTestRuntime(testRuntime); - return testRuntime; + return allureCodeceptJsLegacyApi; }; export default allurePlugin; diff --git a/packages/allure-codeceptjs/src/legacy.ts b/packages/allure-codeceptjs/src/legacy.ts new file mode 100644 index 000000000..b4272e510 --- /dev/null +++ b/packages/allure-codeceptjs/src/legacy.ts @@ -0,0 +1,132 @@ +import * as allure from "allure-js-commons"; + +/** + * @deprecated please use api exported by "allure-js-commons" instead. + */ +export interface AllureCodeceptJsLegacyApi { + label: (name: string, value: string) => Promise; + link: (type: string, url: string, name?: string) => Promise; + parameter: ( + name: string, + value: string, + options?: { excluded?: boolean; mode?: "hidden" | "masked" | "default" }, + ) => Promise; + description: (markdown: string) => Promise; + descriptionHtml: (html: string) => Promise; + testCaseId: (id: string) => Promise; + historyId: (id: string) => Promise; + allureId: (id: string) => Promise; + displayName: (name: string) => Promise; + attachment: (name: string, content: Buffer | string, type: string) => Promise; + issue: (name: string, url: string) => Promise; + tms: (name: string, url: string) => Promise; + epic: (name: string) => Promise; + feature: (name: string) => Promise; + story: (name: string) => Promise; + suite: (name: string) => Promise; + parentSuite: (name: string) => Promise; + subSuite: (name: string) => Promise; + owner: (name: string) => Promise; + severity: (name: string) => Promise; + layer: (name: string) => Promise; + tag: (name: string) => Promise; + step: (name: string, body: () => Promise) => Promise; +} + +/** + * @deprecated please use api exported by "allure-js-commons" instead. + */ +export const allureCodeceptJsLegacyApi: AllureCodeceptJsLegacyApi = { + /** + * @deprecated please use import { label } from "allure-js-commons" instead. + */ + label: (...args) => Promise.resolve(allure.label(...args)), + /** + * @deprecated please use import { link } from "allure-js-commons" instead. + */ + link: (type, url, name) => Promise.resolve(allure.link(url, type, name)), + /** + * @deprecated please use import { parameter } from "allure-js-commons" instead. + */ + parameter: (name, value, options) => Promise.resolve(allure.parameter(name, value, options)), + /** + * @deprecated please use import { description } from "allure-js-commons" instead. + */ + description: (...args) => Promise.resolve(allure.description(...args)), + /** + * @deprecated please use import { descriptionHtml } from "allure-js-commons" instead. + */ + descriptionHtml: (html) => Promise.resolve(allure.descriptionHtml(html)), + /** + * @deprecated please use import { testCaseId } from "allure-js-commons" instead. + */ + testCaseId: (id) => Promise.resolve(allure.testCaseId(id)), + /** + * @deprecated please use import { historyId } from "allure-js-commons" instead. + */ + historyId: (id) => Promise.resolve(allure.historyId(id)), + /** + * @deprecated please use import { allureId } from "allure-js-commons" instead. + */ + allureId: (id) => Promise.resolve(allure.allureId(id)), + /** + * @deprecated please use import { displayName } from "allure-js-commons" instead. + */ + displayName: (name) => Promise.resolve(allure.displayName(name)), + /** + * @deprecated please use import { attachment } from "allure-js-commons" instead. + */ + attachment: (name, content, type) => Promise.resolve(allure.attachment(name, content, type)), + /** + * @deprecated please use import { issue } from "allure-js-commons" instead. + */ + issue: (name, url) => Promise.resolve(allure.issue(url, name)), + /** + * @deprecated please use import { tms } from "allure-js-commons" instead. + */ + tms: (name, url) => Promise.resolve(allure.tms(url, name)), + /** + * @deprecated please use import { epic } from "allure-js-commons" instead. + */ + epic: (name) => Promise.resolve(allure.epic(name)), + /** + * @deprecated please use import { feature } from "allure-js-commons" instead. + */ + feature: (name) => Promise.resolve(allure.feature(name)), + /** + * @deprecated please use import { story } from "allure-js-commons" instead. + */ + story: (name) => Promise.resolve(allure.story(name)), + /** + * @deprecated please use import { suite } from "allure-js-commons" instead. + */ + suite: (name) => Promise.resolve(allure.suite(name)), + /** + * @deprecated please use import { parentSuite } from "allure-js-commons" instead. + */ + parentSuite: (name) => Promise.resolve(allure.parentSuite(name)), + /** + * @deprecated please use import { subSuite } from "allure-js-commons" instead. + */ + subSuite: (name) => Promise.resolve(allure.subSuite(name)), + /** + * @deprecated please use import { owner } from "allure-js-commons" instead. + */ + owner: (name) => Promise.resolve(allure.owner(name)), + /** + * @deprecated please use import { severity } from "allure-js-commons" instead. + */ + severity: (name) => Promise.resolve(allure.severity(name)), + /** + * @deprecated please use import { layer } from "allure-js-commons" instead. + */ + layer: (name) => Promise.resolve(allure.layer(name)), + /** + * @deprecated please use import { tag } from "allure-js-commons" instead. + */ + tag: (name) => Promise.resolve(allure.tag(name)), + /** + * @deprecated please use import { step } from "allure-js-commons" instead. + */ + step: (name, body) => Promise.resolve(allure.step(name, body)), +}; diff --git a/packages/allure-codeceptjs/src/model.ts b/packages/allure-codeceptjs/src/model.ts index 7dbc87ffa..74efee6f6 100644 --- a/packages/allure-codeceptjs/src/model.ts +++ b/packages/allure-codeceptjs/src/model.ts @@ -1,4 +1,4 @@ -import type { Config } from "allure-js-commons/sdk/browser"; +import type { Config } from "allure-js-commons/sdk/reporter"; export interface CodeceptError { params: any; diff --git a/packages/allure-codeceptjs/src/reporter.ts b/packages/allure-codeceptjs/src/reporter.ts index 8369a049d..0c900db2c 100644 --- a/packages/allure-codeceptjs/src/reporter.ts +++ b/packages/allure-codeceptjs/src/reporter.ts @@ -1,21 +1,13 @@ import { event } from "codeceptjs"; import path from "node:path"; -import stripAnsi from "strip-ansi"; -import { - AllureNodeReporterRuntime, - FileSystemAllureWriter, - LabelName, - MessageAllureWriter, - RuntimeMessage, - Stage, - Status, - extractMetadataFromString, -} from "allure-js-commons/sdk/node"; +import { LabelName, Stage, Status } from "allure-js-commons"; +import { type RuntimeMessage, extractMetadataFromString, getMessageAndTraceFromError } from "allure-js-commons/sdk"; +import { FileSystemWriter, MessageWriter, ReporterRuntime, md5 } from "allure-js-commons/sdk/reporter"; import { extractMeta } from "./helpers"; -import { AllureCodeceptJsConfig, CodeceptError, CodeceptHook, CodeceptStep, CodeceptTest } from "./model.js"; +import type { AllureCodeceptJsConfig, CodeceptError, CodeceptHook, CodeceptStep, CodeceptTest } from "./model.js"; export class AllureCodeceptJsReporter { - allureRuntime?: AllureNodeReporterRuntime; + allureRuntime?: ReporterRuntime; currentAllureResultUuid?: string; currentTest: CodeceptTest | null = null; config!: AllureCodeceptJsConfig; @@ -23,11 +15,11 @@ export class AllureCodeceptJsReporter { constructor(config: AllureCodeceptJsConfig) { this.registerEvents(); this.config = config || {}; - this.allureRuntime = new AllureNodeReporterRuntime({ + this.allureRuntime = new ReporterRuntime({ ...config, writer: config.testMode - ? new MessageAllureWriter() - : new FileSystemAllureWriter({ + ? new MessageWriter() + : new FileSystemWriter({ resultsDir: config.resultsDir || "./allure-results", }), }); @@ -65,7 +57,7 @@ export class AllureCodeceptJsReporter { this.currentAllureResultUuid = this.allureRuntime!.startTest({ name: titleMetadata.cleanTitle, fullName, - testCaseId: this.allureRuntime!.crypto.md5(fullName), + testCaseId: md5(fullName), }); this.allureRuntime!.updateTest((result) => { @@ -156,7 +148,8 @@ export class AllureCodeceptJsReporter { this.allureRuntime!.updateTest((result) => { result.status = Status.FAILED; - result.statusDetails = { message: stripAnsi(err.message) }; + // @ts-ignore + result.statusDetails = getMessageAndTraceFromError(err); }, this.currentAllureResultUuid); this.closeCurrentAllureTest(test); } diff --git a/packages/allure-codeceptjs/src/runtime.ts b/packages/allure-codeceptjs/src/runtime.ts index 421f67209..8d75f3765 100644 --- a/packages/allure-codeceptjs/src/runtime.ts +++ b/packages/allure-codeceptjs/src/runtime.ts @@ -1,42 +1,17 @@ -import { - allureId, - epic, - feature, - issue, - layer, - owner, - parentSuite, - severity, - story, - subSuite, - suite, - tag, - tms, -} from "allure-js-commons"; -import { MessageTestRuntime, RuntimeMessage } from "allure-js-commons/sdk/node"; -import { AllureCodeceptJsReporter } from "./reporter.js"; +import type { RuntimeMessage } from "allure-js-commons/sdk"; +import { MessageTestRuntime } from "allure-js-commons/sdk/runtime"; +import type { AllureCodeceptJsReporter } from "./reporter.js"; export class AllureCodeceptJsTestRuntime extends MessageTestRuntime { - constructor(private readonly reporter: AllureCodeceptJsReporter) { + private readonly reporter: AllureCodeceptJsReporter; + + constructor(reporter: AllureCodeceptJsReporter) { super(); + this.reporter = reporter; } async sendMessage(message: RuntimeMessage) { this.reporter.handleRuntimeMessage(message); await Promise.resolve(); } - - issue = issue; - tms = tms; - allureId = allureId; - epic = epic; - feature = feature; - layer = layer; - owner = owner; - parentSuite = parentSuite; - subSuite = subSuite; - suite = suite; - severity = severity; - story = story; - tag = tag; } diff --git a/packages/allure-codeceptjs/test/assets/codecept.conf.js b/packages/allure-codeceptjs/test/fixtures/codecept.conf.js similarity index 93% rename from packages/allure-codeceptjs/test/assets/codecept.conf.js rename to packages/allure-codeceptjs/test/fixtures/codecept.conf.js index 08af846e9..0404431e4 100644 --- a/packages/allure-codeceptjs/test/assets/codecept.conf.js +++ b/packages/allure-codeceptjs/test/fixtures/codecept.conf.js @@ -3,7 +3,7 @@ const { setCommonPlugins } = require("@codeceptjs/configure"); setCommonPlugins(); -module.exports.config = { +exports.config = { tests: "./**/*.test.js", output: path.resolve(__dirname, "./output"), plugins: { diff --git a/packages/allure-codeceptjs/test/assets/helper.js b/packages/allure-codeceptjs/test/fixtures/helper.js similarity index 100% rename from packages/allure-codeceptjs/test/assets/helper.js rename to packages/allure-codeceptjs/test/fixtures/helper.js diff --git a/packages/allure-codeceptjs/test/assets/hooksHelper.js b/packages/allure-codeceptjs/test/fixtures/hooksHelper.js similarity index 100% rename from packages/allure-codeceptjs/test/assets/hooksHelper.js rename to packages/allure-codeceptjs/test/fixtures/hooksHelper.js diff --git a/packages/allure-codeceptjs/test/spec/hooks.test.ts b/packages/allure-codeceptjs/test/spec/hooks.test.ts index 79cbed679..e7e5383ea 100644 --- a/packages/allure-codeceptjs/test/spec/hooks.test.ts +++ b/packages/allure-codeceptjs/test/spec/hooks.test.ts @@ -1,5 +1,5 @@ import { expect, it } from "vitest"; -import { Stage, Status } from "allure-js-commons/sdk/node"; +import { Stage, Status } from "allure-js-commons"; import { runCodeceptJsInlineTest } from "../utils"; it("handles hooks", async () => { diff --git a/packages/allure-codeceptjs/test/spec/runtime/legacy/attachments.test.ts b/packages/allure-codeceptjs/test/spec/runtime/legacy/attachments.test.ts index 18880d8e7..c9126e1a7 100644 --- a/packages/allure-codeceptjs/test/spec/runtime/legacy/attachments.test.ts +++ b/packages/allure-codeceptjs/test/spec/runtime/legacy/attachments.test.ts @@ -4,11 +4,11 @@ import { runCodeceptJsInlineTest } from "../../../utils"; it("handles attachments in tests", async () => { const { tests, attachments } = await runCodeceptJsInlineTest({ "login.test.js": ` - const { attachment } = require("allure-js-commons"); - Feature("sample-feature"); Scenario("sample-scenario", async () => { - await attachment("data.txt", "some data", "text/plain"); + const allure = codeceptjs.container.plugins("allure"); + + await allure.attachment("data.txt", "some data", "text/plain"); }); `, }); diff --git a/packages/allure-codeceptjs/test/spec/runtime/legacy/labels.test.ts b/packages/allure-codeceptjs/test/spec/runtime/legacy/labels.test.ts index a1bffcfbe..ac4430200 100644 --- a/packages/allure-codeceptjs/test/spec/runtime/legacy/labels.test.ts +++ b/packages/allure-codeceptjs/test/spec/runtime/legacy/labels.test.ts @@ -1,5 +1,5 @@ import { expect, it } from "vitest"; -import { LabelName } from "allure-js-commons/sdk/node"; +import { LabelName } from "allure-js-commons"; import { runCodeceptJsInlineTest } from "../../../utils"; it("adds labels", async () => { @@ -21,7 +21,6 @@ it("adds labels", async () => { await allure.severity("foo"); await allure.story("foo"); await allure.tag("foo"); - await allure.labels({ name: "test", value: "testValue" }, { name: "test2", value: "testValue2" }); }); `, }); @@ -81,14 +80,6 @@ it("adds labels", async () => { name: LabelName.STORY, value: "foo", }, - { - name: "test", - value: "testValue", - }, - { - name: "test2", - value: "testValue2", - }, ]), ); }); diff --git a/packages/allure-codeceptjs/test/spec/runtime/legacy/links.test.ts b/packages/allure-codeceptjs/test/spec/runtime/legacy/links.test.ts index 5a1d6c668..31551e29c 100644 --- a/packages/allure-codeceptjs/test/spec/runtime/legacy/links.test.ts +++ b/packages/allure-codeceptjs/test/spec/runtime/legacy/links.test.ts @@ -1,5 +1,5 @@ import { expect, it } from "vitest"; -import { LinkType } from "allure-js-commons/sdk/node"; +import { LinkType } from "allure-js-commons"; import { runCodeceptJsInlineTest } from "../../../utils"; it("sets runtime links", async () => { @@ -9,12 +9,11 @@ it("sets runtime links", async () => { Scenario("login-scenario1", async () => { const allure = codeceptjs.container.plugins("allure"); - await allure.link("https://playwright.dev/docs/api/class-page#page-workers"); - await allure.issue("1"); - await allure.issue("https://example.org/issues/2"); - await allure.tms("1"); - await allure.tms("https://example.org/tasks/2"); - await allure.links(...[{ url:"https://www.google.com/1" }, { url:"https://www.google.com/2" }]); + await allure.link("custom", "https://playwright.dev/docs/api/class-page#page-workers"); + await allure.issue("issue 1", "1"); + await allure.issue("issue 2", "https://example.org/issues/2"); + await allure.tms("task 1", "1"); + await allure.tms("task 2", "https://example.org/tasks/2"); }); `, "codecept.conf.js": ` @@ -57,28 +56,27 @@ it("sets runtime links", async () => { links: [ { url: "https://playwright.dev/docs/api/class-page#page-workers", + type: "custom", }, { url: "https://example.org/issues/1", type: LinkType.ISSUE, + name: "issue 1", }, { url: "https://example.org/issues/2", type: LinkType.ISSUE, + name: "issue 2", }, { url: "https://example.org/tasks/1", type: LinkType.TMS, + name: "task 1", }, { url: "https://example.org/tasks/2", type: LinkType.TMS, - }, - { - url: "https://www.google.com/1", - }, - { - url: "https://www.google.com/2", + name: "task 2", }, ], }), diff --git a/packages/allure-codeceptjs/test/spec/runtime/legacy/steps.test.ts b/packages/allure-codeceptjs/test/spec/runtime/legacy/steps.test.ts index f95130348..1596928a3 100644 --- a/packages/allure-codeceptjs/test/spec/runtime/legacy/steps.test.ts +++ b/packages/allure-codeceptjs/test/spec/runtime/legacy/steps.test.ts @@ -1,5 +1,5 @@ import { expect, it } from "vitest"; -import { Stage, Status } from "allure-js-commons/sdk/node"; +import { Stage, Status } from "allure-js-commons"; import { runCodeceptJsInlineTest } from "../../../utils"; it("handles codeceptjs steps", async () => { diff --git a/packages/allure-codeceptjs/test/spec/runtime/modern/labels.test.ts b/packages/allure-codeceptjs/test/spec/runtime/modern/labels.test.ts index 8216c256a..e53d8ecb7 100644 --- a/packages/allure-codeceptjs/test/spec/runtime/modern/labels.test.ts +++ b/packages/allure-codeceptjs/test/spec/runtime/modern/labels.test.ts @@ -1,5 +1,5 @@ import { expect, it } from "vitest"; -import { LabelName } from "allure-js-commons/sdk/node"; +import { LabelName } from "allure-js-commons"; import { runCodeceptJsInlineTest } from "../../../utils"; it("adds labels", async () => { diff --git a/packages/allure-codeceptjs/test/spec/runtime/modern/links.test.ts b/packages/allure-codeceptjs/test/spec/runtime/modern/links.test.ts index 2961335bc..cd245f86c 100644 --- a/packages/allure-codeceptjs/test/spec/runtime/modern/links.test.ts +++ b/packages/allure-codeceptjs/test/spec/runtime/modern/links.test.ts @@ -1,5 +1,5 @@ import { expect, it } from "vitest"; -import { LinkType } from "allure-js-commons/sdk/node"; +import { LinkType } from "allure-js-commons"; import { runCodeceptJsInlineTest } from "../../../utils"; it("sets runtime links", async () => { diff --git a/packages/allure-codeceptjs/test/spec/runtime/modern/steps.test.ts b/packages/allure-codeceptjs/test/spec/runtime/modern/steps.test.ts index 866b550aa..ff5f8bee9 100644 --- a/packages/allure-codeceptjs/test/spec/runtime/modern/steps.test.ts +++ b/packages/allure-codeceptjs/test/spec/runtime/modern/steps.test.ts @@ -1,5 +1,5 @@ import { expect, it } from "vitest"; -import { Stage, Status } from "allure-js-commons/sdk/node"; +import { Stage, Status } from "allure-js-commons"; import { runCodeceptJsInlineTest } from "../../../utils"; it("handles codeceptjs steps", async () => { diff --git a/packages/allure-codeceptjs/test/spec/simple.test.ts b/packages/allure-codeceptjs/test/spec/simple.test.ts index 5115fa58b..311393bac 100644 --- a/packages/allure-codeceptjs/test/spec/simple.test.ts +++ b/packages/allure-codeceptjs/test/spec/simple.test.ts @@ -1,5 +1,5 @@ import { expect, it } from "vitest"; -import { Stage, Status } from "allure-js-commons/sdk/node"; +import { Stage, Status } from "allure-js-commons"; import { runCodeceptJsInlineTest } from "../utils"; it("simple scenarios", async () => { diff --git a/packages/allure-codeceptjs/test/spec/tags.test.ts b/packages/allure-codeceptjs/test/spec/tags.test.ts index 652f53727..3f85ce008 100644 --- a/packages/allure-codeceptjs/test/spec/tags.test.ts +++ b/packages/allure-codeceptjs/test/spec/tags.test.ts @@ -1,5 +1,5 @@ import { expect, it } from "vitest"; -import { LabelName } from "allure-js-commons/sdk/node"; +import { LabelName } from "allure-js-commons"; import { runCodeceptJsInlineTest } from "../utils"; it("supports codecept tags", async () => { diff --git a/packages/allure-codeceptjs/test/spec/titleMetadata.test.ts b/packages/allure-codeceptjs/test/spec/titleMetadata.test.ts index b1512e766..aa19ce490 100644 --- a/packages/allure-codeceptjs/test/spec/titleMetadata.test.ts +++ b/packages/allure-codeceptjs/test/spec/titleMetadata.test.ts @@ -1,5 +1,5 @@ import { expect, it } from "vitest"; -import { LabelName } from "allure-js-commons/sdk/node"; +import { LabelName } from "allure-js-commons"; import { runCodeceptJsInlineTest } from "../utils"; it("handles title metadata", async () => { diff --git a/packages/allure-codeceptjs/test/utils.ts b/packages/allure-codeceptjs/test/utils.ts index fea5fb85b..00b894d6c 100644 --- a/packages/allure-codeceptjs/test/utils.ts +++ b/packages/allure-codeceptjs/test/utils.ts @@ -3,27 +3,19 @@ import { randomUUID } from "node:crypto"; import { mkdir, readFile, rm, writeFile } from "node:fs/promises"; import { join } from "node:path"; import { dirname, resolve as resolvePath } from "node:path"; -import type { AllureResults, TestResult, TestResultContainer } from "allure-js-commons/sdk/node"; - -const parseJsonResult = (data: string) => { - return JSON.parse(Buffer.from(data, "base64").toString("utf8")) as T; -}; +import type { AllureResults } from "allure-js-commons/sdk"; +import { MessageReader } from "allure-js-commons/sdk/reporter"; export const runCodeceptJsInlineTest = async ( files: Record, env?: Record, ): Promise => { - const res: AllureResults = { - tests: [], - groups: [], - attachments: {}, - }; const testFiles = { - "codecept.conf.js": await readFile(resolvePath(__dirname, "./assets/codecept.conf.js"), "utf-8"), - "helper.js": await readFile(resolvePath(__dirname, "./assets/helper.js"), "utf-8"), + "codecept.conf.js": await readFile(resolvePath(__dirname, "./fixtures/codecept.conf.js"), "utf-8"), + "helper.js": await readFile(resolvePath(__dirname, "./fixtures/helper.js"), "utf-8"), ...files, }; - const testDir = join(__dirname, "fixtures", randomUUID()); + const testDir = join(__dirname, "temp", randomUUID()); await mkdir(testDir, { recursive: true }); @@ -51,29 +43,16 @@ export const runCodeceptJsInlineTest = async ( testProcess.stderr?.setEncoding("utf8").on("data", (chunk) => { process.stderr.write(String(chunk)); }); - testProcess.on("message", (message: string) => { - const event: { path: string; type: string; data: string } = JSON.parse(message); + const messageReader = new MessageReader(); - switch (event.type) { - case "container": - res.groups.push(parseJsonResult(event.data)); - break; - case "result": - res.tests.push(parseJsonResult(event.data)); - break; - case "attachment": - res.attachments[event.path] = event.data; - break; - default: - break; - } + // eslint-disable-next-line @typescript-eslint/no-unsafe-argument + testProcess.on("message", messageReader.handleMessage); + + testProcess.on("close", async () => { + await rm(testDir, { recursive: true }); }); return new Promise((resolve) => { - testProcess.on("exit", async () => { - await rm(testDir, { recursive: true }); - - return resolve(res); - }); + testProcess.on("exit", () => resolve(messageReader.results)); }); }; diff --git a/packages/allure-codeceptjs/tsconfig.dts.json b/packages/allure-codeceptjs/tsconfig.dts.json deleted file mode 100644 index 6ae02c1aa..000000000 --- a/packages/allure-codeceptjs/tsconfig.dts.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "./tsconfig", - "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true - }, - "include": ["./src/**/*"], - "exclude": ["./test/**/*"] -} diff --git a/packages/allure-codeceptjs/tsconfig.json b/packages/allure-codeceptjs/tsconfig.json index b6b1219da..8712f86e6 100644 --- a/packages/allure-codeceptjs/tsconfig.json +++ b/packages/allure-codeceptjs/tsconfig.json @@ -1,21 +1,13 @@ { "extends": "../../tsconfig.json", - "include": [ - "./src/**/*", - "./test/**/*" - ], + "include": ["./src/**/*"], "compilerOptions": { "skipLibCheck": true, - "module": "ESNext", + "module": "ES2022", "target": "ES2022", "moduleResolution": "bundler", - "lib": [ - "dom", - "esnext" - ], - "types": [ - "node" - ], + "lib": ["dom", "esnext"], + "types": ["node", "jasmine"], "outDir": "./dist" } } diff --git a/packages/allure-cypress/tsconfig.rollup.json b/packages/allure-codeceptjs/tsconfig.test.json similarity index 53% rename from packages/allure-cypress/tsconfig.rollup.json rename to packages/allure-codeceptjs/tsconfig.test.json index cf5f3b001..5272ba9cd 100644 --- a/packages/allure-cypress/tsconfig.rollup.json +++ b/packages/allure-codeceptjs/tsconfig.test.json @@ -1,7 +1,7 @@ { "extends": "./tsconfig.json", - "exclude": ["./test/**/*"], + "include": ["./test/**/*"], "compilerOptions": { - "declaration": false + "noEmit": true } } diff --git a/packages/allure-codeceptjs/vitest.config.ts b/packages/allure-codeceptjs/vitest.config.ts index 12d257c06..6d25d2963 100644 --- a/packages/allure-codeceptjs/vitest.config.ts +++ b/packages/allure-codeceptjs/vitest.config.ts @@ -1,10 +1,12 @@ -import { env } from "node:process"; import { defineConfig } from "vitest/config"; export default defineConfig({ test: { fileParallelism: false, - testTimeout: env.TEST_ENV === "local" ? Infinity : 25000, + testTimeout: 5000, reporters: ["default"], + typecheck: { + tsconfig: "./tsconfig.test.json" + } }, }); diff --git a/packages/allure-cucumberjs/babel.cjs.json b/packages/allure-cucumberjs/babel.cjs.json new file mode 100644 index 000000000..8d5e10dfa --- /dev/null +++ b/packages/allure-cucumberjs/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/allure-cucumberjs/babel.esm.json b/packages/allure-cucumberjs/babel.esm.json new file mode 100644 index 000000000..bc8432e04 --- /dev/null +++ b/packages/allure-cucumberjs/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/allure-cucumberjs/package.json b/packages/allure-cucumberjs/package.json index d7be7a3aa..933480073 100644 --- a/packages/allure-cucumberjs/package.json +++ b/packages/allure-cucumberjs/package.json @@ -16,25 +16,29 @@ }, "exports": { ".": { - "import": "./dist/index.mjs", - "require": "./dist/index.cjs" + "import": "./dist/esm/index.js", + "require": "./dist/cjs/index.js", + "types": "./dist/types/index.d.ts" }, "./reporter": { - "import": "./dist/reporter.mjs", - "require": "./dist/reporter.cjs" + "import": "./dist/esm/reporter.js", + "require": "./dist/cjs/reporter.js", + "types": "./dist/types/reporter.d.ts" } }, - "main": "./dist/index.js", - "types": "./dist/index.d.ts", + "main": "./dist/cjs/index.js", + "module": "./dist/esm/index.js", + "types": "./dist/types/index.d.ts", "files": [ "dist" ], "scripts": { "clean": "rimraf ./dist ./out", - "compile": "run-p 'compile:*'", - "compile:lib": "rollup -c", - "compile:types": "tsc --project ./tsconfig.dts.json", - "generate-report": "allure generate ./out/allure-results -o ./out/allure-report --clean", + "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 --declaration --emitDeclarationOnly", + "compile:fixup": "node ./scripts/fixup.mjs", "lint": "eslint ./src ./test --ext .ts", "lint:fix": "eslint --fix ./src ./test --ext .ts", "test": "vitest run" @@ -49,9 +53,13 @@ "allure-js-commons": "workspace:*" }, "devDependencies": { - "@rollup/plugin-commonjs": "^25.0.7", - "@rollup/plugin-node-resolve": "^15.2.3", - "@rollup/plugin-typescript": "^11.1.6", + "@babel/cli": "^7.24.6", + "@babel/core": "^7.24.6", + "@babel/plugin-transform-modules-commonjs": "^7.24.6", + "@babel/preset-env": "^7.24.6", + "@babel/preset-typescript": "^7.24.6", + "@types/babel__core": "^7", + "@types/babel__preset-env": "^7", "@types/chai": "^4.3.6", "@types/chai-like": "^1.1.1", "@types/chai-things": "^0.0.36", @@ -62,6 +70,7 @@ "@typescript-eslint/eslint-plugin": "^7.0.0", "@typescript-eslint/parser": "^7.0.0", "allure-vitest": "workspace:^", + "babel-plugin-add-module-exports": "^1.0.4", "chai": "^4.3.8", "chai-like": "^1.1.1", "chai-things": "^0.2.0", @@ -72,13 +81,10 @@ "eslint-plugin-n": "^17.0.0", "eslint-plugin-no-null": "^1.0.2", "eslint-plugin-prefer-arrow": "^1.2.3", - "glob": "^10.3.12", "npm-run-all2": "^6.1.2", "rimraf": "^5.0.1", - "rollup": "^4.14.1", "sinon": "^18.0.0", "ts-node": "^10.9.1", - "tslib": "^2.6.2", "typescript": "^5.2.2", "vitest": "^1.4.0" } diff --git a/packages/allure-cucumberjs/rollup.config.mjs b/packages/allure-cucumberjs/rollup.config.mjs deleted file mode 100644 index 8550ee8cc..000000000 --- a/packages/allure-cucumberjs/rollup.config.mjs +++ /dev/null @@ -1,58 +0,0 @@ -import commonjsPlugin from "@rollup/plugin-commonjs"; -import resolvePlugin from "@rollup/plugin-node-resolve"; -import typescriptPlugin from "@rollup/plugin-typescript"; -import { join, relative } from "node:path"; -import { fileURLToPath } from "node:url"; -import { defineConfig } from "rollup"; - -const dirname = fileURLToPath(new URL(".", import.meta.url)); - -const createNodeEntry = (inputFile) => { - const outputFileBase = inputFile.replace(/^src/, "dist"); - const external = [ - "@cucumber/cucumber", - "@cucumber/messages", - "node:os", - "node:fs", - "node:process", - "allure-js-commons/sdk/node", - "allure-js-commons/internal", - ]; - - return [ - defineConfig({ - input: inputFile, - output: { - file: join(dirname, outputFileBase.replace(/\.ts$/, ".mjs")), - format: "esm", - exports: "named", - sourcemap: true, - }, - plugins: [ - typescriptPlugin({ - tsconfig: "./tsconfig.rollup.json", - }), - ], - external, - }), - defineConfig({ - input: inputFile, - output: { - file: join(dirname, outputFileBase.replace(/\.ts$/, ".cjs")), - format: "cjs", - exports: "named", - sourcemap: true, - }, - plugins: [ - typescriptPlugin({ - tsconfig: "./tsconfig.rollup.json", - }), - ], - external, - }), - ]; -}; - -export default () => { - return [createNodeEntry("src/reporter.ts"), createNodeEntry("src/index.ts")].flat(); -}; diff --git a/packages/allure-cucumberjs/scripts/fixup.mjs b/packages/allure-cucumberjs/scripts/fixup.mjs new file mode 100644 index 000000000..59c47a9f4 --- /dev/null +++ b/packages/allure-cucumberjs/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 (err) {} + +try { + mkdirSync(cjsBuildPath, { recursive: true }); +} catch (err) {} + +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/allure-cucumberjs/src/index.ts b/packages/allure-cucumberjs/src/index.ts index c8bcc5802..1c7b41fee 100644 --- a/packages/allure-cucumberjs/src/index.ts +++ b/packages/allure-cucumberjs/src/index.ts @@ -1,11 +1,12 @@ import { Before } from "@cucumber/cucumber"; -import { setGlobalTestRuntime } from "allure-js-commons/sdk/node"; +import { setGlobalTestRuntime } from "allure-js-commons/sdk/runtime"; import { AllureCucumberTestRuntime } from "./runtime.js"; import { AllureCucumberWorld } from "./world.js"; Before(function () { // TODO: we can implement testplan logic there setGlobalTestRuntime( + // @ts-ignore new AllureCucumberTestRuntime({ attach: this.attach, log: this.log, diff --git a/packages/allure-cucumberjs/src/model.ts b/packages/allure-cucumberjs/src/model.ts index 3baf22f43..d4ae23a86 100644 --- a/packages/allure-cucumberjs/src/model.ts +++ b/packages/allure-cucumberjs/src/model.ts @@ -1,4 +1,5 @@ -import { Config, LabelName, LinkType } from "allure-js-commons/sdk/node"; +import type { LabelName, LinkType } from "allure-js-commons"; +import type { Config } from "allure-js-commons/sdk/reporter"; export type LabelConfig = { pattern: RegExp[]; diff --git a/packages/allure-cucumberjs/src/reporter.ts b/packages/allure-cucumberjs/src/reporter.ts index afb4ef790..9faab3e53 100644 --- a/packages/allure-cucumberjs/src/reporter.ts +++ b/packages/allure-cucumberjs/src/reporter.ts @@ -1,25 +1,23 @@ -import { Formatter, IFormatterOptions, TestCaseHookDefinition, World } from "@cucumber/cucumber"; -import * as messages from "@cucumber/messages"; -import { PickleTag, Tag, TestStepResult, TestStepResultStatus } from "@cucumber/messages"; +import type { IFormatterOptions, TestCaseHookDefinition } from "@cucumber/cucumber"; +import { Formatter, World } from "@cucumber/cucumber"; +import type * as messages from "@cucumber/messages"; +import type { PickleTag, Tag, TestStepResult } from "@cucumber/messages"; +import { TestStepResultStatus } from "@cucumber/messages"; import os from "node:os"; import process from "node:process"; -import { ALLURE_RUNTIME_MESSAGE_CONTENT_TYPE } from "allure-js-commons/internal"; +import { ContentType, LabelName, Stage, Status } from "allure-js-commons"; +import type { Label, Link, TestResult } from "allure-js-commons"; import { - AllureNodeReporterRuntime, - Config, - ContentType, - FileSystemAllureWriter, - Label, - LabelName, - Link, - MessageAllureWriter, - Stage, - Status, - TestResult, + ALLURE_RUNTIME_MESSAGE_CONTENT_TYPE, + FileSystemWriter, + MessageWriter, + ReporterRuntime, createStepResult, getWorstStepResultStatus, -} from "allure-js-commons/sdk/node"; -import { AllureCucumberReporterConfig, LabelConfig, LinkConfig } from "./model.js"; + md5, +} from "allure-js-commons/sdk/reporter"; +import type { Config } from "allure-js-commons/sdk/reporter"; +import type { AllureCucumberReporterConfig, LabelConfig, LinkConfig } from "./model.js"; import { AllureCucumberWorld } from "./world.js"; const { ALLURE_THREAD_NAME } = process.env; @@ -30,7 +28,7 @@ export default class AllureCucumberReporter extends Formatter { private linksConfigs: LinkConfig[] = []; private labelsConfigs: LabelConfig[] = []; - private runtime: AllureNodeReporterRuntime; + private runtime: ReporterRuntime; private readonly documentMap: Map = new Map(); private readonly scenarioMap: Map = new Map(); @@ -56,10 +54,10 @@ export default class AllureCucumberReporter extends Formatter { ...rest } = options.parsedArgvOptions as AllureCucumberReporterConfig; - this.runtime = new AllureNodeReporterRuntime({ + this.runtime = new ReporterRuntime({ writer: testMode - ? new MessageAllureWriter() - : new FileSystemAllureWriter({ + ? new MessageWriter() + : new FileSystemWriter({ resultsDir, }), links: links as Config["links"] | undefined, @@ -242,7 +240,7 @@ export default class AllureCucumberReporter extends Formatter { description: (scenario?.description || doc?.feature?.description || "").trim(), labels: [], links: [], - testCaseId: this.runtime.crypto.md5(fullName), + testCaseId: md5(fullName), start: Date.now(), fullName, }; diff --git a/packages/allure-cucumberjs/src/runtime.ts b/packages/allure-cucumberjs/src/runtime.ts index d0124c6c7..acd170a4e 100644 --- a/packages/allure-cucumberjs/src/runtime.ts +++ b/packages/allure-cucumberjs/src/runtime.ts @@ -1,6 +1,7 @@ -import { IWorld, IWorldOptions } from "@cucumber/cucumber"; -import { ALLURE_RUNTIME_MESSAGE_CONTENT_TYPE } from "allure-js-commons/internal"; -import { MessageTestRuntime, RuntimeMessage } from "allure-js-commons/sdk/node"; +import type { IWorld, IWorldOptions } from "@cucumber/cucumber"; +import type { RuntimeMessage } from "allure-js-commons/sdk"; +import { ALLURE_RUNTIME_MESSAGE_CONTENT_TYPE } from "allure-js-commons/sdk/reporter"; +import { MessageTestRuntime } from "allure-js-commons/sdk/runtime"; export class AllureCucumberTestRuntime extends MessageTestRuntime implements IWorld { public readonly attach: IWorldOptions["attach"]; diff --git a/packages/allure-cucumberjs/src/world.ts b/packages/allure-cucumberjs/src/world.ts index 15194cf78..3545344fc 100644 --- a/packages/allure-cucumberjs/src/world.ts +++ b/packages/allure-cucumberjs/src/world.ts @@ -1,60 +1,130 @@ import { World } from "@cucumber/cucumber"; -import { - allureId, - attachment, - description, - descriptionHtml, - displayName, - epic, - feature, - historyId, - issue, - label, - labels, - layer, - link, - links, - owner, - parameter, - parentSuite, - severity, - step, - story, - subSuite, - suite, - tag, - tags, - testCaseId, - tms, -} from "allure-js-commons"; +import * as allure from "allure-js-commons"; +import type { ParameterOptions } from "allure-js-commons"; -class AllureCucumberWorld extends World { - allureId = allureId; - attachment = attachment; - description = description; - descriptionHtml = descriptionHtml; - displayName = displayName; - epic = epic; - feature = feature; - historyId = historyId; - issue = issue; - label = label; - labels = labels; - layer = layer; - link = link; - links = links; - owner = owner; - parameter = parameter; - parentSuite = parentSuite; - severity = severity; - step = step; - story = story; - subSuite = subSuite; - suite = suite; - tag = tag; - tags = tags; - testCaseId = testCaseId; - tms = tms; +/** + * @deprecated please use api exported by "allure-js-commons" instead. + */ +export interface AllureCucumberLegacyApi { + label: (name: string, value: string) => Promise; + link: (type: string, url: string, name?: string) => Promise; + parameter: (name: string, value: string, options?: ParameterOptions) => Promise; + description: (markdown: string) => Promise; + descriptionHtml: (html: string) => Promise; + testCaseId: (id: string) => Promise; + historyId: (id: string) => Promise; + allureId: (id: string) => Promise; + displayName: (name: string) => Promise; + attachment: (name: string, content: Buffer | string, type: string) => Promise; + issue: (name: string, url: string) => Promise; + tms: (name: string, url: string) => Promise; + epic: (name: string) => Promise; + feature: (name: string) => Promise; + story: (name: string) => Promise; + suite: (name: string) => Promise; + parentSuite: (name: string) => Promise; + subSuite: (name: string) => Promise; + owner: (name: string) => Promise; + severity: (name: string) => Promise; + layer: (name: string) => Promise; + tag: (name: string) => Promise; + step: (name: string, body: () => Promise) => Promise; } -export { AllureCucumberWorld }; +/** + * @deprecated please use api exported by "allure-js-commons" instead. + */ +export class AllureCucumberWorld extends World implements AllureCucumberLegacyApi { + /** + * @deprecated please use import { label } from "allure-js-commons" instead. + */ + label = (name: string, value: string) => allure.label(name, value); + /** + * @deprecated please use import { link } from "allure-js-commons" instead. + */ + link = (type: string, url: string, name?: string) => allure.link(url, type, name); + /** + * @deprecated please use import { parameter } from "allure-js-commons" instead. + */ + parameter = (name: string, value: string, options?: ParameterOptions) => allure.parameter(name, value, options); + /** + * @deprecated please use import { description } from "allure-js-commons" instead. + */ + description = (value: string) => allure.description(value); + /** + * @deprecated please use import { descriptionHtml } from "allure-js-commons" instead. + */ + descriptionHtml = (html: string) => allure.descriptionHtml(html); + /** + * @deprecated please use import { testCaseId } from "allure-js-commons" instead. + */ + testCaseId = (id: string) => allure.testCaseId(id); + /** + * @deprecated please use import { historyId } from "allure-js-commons" instead. + */ + historyId = (id: string) => allure.historyId(id); + /** + * @deprecated please use import { allureId } from "allure-js-commons" instead. + */ + allureId = (id: string) => allure.allureId(id); + /** + * @deprecated please use import { displayName } from "allure-js-commons" instead. + */ + displayName = (name: string) => allure.displayName(name); + /** + * @deprecated please use import { attachment } from "allure-js-commons" instead. + */ + attachment = (name: string, content: Buffer | string, type: string) => allure.attachment(name, content, type); + /** + * @deprecated please use import { issue } from "allure-js-commons" instead. + */ + issue = (name: string, url: string) => allure.issue(url, name); + /** + * @deprecated please use import { tms } from "allure-js-commons" instead. + */ + tms = (name: string, url: string) => allure.tms(url, name); + /** + * @deprecated please use import { epic } from "allure-js-commons" instead. + */ + epic = (name: string) => allure.epic(name); + /** + * @deprecated please use import { feature } from "allure-js-commons" instead. + */ + feature = (name: string) => allure.feature(name); + /** + * @deprecated please use import { story } from "allure-js-commons" instead. + */ + story = (name: string) => allure.story(name); + /** + * @deprecated please use import { suite } from "allure-js-commons" instead. + */ + suite = (name: string) => allure.suite(name); + /** + * @deprecated please use import { parentSuite } from "allure-js-commons" instead. + */ + parentSuite = (name: string) => allure.parentSuite(name); + /** + * @deprecated please use import { subSuite } from "allure-js-commons" instead. + */ + subSuite = (name: string) => allure.subSuite(name); + /** + * @deprecated please use import { owner } from "allure-js-commons" instead. + */ + owner = (name: string) => allure.owner(name); + /** + * @deprecated please use import { severity } from "allure-js-commons" instead. + */ + severity = (name: string) => allure.severity(name); + /** + * @deprecated please use import { layer } from "allure-js-commons" instead. + */ + layer = (name: string) => allure.layer(name); + /** + * @deprecated please use import { tag } from "allure-js-commons" instead. + */ + tag = (name: string) => allure.tag(name); + /** + * @deprecated please use import { step } from "allure-js-commons" instead. + */ + step = (name: string, body: () => any) => allure.step(name, body); +} diff --git a/packages/allure-cucumberjs/test/fixtures/support/runtime/legacy/links.cjs b/packages/allure-cucumberjs/test/fixtures/support/runtime/legacy/links.cjs index 29c954a01..11514e8d1 100644 --- a/packages/allure-cucumberjs/test/fixtures/support/runtime/legacy/links.cjs +++ b/packages/allure-cucumberjs/test/fixtures/support/runtime/legacy/links.cjs @@ -3,15 +3,15 @@ const { Given } = require("@cucumber/cucumber"); Given("a step", () => {}); Given("a step with runtime link", async function () { - await this.link("https://example.com", "custom", "Custom link"); + await this.link("custom", "https://example.com", "Custom link"); }); Given("a step with runtime issue links", async function () { - await this.issue("https://example.com/issues/1", "Custom issue 1"); - await this.issue("2", "Custom issue 2"); + await this.issue("Custom issue 1", "https://example.com/issues/1"); + await this.issue("Custom issue 2", "2"); }); Given("a step with runtime tms links", async function () { - await this.tms("https://example.com/tasks/1", "Custom task 1"); - await this.tms("2", "Custom task 2"); + await this.tms("Custom task 1", "https://example.com/tasks/1"); + await this.tms("Custom task 2", "2"); }); diff --git a/packages/allure-cucumberjs/test/spec/dataTable.test.ts b/packages/allure-cucumberjs/test/spec/dataTable.test.ts index b4b9b91d6..d52eb635a 100644 --- a/packages/allure-cucumberjs/test/spec/dataTable.test.ts +++ b/packages/allure-cucumberjs/test/spec/dataTable.test.ts @@ -1,5 +1,5 @@ import { expect, it } from "vitest"; -import { ContentType } from "allure-js-commons/sdk"; +import { ContentType } from "allure-js-commons"; import { runCucumberInlineTest } from "../utils"; it("handles data tables", async () => { diff --git a/packages/allure-cucumberjs/test/spec/dataTableAndExamples.test.ts b/packages/allure-cucumberjs/test/spec/dataTableAndExamples.test.ts index a22c13865..90fae493c 100644 --- a/packages/allure-cucumberjs/test/spec/dataTableAndExamples.test.ts +++ b/packages/allure-cucumberjs/test/spec/dataTableAndExamples.test.ts @@ -1,5 +1,5 @@ import { expect, it } from "vitest"; -import { ContentType } from "allure-js-commons/sdk"; +import { ContentType } from "allure-js-commons"; import { runCucumberInlineTest } from "../utils"; it("handles both data table and examples for one feature", async () => { diff --git a/packages/allure-cucumberjs/test/spec/examples.test.ts b/packages/allure-cucumberjs/test/spec/examples.test.ts index 942d01613..89d6a4a7e 100644 --- a/packages/allure-cucumberjs/test/spec/examples.test.ts +++ b/packages/allure-cucumberjs/test/spec/examples.test.ts @@ -1,5 +1,5 @@ import { expect, it } from "vitest"; -import { ContentType } from "allure-js-commons/sdk"; +import { ContentType } from "allure-js-commons"; import { runCucumberInlineTest } from "../utils"; it("handles examples table", async () => { diff --git a/packages/allure-cucumberjs/test/spec/runtime/legacy/labels.test.ts b/packages/allure-cucumberjs/test/spec/runtime/legacy/labels.test.ts index 2c003c778..6bafc070e 100644 --- a/packages/allure-cucumberjs/test/spec/runtime/legacy/labels.test.ts +++ b/packages/allure-cucumberjs/test/spec/runtime/legacy/labels.test.ts @@ -1,5 +1,5 @@ import { expect, it } from "vitest"; -import { LabelName } from "allure-js-commons/sdk"; +import { LabelName } from "allure-js-commons"; import { runCucumberInlineTest } from "../../../utils"; it("handles runtime labels", async () => { diff --git a/packages/allure-cucumberjs/test/spec/runtime/legacy/links.test.ts b/packages/allure-cucumberjs/test/spec/runtime/legacy/links.test.ts index 739bd1870..7b256e84f 100644 --- a/packages/allure-cucumberjs/test/spec/runtime/legacy/links.test.ts +++ b/packages/allure-cucumberjs/test/spec/runtime/legacy/links.test.ts @@ -1,5 +1,5 @@ import { expect, it } from "vitest"; -import { LinkType } from "allure-js-commons/sdk"; +import { LinkType } from "allure-js-commons"; import { runCucumberInlineTest } from "../../../utils"; it("handles runtime links", async () => { diff --git a/packages/allure-cucumberjs/test/spec/runtime/legacy/steps.test.ts b/packages/allure-cucumberjs/test/spec/runtime/legacy/steps.test.ts index 31722f97b..6b320398f 100644 --- a/packages/allure-cucumberjs/test/spec/runtime/legacy/steps.test.ts +++ b/packages/allure-cucumberjs/test/spec/runtime/legacy/steps.test.ts @@ -1,5 +1,5 @@ import { expect, it } from "vitest"; -import { LabelName, Stage, Status } from "allure-js-commons/sdk/node"; +import { LabelName, Stage, Status } from "allure-js-commons"; import { runCucumberInlineTest } from "../../../utils"; it("handles runtime steps", async () => { diff --git a/packages/allure-cucumberjs/test/spec/runtime/modern/labels.test.ts b/packages/allure-cucumberjs/test/spec/runtime/modern/labels.test.ts index 25af9d6ba..6082c7583 100644 --- a/packages/allure-cucumberjs/test/spec/runtime/modern/labels.test.ts +++ b/packages/allure-cucumberjs/test/spec/runtime/modern/labels.test.ts @@ -1,5 +1,5 @@ import { expect, it } from "vitest"; -import { LabelName } from "allure-js-commons/sdk"; +import { LabelName } from "allure-js-commons"; import { runCucumberInlineTest } from "../../../utils"; it("handles runtime labels", async () => { diff --git a/packages/allure-cucumberjs/test/spec/runtime/modern/links.test.ts b/packages/allure-cucumberjs/test/spec/runtime/modern/links.test.ts index 3faf0563d..d2692aa5c 100644 --- a/packages/allure-cucumberjs/test/spec/runtime/modern/links.test.ts +++ b/packages/allure-cucumberjs/test/spec/runtime/modern/links.test.ts @@ -1,5 +1,5 @@ import { expect, it } from "vitest"; -import { LinkType } from "allure-js-commons/sdk"; +import { LinkType } from "allure-js-commons"; import { runCucumberInlineTest } from "../../../utils"; it("handles runtime links", async () => { diff --git a/packages/allure-cucumberjs/test/spec/runtime/modern/steps.test.ts b/packages/allure-cucumberjs/test/spec/runtime/modern/steps.test.ts index 27616cd07..316bc3c85 100644 --- a/packages/allure-cucumberjs/test/spec/runtime/modern/steps.test.ts +++ b/packages/allure-cucumberjs/test/spec/runtime/modern/steps.test.ts @@ -1,5 +1,5 @@ import { expect, it } from "vitest"; -import { LabelName, Stage, Status } from "allure-js-commons/sdk/node"; +import { LabelName, Stage, Status } from "allure-js-commons"; import { runCucumberInlineTest } from "../../../utils"; it("handles runtime steps", async () => { diff --git a/packages/allure-cucumberjs/test/spec/simple.test.ts b/packages/allure-cucumberjs/test/spec/simple.test.ts index 85611e40a..6c13eece8 100644 --- a/packages/allure-cucumberjs/test/spec/simple.test.ts +++ b/packages/allure-cucumberjs/test/spec/simple.test.ts @@ -1,5 +1,5 @@ import { expect, it } from "vitest"; -import { Stage, Status } from "allure-js-commons/sdk"; +import { Stage, Status } from "allure-js-commons"; import { runCucumberInlineTest } from "../utils"; it("handles basic cases", async () => { diff --git a/packages/allure-cucumberjs/test/spec/tags.test.ts b/packages/allure-cucumberjs/test/spec/tags.test.ts index 32316f7cc..ac5836dba 100644 --- a/packages/allure-cucumberjs/test/spec/tags.test.ts +++ b/packages/allure-cucumberjs/test/spec/tags.test.ts @@ -1,5 +1,5 @@ import { expect, it } from "vitest"; -import { LabelName } from "allure-js-commons/sdk"; +import { LabelName } from "allure-js-commons"; import { runCucumberInlineTest } from "../utils"; it("assigns unmatched tags as tags labels", async () => { diff --git a/packages/allure-cucumberjs/test/spec/undefinedStepDefs.test.ts b/packages/allure-cucumberjs/test/spec/undefinedStepDefs.test.ts index f9293abd8..7c982a9ba 100644 --- a/packages/allure-cucumberjs/test/spec/undefinedStepDefs.test.ts +++ b/packages/allure-cucumberjs/test/spec/undefinedStepDefs.test.ts @@ -1,5 +1,5 @@ import { expect, it } from "vitest"; -import { Stage, Status } from "allure-js-commons/sdk"; +import { Stage, Status } from "allure-js-commons"; import { runCucumberInlineTest } from "../utils"; it("reports undefined tests and steps", async () => { diff --git a/packages/allure-cucumberjs/test/utils.ts b/packages/allure-cucumberjs/test/utils.ts index 9b25c83e8..8814c1e40 100644 --- a/packages/allure-cucumberjs/test/utils.ts +++ b/packages/allure-cucumberjs/test/utils.ts @@ -2,18 +2,14 @@ import { fork } from "node:child_process"; import { randomUUID } from "node:crypto"; import { copyFile, mkdir, rm, writeFile } from "node:fs/promises"; import { dirname, join, resolve as resolvePath } from "node:path"; -import { AllureResults, TestResult, TestResultContainer } from "allure-js-commons/sdk"; +import type { AllureResults } from "allure-js-commons/sdk"; +import { MessageReader } from "allure-js-commons/sdk/reporter"; export const runCucumberInlineTest = async ( features: string[], stepsDefs: string[], parallel: boolean = true, ): Promise => { - const res: AllureResults = { - tests: [], - groups: [], - attachments: {}, - }; const fixturesPath = join(__dirname, "fixtures"); const testDir = join(__dirname, "fixtures/temp", randomUUID()); const configFilePath = join(testDir, "config.js"); @@ -97,24 +93,10 @@ export const runCucumberInlineTest = async ( stdio: "pipe", }); - testProcess.on("message", (message: string) => { - const event: { path: string; type: string; data: string } = JSON.parse(message); - const data = event.type !== "attachment" ? JSON.parse(Buffer.from(event.data, "base64").toString()) : event.data; + const messageReader = new MessageReader(); - switch (event.type) { - case "container": - res.groups.push(data as TestResultContainer); - break; - case "result": - res.tests.push(data as TestResult); - break; - case "attachment": - res.attachments[event.path] = event.data; - break; - default: - break; - } - }); + // eslint-disable-next-line @typescript-eslint/no-unsafe-argument + testProcess.on("message", messageReader.handleMessage); testProcess.stdout?.setEncoding("utf8").on("data", (chunk) => { process.stdout.write(String(chunk)); }); @@ -126,7 +108,7 @@ export const runCucumberInlineTest = async ( testProcess.on("exit", async () => { await rm(testDir, { recursive: true }); - return resolve(res); + return resolve(messageReader.results); }); }); }; diff --git a/packages/allure-cucumberjs/tsconfig.dts.json b/packages/allure-cucumberjs/tsconfig.dts.json deleted file mode 100644 index 6ae02c1aa..000000000 --- a/packages/allure-cucumberjs/tsconfig.dts.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "./tsconfig", - "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true - }, - "include": ["./src/**/*"], - "exclude": ["./test/**/*"] -} diff --git a/packages/allure-cucumberjs/tsconfig.json b/packages/allure-cucumberjs/tsconfig.json index b6b1219da..3a0154804 100644 --- a/packages/allure-cucumberjs/tsconfig.json +++ b/packages/allure-cucumberjs/tsconfig.json @@ -1,21 +1,13 @@ { "extends": "../../tsconfig.json", - "include": [ - "./src/**/*", - "./test/**/*" - ], + "include": ["./src/**/*"], "compilerOptions": { "skipLibCheck": true, - "module": "ESNext", + "module": "ES2022", "target": "ES2022", "moduleResolution": "bundler", - "lib": [ - "dom", - "esnext" - ], - "types": [ - "node" - ], + "lib": ["dom", "esnext"], + "types": ["node"], "outDir": "./dist" } } diff --git a/packages/allure-codeceptjs/tsconfig.rollup.json b/packages/allure-cucumberjs/tsconfig.test.json similarity index 53% rename from packages/allure-codeceptjs/tsconfig.rollup.json rename to packages/allure-cucumberjs/tsconfig.test.json index cf5f3b001..5272ba9cd 100644 --- a/packages/allure-codeceptjs/tsconfig.rollup.json +++ b/packages/allure-cucumberjs/tsconfig.test.json @@ -1,7 +1,7 @@ { "extends": "./tsconfig.json", - "exclude": ["./test/**/*"], + "include": ["./test/**/*"], "compilerOptions": { - "declaration": false + "noEmit": true } } diff --git a/packages/allure-cucumberjs/vitest.config.ts b/packages/allure-cucumberjs/vitest.config.ts index 39261941f..caaabe642 100644 --- a/packages/allure-cucumberjs/vitest.config.ts +++ b/packages/allure-cucumberjs/vitest.config.ts @@ -3,10 +3,12 @@ import { defineConfig } from "vitest/config"; export default defineConfig({ test: { fileParallelism: false, - // testTimeout: 25000, - testTimeout: Infinity, + testTimeout: 5000, reporters: [ "default", ], + typecheck: { + tsconfig: "./tsconfig.test.json" + } }, }); diff --git a/packages/allure-cypress/babel.cjs.json b/packages/allure-cypress/babel.cjs.json new file mode 100644 index 000000000..8d5e10dfa --- /dev/null +++ b/packages/allure-cypress/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/allure-cypress/babel.esm.json b/packages/allure-cypress/babel.esm.json new file mode 100644 index 000000000..bc8432e04 --- /dev/null +++ b/packages/allure-cypress/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/allure-cypress/package.json b/packages/allure-cypress/package.json index 2b1f391f4..cf32285f1 100644 --- a/packages/allure-cypress/package.json +++ b/packages/allure-cypress/package.json @@ -20,19 +20,19 @@ "author": "Qameta Software (https://qameta.io/)", "exports": { ".": { - "import": "./dist/index.mjs", - "require": "./dist/index.cjs", - "types": "./dist/index.d.ts" + "import": "./dist/esm/index.js", + "require": "./dist/cjs/index.js", + "types": "./dist/types/index.d.ts" }, "./reporter": { - "import": "./dist/reporter.mjs", - "require": "./dist/reporter.cjs", - "types": "./dist/reporter.d.ts" + "import": "./dist/esm/reporter.js", + "require": "./dist/cjs/reporter.js", + "types": "./dist/types/reporter.d.ts" } }, - "main": "./dist/index.cjs", - "module": "./dist/index.mjs", - "types": "./dist/index.d.ts", + "main": "./dist/cjs/index.js", + "module": "./dist/esm/index.js", + "types": "./dist/types/index.d.ts", "directories": { "test": "test" }, @@ -41,10 +41,13 @@ ], "scripts": { "clean": "rimraf ./dist ./out", - "compile": "run-p 'compile:*'", - "compile:lib": "rollup -c", - "compile:types": "tsc --project ./tsconfig.dts.json", - "coverage": "codecov", + "compile": "run-s 'compile:*'", + "compile:esm-node": "babel --config-file ./babel.esm.json ./src --ignore './src/index.ts' --out-dir ./dist/esm --extensions '.ts' --source-maps", + "compile:cjs-node": "babel --config-file ./babel.cjs.json ./src --ignore './src/index.ts' --out-dir ./dist/cjs --extensions '.ts' --source-maps", + "compile:esm-browser": "esbuild ./src/index.ts --bundle --minify --sourcemap --format=esm --outfile=./dist/esm/index.js --external:allure-playwright", + "compile:cjs-browser": "esbuild ./src/index.ts --bundle --minify --sourcemap --format=cjs --outfile=./dist/cjs/index.js --external:allure-playwright", + "compile:types": "tsc --declaration --emitDeclarationOnly", + "compile:fixup": "node ./scripts/fixup.mjs", "lint": "eslint ./src ./test --ext .ts", "lint:fix": "eslint ./src ./test --ext .ts --fix", "test": "vitest run --dir ./test/spec" @@ -53,9 +56,13 @@ "allure-js-commons": "workspace:*" }, "devDependencies": { - "@rollup/plugin-commonjs": "^25.0.7", - "@rollup/plugin-node-resolve": "^15.2.3", - "@rollup/plugin-typescript": "^11.1.6", + "@babel/cli": "^7.24.6", + "@babel/core": "^7.24.6", + "@babel/plugin-transform-modules-commonjs": "^7.24.6", + "@babel/preset-env": "^7.24.6", + "@babel/preset-typescript": "^7.24.6", + "@types/babel__core": "^7", + "@types/babel__preset-env": "^7", "@types/eslint": "^8", "@types/glob": "^8.1.0", "@types/mocha": "^10.0.1", @@ -63,8 +70,10 @@ "@typescript-eslint/eslint-plugin": "^7.0.0", "@typescript-eslint/parser": "^7.0.0", "allure-vitest": "workspace:*", + "babel-plugin-add-module-exports": "^1.0.4", "cypress": "^13.6.0", "enquirer": "^2.3.6", + "esbuild": "^0.21.4", "eslint": "^8.57.0", "eslint-config-prettier": "^9.0.0", "eslint-plugin-cypress": "^3.0.0", @@ -73,12 +82,9 @@ "eslint-plugin-n": "^17.0.0", "eslint-plugin-no-null": "^1.0.2", "eslint-plugin-prefer-arrow": "^1.2.3", - "glob": "^10.3.5", "npm-run-all2": "^6.0.0", "rimraf": "^5.0.1", - "rollup": "^4.13.0", "ts-node": "^10.9.2", - "tslib": "^2.6.2", "typescript": "^5.2.2", "vitest": "^1.4.0" } diff --git a/packages/allure-cypress/rollup.config.mjs b/packages/allure-cypress/rollup.config.mjs deleted file mode 100644 index 0cebb758d..000000000 --- a/packages/allure-cypress/rollup.config.mjs +++ /dev/null @@ -1,90 +0,0 @@ -import commonjsPlugin from "@rollup/plugin-commonjs"; -import resolvePlugin from "@rollup/plugin-node-resolve"; -import typescriptPlugin from "@rollup/plugin-typescript"; -import { glob } from "glob"; -import { join, relative } from "node:path"; -import { fileURLToPath } from "node:url"; -import { defineConfig } from "rollup"; - -const dirname = fileURLToPath(new URL(".", import.meta.url)); - -const createNodeEntry = (inputFile) => { - const outputFileBase = inputFile.replace(/^src/, "dist"); - const external = ["node:fs", "allure-js-commons/sdk/node"]; - - return [ - defineConfig({ - input: inputFile, - output: { - file: join(dirname, outputFileBase.replace(/\.ts$/, ".mjs")), - format: "esm", - exports: "named", - sourcemap: true, - }, - plugins: [ - typescriptPlugin({ - tsconfig: "./tsconfig.rollup.json", - }), - ], - external, - }), - defineConfig({ - input: inputFile, - output: { - file: join(dirname, outputFileBase.replace(/\.ts$/, ".cjs")), - format: "cjs", - exports: "named", - sourcemap: true, - }, - plugins: [ - typescriptPlugin({ - tsconfig: "./tsconfig.rollup.json", - }), - ], - external, - }), - ]; -}; -const createBrowserEntry = (inputFile) => { - const outputFileBase = inputFile.replace(/^src/, "dist"); - - return [ - defineConfig({ - input: inputFile, - output: { - file: join(dirname, outputFileBase.replace(/\.ts$/, ".mjs")), - format: "esm", - exports: "named", - sourcemap: true, - }, - plugins: [ - typescriptPlugin({ - tsconfig: "./tsconfig.rollup.json", - }), - resolvePlugin(), - commonjsPlugin(), - ], - }), - defineConfig({ - input: inputFile, - output: { - file: join(dirname, outputFileBase.replace(/\.ts$/, ".cjs")), - format: "cjs", - exports: "named", - sourcemap: true, - }, - plugins: [ - typescriptPlugin({ - tsconfig: "./tsconfig.rollup.json", - }), - resolvePlugin(), - commonjsPlugin(), - ], - // external, - }), - ]; -}; - -export default () => { - return [createBrowserEntry("src/index.ts"), createNodeEntry("src/reporter.ts")].flat(); -}; diff --git a/packages/allure-cypress/scripts/fixup.mjs b/packages/allure-cypress/scripts/fixup.mjs new file mode 100644 index 000000000..59c47a9f4 --- /dev/null +++ b/packages/allure-cypress/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 (err) {} + +try { + mkdirSync(cjsBuildPath, { recursive: true }); +} catch (err) {} + +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/allure-cypress/src/index.ts b/packages/allure-cypress/src/index.ts index 6854e29d0..cdf0a00dc 100644 --- a/packages/allure-cypress/src/index.ts +++ b/packages/allure-cypress/src/index.ts @@ -1,21 +1,10 @@ -import { - ContentType, - Label, - LabelName, - Link, - LinkType, - ParameterMode, - ParameterOptions, - RuntimeMessage, - Stage, - Status, - TestRuntime, - getGlobalTestRuntime, - getUnfinishedStepsMessages, - hasStepMessage, - setGlobalTestRuntime, -} from "allure-js-commons/sdk/browser"; -import { CypressRuntimeMessage } from "./model.js"; +import { Stage, Status } from "allure-js-commons"; +import type { ContentType, Label, LabelName, Link, LinkType, ParameterMode, ParameterOptions } from "allure-js-commons"; +import type { RuntimeMessage } from "allure-js-commons/sdk"; +import { getUnfinishedStepsMessages, hasStepMessage } from "allure-js-commons/sdk"; +import type { TestRuntime } from "allure-js-commons/sdk/runtime"; +import { getGlobalTestRuntime, setGlobalTestRuntime } from "allure-js-commons/sdk/runtime"; +import type { CypressRuntimeMessage } from "./model.js"; import { getSuitePath, normalizeAttachmentContentEncoding, uint8ArrayToBase64 } from "./utils.js"; export class AllureCypressTestRuntime implements TestRuntime { diff --git a/packages/allure-cypress/src/model.ts b/packages/allure-cypress/src/model.ts index 49f775ca6..3d741d660 100644 --- a/packages/allure-cypress/src/model.ts +++ b/packages/allure-cypress/src/model.ts @@ -1,4 +1,5 @@ -import { RuntimeMessage, Stage, Status, StatusDetails } from "allure-js-commons/sdk/browser"; +import type { Stage, Status, StatusDetails } from "allure-js-commons"; +import type { RuntimeMessage } from "allure-js-commons/sdk"; export type CypressTestStartRuntimeMessage = { type: "cypress_start"; diff --git a/packages/allure-cypress/src/reporter.ts b/packages/allure-cypress/src/reporter.ts index 70f055ab5..05cdd00ae 100644 --- a/packages/allure-cypress/src/reporter.ts +++ b/packages/allure-cypress/src/reporter.ts @@ -1,15 +1,9 @@ -import Cypress from "cypress"; +import type Cypress from "cypress"; import { readFileSync } from "node:fs"; -import { - AllureNodeReporterRuntime, - ContentType, - FileSystemAllureWriter, - LabelName, - Stage, - extractMetadataFromString, - getSuitesLabels, -} from "allure-js-commons/sdk/node"; -import { CypressRuntimeMessage, CypressTestEndRuntimeMessage, CypressTestStartRuntimeMessage } from "./model.js"; +import { ContentType, LabelName, Stage } from "allure-js-commons"; +import { extractMetadataFromString } from "allure-js-commons/sdk"; +import { FileSystemWriter, ReporterRuntime, getSuitesLabels } from "allure-js-commons/sdk/reporter"; +import type { CypressRuntimeMessage, CypressTestEndRuntimeMessage, CypressTestStartRuntimeMessage } from "./model.js"; export type AllureCypressConfig = { resultsDir?: string; @@ -20,15 +14,15 @@ export type AllureCypressConfig = { }; export class AllureCypress { - runtime: AllureNodeReporterRuntime; + runtime: ReporterRuntime; testsUuidsByCypressAbsolutePath = new Map(); constructor(config?: AllureCypressConfig) { const { resultsDir = "./allure-results", ...rest } = config || {}; - this.runtime = new AllureNodeReporterRuntime({ - writer: new FileSystemAllureWriter({ + this.runtime = new ReporterRuntime({ + writer: new FileSystemWriter({ resultsDir, }), ...rest, @@ -48,7 +42,6 @@ export class AllureCypress { const endMessage = messages[messages.length - 1] as CypressTestEndRuntimeMessage; if (startMessage.type !== "cypress_start" || endMessage.type !== "cypress_end") { - // TODO: throw new Error("INTERNAL ERROR: Invalid message sequence"); } diff --git a/packages/allure-cypress/test/spec/screenshots.test.ts b/packages/allure-cypress/test/spec/screenshots.test.ts index 60aada48a..651592ad9 100644 --- a/packages/allure-cypress/test/spec/screenshots.test.ts +++ b/packages/allure-cypress/test/spec/screenshots.test.ts @@ -1,5 +1,5 @@ import { expect, it } from "vitest"; -import { ContentType } from "allure-js-commons"; +import { type Attachment, ContentType } from "allure-js-commons"; import { runCypressInlineTest } from "../utils"; it("attaches screenshots for failed specs", async () => { @@ -18,7 +18,7 @@ it("attaches screenshots for failed specs", async () => { expect(attachment.name).toBe("Screenshot"); expect(attachment.type).toBe(ContentType.PNG); - expect(attachments).toHaveProperty(attachment.source); + expect(attachments).toHaveProperty((attachment as Attachment).source); }); it("attaches runtime screenshots", async () => { @@ -37,5 +37,5 @@ it("attaches runtime screenshots", async () => { expect(attachment.name).toBe("foo"); expect(attachment.type).toBe(ContentType.PNG); - expect(attachments).toHaveProperty(attachment.source); + expect(attachments).toHaveProperty((attachment as Attachment).source); }); diff --git a/packages/allure-cypress/test/spec/video.test.ts b/packages/allure-cypress/test/spec/video.test.ts index 082b02136..0ff38283d 100644 --- a/packages/allure-cypress/test/spec/video.test.ts +++ b/packages/allure-cypress/test/spec/video.test.ts @@ -1,5 +1,5 @@ import { expect, it } from "vitest"; -import { ContentType } from "allure-js-commons"; +import { type Attachment, ContentType } from "allure-js-commons"; import { runCypressInlineTest } from "../utils"; it("attaches same video to each spec in a test", async () => { @@ -50,5 +50,5 @@ it("attaches same video to each spec in a test", async () => { expect(attachment.name).toBe("Video"); expect(attachment.type).toBe(ContentType.MP4); expect(tests[1].attachments).toContainEqual(attachment); - expect(attachments).toHaveProperty(attachment.source); + expect(attachments).toHaveProperty((attachment as Attachment).source); }); diff --git a/packages/allure-cypress/tsconfig.dts.json b/packages/allure-cypress/tsconfig.dts.json deleted file mode 100644 index 6ae02c1aa..000000000 --- a/packages/allure-cypress/tsconfig.dts.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "./tsconfig", - "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true - }, - "include": ["./src/**/*"], - "exclude": ["./test/**/*"] -} diff --git a/packages/allure-cypress/tsconfig.json b/packages/allure-cypress/tsconfig.json index b6b1219da..9b5012ea1 100644 --- a/packages/allure-cypress/tsconfig.json +++ b/packages/allure-cypress/tsconfig.json @@ -1,21 +1,14 @@ { "extends": "../../tsconfig.json", - "include": [ - "./src/**/*", - "./test/**/*" - ], + "include": ["./src/**/*"], "compilerOptions": { "skipLibCheck": true, - "module": "ESNext", + "module": "ES2022", "target": "ES2022", "moduleResolution": "bundler", - "lib": [ - "dom", - "esnext" - ], - "types": [ - "node" - ], - "outDir": "./dist" + "lib": ["dom", "esnext"], + "types": ["node"], + "outDir": "./dist", + "isolatedModules": true } } diff --git a/packages/allure-jasmine/tsconfig.rollup.json b/packages/allure-cypress/tsconfig.test.json similarity index 53% rename from packages/allure-jasmine/tsconfig.rollup.json rename to packages/allure-cypress/tsconfig.test.json index cf5f3b001..5272ba9cd 100644 --- a/packages/allure-jasmine/tsconfig.rollup.json +++ b/packages/allure-cypress/tsconfig.test.json @@ -1,7 +1,7 @@ { "extends": "./tsconfig.json", - "exclude": ["./test/**/*"], + "include": ["./test/**/*"], "compilerOptions": { - "declaration": false + "noEmit": true } } diff --git a/packages/allure-jasmine/babel.cjs.json b/packages/allure-jasmine/babel.cjs.json new file mode 100644 index 000000000..8d5e10dfa --- /dev/null +++ b/packages/allure-jasmine/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/allure-jasmine/babel.esm.json b/packages/allure-jasmine/babel.esm.json new file mode 100644 index 000000000..bc8432e04 --- /dev/null +++ b/packages/allure-jasmine/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/allure-jasmine/package.json b/packages/allure-jasmine/package.json index ee3e9836f..9c8c60af6 100644 --- a/packages/allure-jasmine/package.json +++ b/packages/allure-jasmine/package.json @@ -16,21 +16,23 @@ }, "exports": { ".": { - "import": "./dist/index.mjs", - "require": "./dist/index.cjs" + "import": "./dist/esm/index.js", + "require": "./dist/cjs/index.js" } }, - "main": "./dist/index.cjs", - "module": "./dist/index.mjs", - "types": "./dist/index.d.ts", + "main": "./dist/cjs/index.js", + "module": "./dist/esm/index.js", + "types": "./dist/types/index.d.ts", "files": [ "dist" ], "scripts": { - "clean": "rimraf ./dist ./out", - "compile": "run-p 'compile:*'", - "compile:lib": "rollup -c", - "compile:types": "tsc --project ./tsconfig.dts.json", + "clean": "rimraf ./dist", + "compile": "run-s 'compile:*'", + "compile:esm-babel": "babel --config-file ./babel.esm.json ./src --out-dir ./dist/esm --extensions '.ts' --source-maps", + "compile:cjs-babel": "babel --config-file ./babel.cjs.json ./src --out-dir ./dist/cjs --extensions '.ts' --source-maps", + "compile:types": "tsc --project ./tsconfig.json --emitDeclarationOnly --declarationDir ./dist/types", + "compile:fixup": "node ./scripts/fixup.mjs", "lint": "eslint ./src ./test --ext .ts", "lint:fix": "eslint ./src ./test --ext .ts --fix", "test": "vitest run" @@ -39,14 +41,18 @@ "allure-js-commons": "workspace:*" }, "devDependencies": { - "@rollup/plugin-commonjs": "^25.0.7", - "@rollup/plugin-node-resolve": "^15.2.3", - "@rollup/plugin-typescript": "^11.1.6", + "@babel/cli": "^7.24.6", + "@babel/core": "^7.24.6", + "@babel/preset-env": "^7.24.6", + "@babel/preset-typescript": "^7.24.6", + "@types/babel__core": "^7", + "@types/babel__preset-env": "^7", "@types/eslint": "^8", "@types/jasmine": "^3.3.12", "@types/node": "^20.6.3", "@typescript-eslint/eslint-plugin": "^7.0.0", "@typescript-eslint/parser": "^7.0.0", + "babel-plugin-add-module-exports": "^1.0.4", "eslint": "^8.57.0", "eslint-config-prettier": "^9.0.0", "eslint-plugin-import": "^2.28.1", @@ -54,12 +60,9 @@ "eslint-plugin-n": "^17.0.0", "eslint-plugin-no-null": "^1.0.2", "eslint-plugin-prefer-arrow": "^1.2.3", - "glob": "^10.3.12", "jasmine": "^3.4.0", "npm-run-all2": "^6.1.2", - "properties": "^1.2.1", "rimraf": "^5.0.1", - "rollup": "^4.17.2", "tslib": "^2.6.2", "typescript": "^5.2.2", "vitest": "^1.5.3" diff --git a/packages/allure-jasmine/rollup.config.mjs b/packages/allure-jasmine/rollup.config.mjs deleted file mode 100644 index b4692fa02..000000000 --- a/packages/allure-jasmine/rollup.config.mjs +++ /dev/null @@ -1,60 +0,0 @@ -import commonjsPlugin from "@rollup/plugin-commonjs"; -import resolvePlugin from "@rollup/plugin-node-resolve"; -import typescriptPlugin from "@rollup/plugin-typescript"; -import { globSync } from "glob"; -import { join, relative } from "node:path"; -import { fileURLToPath } from "node:url"; -import { defineConfig } from "rollup"; - -const dirname = fileURLToPath(new URL(".", import.meta.url)); - -const createNodeEntry = (inputFile) => { - const outputFileBase = inputFile.replace(/^src/, "dist"); - const external = [ - "node:os", - "node:fs", - "node:process", - "node:path", - "strip-ansi", - "allure-js-commons", - "allure-js-commons/sdk/node", - "allure-js-commons/internal" - ]; - - return [ - defineConfig({ - input: inputFile, - output: { - file: join(dirname, outputFileBase.replace(/\.ts$/, ".mjs")), - format: "esm", - sourcemap: true, - }, - plugins: [ - typescriptPlugin({ - tsconfig: "./tsconfig.rollup.json", - }), - ], - external, - }), - defineConfig({ - input: inputFile, - output: { - file: join(dirname, outputFileBase.replace(/\.ts$/, ".cjs")), - format: "cjs", - sourcemap: true, - }, - plugins: [ - typescriptPlugin({ - tsconfig: "./tsconfig.rollup.json", - }), - ], - external, - }), - ]; -}; - -export default () => { - const entries = globSync("src/*.ts", { cwd: dirname }); - - return entries.map(createNodeEntry).flat(); -}; diff --git a/packages/allure-jasmine/scripts/fixup.mjs b/packages/allure-jasmine/scripts/fixup.mjs new file mode 100644 index 000000000..59c47a9f4 --- /dev/null +++ b/packages/allure-jasmine/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 (err) {} + +try { + mkdirSync(cjsBuildPath, { recursive: true }); +} catch (err) {} + +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/allure-jasmine/src/index.ts b/packages/allure-jasmine/src/index.ts index 928b1367f..0e9fdddff 100644 --- a/packages/allure-jasmine/src/index.ts +++ b/packages/allure-jasmine/src/index.ts @@ -1,19 +1,12 @@ import { cwd } from "node:process"; import * as allure from "allure-js-commons"; -import { - AllureNodeReporterRuntime, - FileSystemAllureWriter, - FixtureType, - MessageAllureWriter, - MessageTestRuntime, - RuntimeMessage, - Stage, - Status, - getSuiteLabels, - isPromise, - setGlobalTestRuntime, -} from "allure-js-commons/sdk/node"; -import { AllureJasmineConfig, JasmineBeforeAfterFn } from "./model.js"; +import { Stage, Status } from "allure-js-commons"; +import type { RuntimeMessage } from "allure-js-commons/sdk"; +import { isPromise } from "allure-js-commons/sdk"; +import type { FixtureType } from "allure-js-commons/sdk/reporter"; +import { FileSystemWriter, MessageWriter, ReporterRuntime, getSuiteLabels } from "allure-js-commons/sdk/reporter"; +import { MessageTestRuntime, setGlobalTestRuntime } from "allure-js-commons/sdk/runtime"; +import type { AllureJasmineConfig, JasmineBeforeAfterFn } from "./model.js"; import { findAnyError, findMessageAboutThrow } from "./utils.js"; class AllureJasmineTestRuntime extends MessageTestRuntime { @@ -28,18 +21,18 @@ class AllureJasmineTestRuntime extends MessageTestRuntime { } export default class AllureJasmineReporter implements jasmine.CustomReporter { - private readonly allureRuntime: AllureNodeReporterRuntime; + private readonly allureRuntime: ReporterRuntime; private currentAllureTestUuid?: string; private jasmineSuitesStack: jasmine.SuiteResult[] = []; constructor(config: AllureJasmineConfig) { const { testMode, resultsDir = "./allure-results", ...restConfig } = config || {}; - this.allureRuntime = new AllureNodeReporterRuntime({ + this.allureRuntime = new ReporterRuntime({ ...restConfig, writer: testMode - ? new MessageAllureWriter() - : new FileSystemAllureWriter({ + ? new MessageWriter() + : new FileSystemWriter({ resultsDir, }), }); diff --git a/packages/allure-jasmine/src/model.ts b/packages/allure-jasmine/src/model.ts index 7499ceb87..2ed0587d6 100644 --- a/packages/allure-jasmine/src/model.ts +++ b/packages/allure-jasmine/src/model.ts @@ -1,4 +1,4 @@ -import { Config } from "allure-js-commons/sdk/node"; +import type { Config } from "allure-js-commons/sdk/reporter"; export interface AllureJasmineConfig extends Config { testMode?: boolean; diff --git a/packages/allure-jasmine/test/fixtures/spec/helpers/legacy/allure.cjs b/packages/allure-jasmine/test/fixtures/spec/helpers/legacy/allure.cjs index 20ebb9ee5..31b6cdd09 100644 --- a/packages/allure-jasmine/test/fixtures/spec/helpers/legacy/allure.cjs +++ b/packages/allure-jasmine/test/fixtures/spec/helpers/legacy/allure.cjs @@ -1,5 +1,3 @@ -const { LinkType, Status } = require("allure-js-commons/sdk/node"); - const fixture = ` const AllureJasmineReporter = require("allure-jasmine"); @@ -7,11 +5,11 @@ const fixture = ` testMode: true, links: [ { - type: "${LinkType.ISSUE}", + type: "issue", urlTemplate: "https://example.org/issues/%s", }, { - type: "${LinkType.TMS}", + type: "tms", urlTemplate: "https://example.org/tasks/%s", } ], @@ -19,22 +17,22 @@ const fixture = ` { name: "Sad tests", messageRegex: /.*Sad.*/, - matchedStatuses: ["${Status.FAILED}"], + matchedStatuses: ["failed"], }, { name: "Infrastructure problems", messageRegex: ".*RuntimeException.*", - matchedStatuses: ["${Status.BROKEN}"], + matchedStatuses: ["broken"], }, { name: "Outdated tests", messageRegex: ".*FileNotFound.*", - matchedStatuses: ["${Status.BROKEN}"], + matchedStatuses: ["broken"], }, { name: "Regression", messageRegex: ".*\\sException:.*", - matchedStatuses: ["${Status.BROKEN}"], + matchedStatuses: ["broken"], }, ], environmentInfo: { diff --git a/packages/allure-jasmine/test/fixtures/spec/helpers/modern/allure.cjs b/packages/allure-jasmine/test/fixtures/spec/helpers/modern/allure.cjs index 904b97646..09ab4149b 100644 --- a/packages/allure-jasmine/test/fixtures/spec/helpers/modern/allure.cjs +++ b/packages/allure-jasmine/test/fixtures/spec/helpers/modern/allure.cjs @@ -1,5 +1,3 @@ -const { LinkType, Status } = require("allure-js-commons/sdk/node"); - const fixture = ` const AllureJasmineReporter = require("allure-jasmine"); @@ -7,11 +5,11 @@ const fixture = ` testMode: true, links: [ { - type: "${LinkType.ISSUE}", + type: "issue", urlTemplate: "https://example.org/issues/%s", }, { - type: "${LinkType.TMS}", + type: "tms", urlTemplate: "https://example.org/tasks/%s", } ], @@ -19,22 +17,22 @@ const fixture = ` { name: "Sad tests", messageRegex: /.*Sad.*/, - matchedStatuses: ["${Status.FAILED}"], + matchedStatuses: ["failed"], }, { name: "Infrastructure problems", messageRegex: ".*RuntimeException.*", - matchedStatuses: ["${Status.BROKEN}"], + matchedStatuses: ["broken"], }, { name: "Outdated tests", messageRegex: ".*FileNotFound.*", - matchedStatuses: ["${Status.BROKEN}"], + matchedStatuses: ["broken"], }, { name: "Regression", messageRegex: ".*\\sException:.*", - matchedStatuses: ["${Status.BROKEN}"], + matchedStatuses: ["broken"], }, ], environmentInfo: { diff --git a/packages/allure-jasmine/test/spec/hooks.test.ts b/packages/allure-jasmine/test/spec/hooks.test.ts index 29fe97c58..ceb547c9b 100644 --- a/packages/allure-jasmine/test/spec/hooks.test.ts +++ b/packages/allure-jasmine/test/spec/hooks.test.ts @@ -1,6 +1,6 @@ import { expect, it } from "vitest"; -import { Stage, Status } from "allure-js-commons/sdk/node"; -import { runJasmineInlineTest } from "../utils"; +import { Stage, Status } from "allure-js-commons"; +import { runJasmineInlineTest } from "../utils.js"; it("handles jasmine hooks in flat structure", async () => { const { tests, groups } = await runJasmineInlineTest({ diff --git a/packages/allure-jasmine/test/spec/runtime/legacy/attachments.test.ts b/packages/allure-jasmine/test/spec/runtime/legacy/attachments.test.ts index 34734c522..4ad2a529a 100644 --- a/packages/allure-jasmine/test/spec/runtime/legacy/attachments.test.ts +++ b/packages/allure-jasmine/test/spec/runtime/legacy/attachments.test.ts @@ -1,7 +1,7 @@ /* eslint @typescript-eslint/no-require-imports: off */ import { resolve } from "node:path"; import { expect, it } from "vitest"; -import { runJasmineInlineTest } from "../../../utils"; +import { runJasmineInlineTest } from "../../../utils.js"; it("handles json attachment", async () => { const { tests, attachments } = await runJasmineInlineTest({ diff --git a/packages/allure-jasmine/test/spec/runtime/legacy/description.test.ts b/packages/allure-jasmine/test/spec/runtime/legacy/description.test.ts index d2479c6e3..03124ee3f 100644 --- a/packages/allure-jasmine/test/spec/runtime/legacy/description.test.ts +++ b/packages/allure-jasmine/test/spec/runtime/legacy/description.test.ts @@ -1,7 +1,7 @@ /* eslint @typescript-eslint/no-require-imports: off */ import { resolve } from "node:path"; import { expect, it } from "vitest"; -import { runJasmineInlineTest } from "../../../utils"; +import { runJasmineInlineTest } from "../../../utils.js"; it("sets description", async () => { const { tests } = await runJasmineInlineTest({ diff --git a/packages/allure-jasmine/test/spec/runtime/legacy/historyId.test.ts b/packages/allure-jasmine/test/spec/runtime/legacy/historyId.test.ts index 5349d788c..f2e7c385e 100644 --- a/packages/allure-jasmine/test/spec/runtime/legacy/historyId.test.ts +++ b/packages/allure-jasmine/test/spec/runtime/legacy/historyId.test.ts @@ -1,7 +1,7 @@ /* eslint @typescript-eslint/no-require-imports: off */ import { resolve } from "node:path"; import { expect, it } from "vitest"; -import { runJasmineInlineTest } from "../../../utils"; +import { runJasmineInlineTest } from "../../../utils.js"; it("sets historyId", async () => { const { tests } = await runJasmineInlineTest({ diff --git a/packages/allure-jasmine/test/spec/runtime/legacy/labels.test.ts b/packages/allure-jasmine/test/spec/runtime/legacy/labels.test.ts index d3e8cb17d..e7254d011 100644 --- a/packages/allure-jasmine/test/spec/runtime/legacy/labels.test.ts +++ b/packages/allure-jasmine/test/spec/runtime/legacy/labels.test.ts @@ -2,7 +2,7 @@ import { resolve } from "node:path"; import { expect, it } from "vitest"; import { LabelName } from "allure-js-commons"; -import { runJasmineInlineTest } from "../../../utils"; +import { runJasmineInlineTest } from "../../../utils.js"; it("sets labels", async () => { const { tests } = await runJasmineInlineTest({ diff --git a/packages/allure-jasmine/test/spec/runtime/legacy/links.test.ts b/packages/allure-jasmine/test/spec/runtime/legacy/links.test.ts index 08cb6aa79..3dab294f7 100644 --- a/packages/allure-jasmine/test/spec/runtime/legacy/links.test.ts +++ b/packages/allure-jasmine/test/spec/runtime/legacy/links.test.ts @@ -2,7 +2,7 @@ import { resolve } from "node:path"; import { expect, it } from "vitest"; import { LinkType } from "allure-js-commons"; -import { runJasmineInlineTest } from "../../../utils"; +import { runJasmineInlineTest } from "../../../utils.js"; it("sets links", async () => { const { tests } = await runJasmineInlineTest({ diff --git a/packages/allure-jasmine/test/spec/runtime/legacy/parameters.test.ts b/packages/allure-jasmine/test/spec/runtime/legacy/parameters.test.ts index 00a06de35..040bdd4f5 100644 --- a/packages/allure-jasmine/test/spec/runtime/legacy/parameters.test.ts +++ b/packages/allure-jasmine/test/spec/runtime/legacy/parameters.test.ts @@ -1,7 +1,7 @@ /* eslint @typescript-eslint/no-require-imports: off */ import { resolve } from "node:path"; import { expect, it } from "vitest"; -import { runJasmineInlineTest } from "../../../utils"; +import { runJasmineInlineTest } from "../../../utils.js"; it("sets parameters", async () => { const { tests } = await runJasmineInlineTest({ diff --git a/packages/allure-jasmine/test/spec/runtime/legacy/steps.test.ts b/packages/allure-jasmine/test/spec/runtime/legacy/steps.test.ts index 6ab7779e9..ec543786f 100644 --- a/packages/allure-jasmine/test/spec/runtime/legacy/steps.test.ts +++ b/packages/allure-jasmine/test/spec/runtime/legacy/steps.test.ts @@ -2,7 +2,7 @@ import { resolve } from "node:path"; import { expect, it } from "vitest"; import { Status } from "allure-js-commons"; -import { runJasmineInlineTest } from "../../../utils"; +import { runJasmineInlineTest } from "../../../utils.js"; it("single step", async () => { const { tests } = await runJasmineInlineTest({ diff --git a/packages/allure-jasmine/test/spec/runtime/legacy/testCaseId.test.ts b/packages/allure-jasmine/test/spec/runtime/legacy/testCaseId.test.ts index 4d92e068c..76e210e5e 100644 --- a/packages/allure-jasmine/test/spec/runtime/legacy/testCaseId.test.ts +++ b/packages/allure-jasmine/test/spec/runtime/legacy/testCaseId.test.ts @@ -1,7 +1,7 @@ /* eslint @typescript-eslint/no-require-imports: off */ import { resolve } from "node:path"; import { expect, it } from "vitest"; -import { runJasmineInlineTest } from "../../../utils"; +import { runJasmineInlineTest } from "../../../utils.js"; it("sets testCaseId", async () => { const { tests } = await runJasmineInlineTest({ diff --git a/packages/allure-jasmine/test/spec/runtime/modern/attachments.test.ts b/packages/allure-jasmine/test/spec/runtime/modern/attachments.test.ts index 2539b9e5f..c774f1613 100644 --- a/packages/allure-jasmine/test/spec/runtime/modern/attachments.test.ts +++ b/packages/allure-jasmine/test/spec/runtime/modern/attachments.test.ts @@ -1,5 +1,5 @@ import { expect, it } from "vitest"; -import { runJasmineInlineTest } from "../../../utils"; +import { runJasmineInlineTest } from "../../../utils.js"; it("handles json attachment", async () => { const { tests, attachments } = await runJasmineInlineTest({ diff --git a/packages/allure-jasmine/test/spec/runtime/modern/description.test.ts b/packages/allure-jasmine/test/spec/runtime/modern/description.test.ts index dbb06196c..52ed60aeb 100644 --- a/packages/allure-jasmine/test/spec/runtime/modern/description.test.ts +++ b/packages/allure-jasmine/test/spec/runtime/modern/description.test.ts @@ -1,5 +1,5 @@ import { expect, it } from "vitest"; -import { runJasmineInlineTest } from "../../../utils"; +import { runJasmineInlineTest } from "../../../utils.js"; it("sets description", async () => { const { tests } = await runJasmineInlineTest({ diff --git a/packages/allure-jasmine/test/spec/runtime/modern/historyId.test.ts b/packages/allure-jasmine/test/spec/runtime/modern/historyId.test.ts index 616a7f239..f814f743d 100644 --- a/packages/allure-jasmine/test/spec/runtime/modern/historyId.test.ts +++ b/packages/allure-jasmine/test/spec/runtime/modern/historyId.test.ts @@ -1,5 +1,5 @@ import { expect, it } from "vitest"; -import { runJasmineInlineTest } from "../../../utils"; +import { runJasmineInlineTest } from "../../../utils.js"; it("sets historyId", async () => { const { tests } = await runJasmineInlineTest({ diff --git a/packages/allure-jasmine/test/spec/runtime/modern/labels.test.ts b/packages/allure-jasmine/test/spec/runtime/modern/labels.test.ts index 1b0bd3a24..0e1f140e6 100644 --- a/packages/allure-jasmine/test/spec/runtime/modern/labels.test.ts +++ b/packages/allure-jasmine/test/spec/runtime/modern/labels.test.ts @@ -1,6 +1,6 @@ import { expect, it } from "vitest"; import { LabelName } from "allure-js-commons"; -import { runJasmineInlineTest } from "../../../utils"; +import { runJasmineInlineTest } from "../../../utils.js"; it("sets labels", async () => { const { tests } = await runJasmineInlineTest({ diff --git a/packages/allure-jasmine/test/spec/runtime/modern/links.test.ts b/packages/allure-jasmine/test/spec/runtime/modern/links.test.ts index f044c76da..00a886862 100644 --- a/packages/allure-jasmine/test/spec/runtime/modern/links.test.ts +++ b/packages/allure-jasmine/test/spec/runtime/modern/links.test.ts @@ -1,6 +1,6 @@ import { expect, it } from "vitest"; import { LinkType } from "allure-js-commons"; -import { runJasmineInlineTest } from "../../../utils"; +import { runJasmineInlineTest } from "../../../utils.js"; it("sets links", async () => { const { tests } = await runJasmineInlineTest({ diff --git a/packages/allure-jasmine/test/spec/runtime/modern/parameters.test.ts b/packages/allure-jasmine/test/spec/runtime/modern/parameters.test.ts index 8c919e946..b87d2b57e 100644 --- a/packages/allure-jasmine/test/spec/runtime/modern/parameters.test.ts +++ b/packages/allure-jasmine/test/spec/runtime/modern/parameters.test.ts @@ -1,5 +1,5 @@ import { expect, it } from "vitest"; -import { runJasmineInlineTest } from "../../../utils"; +import { runJasmineInlineTest } from "../../../utils.js"; it("sets parameters", async () => { const { tests } = await runJasmineInlineTest({ diff --git a/packages/allure-jasmine/test/spec/runtime/modern/steps.test.ts b/packages/allure-jasmine/test/spec/runtime/modern/steps.test.ts index 7fff58246..6dfb32db3 100644 --- a/packages/allure-jasmine/test/spec/runtime/modern/steps.test.ts +++ b/packages/allure-jasmine/test/spec/runtime/modern/steps.test.ts @@ -1,6 +1,6 @@ import { expect, it } from "vitest"; import { Status } from "allure-js-commons"; -import { runJasmineInlineTest } from "../../../utils"; +import { runJasmineInlineTest } from "../../../utils.js"; it("single step", async () => { const { tests } = await runJasmineInlineTest({ diff --git a/packages/allure-jasmine/test/spec/runtime/modern/testCaseId.test.ts b/packages/allure-jasmine/test/spec/runtime/modern/testCaseId.test.ts index ef64f290f..3c5c6a527 100644 --- a/packages/allure-jasmine/test/spec/runtime/modern/testCaseId.test.ts +++ b/packages/allure-jasmine/test/spec/runtime/modern/testCaseId.test.ts @@ -1,5 +1,5 @@ import { expect, it } from "vitest"; -import { runJasmineInlineTest } from "../../../utils"; +import { runJasmineInlineTest } from "../../../utils.js"; it("sets testCaseId", async () => { const { tests } = await runJasmineInlineTest({ diff --git a/packages/allure-jasmine/test/spec/simple.test.ts b/packages/allure-jasmine/test/spec/simple.test.ts index 27e357dc2..b6cf51d9e 100644 --- a/packages/allure-jasmine/test/spec/simple.test.ts +++ b/packages/allure-jasmine/test/spec/simple.test.ts @@ -1,7 +1,6 @@ -/* eslint @typescript-eslint/no-require-imports: off */ import { expect, it } from "vitest"; -import { Stage, Status } from "allure-js-commons/sdk/node"; -import { runJasmineInlineTest } from "../utils"; +import { Stage, Status } from "allure-js-commons"; +import { runJasmineInlineTest } from "../utils.js"; it("handles jasmine tests", async () => { const { tests } = await runJasmineInlineTest({ diff --git a/packages/allure-jasmine/test/spec/skipped.test.ts b/packages/allure-jasmine/test/spec/skipped.test.ts index c267d5b8b..124037167 100644 --- a/packages/allure-jasmine/test/spec/skipped.test.ts +++ b/packages/allure-jasmine/test/spec/skipped.test.ts @@ -1,6 +1,6 @@ import { expect, it } from "vitest"; import { Stage, Status } from "allure-js-commons"; -import { runJasmineInlineTest } from "../utils"; +import { runJasmineInlineTest } from "../utils.js"; it("skipped test", async () => { const { tests } = await runJasmineInlineTest({ diff --git a/packages/allure-jasmine/test/spec/suites.test.ts b/packages/allure-jasmine/test/spec/suites.test.ts index bd31e3a8b..f5aad3667 100644 --- a/packages/allure-jasmine/test/spec/suites.test.ts +++ b/packages/allure-jasmine/test/spec/suites.test.ts @@ -1,6 +1,6 @@ import { expect, it } from "vitest"; import { LabelName } from "allure-js-commons"; -import { runJasmineInlineTest } from "../utils"; +import { runJasmineInlineTest } from "../utils.js"; it("sets labels", async () => { const { tests } = await runJasmineInlineTest({ diff --git a/packages/allure-jasmine/test/utils.ts b/packages/allure-jasmine/test/utils.ts index 1ff7f821a..098182745 100644 --- a/packages/allure-jasmine/test/utils.ts +++ b/packages/allure-jasmine/test/utils.ts @@ -1,26 +1,15 @@ -/* eslint @typescript-eslint/no-require-imports: off */ import { fork } from "node:child_process"; import { randomUUID } from "node:crypto"; import { mkdir, readFile, rm, writeFile } from "node:fs/promises"; import { dirname, join } from "node:path"; -import { parse } from "properties"; -import { AllureResults, EnvironmentInfo, TestResult, TestResultContainer } from "allure-js-commons/sdk/node"; - -export type TestResultsByFullName = Record; - -const parseJsonResult = (data: string) => { - return JSON.parse(Buffer.from(data, "base64").toString("utf8")) as T; -}; +import type { AllureResults } from "allure-js-commons/sdk"; +import { MessageReader } from "allure-js-commons/sdk/reporter"; export const runJasmineInlineTest = async (files: Record): Promise => { - const res: AllureResults = { - tests: [], - groups: [], - attachments: {}, - }; const testDir = join(__dirname, "temp", randomUUID()); const testFiles = { "spec/support/jasmine.json": await readFile(join(__dirname, "./fixtures/spec/support/jasmine.json"), "utf8"), + // eslint-disable-next-line @typescript-eslint/no-require-imports "spec/helpers/allure.js": require("./fixtures/spec/helpers/modern/allure.cjs"), ...files, }; @@ -39,36 +28,15 @@ export const runJasmineInlineTest = async (files: Record): Promi const testProcess = fork(modulePath, args, { env: { ...process.env, - ALLURE_POST_PROCESSOR_FOR_TEST: String("true"), }, cwd: testDir, stdio: "pipe", }); - testProcess.on("message", (message: string) => { - const event: { path: string; type: string; data: string } = JSON.parse(message); + const messageReader = new MessageReader(); - switch (event.type) { - case "container": - res.groups.push(parseJsonResult(event.data)); - break; - case "result": - res.tests.push(parseJsonResult(event.data)); - break; - case "attachment": - res.attachments[event.path] = event.data; - break; - case "misc": - res.envInfo = - event.path === "environment.properties" - ? (parse(Buffer.from(event.data, "base64").toString()) as EnvironmentInfo) - : undefined; - res.categories = event.path === "categories.json" ? parseJsonResult(event.data) : undefined; - break; - default: - break; - } - }); + // eslint-disable-next-line @typescript-eslint/no-unsafe-argument + testProcess.on("message", messageReader.handleMessage); testProcess.stdout?.setEncoding("utf8").on("data", (chunk) => { process.stdout.write(String(chunk)); }); @@ -80,7 +48,7 @@ export const runJasmineInlineTest = async (files: Record): Promi testProcess.on("exit", async () => { await rm(testDir, { recursive: true }); - return resolve(res); + return resolve(messageReader.results); }); }); }; diff --git a/packages/allure-jasmine/tsconfig.dts.json b/packages/allure-jasmine/tsconfig.dts.json deleted file mode 100644 index 6ae02c1aa..000000000 --- a/packages/allure-jasmine/tsconfig.dts.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "./tsconfig", - "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true - }, - "include": ["./src/**/*"], - "exclude": ["./test/**/*"] -} diff --git a/packages/allure-jasmine/tsconfig.json b/packages/allure-jasmine/tsconfig.json index 030e9d161..8712f86e6 100644 --- a/packages/allure-jasmine/tsconfig.json +++ b/packages/allure-jasmine/tsconfig.json @@ -1,24 +1,13 @@ { "extends": "../../tsconfig.json", - "include": [ - "./src/**/*", - "./test/**/*", - "index.ts", - "internal.ts" - ], + "include": ["./src/**/*"], "compilerOptions": { "skipLibCheck": true, - "module": "ESNext", + "module": "ES2022", "target": "ES2022", "moduleResolution": "bundler", - "lib": [ - "dom", - "esnext" - ], - "types": [ - "node", - "jasmine" - ], + "lib": ["dom", "esnext"], + "types": ["node", "jasmine"], "outDir": "./dist" } } diff --git a/packages/allure-cucumberjs/tsconfig.rollup.json b/packages/allure-jasmine/tsconfig.test.json similarity index 53% rename from packages/allure-cucumberjs/tsconfig.rollup.json rename to packages/allure-jasmine/tsconfig.test.json index cf5f3b001..5272ba9cd 100644 --- a/packages/allure-cucumberjs/tsconfig.rollup.json +++ b/packages/allure-jasmine/tsconfig.test.json @@ -1,7 +1,7 @@ { "extends": "./tsconfig.json", - "exclude": ["./test/**/*"], + "include": ["./test/**/*"], "compilerOptions": { - "declaration": false + "noEmit": true } } diff --git a/packages/allure-jasmine/vitest.config.ts b/packages/allure-jasmine/vitest.config.ts index 39261941f..caaabe642 100644 --- a/packages/allure-jasmine/vitest.config.ts +++ b/packages/allure-jasmine/vitest.config.ts @@ -3,10 +3,12 @@ import { defineConfig } from "vitest/config"; export default defineConfig({ test: { fileParallelism: false, - // testTimeout: 25000, - testTimeout: Infinity, + testTimeout: 5000, reporters: [ "default", ], + typecheck: { + tsconfig: "./tsconfig.test.json" + } }, }); diff --git a/packages/allure-jest/babel.cjs.json b/packages/allure-jest/babel.cjs.json new file mode 100644 index 000000000..8d5e10dfa --- /dev/null +++ b/packages/allure-jest/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/allure-jest/babel.esm.json b/packages/allure-jest/babel.esm.json new file mode 100644 index 000000000..bc8432e04 --- /dev/null +++ b/packages/allure-jest/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/allure-jest/jest.config.js b/packages/allure-jest/jest.config.js deleted file mode 100644 index bb7c2a2a4..000000000 --- a/packages/allure-jest/jest.config.js +++ /dev/null @@ -1,9 +0,0 @@ -/** @type {import('jest').Config} */ -const config = { - preset: "ts-jest", - testRunner: "jest-circus/runner", - testEnvironment: require.resolve("allure-jest/node"), - testTimeout: 10000, -}; - -module.exports = config; diff --git a/packages/allure-jest/package.json b/packages/allure-jest/package.json index 9b6a4c478..d0d32ff18 100644 --- a/packages/allure-jest/package.json +++ b/packages/allure-jest/package.json @@ -22,12 +22,12 @@ }, "exports": { "./node": { - "import": "./dist/node.mjs", - "require": "./dist/node.cjs" + "import": "./dist/esm/node.js", + "require": "./dist/cjs/node.js" }, "./jsdom": { - "import": "./dist/jsdom.mjs", - "require": "./dist/jsdom.cjs" + "import": "./dist/esm/jsdom.mjs", + "require": "./dist/cjs/jsdom.js" } }, "files": [ @@ -35,41 +35,38 @@ ], "scripts": { "clean": "rimraf ./dist ./out", - "compile": "run-p 'compile:*'", - "compile:lib": "rollup -c", - "compile:types": "tsc --project ./tsconfig.dts.json", - "coverage": "codecov", + "compile": "run-s 'compile:*'", + "compile:esm-babel": "babel --config-file ./babel.esm.json ./src --out-dir ./dist/esm --extensions '.ts' --source-maps", + "compile:cjs-babel": "babel --config-file ./babel.cjs.json ./src --out-dir ./dist/cjs --extensions '.ts' --source-maps", + "compile:types": "tsc --project ./tsconfig.json --emitDeclarationOnly --declarationDir ./dist/types", + "compile:fixup": "node ./scripts/fixup.mjs", "lint": "eslint ./src ./test --ext .ts", "lint:fix": "eslint ./src ./test --ext .ts --fix", - "test": "jest" + "test": "vitest run" }, "dependencies": { - "@jest/expect": "^29.6.2", + "@jest/expect": "^29.7.0", "allure-js-commons": "workspace:*", - "jest-circus": "^29.6.2", - "jest-environment-jsdom": "^29.6.4", - "jest-environment-node": "^29.6.4", - "strip-ansi": "^5.2.0" + "jest-circus": "^29.7.0", + "jest-environment-jsdom": "^29.7.0", + "jest-environment-node": "^29.7.0" }, "devDependencies": { - "@jest/core": "^29.6.2", - "@jest/environment": "^29.6.4", - "@jest/globals": "^29.7.0", - "@jest/types": "^29.6.1", - "@rollup/plugin-commonjs": "^25.0.7", - "@rollup/plugin-node-resolve": "^15.2.3", - "@rollup/plugin-typescript": "^11.1.6", + "@babel/cli": "^7.24.6", + "@babel/core": "^7.24.6", + "@babel/preset-env": "^7.24.6", + "@babel/preset-typescript": "^7.24.6", + "@jest/core": "^29.7.0", + "@jest/environment": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/babel__core": "^7", + "@types/babel__preset-env": "^7", "@types/eslint": "^8", - "@types/glob": "^8.1.0", - "@types/jasmine": "^3.3.12", - "@types/jest": "^29.5.11", - "@types/mocha": "^10.0.1", "@types/node": "^20.6.3", - "@types/sinon": "^17.0.0", "@types/source-map-support": "^0.5.7", "@typescript-eslint/eslint-plugin": "^7.0.0", "@typescript-eslint/parser": "^7.0.0", - "codecov": "^3.8.3", + "babel-plugin-add-module-exports": "^1.0.4", "eslint": "^8.57.0", "eslint-config-prettier": "^9.0.0", "eslint-plugin-import": "^2.28.1", @@ -77,20 +74,13 @@ "eslint-plugin-n": "^17.0.0", "eslint-plugin-no-null": "^1.0.2", "eslint-plugin-prefer-arrow": "^1.2.3", - "expect": "^29.7.0", - "glob": "^10.3.12", - "jest": "^29.7.0", - "jest-cli": "^29.6.2", - "mocha": "^10.2.0", - "mocha-multi-reporters": "^1.5.1", + "jest-cli": "^29.7.0", "npm-run-all2": "^6.1.2", "rimraf": "^5.0.1", - "rollup": "^4.17.1", - "sinon": "^18.0.0", "source-map-support": "^0.5.21", - "ts-jest": "^29.1.2", "ts-node": "^10.9.1", "tslib": "^2.6.2", - "typescript": "^5.2.2" + "typescript": "^5.2.2", + "vitest": "^1.6.0" } } diff --git a/packages/allure-jest/rollup.config.mjs b/packages/allure-jest/rollup.config.mjs deleted file mode 100644 index edccacfd4..000000000 --- a/packages/allure-jest/rollup.config.mjs +++ /dev/null @@ -1,62 +0,0 @@ -import commonjsPlugin from "@rollup/plugin-commonjs"; -import resolvePlugin from "@rollup/plugin-node-resolve"; -import typescriptPlugin from "@rollup/plugin-typescript"; -import { globSync } from "glob"; -import { join, relative } from "node:path"; -import { fileURLToPath } from "node:url"; -import { defineConfig } from "rollup"; - -const dirname = fileURLToPath(new URL(".", import.meta.url)); - -const createNodeEntry = (inputFile) => { - const outputFileBase = inputFile.replace(/^src/, "dist"); - const external = [ - "node:os", - "node:fs", - "node:process", - "node:path", - "strip-ansi", - "allure-js-commons", - "allure-js-commons/sdk/node", - "allure-js-commons/internal", - "jest-environment-jsdom", - "jest-environment-node" - ]; - - return [ - defineConfig({ - input: inputFile, - output: { - file: join(dirname, outputFileBase.replace(/\.ts$/, ".mjs")), - format: "esm", - sourcemap: true, - }, - plugins: [ - typescriptPlugin({ - tsconfig: "./tsconfig.rollup.json", - }), - ], - external, - }), - defineConfig({ - input: inputFile, - output: { - file: join(dirname, outputFileBase.replace(/\.ts$/, ".cjs")), - format: "cjs", - sourcemap: true, - }, - plugins: [ - typescriptPlugin({ - tsconfig: "./tsconfig.rollup.json", - }), - ], - external, - }), - ]; -}; - -export default () => { - const entries = globSync("src/*.ts", { cwd: dirname }); - - return entries.map(createNodeEntry).flat(); -}; diff --git a/packages/allure-jest/scripts/fixup.mjs b/packages/allure-jest/scripts/fixup.mjs new file mode 100644 index 000000000..59c47a9f4 --- /dev/null +++ b/packages/allure-jest/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 (err) {} + +try { + mkdirSync(cjsBuildPath, { recursive: true }); +} catch (err) {} + +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/allure-jest/src/AllureJestTestRuntime.ts b/packages/allure-jest/src/AllureJestTestRuntime.ts new file mode 100644 index 000000000..5152ca2b2 --- /dev/null +++ b/packages/allure-jest/src/AllureJestTestRuntime.ts @@ -0,0 +1,27 @@ +import type { JestExpect } from "@jest/expect"; +import type { Global } from "@jest/types"; +import type { RuntimeMessage } from "allure-js-commons/sdk"; +import { MessageTestRuntime } from "allure-js-commons/sdk/runtime"; +import type { AllureJestEnvironment } from "./model.js"; + +export class AllureJestTestRuntime extends MessageTestRuntime { + constructor( + private readonly jestEnvironment: AllureJestEnvironment, + private readonly context: Global.Global, + ) { + super(); + context.allureTestRuntime = () => this; + } + + async sendMessage(message: RuntimeMessage) { + const { currentTestName, currentConcurrentTestName } = (this.context.expect as JestExpect).getState(); + const testName = currentTestName || currentConcurrentTestName?.(); + + this.jestEnvironment.handleAllureRuntimeMessage({ + currentTestName: testName as string, + message, + }); + + await Promise.resolve(); + } +} diff --git a/packages/allure-jest/src/index.ts b/packages/allure-jest/src/environmentFactory.ts similarity index 81% rename from packages/allure-jest/src/index.ts rename to packages/allure-jest/src/environmentFactory.ts index e8ec9fedc..2ebc8b02d 100644 --- a/packages/allure-jest/src/index.ts +++ b/packages/allure-jest/src/environmentFactory.ts @@ -1,58 +1,26 @@ -import { EnvironmentContext, JestEnvironment } from "@jest/environment"; -import type { JestExpect } from "@jest/expect"; -import type { Circus, Global } from "@jest/types"; +import type { EnvironmentContext, JestEnvironment } from "@jest/environment"; +import type { Circus } from "@jest/types"; import os from "node:os"; import { dirname, sep } from "node:path"; import process from "node:process"; -import stripAnsi from "strip-ansi"; import * as allure from "allure-js-commons"; -import { - ALLURE_TEST_RUNTIME_KEY, - AllureNodeReporterRuntime, - FileSystemAllureWriter, - LabelName, - MessageAllureWriter, - MessageTestRuntime, - RuntimeMessage, - Stage, - Status, - getStatusFromError, - getSuitesLabels, - setGlobalTestRuntime, -} from "allure-js-commons/sdk/node"; -import { AllureJestConfig, AllureJestEnvironment } from "./model.js"; +import { LabelName, Stage, Status } from "allure-js-commons"; +import type { RuntimeMessage } from "allure-js-commons/sdk"; +import { getMessageAndTraceFromError, getStatusFromError } from "allure-js-commons/sdk"; +import { FileSystemWriter, MessageWriter, ReporterRuntime, getSuitesLabels } from "allure-js-commons/sdk/reporter"; +import { setGlobalTestRuntime } from "allure-js-commons/sdk/runtime"; +import { AllureJestTestRuntime } from "./AllureJestTestRuntime.js"; +import type { AllureJestConfig, AllureJestEnvironment } from "./model.js"; import { getTestId, getTestPath } from "./utils.js"; const { ALLURE_HOST_NAME, ALLURE_THREAD_NAME, JEST_WORKER_ID } = process.env; const hostname = os.hostname(); -class AllureJestTestRuntime extends MessageTestRuntime { - constructor( - private readonly jestEnvironment: AllureJestEnvironment, - private readonly context: Global.Global, - ) { - super(); - context[ALLURE_TEST_RUNTIME_KEY] = () => this; - } - - async sendMessage(message: RuntimeMessage) { - const { currentTestName, currentConcurrentTestName } = (this.context.expect as JestExpect).getState(); - const testName = currentTestName || currentConcurrentTestName?.(); - - this.jestEnvironment.handleAllureRuntimeMessage({ - currentTestName: testName as string, - message, - }); - - await Promise.resolve(); - } -} - const createJestEnvironment = (Base: T): T => { // @ts-expect-error (ts(2545)) Incorrect assumption about a mixin class: https://github.com/microsoft/TypeScript/issues/37142 return class extends Base { testPath: string; - runtime: AllureNodeReporterRuntime; + runtime: ReporterRuntime; allureUuidsByTestIds: Map = new Map(); constructor(config: AllureJestConfig, context: EnvironmentContext) { @@ -64,11 +32,11 @@ const createJestEnvironment = (Base: T): T => ...restConfig } = config?.projectConfig?.testEnvironmentOptions || {}; - this.runtime = new AllureNodeReporterRuntime({ + this.runtime = new ReporterRuntime({ ...restConfig, writer: testMode - ? new MessageAllureWriter() - : new FileSystemAllureWriter({ + ? new MessageWriter() + : new FileSystemWriter({ resultsDir, }), }); @@ -244,16 +212,15 @@ const createJestEnvironment = (Base: T): T => // jest collects all errors, but we need to report the first one because it's a reason why the test has been failed const [error] = test.errors; const hasMultipleErrors = Array.isArray(error); - const errorMessage = (hasMultipleErrors ? error[0]?.message : error.message) as string; - const errorTrace = (hasMultipleErrors ? error[0]?.stack : error.stack) as string; - const status = getStatusFromError(hasMultipleErrors ? error[0] : error); + const firstError: Error = hasMultipleErrors ? error[0] : error; + const details = getMessageAndTraceFromError(firstError); + const status = getStatusFromError(firstError); this.runtime.updateTest((result) => { result.stage = Stage.FINISHED; result.status = status; result.statusDetails = { - message: stripAnsi(errorMessage || ""), - trace: stripAnsi(errorTrace || ""), + ...details, }; }, testUuid); } diff --git a/packages/allure-jest/src/jsdom.ts b/packages/allure-jest/src/jsdom.ts index 43669242c..07f79be11 100644 --- a/packages/allure-jest/src/jsdom.ts +++ b/packages/allure-jest/src/jsdom.ts @@ -1,4 +1,4 @@ import { TestEnvironment } from "jest-environment-jsdom"; -import createJestEnvironment from "./index.js"; +import createJestEnvironment from "./environmentFactory.js"; export default createJestEnvironment(TestEnvironment); diff --git a/packages/allure-jest/src/model.ts b/packages/allure-jest/src/model.ts index 9ea6b844a..540b3e54e 100644 --- a/packages/allure-jest/src/model.ts +++ b/packages/allure-jest/src/model.ts @@ -1,5 +1,6 @@ -import { JestEnvironment, JestEnvironmentConfig } from "@jest/environment"; -import { Config, RuntimeMessage } from "allure-js-commons/sdk/node"; +import type { JestEnvironment, JestEnvironmentConfig } from "@jest/environment"; +import type { RuntimeMessage } from "allure-js-commons/sdk"; +import type { Config } from "allure-js-commons/sdk/reporter"; export interface AllureJestEnvironment extends JestEnvironment { handleAllureRuntimeMessage(payload: { currentTestName: string; message: RuntimeMessage }): void; diff --git a/packages/allure-jest/src/node.ts b/packages/allure-jest/src/node.ts index ad48075c7..10de6de80 100644 --- a/packages/allure-jest/src/node.ts +++ b/packages/allure-jest/src/node.ts @@ -1,4 +1,4 @@ import { TestEnvironment } from "jest-environment-node"; -import createJestEnvironment from "./index.js"; +import createJestEnvironment from "./environmentFactory.js"; export default createJestEnvironment(TestEnvironment); diff --git a/packages/allure-jest/test/spec/dataTable.test.ts b/packages/allure-jest/test/spec/dataTable.test.ts index 1ef1add60..8a7455d1c 100644 --- a/packages/allure-jest/test/spec/dataTable.test.ts +++ b/packages/allure-jest/test/spec/dataTable.test.ts @@ -1,4 +1,4 @@ -import { expect, it } from "@jest/globals"; +import { expect, it } from "vitest"; import { Stage, Status } from "allure-js-commons"; import { runJestInlineTest } from "../utils"; diff --git a/packages/allure-jest/test/spec/duplicatedTests.test.ts b/packages/allure-jest/test/spec/duplicatedTests.test.ts index cb0f0eff2..3a11ca55d 100644 --- a/packages/allure-jest/test/spec/duplicatedTests.test.ts +++ b/packages/allure-jest/test/spec/duplicatedTests.test.ts @@ -1,4 +1,4 @@ -import { expect, it } from "@jest/globals"; +import { expect, it } from "vitest"; import { runJestInlineTest } from "../utils"; it("doesn't report tests with the same name several times", async () => { diff --git a/packages/allure-jest/test/spec/retry.test.ts b/packages/allure-jest/test/spec/retry.test.ts index 1ff5a2877..d63641cda 100644 --- a/packages/allure-jest/test/spec/retry.test.ts +++ b/packages/allure-jest/test/spec/retry.test.ts @@ -1,8 +1,8 @@ -import { expect, it } from "@jest/globals"; +import { expect, it } from "vitest"; import { runJestInlineTest } from "../utils"; it("should work for test with retries", async () => { - const { tests, processError } = await runJestInlineTest(` + const { tests } = await runJestInlineTest(` const { label } = require("allure-js-commons"); jest.retryTimes(1); @@ -14,7 +14,6 @@ it("should work for test with retries", async () => { }); `); - expect(processError).toContain("FAIL"); expect(tests).toHaveLength(2); expect(tests[0].labels).toContainEqual( expect.objectContaining({ diff --git a/packages/allure-jest/test/spec/runtime/legacy/attachments.test.ts b/packages/allure-jest/test/spec/runtime/legacy/attachments.test.ts index ba68e6644..ab230c8e5 100644 --- a/packages/allure-jest/test/spec/runtime/legacy/attachments.test.ts +++ b/packages/allure-jest/test/spec/runtime/legacy/attachments.test.ts @@ -1,4 +1,4 @@ -import { expect, it } from "@jest/globals"; +import { expect, it } from "vitest"; import { runJestInlineTest } from "../../../utils"; it("handles json attachment", async () => { diff --git a/packages/allure-jest/test/spec/runtime/legacy/description.test.ts b/packages/allure-jest/test/spec/runtime/legacy/description.test.ts index 6dc6fc23b..44c7e7ffd 100644 --- a/packages/allure-jest/test/spec/runtime/legacy/description.test.ts +++ b/packages/allure-jest/test/spec/runtime/legacy/description.test.ts @@ -1,4 +1,4 @@ -import { expect, it } from "@jest/globals"; +import { expect, it } from "vitest"; import { runJestInlineTest } from "../../../utils"; it("sets description", async () => { diff --git a/packages/allure-jest/test/spec/runtime/legacy/historyId.test.ts b/packages/allure-jest/test/spec/runtime/legacy/historyId.test.ts index a737fdace..744c6a8e8 100644 --- a/packages/allure-jest/test/spec/runtime/legacy/historyId.test.ts +++ b/packages/allure-jest/test/spec/runtime/legacy/historyId.test.ts @@ -1,4 +1,4 @@ -import { describe, expect, it } from "@jest/globals"; +import { describe, expect, it } from "vitest"; import { runJestInlineTest } from "../../../utils"; describe("historyId", () => { diff --git a/packages/allure-jest/test/spec/runtime/legacy/labels.test.ts b/packages/allure-jest/test/spec/runtime/legacy/labels.test.ts index 60d59680d..8bec46299 100644 --- a/packages/allure-jest/test/spec/runtime/legacy/labels.test.ts +++ b/packages/allure-jest/test/spec/runtime/legacy/labels.test.ts @@ -1,4 +1,4 @@ -import { expect, it } from "@jest/globals"; +import { expect, it } from "vitest"; import { LabelName } from "allure-js-commons"; import { runJestInlineTest } from "../../../utils"; diff --git a/packages/allure-jest/test/spec/runtime/legacy/links.test.ts b/packages/allure-jest/test/spec/runtime/legacy/links.test.ts index a6fc8849c..81e949958 100644 --- a/packages/allure-jest/test/spec/runtime/legacy/links.test.ts +++ b/packages/allure-jest/test/spec/runtime/legacy/links.test.ts @@ -1,4 +1,4 @@ -import { expect, it } from "@jest/globals"; +import { expect, it } from "vitest"; import { LinkType } from "allure-js-commons"; import { runJestInlineTest } from "../../../utils"; diff --git a/packages/allure-jest/test/spec/runtime/legacy/parameters.test.ts b/packages/allure-jest/test/spec/runtime/legacy/parameters.test.ts index 708148e3e..926aa30fd 100644 --- a/packages/allure-jest/test/spec/runtime/legacy/parameters.test.ts +++ b/packages/allure-jest/test/spec/runtime/legacy/parameters.test.ts @@ -1,4 +1,4 @@ -import { expect, it } from "@jest/globals"; +import { expect, it } from "vitest"; import { runJestInlineTest } from "../../../utils"; it("sets parameters", async () => { diff --git a/packages/allure-jest/test/spec/runtime/legacy/steps.test.ts b/packages/allure-jest/test/spec/runtime/legacy/steps.test.ts index 31e9a8f2c..43cfdeb9d 100644 --- a/packages/allure-jest/test/spec/runtime/legacy/steps.test.ts +++ b/packages/allure-jest/test/spec/runtime/legacy/steps.test.ts @@ -1,4 +1,4 @@ -import { expect, it } from "@jest/globals"; +import { expect, it } from "vitest"; import { Status } from "allure-js-commons"; import { runJestInlineTest } from "../../../utils"; diff --git a/packages/allure-jest/test/spec/runtime/legacy/testCaseId.test.ts b/packages/allure-jest/test/spec/runtime/legacy/testCaseId.test.ts index aa88272d7..d5e69c11c 100644 --- a/packages/allure-jest/test/spec/runtime/legacy/testCaseId.test.ts +++ b/packages/allure-jest/test/spec/runtime/legacy/testCaseId.test.ts @@ -1,4 +1,4 @@ -import { describe, expect, it } from "@jest/globals"; +import { describe, expect, it } from "vitest"; import { runJestInlineTest } from "../../../utils"; describe("testCaseId", () => { diff --git a/packages/allure-jest/test/spec/runtime/modern/attachments.test.ts b/packages/allure-jest/test/spec/runtime/modern/attachments.test.ts index c6eb857cd..9408b432b 100644 --- a/packages/allure-jest/test/spec/runtime/modern/attachments.test.ts +++ b/packages/allure-jest/test/spec/runtime/modern/attachments.test.ts @@ -1,4 +1,4 @@ -import { expect, it } from "@jest/globals"; +import { expect, it } from "vitest"; import { runJestInlineTest } from "../../../utils"; it("handles json attachment", async () => { diff --git a/packages/allure-jest/test/spec/runtime/modern/description.test.ts b/packages/allure-jest/test/spec/runtime/modern/description.test.ts index 405558b68..eb289658b 100644 --- a/packages/allure-jest/test/spec/runtime/modern/description.test.ts +++ b/packages/allure-jest/test/spec/runtime/modern/description.test.ts @@ -1,4 +1,4 @@ -import { expect, it } from "@jest/globals"; +import { expect, it } from "vitest"; import { runJestInlineTest } from "../../../utils"; it("sets description", async () => { diff --git a/packages/allure-jest/test/spec/runtime/modern/historyId.test.ts b/packages/allure-jest/test/spec/runtime/modern/historyId.test.ts index 36c8a17bc..c89daa4bc 100644 --- a/packages/allure-jest/test/spec/runtime/modern/historyId.test.ts +++ b/packages/allure-jest/test/spec/runtime/modern/historyId.test.ts @@ -1,4 +1,4 @@ -import { describe, expect, it } from "@jest/globals"; +import { describe, expect, it } from "vitest"; import { runJestInlineTest } from "../../../utils"; describe("historyId", () => { diff --git a/packages/allure-jest/test/spec/runtime/modern/labels.test.ts b/packages/allure-jest/test/spec/runtime/modern/labels.test.ts index 3b5e99207..7a27a9042 100644 --- a/packages/allure-jest/test/spec/runtime/modern/labels.test.ts +++ b/packages/allure-jest/test/spec/runtime/modern/labels.test.ts @@ -1,4 +1,4 @@ -import { expect, it } from "@jest/globals"; +import { expect, it } from "vitest"; import { LabelName } from "allure-js-commons"; import { runJestInlineTest } from "../../../utils"; diff --git a/packages/allure-jest/test/spec/runtime/modern/links.test.ts b/packages/allure-jest/test/spec/runtime/modern/links.test.ts index 24db71ca0..69372acc0 100644 --- a/packages/allure-jest/test/spec/runtime/modern/links.test.ts +++ b/packages/allure-jest/test/spec/runtime/modern/links.test.ts @@ -1,4 +1,4 @@ -import { expect, it } from "@jest/globals"; +import { expect, it } from "vitest"; import { LinkType } from "allure-js-commons"; import { runJestInlineTest } from "../../../utils"; diff --git a/packages/allure-jest/test/spec/runtime/modern/parameters.test.ts b/packages/allure-jest/test/spec/runtime/modern/parameters.test.ts index c61a9be67..296575425 100644 --- a/packages/allure-jest/test/spec/runtime/modern/parameters.test.ts +++ b/packages/allure-jest/test/spec/runtime/modern/parameters.test.ts @@ -1,4 +1,4 @@ -import { expect, it } from "@jest/globals"; +import { expect, it } from "vitest"; import { runJestInlineTest } from "../../../utils"; it("sets parameters", async () => { diff --git a/packages/allure-jest/test/spec/runtime/modern/steps.test.ts b/packages/allure-jest/test/spec/runtime/modern/steps.test.ts index b80184b40..0802887f4 100644 --- a/packages/allure-jest/test/spec/runtime/modern/steps.test.ts +++ b/packages/allure-jest/test/spec/runtime/modern/steps.test.ts @@ -1,4 +1,4 @@ -import { expect, it } from "@jest/globals"; +import { expect, it } from "vitest"; import { Status } from "allure-js-commons"; import { runJestInlineTest } from "../../../utils"; diff --git a/packages/allure-jest/test/spec/runtime/modern/testCaseId.test.ts b/packages/allure-jest/test/spec/runtime/modern/testCaseId.test.ts index 40e6442f2..ad9c117c7 100644 --- a/packages/allure-jest/test/spec/runtime/modern/testCaseId.test.ts +++ b/packages/allure-jest/test/spec/runtime/modern/testCaseId.test.ts @@ -1,4 +1,4 @@ -import { describe, expect, it } from "@jest/globals"; +import { describe, expect, it } from "vitest"; import { runJestInlineTest } from "../../../utils"; describe("testCaseId", () => { diff --git a/packages/allure-jest/test/spec/skipped.test.ts b/packages/allure-jest/test/spec/skipped.test.ts index f47ed22d3..1123c988e 100644 --- a/packages/allure-jest/test/spec/skipped.test.ts +++ b/packages/allure-jest/test/spec/skipped.test.ts @@ -1,4 +1,4 @@ -import { expect, it } from "@jest/globals"; +import { expect, it } from "vitest"; import { Stage, Status } from "allure-js-commons"; import { runJestInlineTest } from "../utils"; diff --git a/packages/allure-jest/test/spec/todo.test.ts b/packages/allure-jest/test/spec/todo.test.ts index c71244471..8f7e3cb46 100644 --- a/packages/allure-jest/test/spec/todo.test.ts +++ b/packages/allure-jest/test/spec/todo.test.ts @@ -1,4 +1,4 @@ -import { expect, it } from "@jest/globals"; +import { expect, it } from "vitest"; import { Stage, Status } from "allure-js-commons"; import { runJestInlineTest } from "../utils"; diff --git a/packages/allure-jest/test/utils.ts b/packages/allure-jest/test/utils.ts index 1e879a886..3e1b597da 100644 --- a/packages/allure-jest/test/utils.ts +++ b/packages/allure-jest/test/utils.ts @@ -2,22 +2,10 @@ import { fork } from "node:child_process"; import { randomUUID } from "node:crypto"; import { mkdir, rm, writeFile } from "node:fs/promises"; import { join } from "node:path"; -import type { AllureResults, TestResult, TestResultContainer } from "allure-js-commons"; -import { LinkType } from "allure-js-commons/sdk/node"; +import type { AllureResults } from "allure-js-commons/sdk"; +import { MessageReader } from "allure-js-commons/sdk/reporter"; -export type TestResultsByFullName = Record; - -type AllureResultsExtended = AllureResults & { - processError: string; -}; - -export const runJestInlineTest = async (test: string): Promise => { - const res: AllureResultsExtended = { - tests: [], - groups: [], - attachments: {}, - processError: "", - }; +export const runJestInlineTest = async (test: string): Promise => { const testDir = join(__dirname, "fixtures", randomUUID()); const configFilePath = join(testDir, "jest.config.js"); const testFilePath = join(testDir, "sample.test.js"); @@ -28,11 +16,11 @@ export const runJestInlineTest = async (test: string): Promise { - const event: { path: string; type: string; data: string } = JSON.parse(message); - const data = event.type !== "attachment" ? JSON.parse(Buffer.from(event.data, "base64").toString()) : event.data; + const messageReader = new MessageReader(); - switch (event.type) { - case "container": - res.groups.push(data as TestResultContainer); - break; - case "result": - res.tests.push(data as TestResult); - break; - case "attachment": - res.attachments[event.path] = event.data; - break; - default: - break; - } - }); + // eslint-disable-next-line @typescript-eslint/no-unsafe-argument + testProcess.on("message", messageReader.handleMessage); testProcess.stdout?.setEncoding("utf8").on("data", (chunk) => { process.stdout.write(String(chunk)); }); testProcess.stderr?.setEncoding("utf8").on("data", (chunk) => { process.stderr.write(String(chunk)); - res.processError += chunk; }); return new Promise((resolve) => { testProcess.on("exit", async () => { await rm(testDir, { recursive: true }); - return resolve(res); + return resolve(messageReader.results); }); }); }; diff --git a/packages/allure-jest/tsconfig.dts.json b/packages/allure-jest/tsconfig.dts.json deleted file mode 100644 index 6ae02c1aa..000000000 --- a/packages/allure-jest/tsconfig.dts.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "./tsconfig", - "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true - }, - "include": ["./src/**/*"], - "exclude": ["./test/**/*"] -} diff --git a/packages/allure-jest/tsconfig.json b/packages/allure-jest/tsconfig.json index c8ba2be9f..a8b4131f8 100644 --- a/packages/allure-jest/tsconfig.json +++ b/packages/allure-jest/tsconfig.json @@ -1,23 +1,12 @@ { "extends": "../../tsconfig.json", - "include": [ - "./src/**/*", - "./test/**/*", - "index.ts", - "internal.ts" - ], + "include": ["./src/**/*"], "compilerOptions": { - "skipLibCheck": true, - "module": "ESNext", + "module": "ES2022", "target": "ES2022", "moduleResolution": "bundler", - "lib": [ - "dom", - "esnext" - ], - "types": [ - "node" - ], + "lib": ["dom", "esnext"], + "types": ["node"], "outDir": "./dist" } } diff --git a/packages/allure-jest/tsconfig.rollup.json b/packages/allure-jest/tsconfig.rollup.json deleted file mode 100644 index cf5f3b001..000000000 --- a/packages/allure-jest/tsconfig.rollup.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "extends": "./tsconfig.json", - "exclude": ["./test/**/*"], - "compilerOptions": { - "declaration": false - } -} diff --git a/packages/allure-jest/tsconfig.test.json b/packages/allure-jest/tsconfig.test.json new file mode 100644 index 000000000..5272ba9cd --- /dev/null +++ b/packages/allure-jest/tsconfig.test.json @@ -0,0 +1,7 @@ +{ + "extends": "./tsconfig.json", + "include": ["./test/**/*"], + "compilerOptions": { + "noEmit": true + } +} diff --git a/packages/allure-jest/vitest.config.ts b/packages/allure-jest/vitest.config.ts new file mode 100644 index 000000000..d9898b064 --- /dev/null +++ b/packages/allure-jest/vitest.config.ts @@ -0,0 +1,13 @@ +import { defineConfig } from "vitest/config"; + +export default defineConfig({ + test: { + include: ["test/spec/**/*.ts"], + fileParallelism: false, + testTimeout: 5000, + reporters: ["default"], + typecheck: { + tsconfig: "./tsconfig.test.json", + }, + }, +}); diff --git a/packages/allure-js-commons/babel.cjs.json b/packages/allure-js-commons/babel.cjs.json new file mode 100644 index 000000000..21b8c477a --- /dev/null +++ b/packages/allure-js-commons/babel.cjs.json @@ -0,0 +1,15 @@ +{ + "presets": [ + [ + "@babel/preset-typescript", + { + "rewriteImportExtensions": true + } + ], + ["@babel/preset-env", { "modules": "commonjs" }] + ], + "targets": { + "esmodules": false, + "node": 18 + } +} diff --git a/packages/allure-js-commons/babel.esm.json b/packages/allure-js-commons/babel.esm.json new file mode 100644 index 000000000..bc8432e04 --- /dev/null +++ b/packages/allure-js-commons/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/allure-js-commons/package.json b/packages/allure-js-commons/package.json index 42ded8627..3e32f0db9 100644 --- a/packages/allure-js-commons/package.json +++ b/packages/allure-js-commons/package.json @@ -17,54 +17,58 @@ "exports": { ".": { "import": "./dist/esm/index.js", - "require": "./dist/cjs/index.js" - }, - "./internal": { - "import": "./dist/esm/internal.js", - "require": "./dist/cjs/internal.js" - }, - "./browser": { - "import": "./dist/esm/browser/index.js", - "require": "./dist/cjs/browser/index.js" - }, - "./node": { - "import": "./dist/esm/node/index.js", - "require": "./dist/cjs/node/index.js" + "require": "./dist/cjs/index.js", + "types": "./dist/types/index.d.ts", + "default": "./dist/cjs/index.js" }, "./sdk": { "import": "./dist/esm/sdk/index.js", - "require": "./dist/cjs/sdk/index.js" + "require": "./dist/cjs/sdk/index.js", + "types": "./dist/types/sdk/index.d.ts", + "default": "./dist/cjs/sdk/index.js" }, - "./sdk/node": { - "import": "./dist/esm/sdk/node/index.js", - "require": "./dist/cjs/sdk/node/index.js" + "./sdk/reporter": { + "import": "./dist/esm/sdk/reporter/index.js", + "require": "./dist/cjs/sdk/reporter/index.js", + "types": "./dist/types/sdk/reporter/index.d.ts", + "default": "./dist/cjs/sdk/reporter/index.js" }, - "./sdk/browser": { - "import": "./dist/esm/sdk/browser/index.js", - "require": "./dist/cjs/sdk/browser/index.js" + "./sdk/runtime": { + "import": "./dist/esm/sdk/runtime/index.js", + "require": "./dist/cjs/sdk/runtime/index.js", + "types": "./dist/types/sdk/runtime/index.d.ts", + "default": "./dist/cjs/sdk/runtime/index.js" } }, "main": "./dist/cjs/index.js", "module": "./dist/esm/index.js", + "types": "./dist/types/index.d.ts", "files": [ "dist" ], "scripts": { "clean": "rimraf ./dist", - "compile": "run-p 'compile:*'", - "compile:esm": "tsc --project ./tsconfig.esm.json", - "compile:cjs": "tsc --project ./tsconfig.json", - "compile:fixup": "ts-node --project ./tsconfig.json ./scripts/fixup.ts", + "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 --project ./tsconfig.json --emitDeclarationOnly --declarationDir ./dist/types", + "compile:fixup": "node ./scripts/fixup.mjs", "lint": "eslint ./src ./test --ext .ts", "lint:fix": "eslint ./src ./test --ext .ts --fix", "test": "vitest run" }, "dependencies": { "md5": "^2.3.0", - "properties": "^1.2.1", - "strip-ansi": "^5.2.0" + "properties": "^1.2.1" }, "devDependencies": { + "@babel/cli": "^7.24.6", + "@babel/core": "^7.24.6", + "@babel/plugin-transform-modules-commonjs": "^7.24.6", + "@babel/preset-env": "^7.24.6", + "@babel/preset-typescript": "^7.24.6", + "@types/babel__core": "^7", + "@types/babel__preset-env": "^7", "@types/eslint": "^8", "@types/md5": "^2", "@types/node": "^20.6.3", @@ -79,7 +83,6 @@ "eslint-plugin-no-null": "^1.0.2", "eslint-plugin-prefer-arrow": "^1.2.3", "expect": "^29.5.0", - "glob": "^10.3.10", "npm-run-all2": "^6.0.0", "rimraf": "^5.0.1", "source-map-support": "^0.5.21", diff --git a/packages/allure-js-commons/scripts/fixup.mjs b/packages/allure-js-commons/scripts/fixup.mjs new file mode 100644 index 000000000..59c47a9f4 --- /dev/null +++ b/packages/allure-js-commons/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 (err) {} + +try { + mkdirSync(cjsBuildPath, { recursive: true }); +} catch (err) {} + +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/allure-js-commons/src/TestRuntime.ts b/packages/allure-js-commons/src/TestRuntime.ts deleted file mode 100644 index e817003bf..000000000 --- a/packages/allure-js-commons/src/TestRuntime.ts +++ /dev/null @@ -1,314 +0,0 @@ -import { - ContentType, - Label, - LabelName, - Link, - LinkType, - ParameterMode, - ParameterOptions, - RuntimeMessage, - Stage, - Status, -} from "./model.js"; -import { getStatusFromError } from "./utils.js"; - -export const ALLURE_TEST_RUNTIME_KEY = "allureTestRuntime"; - -export interface TestRuntime { - labels: (...labels: Label[]) => PromiseLike; - - links: (...links: Link[]) => PromiseLike; - - parameter: (name: string, value: string, options?: ParameterOptions) => PromiseLike; - - description: (markdown: string) => PromiseLike; - - descriptionHtml: (html: string) => PromiseLike; - - displayName: (name: string) => PromiseLike; - - historyId: (value: string) => PromiseLike; - - testCaseId: (value: string) => PromiseLike; - - attachment: (name: string, content: Buffer | string, type: ContentType | string) => PromiseLike; - - step: (name: string, body: () => T | PromiseLike) => PromiseLike; - - stepDisplayName: (name: string) => PromiseLike; - - stepParameter: (name: string, value: string, mode?: ParameterMode) => PromiseLike; -} - -class NoopRuntime implements TestRuntime { - async attachment() { - await this.warning(); - } - - async description() { - await this.warning(); - } - - async descriptionHtml() { - await this.warning(); - } - - async displayName() { - await this.warning(); - } - - async historyId() { - await this.warning(); - } - - async labels() { - await this.warning(); - } - - async links() { - await this.warning(); - } - - async parameter() { - await this.warning(); - } - - async step(name: string, body: () => T | PromiseLike): Promise { - await this.warning(); - return body(); - } - - async stepDisplayName() { - await this.warning(); - } - - async stepParameter() { - await this.warning(); - } - - async testCaseId() { - await this.warning(); - } - - // eslint-disable-next-line @typescript-eslint/require-await - async warning() { - // eslint-disable-next-line no-console - console.log("no test runtime is found. Please check test framework configuration"); - } -} - -const noopRuntime = new NoopRuntime(); - -export abstract class MessageTestRuntime implements TestRuntime { - async label(name: LabelName | string, value: string) { - await this.sendMessage({ - type: "metadata", - data: { - labels: [{ name, value }], - }, - }); - } - - async labels(...labels: Label[]) { - await this.sendMessage({ - type: "metadata", - data: { - labels, - }, - }); - } - - async link(url: string, type?: LinkType | string, name?: string) { - await this.sendMessage({ - type: "metadata", - data: { - links: [{ type, url, name }], - }, - }); - } - - async links(...links: Link[]) { - await this.sendMessage({ - type: "metadata", - data: { - links, - }, - }); - } - - async parameter(name: string, value: string, options?: ParameterOptions) { - await this.sendMessage({ - type: "metadata", - data: { - parameters: [ - { - name, - value, - ...options, - }, - ], - }, - }); - } - - async description(markdown: string) { - await this.sendMessage({ - type: "metadata", - data: { - description: markdown, - }, - }); - } - - async descriptionHtml(html: string) { - await this.sendMessage({ - type: "metadata", - data: { - descriptionHtml: html, - }, - }); - } - - async displayName(name: string) { - await this.sendMessage({ - type: "metadata", - data: { - displayName: name, - }, - }); - } - - async historyId(value: string) { - await this.sendMessage({ - type: "metadata", - data: { - historyId: value, - }, - }); - } - - async testCaseId(value: string) { - await this.sendMessage({ - type: "metadata", - data: { - testCaseId: value, - }, - }); - } - - async attachment(name: string, content: Buffer | string, type: string | ContentType) { - await this.sendMessage({ - type: "raw_attachment", - data: { - name, - content: Buffer.from(content).toString("base64"), - contentType: type, - encoding: "base64", - }, - }); - } - - async step(name: string, body: () => T | PromiseLike) { - await this.sendMessage({ - type: "step_start", - data: { - name, - start: Date.now(), - }, - }); - - try { - const result = await body(); - - await this.sendMessage({ - type: "step_stop", - data: { - status: Status.PASSED, - stage: Stage.FINISHED, - stop: Date.now(), - }, - }); - - return result; - } catch (err) { - const { message, stack } = err as Error; - - await this.sendMessage({ - type: "step_stop", - data: { - status: getStatusFromError(err as Error), - stage: Stage.FINISHED, - stop: Date.now(), - statusDetails: { - message, - trace: stack, - }, - }, - }); - - throw err; - } - } - - async stepDisplayName(name: string) { - await this.sendMessage({ - type: "step_metadata", - data: { name }, - }); - } - - async stepParameter(name: string, value: string, mode?: ParameterMode) { - await this.sendMessage({ - type: "step_metadata", - data: { - parameters: [{ name, value, mode }], - }, - }); - } - - abstract sendMessage(message: RuntimeMessage): Promise; -} - -export const setGlobalTestRuntime = (runtime: TestRuntime) => { - (globalThis as any)[ALLURE_TEST_RUNTIME_KEY] = () => runtime; -}; - -const getGlobalTestRuntimeFunction = () => { - return (globalThis as any)?.[ALLURE_TEST_RUNTIME_KEY] as (() => TestRuntime | undefined) | undefined; -}; - -export const getGlobalTestRuntime = (): TestRuntime => { - const testRuntime = getGlobalTestRuntimeFunction(); - - if (testRuntime) { - return testRuntime() ?? noopRuntime; - } - - if ("_playwrightInstance" in globalThis) { - try { - // eslint-disable-next-line @typescript-eslint/no-require-imports - require("allure-playwright/autoconfig"); - - return getGlobalTestRuntimeFunction()?.() ?? noopRuntime; - } catch (err) { - // eslint-disable-next-line no-console - console.log("can't execute allure-playwright/autoconfig", err); - return noopRuntime; - } - } - - if ("__vitest_environment__" in globalThis) { - try { - // eslint-disable-next-line @typescript-eslint/no-require-imports - require("allure-vitest/autoconfig"); - - return getGlobalTestRuntimeFunction()?.() ?? noopRuntime; - } catch (err) { - // eslint-disable-next-line no-console - console.log("can't execute allure-vitest/autoconfig", err); - return noopRuntime; - } - } - - return noopRuntime; -}; diff --git a/packages/allure-js-commons/src/facade.ts b/packages/allure-js-commons/src/facade.ts index a3f3ad2cd..49826c21e 100644 --- a/packages/allure-js-commons/src/facade.ts +++ b/packages/allure-js-commons/src/facade.ts @@ -1,70 +1,102 @@ -import { TestRuntime, getGlobalTestRuntime } from "./TestRuntime.js"; -import { ContentType, Label, LabelName, Link, LinkType, ParameterMode, ParameterOptions } from "./model.js"; +import type { ContentType, Label, Link, ParameterMode, ParameterOptions } from "./model.js"; +import { LabelName, LinkType } from "./model.js"; +import { getGlobalTestRuntimeWithAutoconfig } from "./sdk/runtime/runtime.js"; +import type { TestRuntime } from "./sdk/runtime/types.js"; +import { isPromise } from "./sdk/utils.js"; + +const callRuntimeMethod = (method: string, ...args: any[]) => { + const runtime = getGlobalTestRuntimeWithAutoconfig(); + + if (!isPromise(runtime)) { + // @ts-ignore + return (runtime as TestRuntime)[method](...args); + } + + return (runtime as Promise).then((testRuntime) => { + // @ts-ignore + return testRuntime[method](...args); + }); +}; export const label = (name: LabelName | string, value: string) => { - const runtime = getGlobalTestRuntime(); - - return runtime.labels({ name, value }); + return callRuntimeMethod("labels", { name, value }); + // const runtime = getGlobalTestRuntimeWithAutoconfig(); + // + // if (!isPromise(runtime)) { + // return (runtime as TestRuntime).labels({ name, value }); + // } + // + // return (runtime as Promise).then((testRuntime) => testRuntime.labels({ name, value })); }; export const labels = (...labelsList: Label[]) => { - const runtime = getGlobalTestRuntime(); - - return runtime.labels(...labelsList); + // const runtime = await getGlobalTestRuntimeWithAutoconfig(); + // + // return runtime.labels(...labelsList); + return callRuntimeMethod("labels", ...labelsList); }; export const link = (url: string, type?: LinkType | string, name?: string) => { - const runtime = getGlobalTestRuntime(); - - return runtime.links({ url, type, name }); + // const runtime = await getGlobalTestRuntimeWithAutoconfig(); + // + // return runtime.links({ url, type, name }); + return callRuntimeMethod("links", { url, type, name }); }; export const links = (...linksList: Link[]) => { - const runtime = getGlobalTestRuntime(); - - return runtime.links(...linksList); + // const runtime = await getGlobalTestRuntimeWithAutoconfig(); + // + // return runtime.links(...linksList); + return callRuntimeMethod("links", ...linksList); }; export const parameter = (name: string, value: string, options?: ParameterOptions) => { - const runtime = getGlobalTestRuntime(); - - return runtime.parameter(name, value, options); + // const runtime = await getGlobalTestRuntimeWithAutoconfig(); + // + // return runtime.parameter(name, value, options); + return callRuntimeMethod("parameter", name, value, options); }; export const description = (markdown: string) => { - const runtime = getGlobalTestRuntime(); - - return runtime.description(markdown); + // const runtime = await getGlobalTestRuntimeWithAutoconfig(); + // + // return runtime.description(markdown); + return callRuntimeMethod("description", markdown); }; export const descriptionHtml = (html: string) => { - const runtime = getGlobalTestRuntime(); - - return runtime.descriptionHtml(html); + // const runtime = await getGlobalTestRuntimeWithAutoconfig(); + // + // return runtime.descriptionHtml(html); + return callRuntimeMethod("descriptionHtml", html); }; export const displayName = (name: string) => { - const runtime = getGlobalTestRuntime(); - - return runtime.displayName(name); + // const runtime = await getGlobalTestRuntimeWithAutoconfig(); + // + // return runtime.displayName(name); + return callRuntimeMethod("displayName", name); }; export const historyId = (value: string) => { - const runtime = getGlobalTestRuntime(); - - return runtime.historyId(value); + // const runtime = await getGlobalTestRuntimeWithAutoconfig(); + // + // return runtime.historyId(value); + return callRuntimeMethod("historyId", value); }; export const testCaseId = (value: string) => { - const runtime = getGlobalTestRuntime(); - - return runtime.testCaseId(value); + // const runtime = await getGlobalTestRuntimeWithAutoconfig(); + // + // return runtime.testCaseId(value); + return callRuntimeMethod("testCaseId", value); }; export const attachment = (name: string, content: Buffer | string, type: ContentType | string) => { - const runtime = getGlobalTestRuntime(); - - return runtime.attachment(name, content, type); + // const runtime = await getGlobalTestRuntimeWithAutoconfig(); + // + // return runtime.attachment(name, content, type); + return callRuntimeMethod("attachment", name, content, type); }; export type StepContext = { @@ -72,19 +104,23 @@ export type StepContext = { parameter: (name: string, value: string, mode?: ParameterMode) => void | PromiseLike; }; -const stepContext: (runtime: TestRuntime) => StepContext = (runtime) => ({ - displayName: (name) => { - return runtime.stepDisplayName(name); +const stepContext: () => StepContext = () => ({ + displayName: (name: string) => { + // return runtime.stepDisplayName(name); + return callRuntimeMethod("stepDisplayName", name); }, parameter: (name, value, mode?) => { - return runtime.stepParameter(name, value, mode); + // return runtime.stepParameter(name, value, mode); + return callRuntimeMethod("stepParameter", name, value, mode); }, }); export const step = (name: string, body: (context: StepContext) => T | PromiseLike) => { - const runtime = getGlobalTestRuntime(); - - return runtime.step(name, () => body(stepContext(runtime))); + // throw new Error("Not implemented"); + // const runtime = await getGlobalTestRuntimeWithAutoconfig(); + // + // return runtime.step(name, () => body(stepContext(runtime))); + return callRuntimeMethod("step", name, () => body(stepContext())); }; export const issue = (url: string, name?: string) => link(url, LinkType.ISSUE, name); @@ -114,7 +150,8 @@ export const layer = (name: string) => label(LabelName.LAYER, name); export const tag = (name: string) => label(LabelName.TAG, name); export const tags = (...tagsList: string[]) => { - const runtime = getGlobalTestRuntime(); - - return runtime.labels(...tagsList.map((value) => ({ name: LabelName.TAG, value }))); + // const runtime = await getGlobalTestRuntimeWithAutoconfig(); + // + // return runtime.labels(...tagsList.map((value) => ({ name: LabelName.TAG, value }))); + return callRuntimeMethod("labels", ...tagsList.map((value) => ({ name: LabelName.TAG, value }))); }; diff --git a/packages/allure-js-commons/src/index.ts b/packages/allure-js-commons/src/index.ts index 890700885..e1e6802a9 100644 --- a/packages/allure-js-commons/src/index.ts +++ b/packages/allure-js-commons/src/index.ts @@ -26,47 +26,20 @@ export { tag, tags, } from "./facade.js"; -export { - AllureResults, - Category, - ContentType, - EnvironmentInfo, - Executable, - ParameterMode, - ParameterOptions, - Parameter, - LabelName, +export type { StepContext } from "./facade.js"; +export type { + Attachment, + FixtureResult, + ImageDiffAttachment, Label, Link, - LinkType, - TestResult, - TestOrStepResult, + Parameter, + ParameterMode, + ParameterOptions, + StatusDetails, StepResult, - FixtureResult, + TestOrStepResult, + TestResult, TestResultContainer, - Attachment, - ImageDiffAttachment, - Severity, - Stage, - Status, - StatusByPriority, - StatusDetails, } from "./model.js"; -export { - allureIdRegexp, - allureLabelRegexp, - allureLabelRegexpGlobal, - allureIdRegexpGlobal, - extractMetadataFromString, - escapeRegExp, - getStatusFromError, - getSuiteLabels, - getSuitesLabels, - ensureSuiteLabels, - typeToExtension, - isAllStepsEnded, - isAnyStepFailed, - isPromise, - Stack, - serialize, -} from "./utils.js"; +export { ContentType, LinkType, LabelName, Severity, Stage, Status, StatusByPriority } from "./model.js"; diff --git a/packages/allure-js-commons/src/internal.ts b/packages/allure-js-commons/src/internal.ts deleted file mode 100644 index 4c34146e2..000000000 --- a/packages/allure-js-commons/src/internal.ts +++ /dev/null @@ -1,6 +0,0 @@ -export { - ALLURE_SKIPPED_BY_TEST_PLAN_LABEL, - ALLURE_METADATA_CONTENT_TYPE, - ALLURE_IMAGEDIFF_CONTENT_TYPE, - ALLURE_RUNTIME_MESSAGE_CONTENT_TYPE, -} from "./model.js"; diff --git a/packages/allure-js-commons/src/model.ts b/packages/allure-js-commons/src/model.ts index 7941033cc..31140358a 100644 --- a/packages/allure-js-commons/src/model.ts +++ b/packages/allure-js-commons/src/model.ts @@ -1,37 +1,3 @@ -import type { Writer } from "./sdk/Writer.js"; - -export const ALLURE_METADATA_CONTENT_TYPE = "application/vnd.allure.metadata+json"; -export const ALLURE_IMAGEDIFF_CONTENT_TYPE = "application/vnd.allure.image.diff"; -export const ALLURE_SKIPPED_BY_TEST_PLAN_LABEL = "allure-skipped-by-test-plan"; -export const ALLURE_RUNTIME_MESSAGE_CONTENT_TYPE = "application/vnd.allure.message+json"; - -export type EnvironmentInfo = Record; - -export interface AttachmentMetadata { - name: string; - type: string; - content: string; - encoding: BufferEncoding; -} - -export interface StepMetadata extends Omit { - steps: StepMetadata[]; - attachments: AttachmentMetadata[]; -} - -export interface MetadataMessage { - attachments?: AttachmentMetadata[]; - displayName?: string; - testCaseId?: string; - historyId?: string; - labels?: Label[]; - links?: Link[]; - parameter?: Parameter[]; - description?: string; - descriptionHtml?: string; - steps?: StepMetadata[]; -} - export interface Attachment { name: string; type: string; @@ -44,11 +10,6 @@ export interface AttachmentOptions { fileExtension?: string; } -export interface RawAttachment extends AttachmentOptions { - name: string; - content: Buffer | string; -} - export interface Label { name: LabelName | string; value: string; @@ -77,7 +38,7 @@ export interface StatusDetails { } // don't use the interface as is, use Results types instead -export interface Executable { +interface Executable { name?: string; status?: Status; statusDetails: StatusDetails; @@ -91,9 +52,9 @@ export interface Executable { stop?: number; } -export type FixtureResult = Executable; +export interface FixtureResult extends Executable {} -export type StepResult = Executable; +export interface StepResult extends Executable {} export interface TestResult extends Executable { uuid: string; @@ -114,27 +75,6 @@ export interface TestResultContainer { export type TestOrStepResult = StepResult | TestResult; -export interface Category { - name?: string; - description?: string; - descriptionHtml?: string; - messageRegex?: string | RegExp; - traceRegex?: string | RegExp; - matchedStatuses?: Status[]; - flaky?: boolean; -} - -export interface ExecutorInfo { - name?: string; - type?: string; - url?: string; - buildOrder?: number; - buildName?: string; - buildUrl?: string; - reportUrl?: string; - reportName?: string; -} - /* eslint-disable no-shadow */ export enum Status { FAILED = "failed", @@ -206,6 +146,7 @@ export enum ContentType { WEBM = "video/webm", JPEG = "image/jpeg", MP4 = "video/mp4", + IMAGEDIFF = "application/vnd.allure.image.diff", } /* eslint-disable no-shadow */ @@ -220,76 +161,3 @@ export interface ImageDiffAttachment { diff: string | undefined; // data:image;base64, name: string; } - -export interface AllureResults { - tests: TestResult[]; - groups: TestResultContainer[]; - attachments: Record; - envInfo?: EnvironmentInfo; - categories?: Category[]; -} - -type RuntimeMessageBase = { - type: T; -}; - -type MessageTypes = T extends RuntimeMessageBase ? K : never; - -export type RuntimeMetadataMessage = RuntimeMessageBase<"metadata"> & { - data: { - labels?: Label[]; - links?: Link[]; - parameters?: Parameter[]; - attachments?: Attachment[]; - description?: string; - descriptionHtml?: string; - testCaseId?: string; - historyId?: string; - displayName?: string; - }; -}; - -export type RuntimeStartStepMessage = RuntimeMessageBase<"step_start"> & { - data: { - name: string; - start: number; - }; -}; - -export type RuntimeStepMetadataMessage = RuntimeMessageBase<"step_metadata"> & { - data: { - name?: string; - parameters?: Parameter[]; - }; -}; - -export type RuntimeStopStepMessage = RuntimeMessageBase<"step_stop"> & { - data: { - stop: number; - status: Status; - stage: Stage; - statusDetails?: StatusDetails; - }; -}; - -// use to send whole attachment to ReporterRuntime and write it on the node side -export type RuntimeRawAttachmentMessage = RuntimeMessageBase<"raw_attachment"> & { - data: RawAttachment; -}; - -export type RuntimeMessage = - | RuntimeMetadataMessage - | RuntimeStartStepMessage - | RuntimeStepMetadataMessage - | RuntimeStopStepMessage - | RuntimeRawAttachmentMessage; - -// Could be used by adapters to define additional message types -export type ExtensionMessage = T extends MessageTypes ? never : RuntimeMessageBase; - -// eslint-disable-next-line @typescript-eslint/no-unused-vars -export type Messages = T extends RuntimeMessage | ExtensionMessage ? T : never; - -export type WellKnownWriters = { - [key: string]: (new (...args: readonly unknown[]) => Writer) | undefined; -}; diff --git a/packages/allure-js-commons/src/sdk/Config.ts b/packages/allure-js-commons/src/sdk/Config.ts deleted file mode 100644 index a41de6cf2..000000000 --- a/packages/allure-js-commons/src/sdk/Config.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { Category, EnvironmentInfo, TestResult } from "../model.js"; -import { LifecycleListener } from "./LifecycleListener.js"; -import { Writer } from "./Writer.js"; -import { AllureContextProvider } from "./context/index.js"; - -export interface LinkConfig { - type: string; - urlTemplate: string; - nameTemplate?: string; -} - -export type WriterDescriptor = [cls: string, ...args: readonly unknown[]] | string; - -export interface Config { - readonly resultsDir?: string; - readonly writer: Writer | WriterDescriptor; - // TODO: handle lifecycle hooks here - readonly testMapper?: (test: TestResult) => TestResult | null; - readonly links?: LinkConfig[]; - readonly listeners?: LifecycleListener[]; - readonly environmentInfo?: EnvironmentInfo; - readonly categories?: Category[]; - readonly contextProvider?: AllureContextProvider; -} diff --git a/packages/allure-js-commons/src/sdk/Crypto.ts b/packages/allure-js-commons/src/sdk/Crypto.ts deleted file mode 100644 index d9d86a7b6..000000000 --- a/packages/allure-js-commons/src/sdk/Crypto.ts +++ /dev/null @@ -1,5 +0,0 @@ -export abstract class Crypto { - abstract uuid(): string; - - abstract md5(str: string): string; -} diff --git a/packages/allure-js-commons/src/sdk/MessageHolder.ts b/packages/allure-js-commons/src/sdk/MessageHolder.ts deleted file mode 100644 index 4f2bf45ff..000000000 --- a/packages/allure-js-commons/src/sdk/MessageHolder.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { RuntimeMessage } from "../model.js"; - -// should it be just stack? do we need additional abstraction for this? -export class MessagesHolder { - messages: RuntimeMessage[] = []; - - push(message: RuntimeMessage) { - this.messages.push(message); - } - - pop(): RuntimeMessage | undefined { - return this.messages.pop(); - } -} diff --git a/packages/allure-js-commons/src/sdk/TestHolder.ts b/packages/allure-js-commons/src/sdk/TestHolder.ts deleted file mode 100644 index 8cf268042..000000000 --- a/packages/allure-js-commons/src/sdk/TestHolder.ts +++ /dev/null @@ -1,9 +0,0 @@ -export class TestHolder { - currentTest?: T; - - currentSteps: K[] = []; - - get currentStep() { - return this.currentSteps?.[this.currentSteps.length - 1]; - } -} diff --git a/packages/allure-js-commons/src/sdk/TestPlan.ts b/packages/allure-js-commons/src/sdk/TestPlan.ts deleted file mode 100644 index eecdc0e31..000000000 --- a/packages/allure-js-commons/src/sdk/TestPlan.ts +++ /dev/null @@ -1,9 +0,0 @@ -export interface TestPlanV1Test { - id: string | number; - selector: string; -} - -export interface TestPlanV1 { - version: "1.0"; - tests: TestPlanV1Test[]; -} diff --git a/packages/allure-js-commons/src/sdk/Writer.ts b/packages/allure-js-commons/src/sdk/Writer.ts deleted file mode 100644 index 55a142ec4..000000000 --- a/packages/allure-js-commons/src/sdk/Writer.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { Category, TestResult, TestResultContainer } from "../model.js"; - -export interface Writer { - writeResult(result: TestResult): void; - - writeGroup(result: TestResultContainer): void; - - writeAttachment(distFileName: string, content: Buffer | string, encoding?: BufferEncoding): void; - - writeAttachmentFromPath(from: string, distFileName: string): void; - - writeEnvironmentInfo(info: Record): void; - - writeCategoriesDefinitions(categories: Category[]): void; -} diff --git a/packages/allure-js-commons/src/sdk/browser/Crypto.ts b/packages/allure-js-commons/src/sdk/browser/Crypto.ts deleted file mode 100644 index 2661e2da1..000000000 --- a/packages/allure-js-commons/src/sdk/browser/Crypto.ts +++ /dev/null @@ -1,12 +0,0 @@ -import md5 from "md5"; -import { Crypto } from "../Crypto.js"; - -export class AllureBrowserCrypto extends Crypto { - uuid(): string { - return globalThis.crypto.randomUUID(); - } - - md5(str: string): string { - return md5(str); - } -} diff --git a/packages/allure-js-commons/src/sdk/browser/ReporterRuntime.ts b/packages/allure-js-commons/src/sdk/browser/ReporterRuntime.ts deleted file mode 100644 index a940d1760..000000000 --- a/packages/allure-js-commons/src/sdk/browser/ReporterRuntime.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { Config } from "../Config.js"; -import { ReporterRuntime } from "../ReporterRuntime.js"; -import { AllureBrowserCrypto } from "./Crypto.js"; - -export class AllureBrowserReporterRuntime extends ReporterRuntime { - constructor({ writer, listeners, links, environmentInfo, categories }: Config) { - super({ - writer, - listeners, - links, - categories, - environmentInfo, - crypto: new AllureBrowserCrypto(), - }); - } -} diff --git a/packages/allure-js-commons/src/sdk/browser/index.ts b/packages/allure-js-commons/src/sdk/browser/index.ts deleted file mode 100644 index c4384dc8f..000000000 --- a/packages/allure-js-commons/src/sdk/browser/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -export * from "../index.js"; -export * from "../context/index.js"; -export { AllureBrowserReporterRuntime } from "./ReporterRuntime.js"; -export { AllureBrowserCrypto } from "./Crypto.js"; -export { ALLURE_TEST_RUNTIME_KEY, setGlobalTestRuntime, getGlobalTestRuntime } from "../../TestRuntime.js"; diff --git a/packages/allure-js-commons/src/sdk/context/index.ts b/packages/allure-js-commons/src/sdk/context/index.ts deleted file mode 100644 index fad93854e..000000000 --- a/packages/allure-js-commons/src/sdk/context/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from "./types.js"; -export * from "./StaticAllureContextProvider.js"; diff --git a/packages/allure-js-commons/src/sdk/index.ts b/packages/allure-js-commons/src/sdk/index.ts index 453b84afb..67b6b264f 100644 --- a/packages/allure-js-commons/src/sdk/index.ts +++ b/packages/allure-js-commons/src/sdk/index.ts @@ -1,28 +1,29 @@ -export { Config } from "./Config.js"; -export { ReporterRuntime } from "./ReporterRuntime.js"; -export { TestRuntime, MessageTestRuntime, setGlobalTestRuntime, getGlobalTestRuntime } from "../TestRuntime.js"; -export { TestHolder } from "./TestHolder.js"; -export { MessagesHolder } from "./MessageHolder.js"; -export { - writeAttachment, - createTestResult, - createFixtureResult, - createStepResult, - createTestResultContainer, - getStepsMessagesPair, - getUnfinishedStepsMessages, - getWorstStepResultStatus, - hasStepMessage, -} from "./utils.js"; -export { - RuntimeRawAttachmentMessage, +export type { + AllureResults, + Category, + EnvironmentInfo, + ExecutorInfo, + ExtensionMessage, + Messages, + RawAttachment, + RuntimeMessage, RuntimeMetadataMessage, + RuntimeRawAttachmentMessage, RuntimeStartStepMessage, RuntimeStepMetadataMessage, RuntimeStopStepMessage, - RuntimeMessage, - ExtensionMessage, -} from "../model.js"; -export * from "./context/index.js"; -export * from "../index.js"; -export { FixtureType } from "./LifecycleState.js"; + TestPlanV1Test, + TestPlanV1, +} from "./types.js"; +export { + getStatusFromError, + getMessageAndTraceFromError, + extractMetadataFromString, + isAllStepsEnded, + isAnyStepFailed, + getUnfinishedStepsMessages, + hasStepMessage, + isPromise, + hasLabel, + stripAnsi, +} from "./utils.js"; diff --git a/packages/allure-js-commons/src/sdk/node/Crypto.ts b/packages/allure-js-commons/src/sdk/node/Crypto.ts deleted file mode 100644 index 9754f6587..000000000 --- a/packages/allure-js-commons/src/sdk/node/Crypto.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { createHash, randomUUID } from "node:crypto"; -import { Crypto } from "../Crypto.js"; - -export class AllureNodeCrypto extends Crypto { - uuid(): string { - return randomUUID(); - } - - md5(str: string): string { - return createHash("md5").update(str).digest("hex"); - } -} diff --git a/packages/allure-js-commons/src/sdk/node/ReporterRuntime.ts b/packages/allure-js-commons/src/sdk/node/ReporterRuntime.ts deleted file mode 100644 index 8f137d09f..000000000 --- a/packages/allure-js-commons/src/sdk/node/ReporterRuntime.ts +++ /dev/null @@ -1,67 +0,0 @@ -import { extname } from "path"; -import { AttachmentOptions, TestResult, WellKnownWriters } from "../../model.js"; -import { Config } from "../Config.js"; -import { ReporterRuntime } from "../ReporterRuntime.js"; -import { AllureNodeCrypto } from "./Crypto.js"; -import { getGlobalLabels } from "./utils.js"; -import * as wellKnownNodeWriters from "./writers/index.js"; - -export class AllureNodeReporterRuntime extends ReporterRuntime { - constructor({ writer, listeners, links, environmentInfo, categories }: Config) { - super({ - writer, - listeners, - crypto: new AllureNodeCrypto(), - links, - environmentInfo, - categories, - }); - } - - writeAttachmentFromPath = ( - attachmentName: string, - attachmentPath: string, - options: AttachmentOptions, - uuid?: string, - ) => { - const target = this.getCurrentExecutingItem(uuid); - if (!target) { - if (uuid) { - // eslint-disable-next-line no-console - console.error(`No test or fixture ${uuid} to attach!`); - } else { - // eslint-disable-next-line no-console - console.error("No current test or fixture to attach!"); - } - return; - } - - const attachmentFilename = this.buildAttachmentFileName({ - ...options, - fileExtension: options.fileExtension ?? extname(attachmentPath), - }); - - this.writer.writeAttachmentFromPath(attachmentPath, attachmentFilename); - - const rawAttachment = { - name: attachmentName, - source: attachmentFilename, - type: options.contentType, - }; - - target.attachments.push(rawAttachment); - - return attachmentFilename; - }; - - protected override createTestResult(result: Partial): TestResult { - return super.createTestResult({ - ...result, - labels: (result.labels ?? []).concat(getGlobalLabels()), - }); - } - - protected getWellKnownWriters(): WellKnownWriters { - return Object.assign({}, super.getWellKnownWriters(), wellKnownNodeWriters); - } -} diff --git a/packages/allure-js-commons/src/sdk/node/index.ts b/packages/allure-js-commons/src/sdk/node/index.ts deleted file mode 100644 index f344ebd72..000000000 --- a/packages/allure-js-commons/src/sdk/node/index.ts +++ /dev/null @@ -1,9 +0,0 @@ -export * from "../index.js"; -export * from "./utils.js"; -export * from "../context/index.js"; -export { AllureNodeReporterRuntime } from "./ReporterRuntime.js"; -export { MessageAllureWriter, FileSystemAllureWriter, AllureInMemoryWriter } from "./writers/index.js"; -export { AllureNodeCrypto } from "./Crypto.js"; -export { parseTestPlan, TestPlanV1, TestPlanV1Test } from "./TestPlan.js"; -export { ALLURE_TEST_RUNTIME_KEY, getGlobalTestRuntime, setGlobalTestRuntime } from "../../TestRuntime.js"; -export { readImageAsBase64 } from "../utils.js"; diff --git a/packages/allure-js-commons/src/sdk/node/utils.ts b/packages/allure-js-commons/src/sdk/node/utils.ts deleted file mode 100644 index fbb56601d..000000000 --- a/packages/allure-js-commons/src/sdk/node/utils.ts +++ /dev/null @@ -1,67 +0,0 @@ -import * as fs from "node:fs"; -import * as path from "node:path"; -import * as process from "node:process"; -import { env } from "process"; -import { Label, LabelName } from "../../model.js"; - -export const getProjectRoot = (() => { - let cachedProjectRoot: string | null = null; - - const resolveProjectRootByPath = () => { - const cwd = process.cwd(); - let nextDir = cwd; - let dir; - - do { - dir = nextDir; - try { - fs.accessSync(path.join(dir, "package.json"), fs.constants.F_OK); - - // package.json exists; use the directory as the project root - return dir; - } catch {} - - nextDir = path.dirname(dir); - } while (nextDir.length < dir.length); - - // package.json doesn't exist in any parent; fall back to CWD - return cwd; - }; - - return () => { - if (!cachedProjectRoot) { - cachedProjectRoot = resolveProjectRootByPath(); - } - return cachedProjectRoot; - }; -})(); - -export const getRelativePath = (filepath: string) => { - if (path.isAbsolute(filepath)) { - const projectRoot = getProjectRoot(); - filepath = path.relative(projectRoot, filepath); - } - return filepath; -}; - -export const getPackageLabelFromPath = (filepath: string): Label => ({ - name: LabelName.PACKAGE, - value: getRelativePath(filepath) - .split(path.sep) - .filter((v) => v) - .join("."), -}); - -export const getGlobalLabels = () => { - const ENV_NAME_PREFIX = "ALLURE_LABEL_"; - let globalLabels: Label[]; - const initGlobalLabels: () => Label[] = () => - Object.keys(env) - .filter((varname) => varname.startsWith(ENV_NAME_PREFIX)) - .map((varname) => ({ - name: varname.substring(ENV_NAME_PREFIX.length), - value: env[varname] ?? "", - })) - .filter((l) => l.name && l.value); - return (globalLabels ??= initGlobalLabels()); -}; diff --git a/packages/allure-js-commons/src/sdk/node/writers/InMemoryAllureWriter.ts b/packages/allure-js-commons/src/sdk/node/writers/InMemoryAllureWriter.ts deleted file mode 100644 index 2c6d47080..000000000 --- a/packages/allure-js-commons/src/sdk/node/writers/InMemoryAllureWriter.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { PathLike, readFileSync } from "fs"; -import { AllureInMemoryAllureWriter as CommonInMemoryWriter } from "../../writers/AllureInMemoryWriter.js"; - -export class AllureInMemoryWriter extends CommonInMemoryWriter { - public writeAttachmentFromPath(from: PathLike, toFileName: string): void { - this.attachments[toFileName] = readFileSync(from); - } -} diff --git a/packages/allure-js-commons/src/sdk/node/writers/MessageAllureWriter.ts b/packages/allure-js-commons/src/sdk/node/writers/MessageAllureWriter.ts deleted file mode 100644 index 6a796b625..000000000 --- a/packages/allure-js-commons/src/sdk/node/writers/MessageAllureWriter.ts +++ /dev/null @@ -1,53 +0,0 @@ -import { PathLike, readFileSync } from "fs"; -import { EventEmitter } from "node:events"; -import process from "process"; -import properties from "properties"; -import { Category, TestResult, TestResultContainer } from "../../../model.js"; -import { Writer } from "../../Writer.js"; - -type EventType = "result" | "container" | "attachment" | "misc"; - -export class MessageAllureWriter implements Writer { - constructor(private bus?: EventEmitter) {} - - private sendData(path: string, type: EventType, data: Buffer) { - const event = { path, type, data: data.toString("base64") }; - - if (this.bus) { - this.bus.emit("allureWriterMessage", JSON.stringify(event)); - return; - } - - process.send?.(JSON.stringify(event)); - } - - private writeJson(path: string, type: EventType, data: any) { - this.sendData(path, type, Buffer.from(JSON.stringify(data))); - } - - writeAttachment(distFileName: string, content: Buffer | string, encoding: BufferEncoding = "utf-8"): void { - this.sendData(distFileName, "attachment", typeof content === "string" ? Buffer.from(content, encoding) : content); - } - - writeAttachmentFromPath(from: PathLike, distFileName: string): void { - this.sendData(distFileName, "attachment", readFileSync(from)); - } - - writeEnvironmentInfo(info?: Record): void { - const text = properties.stringify(info, { unicode: true }).toString(); - - this.sendData("environment.properties", "misc", Buffer.from(text)); - } - - writeCategoriesDefinitions(categories: Category[]): void { - this.writeJson("categories.json", "misc", categories); - } - - writeGroup(result: TestResultContainer): void { - this.writeJson(`${result.uuid}-container.json`, "container", result); - } - - writeResult(result: TestResult): void { - this.writeJson(`${result.uuid}-result.json`, "result", result); - } -} diff --git a/packages/allure-js-commons/src/sdk/node/writers/index.ts b/packages/allure-js-commons/src/sdk/node/writers/index.ts deleted file mode 100644 index f51cefacb..000000000 --- a/packages/allure-js-commons/src/sdk/node/writers/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export { FileSystemAllureWriter } from "./FileSystemAllureWriter.js"; -export { AllureInMemoryWriter } from "./InMemoryAllureWriter.js"; -export { MessageAllureWriter } from "./MessageAllureWriter.js"; diff --git a/packages/allure-js-commons/src/sdk/LifecycleState.ts b/packages/allure-js-commons/src/sdk/reporter/LifecycleState.ts similarity index 82% rename from packages/allure-js-commons/src/sdk/LifecycleState.ts rename to packages/allure-js-commons/src/sdk/reporter/LifecycleState.ts index c300cf725..8334083de 100644 --- a/packages/allure-js-commons/src/sdk/LifecycleState.ts +++ b/packages/allure-js-commons/src/sdk/reporter/LifecycleState.ts @@ -1,21 +1,5 @@ -import { FixtureResult, StepResult, TestResult } from "../model.js"; - -export type TestScope = { - uuid: string; - tests: string[]; - parent?: TestScope; - subScopes: TestScope[]; - fixtures: FixtureWrapper[]; -}; - -export type FixtureType = "before" | "after"; - -export type FixtureWrapper = { - uuid: string; - value: FixtureResult; - scope?: TestScope; - type: FixtureType; -}; +import type { FixtureResult, StepResult, TestResult } from "../../model.js"; +import type { FixtureType, FixtureWrapper, TestScope } from "./types.js"; export class LifecycleState { scopes = new Map(); diff --git a/packages/allure-js-commons/src/sdk/LifecycleListener.ts b/packages/allure-js-commons/src/sdk/reporter/Notifier.ts similarity index 74% rename from packages/allure-js-commons/src/sdk/LifecycleListener.ts rename to packages/allure-js-commons/src/sdk/reporter/Notifier.ts index d8c5f3271..078b8c9f9 100644 --- a/packages/allure-js-commons/src/sdk/LifecycleListener.ts +++ b/packages/allure-js-commons/src/sdk/reporter/Notifier.ts @@ -1,26 +1,5 @@ -import { StepResult, TestResult } from "../model.js"; - -export interface LifecycleListener { - beforeTestResultStart?: (result: TestResult) => void; - - afterTestResultStart?: (result: TestResult) => void; - - beforeTestResultStop?: (result: TestResult) => void; - - afterTestResultStop?: (result: TestResult) => void; - - beforeTestResultUpdate?: (result: TestResult) => void; - - afterTestResultUpdate?: (result: TestResult) => void; - - beforeTestResultWrite?: (result: TestResult) => void; - - afterTestResultWrite?: (result: TestResult) => void; - - beforeStepStop?: (result: StepResult) => void; - - afterStepStop?: (result: StepResult) => void; -} +import type { StepResult, TestResult } from "../../model.js"; +import type { LifecycleListener } from "./types.js"; type ListenerKey = keyof LifecycleListener; diff --git a/packages/allure-js-commons/src/sdk/ReporterRuntime.ts b/packages/allure-js-commons/src/sdk/reporter/ReporterRuntime.ts similarity index 92% rename from packages/allure-js-commons/src/sdk/ReporterRuntime.ts rename to packages/allure-js-commons/src/sdk/reporter/ReporterRuntime.ts index 40d4ddf8b..84c13be33 100644 --- a/packages/allure-js-commons/src/sdk/ReporterRuntime.ts +++ b/packages/allure-js-commons/src/sdk/reporter/ReporterRuntime.ts @@ -1,11 +1,10 @@ /* eslint max-lines: 0 */ -import { - AttachmentOptions, +import { extname } from "path"; +import type { AttachmentOptions, FixtureResult, Link, StepResult, TestResult } from "../../model.js"; +import { Stage } from "../../model.js"; +import type { Category, EnvironmentInfo, - Executable, - FixtureResult, - Link, Messages, RawAttachment, RuntimeMessage, @@ -14,27 +13,16 @@ import { RuntimeStartStepMessage, RuntimeStepMetadataMessage, RuntimeStopStepMessage, - Stage, - StepResult, - TestResult, - WellKnownWriters, -} from "../model.js"; -import { deepClone, typeToExtension } from "../utils.js"; -import { Config, LinkConfig } from "./Config.js"; -import { Crypto } from "./Crypto.js"; -import { Notifier } from "./LifecycleListener.js"; -import { FixtureType, FixtureWrapper, LifecycleState, TestScope } from "./LifecycleState.js"; -import { Writer } from "./Writer.js"; -import { AllureContextProvider, MutableAllureContextHolder, StaticContextProvider } from "./context/index.js"; -import { - createFixtureResult, - createStepResult, - createTestResult, - getTestResultHistoryId, - getTestResultTestCaseId, - resolveWriter, -} from "./utils.js"; -import * as wellKnownCommonWriters from "./writers/index.js"; +} from "../types.js"; +import { LifecycleState } from "./LifecycleState.js"; +import { Notifier } from "./Notifier.js"; +import { MutableAllureContextHolder, StaticContextProvider } from "./context/StaticAllureContextProvider.js"; +import type { AllureContextProvider } from "./context/types.js"; +import { createFixtureResult, createStepResult, createTestResult } from "./factory.js"; +import type { Config, FixtureType, FixtureWrapper, LinkConfig, TestScope, WellKnownWriters, Writer } from "./types.js"; +import { deepClone, getGlobalLabels, randomUuid, typeToExtension } from "./utils.js"; +import { getTestResultHistoryId, getTestResultTestCaseId, resolveWriter } from "./utils.js"; +import * as wellKnownCommonWriters from "./writer/wellKnownCommonWriters.js"; type StartScopeOpts = { /** @@ -153,29 +141,24 @@ type MessageTargets = { }; export class ReporterRuntime { + private readonly state = new LifecycleState(); private notifier: Notifier; private links: LinkConfig[] = []; private contextProvider: AllureContextProvider; - state = new LifecycleState(); writer: Writer; - crypto: Crypto; categories?: Category[]; environmentInfo?: EnvironmentInfo; constructor({ writer, listeners = [], - crypto, links = [], environmentInfo, categories, contextProvider = StaticContextProvider.wrap(new MutableAllureContextHolder()), - }: Config & { - crypto: Crypto; - }) { + }: Config) { this.writer = resolveWriter(this.getWellKnownWriters(), writer); this.notifier = new Notifier({ listeners }); - this.crypto = crypto; this.links = links; this.categories = categories; this.environmentInfo = environmentInfo; @@ -219,7 +202,7 @@ export class ReporterRuntime { * @param opts * @returns */ - startScope = (opts: StartScopeOpts = {}) => this.startScopeWithUuid(this.crypto.uuid(), opts); + startScope = (opts: StartScopeOpts = {}) => this.startScopeWithUuid(randomUuid(), opts); updateScope = (updateFunc: (scope: TestScope) => void, uuid?: string) => { const resolvedUuid = uuid ?? this.contextProvider.getScope(); @@ -299,6 +282,9 @@ export class ReporterRuntime { * * @param type The type of the fixture. It's either `"before"` or `"after"`. * @param fixtureResult The fixture result data. + * @param scope + * @param dedicatedScope + * @param tests * @returns The UUID of the new fixture. */ startFixture = ( @@ -314,7 +300,7 @@ export class ReporterRuntime { return; } - const uuid = this.crypto.uuid(); + const uuid = randomUuid(); const wrappedFixture = this.state.setFixtureResult(uuid, type, { ...createFixtureResult(), start: Date.now(), @@ -540,8 +526,8 @@ export class ReporterRuntime { } this.notifier.beforeTestResultStop(targetResult); - targetResult.testCaseId ??= getTestResultTestCaseId(this.crypto, targetResult); - targetResult.historyId ??= getTestResultHistoryId(this.crypto, targetResult); + targetResult.testCaseId ??= getTestResultTestCaseId(targetResult); + targetResult.historyId ??= getTestResultHistoryId(targetResult); targetResult.stop = stop || Date.now(); this.notifier.afterTestResultStop(targetResult); @@ -652,7 +638,7 @@ export class ReporterRuntime { }; buildAttachmentFileName = (options: AttachmentOptions): string => { - const attachmentUuid = this.crypto.uuid(); + const attachmentUuid = randomUuid(); const attachmentExtension = typeToExtension({ fileExtension: options.fileExtension, contentType: options.contentType, @@ -678,7 +664,41 @@ export class ReporterRuntime { this.writeAttachmentForItem(attachment, targetResult); }; - /* TODO: Add executors.json */ + writeAttachmentFromPath = ( + attachmentName: string, + attachmentPath: string, + options: AttachmentOptions, + uuid?: string, + ) => { + const target = this.getCurrentExecutingItem(uuid); + if (!target) { + if (uuid) { + // eslint-disable-next-line no-console + console.error(`No test or fixture ${uuid} to attach!`); + } else { + // eslint-disable-next-line no-console + console.error("No current test or fixture to attach!"); + } + return; + } + + const attachmentFilename = this.buildAttachmentFileName({ + ...options, + fileExtension: options.fileExtension ?? extname(attachmentPath), + }); + + this.writer.writeAttachmentFromPath(attachmentPath, attachmentFilename); + + const rawAttachment = { + name: attachmentName, + source: attachmentFilename, + type: options.contentType, + }; + + target.attachments.push(rawAttachment); + + return attachmentFilename; + }; writeEnvironmentInfo = () => { if (!this.environmentInfo) { @@ -755,10 +775,11 @@ export class ReporterRuntime { }; protected createTestResult(result: Partial): TestResult { - const uuid = this.crypto.uuid(); + const uuid = randomUuid(); return { ...createTestResult(uuid), start: Date.now(), + labels: getGlobalLabels(), ...deepClone(result), }; } @@ -783,6 +804,7 @@ export class ReporterRuntime { return; case "raw_attachment": this.handleRawAttachmentMessage(message as RuntimeRawAttachmentMessage, targets); + return; default: return message as Exclude, RuntimeMessage>; } @@ -852,7 +874,7 @@ export class ReporterRuntime { this.writeAttachmentForItem(message.data, step ?? root); }; - private writeAttachmentForItem = (attachment: RawAttachment, item: Executable) => { + private writeAttachmentForItem = (attachment: RawAttachment, item: StepResult | TestResult | FixtureResult) => { const attachmentFilename = this.buildAttachmentFileName(attachment); this.writer.writeAttachment( @@ -993,7 +1015,7 @@ export class ReporterRuntime { const befores = wrappedFixture.type === "before" ? [wrappedFixture.value] : []; const afters = wrappedFixture.type === "after" ? [wrappedFixture.value] : []; this.writer.writeGroup({ - uuid: this.crypto.uuid(), + uuid: randomUuid(), name: fixture.name, children: [...new Set(tests)], befores, @@ -1001,14 +1023,18 @@ export class ReporterRuntime { }); }; - private addStepToItem = (data: Partial, rootUuid: string | undefined, parent: Executable) => { + private addStepToItem = ( + data: Partial, + rootUuid: string | undefined, + parent: StepResult | TestResult | FixtureResult, + ) => { const stepResult: StepResult = { ...createStepResult(), start: Date.now(), ...data, }; parent.steps.push(stepResult); - const stepUuid = this.crypto.uuid(); + const stepUuid = randomUuid(); this.state.setStepResult(stepUuid, stepResult); this.contextProvider.addStep(stepUuid, rootUuid); diff --git a/packages/allure-js-commons/src/sdk/context/AllureContextProviderBase.ts b/packages/allure-js-commons/src/sdk/reporter/context/AllureContextProviderBase.ts similarity index 96% rename from packages/allure-js-commons/src/sdk/context/AllureContextProviderBase.ts rename to packages/allure-js-commons/src/sdk/reporter/context/AllureContextProviderBase.ts index 522005424..359f0e950 100644 --- a/packages/allure-js-commons/src/sdk/context/AllureContextProviderBase.ts +++ b/packages/allure-js-commons/src/sdk/reporter/context/AllureContextProviderBase.ts @@ -1,5 +1,5 @@ /* eslint brace-style: 0 */ -import { AllureContext, AllureContextHolder, AllureContextProvider } from "./types.js"; +import type { AllureContext, AllureContextHolder, AllureContextProvider } from "./types.js"; /** * Provides the set of methods to access and update the context. diff --git a/packages/allure-js-commons/src/sdk/context/StaticAllureContextProvider.ts b/packages/allure-js-commons/src/sdk/reporter/context/StaticAllureContextProvider.ts similarity index 98% rename from packages/allure-js-commons/src/sdk/context/StaticAllureContextProvider.ts rename to packages/allure-js-commons/src/sdk/reporter/context/StaticAllureContextProvider.ts index d09623038..9bde6a50b 100644 --- a/packages/allure-js-commons/src/sdk/context/StaticAllureContextProvider.ts +++ b/packages/allure-js-commons/src/sdk/reporter/context/StaticAllureContextProvider.ts @@ -1,5 +1,5 @@ import { AllureContextProviderBase } from "./AllureContextProviderBase.js"; -import { AllureContext, AllureContextHolder } from "./types.js"; +import type { AllureContext, AllureContextHolder } from "./types.js"; /** * Allure context that stores its data in mutable class fields. diff --git a/packages/allure-js-commons/src/sdk/context/types.ts b/packages/allure-js-commons/src/sdk/reporter/context/types.ts similarity index 100% rename from packages/allure-js-commons/src/sdk/context/types.ts rename to packages/allure-js-commons/src/sdk/reporter/context/types.ts diff --git a/packages/allure-js-commons/src/utils.ts b/packages/allure-js-commons/src/sdk/reporter/extensions.ts similarity index 88% rename from packages/allure-js-commons/src/utils.ts rename to packages/allure-js-commons/src/sdk/reporter/extensions.ts index 7a206a0b1..067b0f888 100644 --- a/packages/allure-js-commons/src/utils.ts +++ b/packages/allure-js-commons/src/sdk/reporter/extensions.ts @@ -1,7 +1,5 @@ -/* eslint-disable max-lines */ -import { AttachmentOptions, Executable, Label, LabelName, Status, TestResult } from "./model.js"; - -const EXTENSIONS_BY_TYPE: Record = { +/* eslint-disable */ +export const EXTENSIONS_BY_TYPE: Record = { "application/andrew-inset": ".ez", "application/applixware": ".aw", "application/atom+xml": ".atom", @@ -898,173 +896,3 @@ const EXTENSIONS_BY_TYPE: Record = { "video/x-sgi-movie": ".movie", "x-conference/x-cooltalk": ".ice", } as const; - -export const isPromise = (obj: any): boolean => - !!obj && (typeof obj === "object" || typeof obj === "function") && typeof obj.then === "function"; - -export const typeToExtension = (options: AttachmentOptions): string => { - if (options.fileExtension) { - return options.fileExtension.startsWith(".") ? options.fileExtension : `.${options.fileExtension}`; - } - - return EXTENSIONS_BY_TYPE[options.contentType] || ""; -}; - -export const serialize = (val: unknown): string => { - if (typeof val === "object" && !(val instanceof Map || val instanceof Set)) { - return JSON.stringify(val); - } - - if (val === undefined) { - return "undefined"; - } - - return (val as any).toString(); -}; - -export const allureIdRegexp = /@?allure.id[:=](?[^\s]+)/; - -export const allureIdRegexpGlobal = new RegExp(allureIdRegexp, "g"); - -export const allureLabelRegexp = /@?allure.label.(?[^\s]+?)[:=](?[^\s]+)/; - -export const allureLabelRegexpGlobal = new RegExp(allureLabelRegexp, "g"); - -export const isAnyStepFailed = (item: Executable): boolean => { - const isFailed = item.status === Status.FAILED; - - if (isFailed || item.steps.length === 0) { - return isFailed; - } - - return !!item.steps.find((step) => isAnyStepFailed(step)); -}; - -export const isAllStepsEnded = (item: Executable): boolean => { - return item.steps.every((val) => val.stop && isAllStepsEnded(val)); -}; - -export const getStatusFromError = (error: Error): Status => { - switch (true) { - /** - * Native `node:assert` and `chai` (`vitest` uses it under the hood) throw `AssertionError` - * `jest` throws `JestAssertionError` instance - * `jasmine` throws `ExpectationFailed` instance - */ - case /assert/gi.test(error.constructor.name): - case /expectation/gi.test(error.constructor.name): - case /assert/gi.test(error.name): - case /assert/gi.test(error.message): - return Status.FAILED; - default: - return Status.BROKEN; - } -}; - -export const getSuiteLabels = (suites: readonly string[]): Label[] => { - if (suites.length === 0) { - return []; - } - - const [parentSuite, suite, ...subSuites] = suites; - const labels: Label[] = []; - - if (parentSuite) { - labels.push({ - name: LabelName.PARENT_SUITE, - value: parentSuite, - }); - } - - if (suite) { - labels.push({ - name: LabelName.SUITE, - value: suite, - }); - } - - if (subSuites.length > 0) { - labels.push({ - name: LabelName.SUB_SUITE, - value: subSuites.join(" > "), - }); - } - - return labels; -}; - -export const getSuitesLabels = getSuiteLabels; - -const suiteLabelNames: readonly string[] = [LabelName.PARENT_SUITE, LabelName.SUITE, LabelName.SUB_SUITE]; - -export const ensureSuiteLabels = (test: Partial, defaultSuites: readonly string[]) => { - if (!test.labels?.find((l) => suiteLabelNames.includes(l.name))) { - test.labels = [...(test.labels ?? []), ...getSuiteLabels(defaultSuites)]; - } -}; - -export const extractMetadataFromString = ( - title: string, -): { - labels: Label[]; - cleanTitle: string; -} => { - const labels = [] as Label[]; - - title.split(" ").forEach((val) => { - const idValue = val.match(allureIdRegexp)?.groups?.id; - - if (idValue) { - labels.push({ name: LabelName.ALLURE_ID, value: idValue }); - } - - const labelMatch = val.match(allureLabelRegexp); - const { name, value } = labelMatch?.groups || {}; - - if (name && value) { - labels?.push({ name, value }); - } - }); - - const cleanTitle = title.replace(allureLabelRegexpGlobal, "").replace(allureIdRegexpGlobal, "").trim(); - - return { labels, cleanTitle }; -}; - -// seems the implementation covers all our needs -export const deepClone = (obj: T): T => JSON.parse(JSON.stringify(obj)); - -export class Stack { - entries: T[] = []; - - get first() { - return this.entries[this.entries.length - 1]; - } - - get last() { - return this.entries[0]; - } - - push(entry: T) { - this.entries.unshift(entry); - } - - pop(): T | undefined { - return this.entries.shift(); - } - - clone(): T[] { - return deepClone(this.entries); - } - - toArray(): T[] { - return this.clone().toReversed(); - } -} - -const reRegExpChar = /[\\^$.*+?()[\]{}|]/g, - reHasRegExpChar = RegExp(reRegExpChar.source); - -export const escapeRegExp = (value: string): string => { - return reHasRegExpChar.test(value) ? value.replace(reRegExpChar, "\\$&") : value; -}; diff --git a/packages/allure-js-commons/src/sdk/reporter/factory.ts b/packages/allure-js-commons/src/sdk/reporter/factory.ts new file mode 100644 index 000000000..2dc0d4381 --- /dev/null +++ b/packages/allure-js-commons/src/sdk/reporter/factory.ts @@ -0,0 +1,49 @@ +import type { FixtureResult, StepResult, TestResult, TestResultContainer } from "../../model.js"; +import { Stage, Status } from "../../model.js"; + +export const createTestResultContainer = (uuid: string): TestResultContainer => { + return { + uuid, + children: [], + befores: [], + afters: [], + }; +}; + +export const createFixtureResult = (): FixtureResult => { + return { + status: Status.BROKEN, + statusDetails: {}, + stage: Stage.PENDING, + steps: [], + attachments: [], + parameters: [], + }; +}; + +export const createStepResult = (): StepResult => { + return { + status: undefined, + statusDetails: {}, + stage: Stage.PENDING, + steps: [], + attachments: [], + parameters: [], + }; +}; + +export const createTestResult = (uuid: string, historyUuid?: string): TestResult => { + return { + uuid, + name: "", + historyId: historyUuid, + status: undefined, + statusDetails: {}, + stage: Stage.PENDING, + steps: [], + attachments: [], + parameters: [], + labels: [], + links: [], + }; +}; diff --git a/packages/allure-js-commons/src/sdk/reporter/index.ts b/packages/allure-js-commons/src/sdk/reporter/index.ts new file mode 100644 index 000000000..3f63fc577 --- /dev/null +++ b/packages/allure-js-commons/src/sdk/reporter/index.ts @@ -0,0 +1,15 @@ +export type * from "./types.js"; +export { + ALLURE_METADATA_CONTENT_TYPE, + ALLURE_RUNTIME_MESSAGE_CONTENT_TYPE, + ALLURE_SKIPPED_BY_TEST_PLAN_LABEL, +} from "./types.js"; +export * from "./utils.js"; +export * from "./testplan.js"; +export * from "./factory.js"; +export { LifecycleState } from "./LifecycleState.js"; +export { ReporterRuntime } from "./ReporterRuntime.js"; +export { InMemoryWriter } from "./writer/InMemoryWriter.js"; +export { FileSystemWriter } from "./writer/FileSystemWriter.js"; +export { MessageWriter, MessageReader } from "./writer/MessageWriter.js"; +export { getEnvironmentLabels, getHostLabel, getThreadLabel } from "./utils/labels.js"; diff --git a/packages/allure-js-commons/src/sdk/node/TestPlan.ts b/packages/allure-js-commons/src/sdk/reporter/testplan.ts similarity index 83% rename from packages/allure-js-commons/src/sdk/node/TestPlan.ts rename to packages/allure-js-commons/src/sdk/reporter/testplan.ts index 96249c4ff..120944f98 100644 --- a/packages/allure-js-commons/src/sdk/node/TestPlan.ts +++ b/packages/allure-js-commons/src/sdk/reporter/testplan.ts @@ -1,7 +1,5 @@ import { readFileSync } from "node:fs"; -import { TestPlanV1, TestPlanV1Test } from "../TestPlan.js"; - -export { TestPlanV1, TestPlanV1Test }; +import type { TestPlanV1 } from "../types.js"; export const parseTestPlan = (): TestPlanV1 | undefined => { const testPlanPath = process.env.ALLURE_TESTPLAN_PATH; diff --git a/packages/allure-js-commons/src/sdk/reporter/types.ts b/packages/allure-js-commons/src/sdk/reporter/types.ts new file mode 100644 index 000000000..aeecedf5f --- /dev/null +++ b/packages/allure-js-commons/src/sdk/reporter/types.ts @@ -0,0 +1,117 @@ +import type { + FixtureResult, + Label, + Link, + Parameter, + StepResult, + TestResult, + TestResultContainer, +} from "../../model.js"; +import type { Category, EnvironmentInfo } from "../types.js"; +import type { AllureContextProvider } from "./context/types.js"; + +export const ALLURE_METADATA_CONTENT_TYPE = "application/vnd.allure.metadata+json"; +export const ALLURE_SKIPPED_BY_TEST_PLAN_LABEL = "allure-skipped-by-test-plan"; +export const ALLURE_RUNTIME_MESSAGE_CONTENT_TYPE = "application/vnd.allure.message+json"; + +export interface AttachmentMetadata { + name: string; + type: string; + content: string; + encoding: BufferEncoding; +} + +export interface StepMetadata extends Omit { + steps: StepMetadata[]; + attachments: AttachmentMetadata[]; +} + +export interface MetadataMessage { + attachments?: AttachmentMetadata[]; + displayName?: string; + testCaseId?: string; + historyId?: string; + labels?: Label[]; + links?: Link[]; + parameter?: Parameter[]; + description?: string; + descriptionHtml?: string; + steps?: StepMetadata[]; +} + +export interface LifecycleListener { + beforeTestResultStart?: (result: TestResult) => void; + + afterTestResultStart?: (result: TestResult) => void; + + beforeTestResultStop?: (result: TestResult) => void; + + afterTestResultStop?: (result: TestResult) => void; + + beforeTestResultUpdate?: (result: TestResult) => void; + + afterTestResultUpdate?: (result: TestResult) => void; + + beforeTestResultWrite?: (result: TestResult) => void; + + afterTestResultWrite?: (result: TestResult) => void; + + beforeStepStop?: (result: StepResult) => void; + + afterStepStop?: (result: StepResult) => void; +} + +export interface LinkConfig { + type: string; + urlTemplate: string; + nameTemplate?: string; +} + +export type WriterDescriptor = [cls: string, ...args: readonly unknown[]] | string; + +export interface Config { + readonly resultsDir?: string; + readonly writer: Writer | WriterDescriptor; + // TODO: handle lifecycle hooks here + readonly testMapper?: (test: TestResult) => TestResult | null; + readonly links?: LinkConfig[]; + readonly listeners?: LifecycleListener[]; + readonly environmentInfo?: EnvironmentInfo; + readonly categories?: Category[]; + readonly contextProvider?: AllureContextProvider; +} + +export interface Writer { + writeResult(result: TestResult): void; + + writeGroup(result: TestResultContainer): void; + + writeAttachment(distFileName: string, content: Buffer | string, encoding?: BufferEncoding): void; + + writeAttachmentFromPath(from: string, distFileName: string): void; + + writeEnvironmentInfo(info: EnvironmentInfo): void; + + writeCategoriesDefinitions(categories: Category[]): void; +} + +export type WellKnownWriters = { + [key: string]: (new (...args: readonly unknown[]) => Writer) | undefined; +}; + +export type TestScope = { + uuid: string; + tests: string[]; + parent?: TestScope; + subScopes: TestScope[]; + fixtures: FixtureWrapper[]; +}; + +export type FixtureType = "before" | "after"; + +export type FixtureWrapper = { + uuid: string; + value: FixtureResult; + scope?: TestScope; + type: FixtureType; +}; diff --git a/packages/allure-js-commons/src/sdk/reporter/utils.ts b/packages/allure-js-commons/src/sdk/reporter/utils.ts new file mode 100644 index 000000000..fb93443b2 --- /dev/null +++ b/packages/allure-js-commons/src/sdk/reporter/utils.ts @@ -0,0 +1,263 @@ +import { readFile } from "fs/promises"; +import { createHash, randomUUID } from "node:crypto"; +import fs from "node:fs"; +import path from "node:path"; +import process from "node:process"; +import { env } from "process"; +import properties from "properties"; +import type { AttachmentOptions, ContentType, Status, StepResult, TestResult } from "../../model.js"; +import { LabelName, StatusByPriority } from "../../model.js"; +import type { Label } from "../../model.js"; +import { EXTENSIONS_BY_TYPE } from "./extensions.js"; +import type { WellKnownWriters, Writer, WriterDescriptor } from "./types.js"; + +export const randomUuid = () => { + return randomUUID(); +}; + +export const md5 = (str: string) => { + return createHash("md5").update(str).digest("hex"); +}; + +export const writeAttachment = (uuid: string, options: ContentType | string | AttachmentOptions): string => { + if (typeof options === "string") { + options = { contentType: options }; + } + + const extension = typeToExtension(options); + + return `${uuid}-attachment${extension}`; +}; + +export const getTestResultHistoryId = (result: TestResult) => { + if (result.historyId) { + return result.historyId; + } + + const tcId = result.testCaseId ?? (result.fullName ? md5(result.fullName) : null); + + if (!tcId) { + return ""; + } + + const paramsString = result.parameters + .filter((p) => !p?.excluded) + .sort((a, b) => a.name?.localeCompare(b?.name) || a.value?.localeCompare(b?.value)) + .map((p) => `${p.name ?? "null"}:${p.value ?? "null"}`) + .join(","); + const paramsHash = md5(paramsString); + + return `${tcId}:${paramsHash}`; +}; + +export const getTestResultTestCaseId = (result: TestResult) => { + return result.fullName ? md5(result.fullName) : undefined; +}; + +export const getWorstStepResultStatusPriority = (steps: StepResult[], priority?: number): number | undefined => { + let worstStatusPriority = priority; + + steps.forEach((step) => { + if (step.steps?.length) { + worstStatusPriority = getWorstStepResultStatusPriority(step.steps, worstStatusPriority); + } + + const stepStatusPriority = step.status ? StatusByPriority.indexOf(step.status) : undefined; + + if (stepStatusPriority === undefined) { + return; + } + + if (worstStatusPriority === undefined) { + worstStatusPriority = stepStatusPriority; + return; + } + + if (stepStatusPriority >= worstStatusPriority) { + return; + } + + worstStatusPriority = stepStatusPriority; + }); + + return worstStatusPriority; +}; + +export const getWorstStepResultStatus = (steps: StepResult[]): Status | undefined => { + const worstStatusPriority = getWorstStepResultStatusPriority(steps); + + if (worstStatusPriority === undefined) { + return undefined; + } + + return StatusByPriority[worstStatusPriority]; +}; + +export const readImageAsBase64 = async (filePath: string): Promise => { + try { + const file = await readFile(filePath, { encoding: "base64" }); + + return file ? `data:image/png;base64,${file}` : undefined; + } catch (e) { + return undefined; + } +}; + +export const resolveWriter = (wellKnownWriters: WellKnownWriters, value: Writer | WriterDescriptor): Writer => { + if (typeof value === "string") { + return createWriter(wellKnownWriters, value); + } else if (value instanceof Array) { + return createWriter(wellKnownWriters, value[0], value.slice(1)); + } + return value; +}; + +const createWriter = (wellKnownWriters: WellKnownWriters, nameOrPath: string, args: readonly unknown[] = []) => { + // eslint-disable-next-line @typescript-eslint/no-require-imports,@typescript-eslint/no-var-requires + const ctorOrInstance = getKnownWriterCtor(wellKnownWriters, nameOrPath) ?? requireWriterCtor(nameOrPath); + return typeof ctorOrInstance === "function" ? new ctorOrInstance(...args) : ctorOrInstance; +}; + +const getKnownWriterCtor = (wellKnownWriters: WellKnownWriters, name: string) => + (wellKnownWriters as unknown as { [key: string]: Writer | undefined })[name]; + +const requireWriterCtor = (modulePath: string): (new (...args: readonly unknown[]) => Writer) | Writer => { + // eslint-disable-next-line @typescript-eslint/no-require-imports,@typescript-eslint/no-var-requires + return require(modulePath); +}; + +export const getGlobalLabels = () => { + const ENV_NAME_PREFIX = "ALLURE_LABEL_"; + let globalLabels: Label[]; + const initGlobalLabels: () => Label[] = () => + Object.keys(env) + .filter((varname) => varname.startsWith(ENV_NAME_PREFIX)) + .map((varname) => ({ + name: varname.substring(ENV_NAME_PREFIX.length), + value: env[varname] ?? "", + })) + .filter((l) => l.name && l.value); + return (globalLabels ??= initGlobalLabels()); +}; + +const getProjectRoot = (() => { + let cachedProjectRoot: string | null = null; + + const resolveProjectRootByPath = () => { + const cwd = process.cwd(); + let nextDir = cwd; + let dir; + + do { + dir = nextDir; + try { + fs.accessSync(path.join(dir, "package.json"), fs.constants.F_OK); + + // package.json exists; use the directory as the project root + return dir; + } catch {} + + nextDir = path.dirname(dir); + } while (nextDir.length < dir.length); + + // package.json doesn't exist in any parent; fall back to CWD + return cwd; + }; + + return () => { + if (!cachedProjectRoot) { + cachedProjectRoot = resolveProjectRootByPath(); + } + return cachedProjectRoot; + }; +})(); + +export const getRelativePath = (filepath: string) => { + if (path.isAbsolute(filepath)) { + const projectRoot = getProjectRoot(); + filepath = path.relative(projectRoot, filepath); + } + return filepath; +}; + +export const getPackageLabelFromPath = (filepath: string): Label => ({ + name: LabelName.PACKAGE, + value: getRelativePath(filepath) + .split(path.sep) + .filter((v) => v) + .join("."), +}); + +export const deepClone = (obj: T): T => JSON.parse(JSON.stringify(obj)); + +export const typeToExtension = (options: AttachmentOptions): string => { + if (options.fileExtension) { + return options.fileExtension.startsWith(".") ? options.fileExtension : `.${options.fileExtension}`; + } + + return EXTENSIONS_BY_TYPE[options.contentType] || ""; +}; + +export const serialize = (val: unknown): string => { + if (typeof val === "object" && !(val instanceof Map || val instanceof Set)) { + return JSON.stringify(val); + } + + if (val === undefined) { + return "undefined"; + } + + return (val as any).toString(); +}; + +export const getSuiteLabels = (suites: readonly string[]): Label[] => { + if (suites.length === 0) { + return []; + } + + const [parentSuite, suite, ...subSuites] = suites; + const labels: Label[] = []; + + if (parentSuite) { + labels.push({ + name: LabelName.PARENT_SUITE, + value: parentSuite, + }); + } + + if (suite) { + labels.push({ + name: LabelName.SUITE, + value: suite, + }); + } + + if (subSuites.length > 0) { + labels.push({ + name: LabelName.SUB_SUITE, + value: subSuites.join(" > "), + }); + } + + return labels; +}; + +export const getSuitesLabels = getSuiteLabels; + +const suiteLabelNames: readonly string[] = [LabelName.PARENT_SUITE, LabelName.SUITE, LabelName.SUB_SUITE]; + +export const ensureSuiteLabels = (test: Partial, defaultSuites: readonly string[]) => { + if (!test.labels?.find((l) => suiteLabelNames.includes(l.name))) { + test.labels = [...(test.labels ?? []), ...getSuiteLabels(defaultSuites)]; + } +}; + +const reRegExpChar = /[\\^$.*+?()[\]{}|]/g, + reHasRegExpChar = RegExp(reRegExpChar.source); + +export const escapeRegExp = (value: string): string => { + return reHasRegExpChar.test(value) ? value.replace(reRegExpChar, "\\$&") : value; +}; + +export const parseProperties = properties.parse; +export const stringifyProperties = properties.stringify; diff --git a/packages/allure-js-commons/src/sdk/reporter/utils/labels.ts b/packages/allure-js-commons/src/sdk/reporter/utils/labels.ts new file mode 100644 index 000000000..8e669841b --- /dev/null +++ b/packages/allure-js-commons/src/sdk/reporter/utils/labels.ts @@ -0,0 +1,39 @@ +import { hostname } from "node:os"; +import { env, pid } from "node:process"; +import type { Label } from "../../../model.js"; +import { LabelName } from "../../../model.js"; + +const ENV_LABEL_PREFIX = "ALLURE_LABEL_"; + +export const getEnvironmentLabels = (): Label[] => { + const result: Label[] = []; + for (const envKey in env) { + if (envKey.startsWith(ENV_LABEL_PREFIX)) { + const name = envKey.substring(ENV_LABEL_PREFIX.length).trim(); + if (name !== "") { + result.push({ name, value: process.env[envKey]! }); + } + } + } + return result; +}; + +let hostValue: string; + +export const getHostLabel = (): Label => { + if (!hostValue) { + hostValue = env.ALLURE_HOST_NAME ?? hostname(); + } + + return { + name: LabelName.HOST, + value: hostValue, + }; +}; + +export const getThreadLabel = (threadId?: string): Label => { + return { + name: LabelName.THREAD, + value: env.ALLURE_THREAD_NAME ?? threadId ?? pid.toString(), + }; +}; diff --git a/packages/allure-js-commons/src/sdk/node/writers/FileSystemAllureWriter.ts b/packages/allure-js-commons/src/sdk/reporter/writer/FileSystemWriter.ts similarity index 71% rename from packages/allure-js-commons/src/sdk/node/writers/FileSystemAllureWriter.ts rename to packages/allure-js-commons/src/sdk/reporter/writer/FileSystemWriter.ts index 0663128c9..c883ad94d 100644 --- a/packages/allure-js-commons/src/sdk/node/writers/FileSystemAllureWriter.ts +++ b/packages/allure-js-commons/src/sdk/reporter/writer/FileSystemWriter.ts @@ -1,14 +1,16 @@ -import { PathLike, copyFileSync, existsSync, mkdirSync, writeFileSync } from "node:fs"; +import type { PathLike } from "node:fs"; +import { copyFileSync, existsSync, mkdirSync, writeFileSync } from "node:fs"; import { join } from "node:path"; -import properties from "properties"; -import { Category, TestResult, TestResultContainer } from "../../../model.js"; -import { Writer } from "../../Writer.js"; +import type { TestResult, TestResultContainer } from "../../../model.js"; +import type { Category, EnvironmentInfo } from "../../types.js"; +import type { Writer } from "../types.js"; +import { stringifyProperties } from "../utils.js"; const writeJson = (path: string, data: unknown): void => { writeFileSync(path, JSON.stringify(data), "utf8"); }; -export class FileSystemAllureWriter implements Writer { +export class FileSystemWriter implements Writer { constructor(private config: { resultsDir: string }) {} writeAttachment(distFileName: string, content: Buffer | string, encoding: BufferEncoding = "utf-8"): void { @@ -23,8 +25,8 @@ export class FileSystemAllureWriter implements Writer { copyFileSync(from, to); } - writeEnvironmentInfo(info?: Record): void { - const text = properties.stringify(info, { unicode: true }).toString(); + writeEnvironmentInfo(info: EnvironmentInfo): void { + const text = stringifyProperties(info, { unicode: true }).toString(); const path = this.buildPath("environment.properties"); writeFileSync(path, text); diff --git a/packages/allure-js-commons/src/sdk/writers/AllureInMemoryWriter.ts b/packages/allure-js-commons/src/sdk/reporter/writer/InMemoryWriter.ts similarity index 73% rename from packages/allure-js-commons/src/sdk/writers/AllureInMemoryWriter.ts rename to packages/allure-js-commons/src/sdk/reporter/writer/InMemoryWriter.ts index 5e99fa698..b11d47e40 100644 --- a/packages/allure-js-commons/src/sdk/writers/AllureInMemoryWriter.ts +++ b/packages/allure-js-commons/src/sdk/reporter/writer/InMemoryWriter.ts @@ -1,8 +1,9 @@ -import { PathLike } from "fs"; -import { AllureResults, Category, TestResult, TestResultContainer } from "../../model.js"; -import { Writer } from "../Writer.js"; +import { readFileSync } from "fs"; +import type { TestResult, TestResultContainer } from "../../../model.js"; +import type { AllureResults, Category, EnvironmentInfo } from "../../types.js"; +import type { Writer } from "../types.js"; -export class AllureInMemoryAllureWriter implements Writer, AllureResults { +export class InMemoryWriter implements Writer, AllureResults { public groups: TestResultContainer[] = []; public tests: TestResult[] = []; public attachments: Record = {}; @@ -21,11 +22,8 @@ export class AllureInMemoryAllureWriter implements Writer, AllureResults { this.attachments[distFileName] = content; } - // eslint-disable-next-line @typescript-eslint/no-unused-vars - public writeAttachmentFromPath(from: PathLike, distFileName: string): void { - throw new Error( - "Can't write attachment from path because generic writer doesn't implement this logic! Use AllureInMemoryWriter for node.js.", - ); + public writeAttachmentFromPath(fromFilePath: string, distFileName: string): void { + this.attachments[distFileName] = readFileSync(fromFilePath); } public writeCategoriesDefinitions(categories: Category[]): void { @@ -36,7 +34,7 @@ export class AllureInMemoryAllureWriter implements Writer, AllureResults { this.categories = categories; } - public writeEnvironmentInfo(envInfo?: Record): void { + public writeEnvironmentInfo(envInfo: EnvironmentInfo): void { if (this.envInfo) { // eslint-disable-next-line no-console console.warn("overwriting existing environment info"); diff --git a/packages/allure-js-commons/src/sdk/reporter/writer/MessageWriter.ts b/packages/allure-js-commons/src/sdk/reporter/writer/MessageWriter.ts new file mode 100644 index 000000000..7961313fd --- /dev/null +++ b/packages/allure-js-commons/src/sdk/reporter/writer/MessageWriter.ts @@ -0,0 +1,97 @@ +import type { PathLike } from "fs"; +import { readFileSync } from "fs"; +import type { EventEmitter } from "node:events"; +import process from "process"; +import type { TestResult, TestResultContainer } from "../../../model.js"; +import type { AllureResults, Category, EnvironmentInfo } from "../../types.js"; +import type { Writer } from "../types.js"; +import { parseProperties, stringifyProperties } from "../utils.js"; + +type EventType = "result" | "container" | "attachment" | "misc"; + +export class MessageWriter implements Writer { + constructor(private bus?: EventEmitter) {} + + private sendData(path: string, type: EventType, data: Buffer) { + const event = { path, type, data: data.toString("base64") }; + + if (this.bus) { + this.bus.emit("allureWriterMessage", JSON.stringify(event)); + return; + } + + process.send?.(JSON.stringify(event)); + } + + private writeJson(path: string, type: EventType, data: any) { + this.sendData(path, type, Buffer.from(JSON.stringify(data))); + } + + writeAttachment(distFileName: string, content: Buffer | string, encoding: BufferEncoding = "utf-8"): void { + this.sendData(distFileName, "attachment", typeof content === "string" ? Buffer.from(content, encoding) : content); + } + + writeAttachmentFromPath(from: PathLike, distFileName: string): void { + this.sendData(distFileName, "attachment", readFileSync(from)); + } + + writeEnvironmentInfo(info: EnvironmentInfo): void { + const text = stringifyProperties(info, { unicode: true }).toString(); + + this.sendData("environment.properties", "misc", Buffer.from(text)); + } + + writeCategoriesDefinitions(categories: Category[]): void { + this.writeJson("categories.json", "misc", categories); + } + + writeGroup(result: TestResultContainer): void { + this.writeJson(`${result.uuid}-container.json`, "container", result); + } + + writeResult(result: TestResult): void { + this.writeJson(`${result.uuid}-result.json`, "result", result); + } +} + +const parseJsonResult = (data: string) => { + return JSON.parse(Buffer.from(data, "base64").toString("utf8")) as T; +}; + +export class MessageReader { + readonly results: AllureResults = { + tests: [], + groups: [], + attachments: {}, + }; + + handleMessage = (jsonMessage: string) => { + const { path, type = "undefined", data }: { path: string; type?: string; data: string } = JSON.parse(jsonMessage); + + switch (type) { + case "container": + this.results.groups.push(parseJsonResult(data)); + return; + case "result": + this.results.tests.push(parseJsonResult(data)); + return; + case "attachment": + this.results.attachments[path] = data; + return; + case "misc": + switch (path) { + case "environment.properties": + this.results.envInfo = parseProperties(Buffer.from(data, "base64").toString()) as EnvironmentInfo; + break; + case "categories.json": + this.results.categories = parseJsonResult(data); + break; + default: + break; + } + return; + default: + return; + } + }; +} diff --git a/packages/allure-js-commons/src/sdk/reporter/writer/wellKnownCommonWriters.ts b/packages/allure-js-commons/src/sdk/reporter/writer/wellKnownCommonWriters.ts new file mode 100644 index 000000000..b8da8d1f5 --- /dev/null +++ b/packages/allure-js-commons/src/sdk/reporter/writer/wellKnownCommonWriters.ts @@ -0,0 +1,3 @@ +export { InMemoryWriter } from "./InMemoryWriter.js"; +export { FileSystemWriter } from "./FileSystemWriter.js"; +export { MessageWriter } from "./MessageWriter.js"; diff --git a/packages/allure-js-commons/src/sdk/runtime/MessageHolderTestRuntime.ts b/packages/allure-js-commons/src/sdk/runtime/MessageHolderTestRuntime.ts new file mode 100644 index 000000000..2d2a2757e --- /dev/null +++ b/packages/allure-js-commons/src/sdk/runtime/MessageHolderTestRuntime.ts @@ -0,0 +1,15 @@ +import type { RuntimeMessage } from "../types.js"; +import { MessageTestRuntime } from "./MessageTestRuntime.js"; + +export class MessageHolderTestRuntime extends MessageTestRuntime { + private messagesHolder: RuntimeMessage[] = []; + + async sendMessage(message: RuntimeMessage) { + this.messagesHolder.push(message); + return Promise.resolve(); + } + + messages(): RuntimeMessage[] { + return [...this.messagesHolder]; + } +} diff --git a/packages/allure-js-commons/src/sdk/runtime/MessageTestRuntime.ts b/packages/allure-js-commons/src/sdk/runtime/MessageTestRuntime.ts new file mode 100644 index 000000000..c246cf831 --- /dev/null +++ b/packages/allure-js-commons/src/sdk/runtime/MessageTestRuntime.ts @@ -0,0 +1,175 @@ +import type { ContentType, Label, LabelName, Link, LinkType, ParameterMode, ParameterOptions } from "../../model.js"; +import { Stage, Status } from "../../model.js"; +import type { RuntimeMessage } from "../types.js"; +import { getStatusFromError } from "../utils.js"; +import type { TestRuntime } from "./types.js"; + +export abstract class MessageTestRuntime implements TestRuntime { + async label(name: LabelName | string, value: string) { + await this.sendMessage({ + type: "metadata", + data: { + labels: [{ name, value }], + }, + }); + } + + async labels(...labels: Label[]) { + await this.sendMessage({ + type: "metadata", + data: { + labels, + }, + }); + } + + async link(url: string, type?: LinkType | string, name?: string) { + await this.sendMessage({ + type: "metadata", + data: { + links: [{ type, url, name }], + }, + }); + } + + async links(...links: Link[]) { + await this.sendMessage({ + type: "metadata", + data: { + links, + }, + }); + } + + async parameter(name: string, value: string, options?: ParameterOptions) { + await this.sendMessage({ + type: "metadata", + data: { + parameters: [ + { + name, + value, + ...options, + }, + ], + }, + }); + } + + async description(markdown: string) { + await this.sendMessage({ + type: "metadata", + data: { + description: markdown, + }, + }); + } + + async descriptionHtml(html: string) { + await this.sendMessage({ + type: "metadata", + data: { + descriptionHtml: html, + }, + }); + } + + async displayName(name: string) { + await this.sendMessage({ + type: "metadata", + data: { + displayName: name, + }, + }); + } + + async historyId(value: string) { + await this.sendMessage({ + type: "metadata", + data: { + historyId: value, + }, + }); + } + + async testCaseId(value: string) { + await this.sendMessage({ + type: "metadata", + data: { + testCaseId: value, + }, + }); + } + + async attachment(name: string, content: Buffer | string, type: string | ContentType) { + await this.sendMessage({ + type: "raw_attachment", + data: { + name, + content: Buffer.from(content).toString("base64"), + contentType: type, + encoding: "base64", + }, + }); + } + + async step(name: string, body: () => T | PromiseLike) { + await this.sendMessage({ + type: "step_start", + data: { + name, + start: Date.now(), + }, + }); + + try { + const result = await body(); + + await this.sendMessage({ + type: "step_stop", + data: { + status: Status.PASSED, + stage: Stage.FINISHED, + stop: Date.now(), + }, + }); + + return result; + } catch (err) { + const { message, stack } = err as Error; + + await this.sendMessage({ + type: "step_stop", + data: { + status: getStatusFromError(err as Error), + stage: Stage.FINISHED, + stop: Date.now(), + statusDetails: { + message, + trace: stack, + }, + }, + }); + + throw err; + } + } + + async stepDisplayName(name: string) { + await this.sendMessage({ + type: "step_metadata", + data: { name }, + }); + } + + async stepParameter(name: string, value: string, mode?: ParameterMode) { + await this.sendMessage({ + type: "step_metadata", + data: { + parameters: [{ name, value, mode }], + }, + }); + } + + abstract sendMessage(message: RuntimeMessage): Promise; +} diff --git a/packages/allure-js-commons/src/sdk/runtime/NoopTestRuntime.ts b/packages/allure-js-commons/src/sdk/runtime/NoopTestRuntime.ts new file mode 100644 index 000000000..ff77edcb4 --- /dev/null +++ b/packages/allure-js-commons/src/sdk/runtime/NoopTestRuntime.ts @@ -0,0 +1,60 @@ +import type { TestRuntime } from "./types.js"; + +export class NoopTestRuntime implements TestRuntime { + async attachment() { + await this.warning(); + } + + async description() { + await this.warning(); + } + + async descriptionHtml() { + await this.warning(); + } + + async displayName() { + await this.warning(); + } + + async historyId() { + await this.warning(); + } + + async labels() { + await this.warning(); + } + + async links() { + await this.warning(); + } + + async parameter() { + await this.warning(); + } + + async step(name: string, body: () => T | PromiseLike): Promise { + await this.warning(); + return body(); + } + + async stepDisplayName() { + await this.warning(); + } + + async stepParameter() { + await this.warning(); + } + + async testCaseId() { + await this.warning(); + } + + // eslint-disable-next-line @typescript-eslint/require-await + async warning() { + // eslint-disable-next-line no-console + console.log("no test runtime is found. Please check test framework configuration"); + } +} + +export const noopRuntime = new NoopTestRuntime(); diff --git a/packages/allure-js-commons/src/sdk/runtime/index.ts b/packages/allure-js-commons/src/sdk/runtime/index.ts new file mode 100644 index 000000000..51ddf1c36 --- /dev/null +++ b/packages/allure-js-commons/src/sdk/runtime/index.ts @@ -0,0 +1,4 @@ +export { setGlobalTestRuntime, getGlobalTestRuntime, getGlobalTestRuntimeWithAutoconfig } from "./runtime.js"; +export type { TestRuntime } from "./types.js"; +export { MessageTestRuntime } from "./MessageTestRuntime.js"; +export { MessageHolderTestRuntime } from "./MessageHolderTestRuntime.js"; diff --git a/packages/allure-js-commons/src/sdk/runtime/runtime.ts b/packages/allure-js-commons/src/sdk/runtime/runtime.ts new file mode 100644 index 000000000..80d844ba2 --- /dev/null +++ b/packages/allure-js-commons/src/sdk/runtime/runtime.ts @@ -0,0 +1,47 @@ +import { noopRuntime } from "./NoopTestRuntime.js"; +import type { TestRuntime } from "./types.js"; + +const ALLURE_TEST_RUNTIME_KEY = "allureTestRuntime"; + +export const setGlobalTestRuntime = (runtime: TestRuntime) => { + (globalThis as any)[ALLURE_TEST_RUNTIME_KEY] = () => runtime; +}; + +const getGlobalTestRuntimeFunction = () => { + return (globalThis as any)?.[ALLURE_TEST_RUNTIME_KEY] as (() => TestRuntime | undefined) | undefined; +}; + +export const getGlobalTestRuntime = (): TestRuntime => { + const testRuntime = getGlobalTestRuntimeFunction(); + + if (testRuntime) { + return testRuntime() ?? noopRuntime; + } + + return noopRuntime; +}; + +export const getGlobalTestRuntimeWithAutoconfig = (): TestRuntime | Promise => { + const testRuntime = getGlobalTestRuntimeFunction(); + + if (testRuntime) { + return testRuntime() ?? noopRuntime; + } + + if ("_playwrightInstance" in globalThis) { + try { + // protection from bundlers tree-shaking visiting (webpack, rollup) + // @ts-ignore + // eslint-disable-next-line no-eval + return (0, eval)("(() => import('allure-playwright/autoconfig'))()").then(() => { + return getGlobalTestRuntimeFunction()?.() ?? noopRuntime; + }); + } catch (err) { + // eslint-disable-next-line no-console + console.log("can't execute allure-playwright/autoconfig", err); + return noopRuntime; + } + } + + return noopRuntime; +}; diff --git a/packages/allure-js-commons/src/sdk/runtime/types.ts b/packages/allure-js-commons/src/sdk/runtime/types.ts new file mode 100644 index 000000000..cefe8cd6c --- /dev/null +++ b/packages/allure-js-commons/src/sdk/runtime/types.ts @@ -0,0 +1,27 @@ +import type { ContentType, Label, Link, ParameterMode, ParameterOptions } from "../../model.js"; + +export interface TestRuntime { + labels: (...labels: Label[]) => PromiseLike; + + links: (...links: Link[]) => PromiseLike; + + parameter: (name: string, value: string, options?: ParameterOptions) => PromiseLike; + + description: (markdown: string) => PromiseLike; + + descriptionHtml: (html: string) => PromiseLike; + + displayName: (name: string) => PromiseLike; + + historyId: (value: string) => PromiseLike; + + testCaseId: (value: string) => PromiseLike; + + attachment: (name: string, content: Buffer | string, type: ContentType | string) => PromiseLike; + + step: (name: string, body: () => T | PromiseLike) => PromiseLike; + + stepDisplayName: (name: string) => PromiseLike; + + stepParameter: (name: string, value: string, mode?: ParameterMode) => PromiseLike; +} diff --git a/packages/allure-js-commons/src/sdk/types.ts b/packages/allure-js-commons/src/sdk/types.ts new file mode 100644 index 000000000..5225e0318 --- /dev/null +++ b/packages/allure-js-commons/src/sdk/types.ts @@ -0,0 +1,119 @@ +import type { + Attachment, + AttachmentOptions, + Label, + Link, + Parameter, + Stage, + Status, + StatusDetails, + TestResult, + TestResultContainer, +} from "../model.js"; + +export interface RawAttachment extends AttachmentOptions { + name: string; + content: Buffer | string; +} + +type RuntimeMessageBase = { + type: T; +}; + +type MessageTypes = T extends RuntimeMessageBase ? K : never; + +export type RuntimeMetadataMessage = RuntimeMessageBase<"metadata"> & { + data: { + labels?: Label[]; + links?: Link[]; + parameters?: Parameter[]; + attachments?: Attachment[]; + description?: string; + descriptionHtml?: string; + testCaseId?: string; + historyId?: string; + displayName?: string; + }; +}; + +export type RuntimeStartStepMessage = RuntimeMessageBase<"step_start"> & { + data: { + name: string; + start: number; + }; +}; + +export type RuntimeStepMetadataMessage = RuntimeMessageBase<"step_metadata"> & { + data: { + name?: string; + parameters?: Parameter[]; + }; +}; + +export type RuntimeStopStepMessage = RuntimeMessageBase<"step_stop"> & { + data: { + stop: number; + status: Status; + stage: Stage; + statusDetails?: StatusDetails; + }; +}; + +// use to send whole attachment to ReporterRuntime and write it on the node side +export type RuntimeRawAttachmentMessage = RuntimeMessageBase<"raw_attachment"> & { + data: RawAttachment; +}; + +export type RuntimeMessage = + | RuntimeMetadataMessage + | RuntimeStartStepMessage + | RuntimeStepMetadataMessage + | RuntimeStopStepMessage + | RuntimeRawAttachmentMessage; + +// Could be used by adapters to define additional message types +export type ExtensionMessage = T extends MessageTypes ? never : RuntimeMessageBase; + +// eslint-disable-next-line @typescript-eslint/no-unused-vars +export type Messages = T extends RuntimeMessage | ExtensionMessage ? T : never; + +export interface TestPlanV1Test { + id: string | number; + selector: string; +} + +export interface TestPlanV1 { + version: "1.0"; + tests: TestPlanV1Test[]; +} + +export type EnvironmentInfo = Record; + +export interface Category { + name?: string; + description?: string; + descriptionHtml?: string; + messageRegex?: string | RegExp; + traceRegex?: string | RegExp; + matchedStatuses?: Status[]; + flaky?: boolean; +} + +export interface ExecutorInfo { + name?: string; + type?: string; + url?: string; + buildOrder?: number; + buildName?: string; + buildUrl?: string; + reportUrl?: string; + reportName?: string; +} + +export interface AllureResults { + tests: TestResult[]; + groups: TestResultContainer[]; + attachments: Record; + envInfo?: EnvironmentInfo; + categories?: Category[]; +} diff --git a/packages/allure-js-commons/src/sdk/utils.ts b/packages/allure-js-commons/src/sdk/utils.ts index 2a60715e0..13420a13c 100644 --- a/packages/allure-js-commons/src/sdk/utils.ts +++ b/packages/allure-js-commons/src/sdk/utils.ts @@ -1,102 +1,108 @@ -import { readFile } from "fs/promises"; -import { - AttachmentOptions, - ContentType, - FixtureResult, - RuntimeMessage, - Stage, - Status, - StatusByPriority, - StepResult, - TestResult, - TestResultContainer, - WellKnownWriters, -} from "../model.js"; -import { typeToExtension } from "../utils.js"; -import type { WriterDescriptor } from "./Config.js"; -import { Crypto } from "./Crypto.js"; -import type { Writer } from "./Writer.js"; - -export const createTestResultContainer = (uuid: string): TestResultContainer => { - return { - uuid, - children: [], - befores: [], - afters: [], - }; +import type { FixtureResult, Label, StatusDetails, StepResult, TestResult } from "../model.js"; +import { LabelName, Status } from "../model.js"; +import type { RuntimeMessage } from "./types.js"; + +export const getStatusFromError = (error: Error): Status => { + switch (true) { + /** + * Native `node:assert` and `chai` (`vitest` uses it under the hood) throw `AssertionError` + * `jest` throws `JestAssertionError` instance + * `jasmine` throws `ExpectationFailed` instance + */ + case /assert/gi.test(error.constructor.name): + case /expectation/gi.test(error.constructor.name): + case /assert/gi.test(error.name): + case /assert/gi.test(error.message): + return Status.FAILED; + default: + return Status.BROKEN; + } }; -export const createFixtureResult = (): FixtureResult => { - return { - status: Status.BROKEN, - statusDetails: {}, - stage: Stage.PENDING, - steps: [], - attachments: [], - parameters: [], - }; +/** + * Source: https://github.com/chalk/ansi-regex + */ +export const ansiRegex = ({ onlyFirst = false } = {}) => { + const pattern = [ + "[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)", + "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))", + ].join("|"); + + return new RegExp(pattern, onlyFirst ? undefined : "g"); }; -export const createStepResult = (): StepResult => { - return { - status: undefined, - statusDetails: {}, - stage: Stage.PENDING, - steps: [], - attachments: [], - parameters: [], - }; +/** + * https://github.com/chalk/strip-ansi + */ +export const stripAnsi = (str: string) => { + if (typeof str !== "string") { + throw new TypeError(`Expected a \`string\`, got \`${typeof str}\``); + } + + const regex = ansiRegex(); + + return str.replace(regex, ""); }; -export const createTestResult = (uuid: string, historyUuid?: string): TestResult => { +export const getMessageAndTraceFromError = ( + error: Error | { message?: string; stack?: string }, +): Pick => { + const { message, stack } = error; return { - uuid, - name: "", - historyId: historyUuid, - status: undefined, - statusDetails: {}, - stage: Stage.PENDING, - steps: [], - attachments: [], - parameters: [], - labels: [], - links: [], + message: message ? stripAnsi(message) : undefined, + trace: stack ? stripAnsi(stack) : undefined, }; }; -export const writeAttachment = (uuid: string, options: ContentType | string | AttachmentOptions): string => { - if (typeof options === "string") { - options = { contentType: options }; - } +export const allureIdRegexp = /@?allure.id[:=](?[^\s]+)/; +export const allureIdRegexpGlobal = new RegExp(allureIdRegexp, "g"); +export const allureLabelRegexp = /@?allure.label.(?[^\s]+?)[:=](?[^\s]+)/; +export const allureLabelRegexpGlobal = new RegExp(allureLabelRegexp, "g"); - const extension = typeToExtension(options); +export const extractMetadataFromString = ( + title: string, +): { + labels: Label[]; + cleanTitle: string; +} => { + const labels = [] as Label[]; - return `${uuid}-attachment${extension}`; -}; + title.split(" ").forEach((val) => { + const idValue = val.match(allureIdRegexp)?.groups?.id; -export const getTestResultHistoryId = (crypto: Crypto, result: TestResult) => { - if (result.historyId) { - return result.historyId; - } + if (idValue) { + labels.push({ name: LabelName.ALLURE_ID, value: idValue }); + } + + const labelMatch = val.match(allureLabelRegexp); + const { name, value } = labelMatch?.groups || {}; - const tcId = result.testCaseId ?? (result.fullName ? crypto.md5(result.fullName) : null); + if (name && value) { + labels?.push({ name, value }); + } + }); + + const cleanTitle = title.replace(allureLabelRegexpGlobal, "").replace(allureIdRegexpGlobal, "").trim(); + + return { labels, cleanTitle }; +}; - if (!tcId) { - return ""; +export const isAnyStepFailed = (item: StepResult | TestResult | FixtureResult): boolean => { + const isFailed = item.status === Status.FAILED; + + if (isFailed || item.steps.length === 0) { + return isFailed; } - const paramsString = result.parameters - .filter((p) => !p?.excluded) - .sort((a, b) => a.name?.localeCompare(b?.name) || a.value?.localeCompare(b?.value)) - .map((p) => `${p.name ?? "null"}:${p.value ?? "null"}`) - .join(","); - const paramsHash = crypto.md5(paramsString); + return !!item.steps.find((step) => isAnyStepFailed(step)); +}; - return `${tcId}:${paramsHash}`; +export const isAllStepsEnded = (item: StepResult | TestResult | FixtureResult): boolean => { + return item.steps.every((val) => val.stop && isAllStepsEnded(val)); }; -export const getTestResultTestCaseId = (crypto: Crypto, result: TestResult) => { - return result.fullName ? crypto.md5(result.fullName) : undefined; +export const hasLabel = (testResult: TestResult, labelName: LabelName | string): boolean => { + return !!testResult.labels.find((l) => l.name === labelName); }; export const hasStepMessage = (messages: RuntimeMessage[]) => { @@ -132,74 +138,5 @@ export const getUnfinishedStepsMessages = (messages: RuntimeMessage[]) => { return grouppedStepsMessage.filter((step) => step.length === 1); }; -export const getWorstStepResultStatusPriority = (steps: StepResult[], priority?: number): number | undefined => { - let worstStatusPriority = priority; - - steps.forEach((step) => { - if (step.steps?.length) { - worstStatusPriority = getWorstStepResultStatusPriority(step.steps, worstStatusPriority); - } - - const stepStatusPriority = step.status ? StatusByPriority.indexOf(step.status) : undefined; - - if (stepStatusPriority === undefined) { - return; - } - - if (worstStatusPriority === undefined) { - worstStatusPriority = stepStatusPriority; - return; - } - - if (stepStatusPriority >= worstStatusPriority) { - return; - } - - worstStatusPriority = stepStatusPriority; - }); - - return worstStatusPriority; -}; - -export const getWorstStepResultStatus = (steps: StepResult[]): Status | undefined => { - const worstStatusPriority = getWorstStepResultStatusPriority(steps); - - if (worstStatusPriority === undefined) { - return undefined; - } - - return StatusByPriority[worstStatusPriority]; -}; - -export const readImageAsBase64 = async (filePath: string): Promise => { - try { - const file = await readFile(filePath, { encoding: "base64" }); - - return file ? `data:image/png;base64,${file}` : undefined; - } catch (e) { - return undefined; - } -}; - -export const resolveWriter = (wellKnownWriters: WellKnownWriters, value: Writer | WriterDescriptor): Writer => { - if (typeof value === "string") { - return createWriter(wellKnownWriters, value); - } else if (value instanceof Array) { - return createWriter(wellKnownWriters, value[0], value.slice(1)); - } - return value; -}; - -const createWriter = (wellKnownWriters: WellKnownWriters, nameOrPath: string, args: readonly unknown[] = []) => { - // eslint-disable-next-line @typescript-eslint/no-require-imports,@typescript-eslint/no-var-requires - const ctorOrInstance = getKnownWriterCtor(wellKnownWriters, nameOrPath) ?? requireWriterCtor(nameOrPath); - return typeof ctorOrInstance === "function" ? new ctorOrInstance(...args) : ctorOrInstance; -}; - -const getKnownWriterCtor = (wellKnownWriters: WellKnownWriters, name: string) => - (wellKnownWriters as unknown as { [key: string]: Writer | undefined })[name]; - -const requireWriterCtor = (modulePath: string): (new (...args: readonly unknown[]) => Writer) | Writer => { - // eslint-disable-next-line @typescript-eslint/no-require-imports,@typescript-eslint/no-var-requires - return require(modulePath); -}; +export const isPromise = (obj: any): boolean => + !!obj && (typeof obj === "object" || typeof obj === "function") && typeof obj.then === "function"; diff --git a/packages/allure-js-commons/src/sdk/writers/index.ts b/packages/allure-js-commons/src/sdk/writers/index.ts deleted file mode 100644 index 9b0a07356..000000000 --- a/packages/allure-js-commons/src/sdk/writers/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { AllureInMemoryAllureWriter } from "./AllureInMemoryWriter.js"; diff --git a/packages/allure-js-commons/test/sdk/node/ReporterRuntime.spec.ts b/packages/allure-js-commons/test/sdk/reporter/ReporterRuntime.spec.ts similarity index 83% rename from packages/allure-js-commons/test/sdk/node/ReporterRuntime.spec.ts rename to packages/allure-js-commons/test/sdk/reporter/ReporterRuntime.spec.ts index 1e76fa51e..4f87e64bb 100644 --- a/packages/allure-js-commons/test/sdk/node/ReporterRuntime.spec.ts +++ b/packages/allure-js-commons/test/sdk/reporter/ReporterRuntime.spec.ts @@ -1,6 +1,6 @@ import { describe, expect, it } from "vitest"; -import { Link } from "../../../src/model.js"; -import { AllureNodeReporterRuntime } from "../../../src/sdk/node/index.js"; +import type { Link } from "../../../src/model.js"; +import { ReporterRuntime } from "../../../src/sdk/reporter/ReporterRuntime.js"; import { mockWriter } from "../../utils/writer.js"; const fixtures = { @@ -21,11 +21,11 @@ const fixtures = { ] as Link[], }; -describe("AllureNodeReporterRuntime", () => { +describe("ReporterRuntime", () => { describe("writeAttachmentFromPath", () => { it("should use extension from fileExtension option if specified", () => { const writer = mockWriter(); - const runtime = new AllureNodeReporterRuntime({ writer }); + const runtime = new ReporterRuntime({ writer }); runtime.startTest({}); @@ -46,7 +46,7 @@ describe("AllureNodeReporterRuntime", () => { it("should use extension from original file if fileExtension option is not specified", () => { const writer = mockWriter(); - const runtime = new AllureNodeReporterRuntime({ writer }); + const runtime = new ReporterRuntime({ writer }); runtime.startTest({}); @@ -66,7 +66,7 @@ describe("AllureNodeReporterRuntime", () => { it("should detect extension by content type if no option or path specified", () => { const writer = mockWriter(); - const runtime = new AllureNodeReporterRuntime({ writer }); + const runtime = new ReporterRuntime({ writer }); runtime.startTest({}); @@ -90,7 +90,7 @@ describe("AllureNodeReporterRuntime", () => { describe("applyRuntimeMessages", () => { it("keeps links as they are when links configuration is not provided", () => { const writer = mockWriter(); - const runtime = new AllureNodeReporterRuntime({ writer }); + const runtime = new ReporterRuntime({ writer }); runtime.startTest({}); runtime.applyRuntimeMessages([ @@ -112,7 +112,7 @@ describe("AllureNodeReporterRuntime", () => { it("transforms links according the runtime configuration", () => { const writer = mockWriter(); - const runtime = new AllureNodeReporterRuntime({ + const runtime = new ReporterRuntime({ writer, links: [ { @@ -158,4 +158,16 @@ describe("AllureNodeReporterRuntime", () => { ); }); }); + + describe("load well-known writers", () => { + it("should load MessageWriter", () => { + new ReporterRuntime({ writer: "MessageWriter" }); + }); + it("should load FileSystemWriter", () => { + new ReporterRuntime({ writer: "FileSystemWriter" }); + }); + it("should load InMemoryWriter", () => { + new ReporterRuntime({ writer: "InMemoryWriter" }); + }); + }); }); diff --git a/packages/allure-js-commons/test/sdk/reporter/testplan.spec.ts b/packages/allure-js-commons/test/sdk/reporter/testplan.spec.ts new file mode 100644 index 000000000..7b4908a6b --- /dev/null +++ b/packages/allure-js-commons/test/sdk/reporter/testplan.spec.ts @@ -0,0 +1,75 @@ +import { randomUUID } from "crypto"; +import { mkdtempSync, writeFileSync } from "fs"; +import os from "os"; +import path from "path"; +import { afterEach, describe, expect, it } from "vitest"; +import { parseTestPlan } from "../../../src/sdk/reporter/testplan.js"; + +const originalEnv = process.env; +const tmpDir = mkdtempSync(path.join(os.tmpdir(), "test-")); + +afterEach(() => { + process.env = originalEnv; +}); + +const writeToTempFile = (val: any) => { + const filename = path.join(tmpDir, `${randomUUID()}.json`); + writeFileSync(filename, JSON.stringify(val)); + return filename; +}; + +describe("parseTestPlan", () => { + it("should return testplan", () => { + const exampleTestPlan = { + version: "1.0", + tests: [ + { + id: 1, + selector: "some strange text", + }, + ], + }; + + process.env = { + ...originalEnv, + ALLURE_TESTPLAN_PATH: writeToTempFile(exampleTestPlan), + }; + + const res = parseTestPlan(); + + expect(res).toEqual(exampleTestPlan); + }); + + it("should return undefiend if ALLURE_TESTPLAN_PATH not set", () => { + const res = parseTestPlan(); + + expect(res).toBeUndefined(); + }); + + it("should return undefiend if testplan have 0 tests", () => { + const exampleTestPlan = { + version: "1.0", + tests: [], + }; + + process.env = { + ...originalEnv, + ALLURE_TESTPLAN_PATH: writeToTempFile(exampleTestPlan), + }; + + const res = parseTestPlan(); + + expect(res).toBeUndefined(); + }); + + it("should return undefiend if file don't exist", () => { + process.env = { + ...originalEnv, + ALLURE_TESTPLAN_PATH: "some-strange-path.json", + }; + + const res = parseTestPlan(); + + expect(res).toBeUndefined(); + }); +}); diff --git a/packages/allure-js-commons/test/sdk/reporter/utils.spec.ts b/packages/allure-js-commons/test/sdk/reporter/utils.spec.ts new file mode 100644 index 000000000..a60e82839 --- /dev/null +++ b/packages/allure-js-commons/test/sdk/reporter/utils.spec.ts @@ -0,0 +1,155 @@ +import { describe, expect, it } from "vitest"; +import { LabelName } from "../../../src/model.js"; +import { getSuitesLabels, serialize, typeToExtension } from "../../../src/sdk/reporter/utils.js"; + +describe("typeToExtension", () => { + it("should respect provided file extension", () => { + const extension = typeToExtension({ + contentType: "application/json", + fileExtension: ".txt", + }); + + expect(extension).toBe(".txt"); + }); + + it("should respect provided file extension without leading dot", () => { + const extension = typeToExtension({ + contentType: "application/json", + fileExtension: "txt", + }); + + expect(extension).toBe(".txt"); + }); + + it("should get extension for well-known content type", () => { + const extension = typeToExtension({ + contentType: "application/json", + }); + + expect(extension).toBe(".json"); + }); + + it("should get extension for allure imagediff", () => { + const extension = typeToExtension({ + contentType: "application/vnd.allure.image.diff", + }); + + expect(extension).toBe(".imagediff"); + }); + + it("should get an empty extension for unknown type", () => { + const extension = typeToExtension({ + contentType: "application/vnd.unknown", + }); + + expect(extension).toBe(""); + }); +}); + +describe("getSuitesLabels", () => { + describe("with empty suites", () => { + it("returns empty array", () => { + expect(getSuitesLabels([])).toEqual([]); + }); + }); + + describe("with single suite", () => { + it("returns parent suite label as the first element", () => { + expect(getSuitesLabels(["foo"])).toEqual([ + { + name: LabelName.PARENT_SUITE, + value: "foo", + }, + ]); + }); + }); + + describe("with two suites", () => { + it("returns parent suite and suite labels as the first two elements", () => { + expect(getSuitesLabels(["foo", "bar"])).toEqual([ + { + name: LabelName.PARENT_SUITE, + value: "foo", + }, + { + name: LabelName.SUITE, + value: "bar", + }, + ]); + }); + }); + + describe("with three or more suites", () => { + it("returns list of three elements where last one is a sub suite label", () => { + expect(getSuitesLabels(["foo", "bar", "baz", "beep", "boop"])).toEqual([ + { + name: LabelName.PARENT_SUITE, + value: "foo", + }, + { + name: LabelName.SUITE, + value: "bar", + }, + { + name: LabelName.SUB_SUITE, + value: "baz > beep > boop", + }, + ]); + }); + }); +}); + +describe("serialize", () => { + describe("with object", () => { + it("returns JSON string", () => { + // eslint-disable-next-line @typescript-eslint/quotes + expect(serialize({ foo: "bar" })).toBe('{"foo":"bar"}'); + }); + }); + + describe("with array", () => { + it("returns JSON string", () => { + // eslint-disable-next-line @typescript-eslint/quotes + expect(serialize(["foo", "bar"])).toBe('["foo","bar"]'); + }); + }); + + describe("with map", () => { + it("returns JSON string", () => { + expect(serialize(new Map([["foo", "bar"]]))).toBe("[object Map]"); + }); + }); + + describe("with set", () => { + it("returns JSON string", () => { + expect(serialize(new Set(["foo", "bar"]))).toBe("[object Set]"); + }); + }); + + describe("with undefined", () => { + it("returns undefined string", () => { + expect(serialize(undefined)).toBe("undefined"); + }); + }); + + describe("with null", () => { + it("returns null string", () => { + expect(serialize(null)).toBe("null"); + }); + }); + + describe("with function", () => { + it("returns function string", () => { + expect(serialize(() => {})).toBe("() => {\n }"); + }); + }); + + describe("with primitives", () => { + it("returns stringified value", () => { + // eslint-disable-next-line @typescript-eslint/quotes + expect(serialize("foo")).toBe("foo"); + expect(serialize(123)).toBe("123"); + expect(serialize(true)).toBe("true"); + }); + }); +}); diff --git a/packages/allure-js-commons/test/spec/FileSystemAllureWriter.spec.ts b/packages/allure-js-commons/test/sdk/reporter/writer/FileSystemWriter.spec.ts similarity index 76% rename from packages/allure-js-commons/test/spec/FileSystemAllureWriter.spec.ts rename to packages/allure-js-commons/test/sdk/reporter/writer/FileSystemWriter.spec.ts index 4a584298f..a2ba102f7 100644 --- a/packages/allure-js-commons/test/spec/FileSystemAllureWriter.spec.ts +++ b/packages/allure-js-commons/test/sdk/reporter/writer/FileSystemWriter.spec.ts @@ -3,20 +3,23 @@ import { existsSync, mkdtempSync, readFileSync, readdirSync, rmSync, writeFileSy import * as os from "node:os"; import path from "node:path"; import { describe, expect, it } from "vitest"; -import { AllureNodeReporterRuntime, Config, ContentType, FileSystemAllureWriter } from "../../src/sdk/node/index.js"; +import { ContentType } from "../../../../src/model.js"; +import { ReporterRuntime } from "../../../../src/sdk/reporter/ReporterRuntime.js"; +import type { Config } from "../../../../src/sdk/reporter/types.js"; +import { FileSystemWriter } from "../../../../src/sdk/reporter/writer/FileSystemWriter.js"; -describe("FileSystemAllureWriter", () => { +describe("FileSystemWriter", () => { it("should save attachment from path", () => { const tmp = mkdtempSync(path.join(os.tmpdir(), "foo-")); const allureResults = path.join(tmp, "allure-results"); const config: Config = { - writer: new FileSystemAllureWriter({ + writer: new FileSystemWriter({ resultsDir: allureResults, }), }; - const runtime = new AllureNodeReporterRuntime(config); + const runtime = new ReporterRuntime(config); const from = path.join(tmp, "test-attachment.txt"); const data = "test content"; @@ -42,11 +45,11 @@ describe("FileSystemAllureWriter", () => { it("creates allure-report nested path every time writer write something", () => { const tmpReportPath = path.join(os.tmpdir(), `./allure-testing-dir/${randomUUID()}`); const config: Config = { - writer: new FileSystemAllureWriter({ + writer: new FileSystemWriter({ resultsDir: tmpReportPath, }), }; - const runtime = new AllureNodeReporterRuntime(config); + const runtime = new ReporterRuntime(config); runtime.startTest({}); runtime.stopTest(); diff --git a/packages/allure-js-commons/test/sdk/utils.spec.ts b/packages/allure-js-commons/test/sdk/utils.spec.ts new file mode 100644 index 000000000..88498554c --- /dev/null +++ b/packages/allure-js-commons/test/sdk/utils.spec.ts @@ -0,0 +1,176 @@ +import assert from "node:assert"; +import { describe, expect, it } from "vitest"; +import { LabelName, Status } from "../../src/model.js"; +import type { FixtureResult, StepResult, TestResult } from "../../src/model.js"; +import { allureLabelRegexp, getStatusFromError, isAnyStepFailed } from "../../src/sdk/utils.js"; + +type Executable = StepResult | TestResult | FixtureResult; + +const fixtures = { + withoutFailed: { + status: Status.PASSED, + steps: [ + { + status: Status.PASSED, + steps: [ + { + status: Status.PASSED, + steps: [], + }, + ], + }, + ], + }, + withFailedRoot: { + status: Status.FAILED, + steps: [ + { + status: Status.PASSED, + steps: [ + { + status: Status.PASSED, + steps: [], + }, + ], + }, + ], + }, + withFailedNested: { + status: Status.PASSED, + steps: [ + { + status: Status.PASSED, + steps: [ + { + status: Status.FAILED, + steps: [], + }, + ], + }, + ], + }, +}; + +describe("isAnyStepFailed", () => { + describe("without any failed step", () => { + it("returns false", () => { + // eslint-disable-next-line + // @ts-ignore + expect(isAnyStepFailed(fixtures.withoutFailed as Executable)).toBe(false); + }); + }); + + describe("with failed root item", () => { + it("returns true", () => { + // eslint-disable-next-line + // @ts-ignore + expect(isAnyStepFailed(fixtures.withFailedRoot as Executable)).toBe(true); + }); + }); + + describe("with failed nested step", () => { + it("returns true", () => { + // eslint-disable-next-line + // @ts-ignore + expect(isAnyStepFailed(fixtures.withFailedNested as Executable)).toBe(true); + }); + }); +}); + +describe("allureLabelRegexp", () => { + describe("with non scoped tag", () => { + it("return FOO", () => { + // eslint-disable-next-line + // @ts-ignore + const labelMatch = "@allure.label.tag=FOO".match(allureLabelRegexp); + const { name, value } = labelMatch?.groups || {}; + expect(name).toBe(LabelName.TAG); + expect(value).toBe("FOO"); + }); + }); + describe("with a scoped tag", () => { + it("return FOO:123", () => { + // eslint-disable-next-line + // @ts-ignore + const labelMatch = "@allure.label.tag=FOO:123".match(allureLabelRegexp); + const { name, value } = labelMatch?.groups || {}; + expect(name).toBe(LabelName.TAG); + expect(value).toBe("FOO:123"); + }); + + it("return FOO:123", () => { + // eslint-disable-next-line + // @ts-ignore + const labelMatch = "@allure.label.tag:FOO:123".match(allureLabelRegexp); + const { name, value } = labelMatch?.groups || {}; + expect(name).toBe(LabelName.TAG); + expect(value).toBe("FOO:123"); + }); + }); +}); + +describe("getStatusFromError", () => { + describe("with node assert error", () => { + it("returns failed", () => { + try { + assert(false, "test"); + } catch (err) { + expect(getStatusFromError(err as Error)).toBe(Status.FAILED); + } + }); + }); + + describe("with chai assertion error", () => { + it("returns failed", () => { + try { + expect(false).toBe(true); + } catch (err) { + expect(getStatusFromError(err as Error)).toBe(Status.FAILED); + } + }); + }); + + describe("with jest assertion error", () => { + it("returns failed", () => { + try { + expect(false).toBe(true); + } catch (err) { + expect(getStatusFromError(err as Error)).toBe(Status.FAILED); + } + }); + }); + + describe("with any error name contains 'assert' word", () => { + it("returns failed", () => { + try { + const err = new Error("error"); + + err.name = "CustomAssertError"; + + throw err; + } catch (err) { + expect(getStatusFromError(err as Error)).toBe(Status.FAILED); + } + }); + }); + + describe("with any error message contains 'assert' word", () => { + it("returns failed", () => { + try { + throw new Error("assertion error"); + } catch (err) { + expect(getStatusFromError(err as Error)).toBe(Status.FAILED); + } + }); + }); + + describe("with any not-assertion error", () => { + it("returns broken", () => { + try { + throw new Error("an error"); + } catch (err) { + expect(getStatusFromError(err as Error)).toBe(Status.BROKEN); + } + }); + }); +}); diff --git a/packages/allure-js-commons/test/spec/testPlan.spec.ts b/packages/allure-js-commons/test/spec/testPlan.spec.ts deleted file mode 100644 index 9ce94d531..000000000 --- a/packages/allure-js-commons/test/spec/testPlan.spec.ts +++ /dev/null @@ -1,73 +0,0 @@ -import { randomUUID } from "crypto"; -import { mkdtempSync, writeFileSync } from "fs"; -import os from "os"; -import path from "path"; -import { afterEach, expect, it } from "vitest"; -import { parseTestPlan } from "../../src/sdk/node/index.js"; - -const originalEnv = process.env; -const tmpDir = mkdtempSync(path.join(os.tmpdir(), "test-")); - -afterEach(() => { - process.env = originalEnv; -}); - -const writeToTempFile = (val: any) => { - const filename = path.join(tmpDir, `${randomUUID()}.json`); - writeFileSync(filename, JSON.stringify(val)); - return filename; -}; - -it("should return testplan", () => { - const exampleTestPlan = { - version: "1.0", - tests: [ - { - id: 1, - selector: "some strange text", - }, - ], - }; - - process.env = { - ...originalEnv, - ALLURE_TESTPLAN_PATH: writeToTempFile(exampleTestPlan), - }; - - const res = parseTestPlan(); - - expect(res).toEqual(exampleTestPlan); -}); - -it("should return undefiend if ALLURE_TESTPLAN_PATH not set", () => { - const res = parseTestPlan(); - - expect(res).toBeUndefined(); -}); - -it("should return undefiend if testplan have 0 tests", () => { - const exampleTestPlan = { - version: "1.0", - tests: [], - }; - - process.env = { - ...originalEnv, - ALLURE_TESTPLAN_PATH: writeToTempFile(exampleTestPlan), - }; - - const res = parseTestPlan(); - - expect(res).toBeUndefined(); -}); - -it("should return undefiend if file don't exist", () => { - process.env = { - ...originalEnv, - ALLURE_TESTPLAN_PATH: "some-strange-path.json", - }; - - const res = parseTestPlan(); - - expect(res).toBeUndefined(); -}); diff --git a/packages/allure-js-commons/test/spec/utils.spec.ts b/packages/allure-js-commons/test/spec/utils.spec.ts deleted file mode 100644 index 952bd8590..000000000 --- a/packages/allure-js-commons/test/spec/utils.spec.ts +++ /dev/null @@ -1,334 +0,0 @@ -import assert from "node:assert"; -import { describe, expect, it } from "vitest"; -import { - Executable, - LabelName, - Status, - allureLabelRegexp, - getStatusFromError, - getSuitesLabels, - isAnyStepFailed, - serialize, - typeToExtension, -} from "../../src/sdk/node/index.js"; - -const fixtures = { - withoutFailed: { - status: Status.PASSED, - steps: [ - { - status: Status.PASSED, - steps: [ - { - status: Status.PASSED, - steps: [], - }, - ], - }, - ], - }, - withFailedRoot: { - status: Status.FAILED, - steps: [ - { - status: Status.PASSED, - steps: [ - { - status: Status.PASSED, - steps: [], - }, - ], - }, - ], - }, - withFailedNested: { - status: Status.PASSED, - steps: [ - { - status: Status.PASSED, - steps: [ - { - status: Status.FAILED, - steps: [], - }, - ], - }, - ], - }, -}; - -describe("utils > isAnyStepFailed", () => { - describe("without any failed step", () => { - it("returns false", () => { - // eslint-disable-next-line - // @ts-ignore - expect(isAnyStepFailed(fixtures.withoutFailed as Executable)).toBe(false); - }); - }); - - describe("with failed root item", () => { - it("returns true", () => { - // eslint-disable-next-line - // @ts-ignore - expect(isAnyStepFailed(fixtures.withFailedRoot as Executable)).toBe(true); - }); - }); - - describe("with failed nested step", () => { - it("returns true", () => { - // eslint-disable-next-line - // @ts-ignore - expect(isAnyStepFailed(fixtures.withFailedNested as Executable)).toBe(true); - }); - }); -}); - -describe("utils > allureLabelRegexp", () => { - describe("with non scoped tag", () => { - it("return FOO", () => { - // eslint-disable-next-line - // @ts-ignore - const labelMatch = "@allure.label.tag=FOO".match(allureLabelRegexp); - const { name, value } = labelMatch?.groups || {}; - expect(name).toBe(LabelName.TAG); - expect(value).toBe("FOO"); - }); - }); - describe("with a scoped tag", () => { - it("return FOO:123", () => { - // eslint-disable-next-line - // @ts-ignore - const labelMatch = "@allure.label.tag=FOO:123".match(allureLabelRegexp); - const { name, value } = labelMatch?.groups || {}; - expect(name).toBe(LabelName.TAG); - expect(value).toBe("FOO:123"); - }); - - it("return FOO:123", () => { - // eslint-disable-next-line - // @ts-ignore - const labelMatch = "@allure.label.tag:FOO:123".match(allureLabelRegexp); - const { name, value } = labelMatch?.groups || {}; - expect(name).toBe(LabelName.TAG); - expect(value).toBe("FOO:123"); - }); - }); - - describe("utils > getStatusFromError", () => { - describe("with node assert error", () => { - it("returns failed", () => { - try { - assert(false, "test"); - } catch (err) { - expect(getStatusFromError(err as Error)).toBe(Status.FAILED); - } - }); - }); - - describe("with chai assertion error", () => { - it("returns failed", () => { - try { - expect(false).toBe(true); - } catch (err) { - expect(getStatusFromError(err as Error)).toBe(Status.FAILED); - } - }); - }); - - describe("with jest assertion error", () => { - it("returns failed", () => { - try { - expect(false).toBe(true); - } catch (err) { - expect(getStatusFromError(err as Error)).toBe(Status.FAILED); - } - }); - }); - - describe("with any error name contains 'assert' word", () => { - it("returns failed", () => { - try { - const err = new Error("error"); - - err.name = "CustomAssertError"; - - throw err; - } catch (err) { - expect(getStatusFromError(err as Error)).toBe(Status.FAILED); - } - }); - }); - - describe("with any error message contains 'assert' word", () => { - it("returns failed", () => { - try { - throw new Error("assertion error"); - } catch (err) { - expect(getStatusFromError(err as Error)).toBe(Status.FAILED); - } - }); - }); - - describe("with any not-assertion error", () => { - it("returns broken", () => { - try { - throw new Error("an error"); - } catch (err) { - expect(getStatusFromError(err as Error)).toBe(Status.BROKEN); - } - }); - }); - }); -}); - -describe("writers > utils > typeToExtension", () => { - it("should respect provided file extension", () => { - const extension = typeToExtension({ - contentType: "application/json", - fileExtension: ".txt", - }); - - expect(extension).toBe(".txt"); - }); - - it("should respect provided file extension without leading dot", () => { - const extension = typeToExtension({ - contentType: "application/json", - fileExtension: "txt", - }); - - expect(extension).toBe(".txt"); - }); - - it("should get extension for well-known content type", () => { - const extension = typeToExtension({ - contentType: "application/json", - }); - - expect(extension).toBe(".json"); - }); - - it("should get extension for allure imagediff", () => { - const extension = typeToExtension({ - contentType: "application/vnd.allure.image.diff", - }); - - expect(extension).toBe(".imagediff"); - }); - - it("should get an empty extension for unknown type", () => { - const extension = typeToExtension({ - contentType: "application/vnd.unknown", - }); - - expect(extension).toBe(""); - }); -}); - -describe("utils > getSuitesLabels", () => { - describe("with empty suites", () => { - it("returns empty array", () => { - expect(getSuitesLabels([])).toEqual([]); - }); - }); - - describe("with single suite", () => { - it("returns parent suite label as the first element", () => { - expect(getSuitesLabels(["foo"])).toEqual([ - { - name: LabelName.PARENT_SUITE, - value: "foo", - }, - ]); - }); - }); - - describe("with two suites", () => { - it("returns parent suite and suite labels as the first two elements", () => { - expect(getSuitesLabels(["foo", "bar"])).toEqual([ - { - name: LabelName.PARENT_SUITE, - value: "foo", - }, - { - name: LabelName.SUITE, - value: "bar", - }, - ]); - }); - }); - - describe("with three or more suites", () => { - it("returns list of three elements where last one is a sub suite label", () => { - expect(getSuitesLabels(["foo", "bar", "baz", "beep", "boop"])).toEqual([ - { - name: LabelName.PARENT_SUITE, - value: "foo", - }, - { - name: LabelName.SUITE, - value: "bar", - }, - { - name: LabelName.SUB_SUITE, - value: "baz > beep > boop", - }, - ]); - }); - }); -}); - -describe("serialize", () => { - describe("with object", () => { - it("returns JSON string", () => { - // eslint-disable-next-line @typescript-eslint/quotes - expect(serialize({ foo: "bar" })).toBe('{"foo":"bar"}'); - }); - }); - - describe("with array", () => { - it("returns JSON string", () => { - // eslint-disable-next-line @typescript-eslint/quotes - expect(serialize(["foo", "bar"])).toBe('["foo","bar"]'); - }); - }); - - describe("with map", () => { - it("returns JSON string", () => { - expect(serialize(new Map([["foo", "bar"]]))).toBe("[object Map]"); - }); - }); - - describe("with set", () => { - it("returns JSON string", () => { - expect(serialize(new Set(["foo", "bar"]))).toBe("[object Set]"); - }); - }); - - describe("with undefined", () => { - it("returns undefined string", () => { - expect(serialize(undefined)).toBe("undefined"); - }); - }); - - describe("with null", () => { - it("returns null string", () => { - expect(serialize(null)).toBe("null"); - }); - }); - - describe("with function", () => { - it("returns function string", () => { - expect(serialize(() => {})).toBe("() => {\n }"); - }); - }); - - describe("with primitives", () => { - it("returns stringified value", () => { - // eslint-disable-next-line @typescript-eslint/quotes - expect(serialize("foo")).toBe("foo"); - expect(serialize(123)).toBe("123"); - expect(serialize(true)).toBe("true"); - }); - }); -}); diff --git a/packages/allure-js-commons/test/utils/writer.ts b/packages/allure-js-commons/test/utils/writer.ts index 6caaa7c6d..a3722de5f 100644 --- a/packages/allure-js-commons/test/utils/writer.ts +++ b/packages/allure-js-commons/test/utils/writer.ts @@ -1,5 +1,5 @@ import { vi } from "vitest"; -import { Category, TestResult, TestResultContainer } from "../../src/index.js"; +import type { Category, TestResult, TestResultContainer } from "../../src/index.js"; export const mockWriter = () => ({ writeResult: vi.fn<[TestResult], void>(), diff --git a/packages/allure-js-commons/tsconfig.esm.json b/packages/allure-js-commons/tsconfig.esm.json deleted file mode 100644 index fd4986560..000000000 --- a/packages/allure-js-commons/tsconfig.esm.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "module": "esnext", - "target": "es2022", - "outDir": "./dist/esm" - } -} diff --git a/packages/allure-js-commons/tsconfig.json b/packages/allure-js-commons/tsconfig.json index 58a61bfc4..b8d4126de 100644 --- a/packages/allure-js-commons/tsconfig.json +++ b/packages/allure-js-commons/tsconfig.json @@ -3,17 +3,15 @@ "include": [ "./src/**/*" ], - "exclude": [ - "./scripts" - ], "compilerOptions": { "declaration": true, "lib": ["dom", "esnext"], "types": [ "node" ], - "target": "es2015", - "outDir": "./dist/cjs", - "module": "commonjs", + "outDir": "./dist/esm", + "module": "es2020", + "moduleResolution": "bundler", + "target": "es2020" } } diff --git a/packages/allure-mocha/babel.cjs.json b/packages/allure-mocha/babel.cjs.json new file mode 100644 index 000000000..8d5e10dfa --- /dev/null +++ b/packages/allure-mocha/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/allure-mocha/babel.esm.json b/packages/allure-mocha/babel.esm.json new file mode 100644 index 000000000..bc8432e04 --- /dev/null +++ b/packages/allure-mocha/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/allure-mocha/package.json b/packages/allure-mocha/package.json index a9ca2d042..f6286c236 100644 --- a/packages/allure-mocha/package.json +++ b/packages/allure-mocha/package.json @@ -21,28 +21,32 @@ }, "exports": { ".": { - "import": "./dist/index.mjs", - "require": "./dist/index.cjs" + "import": "./dist/esm/index.js", + "require": "./dist/cjs/index.js", + "types": "./dist/types/index.d.ts" + }, + "./runtime": { + "import": "./dist/esm/runtime.js", + "require": "./dist/cjs/runtime.js", + "types": "./dist/types/runtime.d.ts" } }, - "main": "./dist/index.cjs", - "module": "./dist/index.mjs", - "types": "./dist/index.d.ts", + "main": "./dist/cjs/index.js", + "module": "./dist/esm/index.js", + "types": "./dist/types/index.d.ts", "files": [ - "dist", - "runtime.js", - "runtime.d.ts" + "dist" ], "scripts": { - "allure-report": "allure serve ./out/allure-results", "clean": "rimraf ./dist ./out", - "compile": "run-p 'compile:*'", - "compile:lib": "rollup -c", - "compile:types": "tsc --project ./tsconfig.dts.json", - "generate-report": "allure generate ./out/allure-results -o ./out/allure-report --clean", + "compile": "run-s 'compile:*'", + "compile:esm-babel": "babel --config-file ./babel.esm.json ./src --out-dir ./dist/esm --extensions '.ts' --source-maps", + "compile:cjs-babel": "babel --config-file ./babel.cjs.json ./src --out-dir ./dist/cjs --extensions '.ts' --source-maps", + "compile:types": "tsc --project ./tsconfig.json --emitDeclarationOnly --declarationDir ./dist/types", + "compile:fixup": "node ./scripts/fixup.mjs", "lint": "eslint ./src ./test --ext .ts", "lint:fix": "eslint ./src ./test --ext .ts --fix", - "test": "yarn run test:serial && yarn run test:parallel", + "test": "run-s 'test:*'", "test:serial": "vitest run ./test/spec/**/*.test.ts", "test:parallel": "ALLURE_MOCHA_TEST_PARALLEL=true vitest run ./test/spec/**/*.test.ts" }, @@ -50,22 +54,22 @@ "allure-js-commons": "workspace:*" }, "devDependencies": { - "@rollup/plugin-commonjs": "^25.0.7", - "@rollup/plugin-node-resolve": "^15.2.3", - "@rollup/plugin-typescript": "^11.1.6", - "@testdeck/mocha": "0.3.3", + "@babel/cli": "^7.24.6", + "@babel/core": "^7.24.6", + "@babel/preset-env": "^7.24.6", + "@babel/preset-typescript": "^7.24.6", + "@types/babel__core": "^7", + "@types/babel__preset-env": "^7", "@types/chai": "^4.3.6", "@types/eslint": "^8", "@types/mocha": "^10.0.1", "@types/node": "^20.6.3", - "@types/sinon": "^17.0.0", "@typescript-eslint/eslint-plugin": "^7.0.0", "@typescript-eslint/parser": "^7.0.0", - "allure-vitest": "workspace:^", + "babel-plugin-add-module-exports": "^1.0.4", "chai": "^4.3.8", "chai-like": "^1.1.1", "chai-things": "^0.2.0", - "codecov": "^3.6.5", "eslint": "^8.57.0", "eslint-config-prettier": "^9.0.0", "eslint-plugin-import": "^2.28.1", @@ -73,13 +77,9 @@ "eslint-plugin-n": "^17.0.0", "eslint-plugin-no-null": "^1.0.2", "eslint-plugin-prefer-arrow": "^1.2.3", - "fs-jetpack": "^4.1.0", - "glob": "^10.3.12", "mocha": "^10.2.0", "npm-run-all2": "^6.1.2", "rimraf": "^5.0.1", - "rollup": "^4.14.1", - "sinon": "^18.0.0", "source-map-support": "^0.5.21", "ts-node": "^10.9.1", "tslib": "^2.6.2", diff --git a/packages/allure-mocha/rollup.config.mjs b/packages/allure-mocha/rollup.config.mjs deleted file mode 100644 index 7a1cf138c..000000000 --- a/packages/allure-mocha/rollup.config.mjs +++ /dev/null @@ -1,59 +0,0 @@ -/* eslint @typescript-eslint/no-unsafe-argument: 0 */ -import typescriptPlugin from "@rollup/plugin-typescript"; -import { join } from "node:path"; -import { fileURLToPath } from "node:url"; -import { defineConfig } from "rollup"; - -const dirname = fileURLToPath(new URL(".", import.meta.url)); - -const createNodeEntry = (inputFile) => { - const outputFileBase = inputFile.replace(/^src/, "dist"); - const external = [ - "mocha", - "node:os", - "node:fs", - "node:path", - "node:process", - "node:worker_threads", - "allure-js-commons", - "allure-js-commons/sdk/node", - "mocha/lib/nodejs/reporters/parallel-buffered.js", - ]; - - return [ - defineConfig({ - input: inputFile, - output: { - file: join(dirname, outputFileBase.replace(/\.ts$/, ".mjs")), - format: "esm", - exports: "named", - sourcemap: true, - }, - plugins: [ - typescriptPlugin({ - tsconfig: "./tsconfig.rollup.json", - }), - ], - external, - }), - defineConfig({ - input: inputFile, - output: { - file: join(dirname, outputFileBase.replace(/\.ts$/, ".cjs")), - format: "cjs", - exports: "named", - sourcemap: true, - }, - plugins: [ - typescriptPlugin({ - tsconfig: "./tsconfig.rollup.json", - }), - ], - external, - }), - ]; -}; - -export default () => { - return [createNodeEntry("src/index.ts"), createNodeEntry("src/setupAllureMochaParallel.ts")].flat(); -}; diff --git a/packages/allure-mocha/runtime.d.ts b/packages/allure-mocha/runtime.d.ts deleted file mode 100644 index bf394e6e2..000000000 --- a/packages/allure-mocha/runtime.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -export { MochaAllure } from "./dist/MochaAllure"; -export { MochaAllureReporter } from "./dist/MochaAllureReporter"; -export { allure, allureGetter } from "./dist/MochaAllureReporter"; diff --git a/packages/allure-mocha/runtime.js b/packages/allure-mocha/runtime.js deleted file mode 100644 index 7ddbe8883..000000000 --- a/packages/allure-mocha/runtime.js +++ /dev/null @@ -1,37 +0,0 @@ -// Typescript does not handle re-exported values correctly -// https://github.com/microsoft/TypeScript/issues/12522 -// We write a manual code here that represents the actual behavior of the standard. -// Based on the Babel output: -// https://babeljs.io/repl#?code_lz=KYDwDg9gTgLgBAbwIYBsUFcrAL5wGZQQC2cA5AHQD0AJgJYDOMl9UAxpQLISsAWSAgmkzAASsEixgUUkA -"use strict"; - -const _MochaAllure = require("./dist/MochaAllure"); -const _MochaAllureReporter = require("./dist/MochaAllureReporter"); - -Object.defineProperty(exports, "__esModule", { - value: true, -}); -Object.defineProperty(module.exports, "MochaAllure", { - enumerable: true, - get: function () { - return _MochaAllure.MochaAllure; - }, -}); -Object.defineProperty(module.exports, "allure", { - enumerable: true, - get: function () { - return _MochaAllureReporter.allure; - }, -}); -Object.defineProperty(module.exports, "allureGetter", { - enumerable: true, - get: function () { - return _MochaAllureReporter.allureGetter; - }, -}); -Object.defineProperty(module.exports, "MochaAllureReporter", { - enumerable: true, - get: function () { - return _MochaAllureReporter.MochaAllureReporter; - }, -}); diff --git a/packages/allure-mocha/scripts/fixup.mjs b/packages/allure-mocha/scripts/fixup.mjs new file mode 100644 index 000000000..59c47a9f4 --- /dev/null +++ b/packages/allure-mocha/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 (err) {} + +try { + mkdirSync(cjsBuildPath, { recursive: true }); +} catch (err) {} + +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/allure-mocha/src/AsyncEventEmitterAdapter.ts b/packages/allure-mocha/src/AsyncEventEmitterAdapter.ts deleted file mode 100644 index 5c23f2e01..000000000 --- a/packages/allure-mocha/src/AsyncEventEmitterAdapter.ts +++ /dev/null @@ -1,54 +0,0 @@ -import { EventEmitter } from "node:events"; - -/** - * Allows to use async functions as event emitter listeners while preserving - * order of their execution. - * Might be useful if we decide to use async listeners in ReporterRuntime. - */ -export class AsyncEventEmitterAdapter { - private chain = Promise.resolve(); - private error: Error | undefined; - - constructor( - private readonly emitter: T, - private readonly onerror: (e: Error) => Promise, - ) {} - - on = (eventName: string | symbol, listener: (...args: any[]) => Promise) => { - this.emitter.on(eventName, (...args: any[]) => { - if (this.error) { - throw this.error; - } - this.chain = new Promise((resolve, reject) => { - this.chain.then(() => { - // eslint-disable-next-line @typescript-eslint/no-unsafe-argument - listener(...args).then(resolve, (e: { message: string; toString: () => string }) => { - this.error = e instanceof Error ? e : new Error(e?.toString() ?? "unknown error"); - this.error.message = `INTERNAL ERROR in ${String(eventName)}: ${e.message}`; - this.onerror(this.error).finally(() => reject(this.error)); - }); - }, reject); - }); - }); - return this; - }; - - /** - * Asynchronously waits until all listeners are done. - */ - wait = async () => await this.chain; - - /** - * Invokes a callback once all async listeners are done. - */ - done = (callback: ((...args: TArgs) => TResult) | undefined, ...args: TArgs) => { - this.chain.finally(() => { - callback?.(...args); - this.chain = Promise.resolve(); - this.error = undefined; - }); - }; - - static wrap = (target: TArg, onerror: (error: Error) => Promise) => - new AsyncEventEmitterAdapter(target, onerror); -} diff --git a/packages/allure-mocha/src/reporter.ts b/packages/allure-mocha/src/MochaAllureReporter.ts similarity index 78% rename from packages/allure-mocha/src/reporter.ts rename to packages/allure-mocha/src/MochaAllureReporter.ts index 5a6a94b35..5ce1c89eb 100644 --- a/packages/allure-mocha/src/reporter.ts +++ b/packages/allure-mocha/src/MochaAllureReporter.ts @@ -1,17 +1,18 @@ import * as Mocha from "mocha"; -import "allure-js-commons"; +import type { Label } from "allure-js-commons"; +import { Stage, Status } from "allure-js-commons"; +import { getStatusFromError } from "allure-js-commons/sdk"; +import type { Config } from "allure-js-commons/sdk/reporter"; import { - AllureNodeReporterRuntime, - Config, - FileSystemAllureWriter, - Stage, - Status, + FileSystemWriter, + ReporterRuntime, ensureSuiteLabels, + getEnvironmentLabels, getPackageLabelFromPath, getRelativePath, - getStatusFromError, -} from "allure-js-commons/sdk/node"; -import { setUpTestRuntime } from "./MochaTestRuntime.js"; +} from "allure-js-commons/sdk/reporter"; +import { setGlobalTestRuntime } from "allure-js-commons/sdk/runtime"; +import { MochaTestRuntime } from "./MochaTestRuntime"; import { getInitialLabels, getSuitesOfMochaTest, resolveParallelModeSetupFile } from "./utils.js"; const { @@ -27,18 +28,18 @@ const { } = Mocha.Runner.constants; export class MochaAllureReporter extends Mocha.reporters.Base { - private readonly runtime: AllureNodeReporterRuntime; + private readonly runtime: ReporterRuntime; constructor(runner: Mocha.Runner, opts: Mocha.MochaOptions) { super(runner, opts); const { resultsDir = "allure-results", writer, ...restOptions }: Config = opts.reporterOptions || {}; - this.runtime = new AllureNodeReporterRuntime({ - writer: writer || new FileSystemAllureWriter({ resultsDir }), + this.runtime = new ReporterRuntime({ + writer: writer || new FileSystemWriter({ resultsDir }), ...restOptions, }); - setUpTestRuntime(this.runtime); + setGlobalTestRuntime(new MochaTestRuntime(this.runtime)); if (opts.parallel) { opts.require = [...(opts.require ?? []), resolveParallelModeSetupFile()]; @@ -70,12 +71,15 @@ export class MochaAllureReporter extends Mocha.reporters.Base { private onTest = (test: Mocha.Test) => { let fullName = ""; - const labels = getInitialLabels(); + const globalLabels = getEnvironmentLabels().filter((label) => !!label.value); + const initialLabels: Label[] = getInitialLabels(); + const labels = globalLabels.concat(initialLabels); if (test.file) { const testPath = getRelativePath(test.file); fullName = `${testPath!}: `; - labels.push(getPackageLabelFromPath(testPath)); + const packageLabelFromPath: Label = getPackageLabelFromPath(testPath); + labels.push(packageLabelFromPath); } fullName += test.titlePath().join(" > "); diff --git a/packages/allure-mocha/src/MochaTestRuntime.ts b/packages/allure-mocha/src/MochaTestRuntime.ts index 34c0c5a75..e57ccc55e 100644 --- a/packages/allure-mocha/src/MochaTestRuntime.ts +++ b/packages/allure-mocha/src/MochaTestRuntime.ts @@ -1,4 +1,6 @@ -import { MessageTestRuntime, ReporterRuntime, RuntimeMessage, setGlobalTestRuntime } from "allure-js-commons/sdk/node"; +import type { RuntimeMessage } from "allure-js-commons/sdk"; +import type { ReporterRuntime } from "allure-js-commons/sdk/reporter"; +import { MessageTestRuntime } from "allure-js-commons/sdk/runtime"; export class MochaTestRuntime extends MessageTestRuntime { constructor(private readonly reporterRuntime: ReporterRuntime) { @@ -10,6 +12,3 @@ export class MochaTestRuntime extends MessageTestRuntime { await Promise.resolve(); } } - -export const setUpTestRuntime = (reporterRuntime: ReporterRuntime) => - setGlobalTestRuntime(new MochaTestRuntime(reporterRuntime)); diff --git a/packages/allure-mocha/src/index.ts b/packages/allure-mocha/src/index.ts index 82acdd9cb..4cab2e0e9 100644 --- a/packages/allure-mocha/src/index.ts +++ b/packages/allure-mocha/src/index.ts @@ -1,3 +1,3 @@ -import { MochaAllureReporter } from "./reporter.js"; +import { MochaAllureReporter } from "./MochaAllureReporter.js"; export default MochaAllureReporter; diff --git a/packages/allure-mocha/src/runtime.ts b/packages/allure-mocha/src/runtime.ts new file mode 100644 index 000000000..43a4a7aa1 --- /dev/null +++ b/packages/allure-mocha/src/runtime.ts @@ -0,0 +1 @@ +export { MochaAllureReporter } from "./MochaAllureReporter.js"; diff --git a/packages/allure-mocha/src/setupAllureMochaParallel.ts b/packages/allure-mocha/src/setupAllureMochaParallel.ts index 629b165e4..b38462434 100644 --- a/packages/allure-mocha/src/setupAllureMochaParallel.ts +++ b/packages/allure-mocha/src/setupAllureMochaParallel.ts @@ -1,7 +1,7 @@ -import * as Mocha from "mocha"; +import type * as Mocha from "mocha"; // @ts-ignore import { default as ParallelBuffered } from "mocha/lib/nodejs/reporters/parallel-buffered.js"; -import { MochaAllureReporter } from "./reporter.js"; +import { MochaAllureReporter } from "./MochaAllureReporter.js"; const originalCreateListeners: (runner: Mocha.Runner) => Mocha.reporters.Base = ParallelBuffered.prototype.createListeners; diff --git a/packages/allure-mocha/src/utils.ts b/packages/allure-mocha/src/utils.ts index 78b8f4052..968278a1a 100644 --- a/packages/allure-mocha/src/utils.ts +++ b/packages/allure-mocha/src/utils.ts @@ -1,9 +1,10 @@ -import * as Mocha from "mocha"; +import type * as Mocha from "mocha"; import { hostname } from "node:os"; import { extname, join } from "node:path"; import { env, pid } from "node:process"; import { isMainThread, threadId } from "node:worker_threads"; -import { Label, LabelName } from "allure-js-commons/sdk/node"; +import type { Label } from "allure-js-commons"; +import { LabelName } from "allure-js-commons"; export const getSuitesOfMochaTest = (test: Mocha.Test) => test.titlePath().slice(0, -1); diff --git a/packages/allure-mocha/test/fixtures/AllureMochaParallelWriter.cjs b/packages/allure-mocha/test/fixtures/AllureMochaParallelWriter.cjs index 6efe9cea2..2c2fc2c5b 100644 --- a/packages/allure-mocha/test/fixtures/AllureMochaParallelWriter.cjs +++ b/packages/allure-mocha/test/fixtures/AllureMochaParallelWriter.cjs @@ -2,9 +2,9 @@ /* eslint @typescript-eslint/no-var-requires: 0 */ /* eslint no-underscore-dangle: 0 */ const ParallelBuffered = require("mocha/lib/nodejs/reporters/parallel-buffered.js"); -const { MessageAllureWriter } = require("allure-js-commons/sdk/node"); +const { MessageWriter } = require("allure-js-commons/sdk/reporter"); -class AllureMochaParallelWriter extends MessageAllureWriter { +class MochaParallelWriter extends MessageWriter { constructor() { super(); this.events = []; @@ -16,7 +16,7 @@ class AllureMochaParallelWriter extends MessageAllureWriter { } } -const writer = new AllureMochaParallelWriter(); +const writer = new MochaParallelWriter(); const originalDone = ParallelBuffered.prototype.done; ParallelBuffered.prototype.done = function (failures, callback) { diff --git a/packages/allure-mocha/test/fixtures/reporter.cjs b/packages/allure-mocha/test/fixtures/reporter.cjs index 56ccfbe73..c01ed417d 100644 --- a/packages/allure-mocha/test/fixtures/reporter.cjs +++ b/packages/allure-mocha/test/fixtures/reporter.cjs @@ -1,14 +1,14 @@ /* eslint @typescript-eslint/no-require-imports: 0 */ /* eslint @typescript-eslint/no-var-requires: 0 */ /* eslint @typescript-eslint/no-unsafe-argument: 0 */ -const MochaAllureReporter = require("allure-mocha").default; +const MochaAllureReporter = require("allure-mocha"); const path = require("path"); class ProcessMessageAllureReporter extends MochaAllureReporter { constructor(runner, opts) { if (opts.reporterOptions?.emitFiles !== "true") { opts.reporterOptions = { - writer: opts.parallel ? path.join(__dirname, "./AllureMochaParallelWriter.cjs") : "MessageAllureWriter", + writer: opts.parallel ? path.join(__dirname, "./AllureMochaParallelWriter.cjs") : "MessageWriter", }; } super(runner, opts); diff --git a/packages/allure-mocha/test/spec/api/globalLabels.test.ts b/packages/allure-mocha/test/spec/api/globalLabels.test.ts index 1f723d767..b626973ed 100644 --- a/packages/allure-mocha/test/spec/api/globalLabels.test.ts +++ b/packages/allure-mocha/test/spec/api/globalLabels.test.ts @@ -1,5 +1,6 @@ import { beforeAll, describe, expect, it } from "vitest"; -import { Label } from "allure-js-commons/sdk/node"; +import type { Label } from "allure-js-commons"; +import { LabelName } from "allure-js-commons"; import { runMochaInlineTest } from "../../utils"; describe("env labels", () => { @@ -34,11 +35,20 @@ describe("env labels", () => { expect(labels).toContainEqual({ name: "workerId", value: "baz" }); }); + it("adds non-empty labels from environment variables", () => { + expect(labels).toMatchObject( + expect.arrayContaining([ + { name: "B", value: "foo" }, + { name: "b", value: "bar" }, + ]), + ); + }); + it("global label takes precedence over the initial one", () => { expect(labels).toMatchObject( expect.arrayContaining([ - { name: "language", value: "foobar" }, - { name: "language", value: "javascript" }, + { name: LabelName.LANGUAGE, value: "foobar" }, + { name: LabelName.LANGUAGE, value: "javascript" }, ]), ); }); diff --git a/packages/allure-mocha/test/spec/api/runtime/attachments.test.ts b/packages/allure-mocha/test/spec/api/runtime/attachments.test.ts index f0b978b9a..c69aecb5a 100644 --- a/packages/allure-mocha/test/spec/api/runtime/attachments.test.ts +++ b/packages/allure-mocha/test/spec/api/runtime/attachments.test.ts @@ -1,5 +1,5 @@ import { beforeAll, describe, expect, it } from "vitest"; -import { AllureResults } from "allure-js-commons/sdk/node"; +import type { AllureResults } from "allure-js-commons/sdk"; import { runMochaInlineTest } from "../../../utils"; describe("test attachments", () => { diff --git a/packages/allure-mocha/test/spec/api/runtime/bdd.test.ts b/packages/allure-mocha/test/spec/api/runtime/bdd.test.ts index 1eaca53c1..2a8ac06c3 100644 --- a/packages/allure-mocha/test/spec/api/runtime/bdd.test.ts +++ b/packages/allure-mocha/test/spec/api/runtime/bdd.test.ts @@ -1,6 +1,6 @@ import { beforeAll, describe, expect, it } from "vitest"; -import { TestResult } from "allure-js-commons"; -import { LabelName } from "allure-js-commons/sdk/node"; +import type { TestResult } from "allure-js-commons"; +import { LabelName } from "allure-js-commons"; import { runMochaInlineTest } from "../../../utils"; describe("bdd labels", () => { diff --git a/packages/allure-mocha/test/spec/api/runtime/labels.test.ts b/packages/allure-mocha/test/spec/api/runtime/labels.test.ts index 8fac04b97..dc2c25633 100644 --- a/packages/allure-mocha/test/spec/api/runtime/labels.test.ts +++ b/packages/allure-mocha/test/spec/api/runtime/labels.test.ts @@ -1,5 +1,5 @@ import { beforeAll, describe, expect, it } from "vitest"; -import { TestResult } from "allure-js-commons/sdk/node"; +import type { TestResult } from "allure-js-commons"; import { runMochaInlineTest } from "../../../utils"; describe("label runtime API", () => { diff --git a/packages/allure-mocha/test/spec/api/runtime/links.test.ts b/packages/allure-mocha/test/spec/api/runtime/links.test.ts index 88aa386bb..0dea10ba2 100644 --- a/packages/allure-mocha/test/spec/api/runtime/links.test.ts +++ b/packages/allure-mocha/test/spec/api/runtime/links.test.ts @@ -1,5 +1,5 @@ import { beforeAll, describe, expect, it } from "vitest"; -import { TestResult } from "allure-js-commons/sdk/node"; +import type { TestResult } from "allure-js-commons"; import { runMochaInlineTest } from "../../../utils"; describe("link", () => { @@ -16,7 +16,7 @@ describe("link", () => { ["links", "multipleLinks"], ); for (const test of tests) { - testMap.set(test.name as string, test); + testMap.set(test.name as string, test as TestResult); } }); diff --git a/packages/allure-mocha/test/spec/api/runtime/metadata.test.ts b/packages/allure-mocha/test/spec/api/runtime/metadata.test.ts index 0ed905f8f..44c4af90c 100644 --- a/packages/allure-mocha/test/spec/api/runtime/metadata.test.ts +++ b/packages/allure-mocha/test/spec/api/runtime/metadata.test.ts @@ -1,5 +1,5 @@ import { beforeAll, describe, expect, it } from "vitest"; -import { TestResult } from "allure-js-commons/sdk/node"; +import type { TestResult } from "allure-js-commons"; import { runMochaInlineTest } from "../../../utils"; describe("test metadata api", () => { diff --git a/packages/allure-mocha/test/spec/api/runtime/parameters.test.ts b/packages/allure-mocha/test/spec/api/runtime/parameters.test.ts index b895a4d07..80b9fabba 100644 --- a/packages/allure-mocha/test/spec/api/runtime/parameters.test.ts +++ b/packages/allure-mocha/test/spec/api/runtime/parameters.test.ts @@ -1,5 +1,5 @@ import { beforeAll, describe, expect, it } from "vitest"; -import { TestResult } from "allure-js-commons/sdk/node"; +import type { TestResult } from "allure-js-commons"; import { runMochaInlineTest } from "../../../utils"; describe("runtime parameter", () => { @@ -13,9 +13,9 @@ describe("runtime parameter", () => { ); for (const testResult of results.tests) { if (testMap.has(testResult.name as string)) { - testMap.get(testResult.name as string)!.push(testResult); + testMap.get(testResult.name as string)!.push(testResult as TestResult); } else { - testMap.set(testResult.name as string, [testResult]); + testMap.set(testResult.name as string, [testResult as TestResult]); } } }); diff --git a/packages/allure-mocha/test/spec/api/runtime/steps.test.ts b/packages/allure-mocha/test/spec/api/runtime/steps.test.ts index 0e63ec205..e0b21844c 100644 --- a/packages/allure-mocha/test/spec/api/runtime/steps.test.ts +++ b/packages/allure-mocha/test/spec/api/runtime/steps.test.ts @@ -1,5 +1,6 @@ import { beforeAll, describe, expect, it } from "vitest"; -import { Stage, Status, TestResult } from "allure-js-commons/sdk/node"; +import type { TestResult } from "allure-js-commons"; +import { Stage, Status } from "allure-js-commons"; import { runMochaInlineTest } from "../../../utils"; describe("step", () => { @@ -20,7 +21,7 @@ describe("step", () => { ["steps", "stepWithHiddenParameter"], ); for (const testResult of results.tests) { - testMap.set(testResult.name as string, testResult); + testMap.set(testResult.name as string, testResult as TestResult); } attachments = results.attachments; }); diff --git a/packages/allure-mocha/test/spec/api/runtime/suites.test.ts b/packages/allure-mocha/test/spec/api/runtime/suites.test.ts index 130c387aa..e139fac60 100644 --- a/packages/allure-mocha/test/spec/api/runtime/suites.test.ts +++ b/packages/allure-mocha/test/spec/api/runtime/suites.test.ts @@ -1,5 +1,5 @@ import { beforeAll, describe, expect, it, test } from "vitest"; -import { TestResult } from "allure-js-commons"; +import type { TestResult } from "allure-js-commons"; import { runMochaInlineTest } from "../../../utils"; describe("suites", () => { diff --git a/packages/allure-mocha/test/spec/api/runtime/tags.test.ts b/packages/allure-mocha/test/spec/api/runtime/tags.test.ts index 69ac337fa..f8a1e58cb 100644 --- a/packages/allure-mocha/test/spec/api/runtime/tags.test.ts +++ b/packages/allure-mocha/test/spec/api/runtime/tags.test.ts @@ -1,5 +1,5 @@ import { expect, it } from "vitest"; -import { LabelName } from "allure-js-commons/sdk/node"; +import { LabelName } from "allure-js-commons"; import { runMochaInlineTest } from "../../../utils"; it("tags can be added at runtime", async () => { diff --git a/packages/allure-mocha/test/spec/framework/containers.test.ts b/packages/allure-mocha/test/spec/framework/containers.test.ts index 5b7a9d534..27daee61c 100644 --- a/packages/allure-mocha/test/spec/framework/containers.test.ts +++ b/packages/allure-mocha/test/spec/framework/containers.test.ts @@ -1,5 +1,5 @@ import { beforeAll, describe, expect, it } from "vitest"; -import { TestResultContainer } from "allure-js-commons/sdk/node"; +import type { TestResultContainer } from "allure-js-commons"; import { runMochaInlineTest } from "../../utils"; describe("containers", () => { diff --git a/packages/allure-mocha/test/spec/framework/fixtures.test.ts b/packages/allure-mocha/test/spec/framework/fixtures.test.ts index ed913b955..7191a4bd6 100644 --- a/packages/allure-mocha/test/spec/framework/fixtures.test.ts +++ b/packages/allure-mocha/test/spec/framework/fixtures.test.ts @@ -1,6 +1,6 @@ /* eslint @typescript-eslint/quotes: off */ import { beforeAll, describe, expect, it } from "vitest"; -import { FixtureResult, TestResult, TestResultContainer } from "allure-js-commons/sdk/node"; +import type { FixtureResult, TestResult, TestResultContainer } from "allure-js-commons"; import { runMochaInlineTest } from "../../utils"; describe("fixtures", () => { @@ -27,7 +27,7 @@ describe("fixtures", () => { it("reports each fixture in its own container", () => { const totalFixtures = groups.reduce((a, v) => a + v.afters.length + v.befores.length, 0); - expect(groups).toHaveLength(totalFixtures as number); + expect(groups).toHaveLength(totalFixtures); }); describe("in suites", () => { diff --git a/packages/allure-mocha/test/spec/framework/result.test.ts b/packages/allure-mocha/test/spec/framework/result.test.ts index fde348b2c..d15ee8b32 100644 --- a/packages/allure-mocha/test/spec/framework/result.test.ts +++ b/packages/allure-mocha/test/spec/framework/result.test.ts @@ -1,5 +1,5 @@ import { beforeAll, describe, expect, it } from "vitest"; -import { TestResult } from "allure-js-commons/sdk/node"; +import type { TestResult } from "allure-js-commons"; import { runMochaInlineTest } from "../../utils"; describe("defaults", () => { diff --git a/packages/allure-mocha/test/spec/framework/statuses.test.ts b/packages/allure-mocha/test/spec/framework/statuses.test.ts index ae6d1b38d..1bd90e48b 100644 --- a/packages/allure-mocha/test/spec/framework/statuses.test.ts +++ b/packages/allure-mocha/test/spec/framework/statuses.test.ts @@ -1,5 +1,6 @@ import { beforeAll, describe, expect, it } from "vitest"; -import { Stage, Status, TestResult } from "allure-js-commons/sdk/node"; +import type { TestResult } from "allure-js-commons"; +import { Stage, Status } from "allure-js-commons"; import { runMochaInlineTest } from "../../utils"; describe("test status", () => { @@ -12,7 +13,7 @@ describe("test status", () => { ["plain-mocha", "skippedTest"], ); for (const test of tests) { - testMap.set(test.name as string, test); + testMap.set(test.name as string, test as TestResult); } }); diff --git a/packages/allure-mocha/test/tsconfig.json b/packages/allure-mocha/test/tsconfig.json deleted file mode 100644 index a6ba90266..000000000 --- a/packages/allure-mocha/test/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "../tsconfig.json", - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - "rootDir": "." - }, - "exclude": [], - "include": ["**/*.ts"] -} diff --git a/packages/allure-mocha/test/utils.ts b/packages/allure-mocha/test/utils.ts index c978f06a4..b10ebc468 100644 --- a/packages/allure-mocha/test/utils.ts +++ b/packages/allure-mocha/test/utils.ts @@ -3,7 +3,8 @@ import { randomUUID } from "node:crypto"; import { appendFileSync } from "node:fs"; import { copyFile, cp, mkdir, writeFile } from "node:fs/promises"; import * as path from "node:path"; -import { AllureResults, TestResult, TestResultContainer } from "allure-js-commons/sdk/node"; +import type { AllureResults } from "allure-js-commons/sdk"; +import { MessageReader } from "allure-js-commons/sdk/reporter"; type MochaRunOptions = { env?: { [keys: string]: string }; @@ -13,7 +14,7 @@ type MochaRunOptions = { export const runMochaInlineTest = async ( sampleOrConfig: string | string[] | MochaRunOptions, ...samples: (string | string[])[] -) => { +): Promise => { let options: MochaRunOptions; if (typeof sampleOrConfig === "object" && !(sampleOrConfig instanceof Array)) { options = sampleOrConfig; @@ -24,12 +25,6 @@ export const runMochaInlineTest = async ( options.mode ??= process.env.ALLURE_MOCHA_TEST_PARALLEL ? "parallel" : "serial"; - const res: AllureResults = { - tests: [], - groups: [], - attachments: {}, - }; - const fixturesPath = path.join(__dirname, "fixtures"); const samplesPath = path.join(fixturesPath, "samples"); const runResultsDir = path.join(fixturesPath, "run-results"); @@ -90,24 +85,10 @@ export const runMochaInlineTest = async ( stdio: "pipe", }); - testProcess.on("message", (message: string) => { - const event: { path: string; type: string; data: string } = JSON.parse(message); - const data = event.type !== "attachment" ? JSON.parse(Buffer.from(event.data, "base64").toString()) : event.data; - - switch (event.type) { - case "container": - res.groups.push(data as TestResultContainer); - break; - case "result": - res.tests.push(data as TestResult); - break; - case "attachment": - res.attachments[event.path] = event.data; - break; - default: - break; - } - }); + const messageReader = new MessageReader(); + + // eslint-disable-next-line @typescript-eslint/no-unsafe-argument + testProcess.on("message", messageReader.handleMessage); testProcess.stdout?.setEncoding("utf8").on("data", (chunk: Buffer | string) => { appendFileSync(stdoutPath, chunk.toString()); @@ -119,7 +100,7 @@ export const runMochaInlineTest = async ( return new Promise((resolve, reject) => { testProcess.on("exit", (code, signal) => { if ((code ?? -1) >= 0 && !signal) { - resolve(res); + resolve(messageReader.results); } else if (signal) { reject(new Error(`mocha was interrupted with ${signal}`)); } else { diff --git a/packages/allure-mocha/tsconfig.dts.json b/packages/allure-mocha/tsconfig.dts.json deleted file mode 100644 index 7c78edde4..000000000 --- a/packages/allure-mocha/tsconfig.dts.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "extends": "./tsconfig", - "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true - }, - "include": ["./src/**/*"], - "exclude": [ - "./test/**", - "runtime.d.ts", - "./src/MochaAllure.ts", - "./src/AllureReporter.ts" - ] -} diff --git a/packages/allure-mocha/tsconfig.json b/packages/allure-mocha/tsconfig.json index c8ba2be9f..a8b4131f8 100644 --- a/packages/allure-mocha/tsconfig.json +++ b/packages/allure-mocha/tsconfig.json @@ -1,23 +1,12 @@ { "extends": "../../tsconfig.json", - "include": [ - "./src/**/*", - "./test/**/*", - "index.ts", - "internal.ts" - ], + "include": ["./src/**/*"], "compilerOptions": { - "skipLibCheck": true, - "module": "ESNext", + "module": "ES2022", "target": "ES2022", "moduleResolution": "bundler", - "lib": [ - "dom", - "esnext" - ], - "types": [ - "node" - ], + "lib": ["dom", "esnext"], + "types": ["node"], "outDir": "./dist" } } diff --git a/packages/allure-mocha/tsconfig.rollup.json b/packages/allure-mocha/tsconfig.rollup.json deleted file mode 100644 index 6c39ac693..000000000 --- a/packages/allure-mocha/tsconfig.rollup.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "./tsconfig.json", - "exclude": [ - "./test/**", - "runtime.d.ts", - "./src/MochaAllure.ts", - "./src/AllureReporter.ts" - ], - "compilerOptions": { - "declaration": false - } -} diff --git a/packages/allure-mocha/tsconfig.test.json b/packages/allure-mocha/tsconfig.test.json new file mode 100644 index 000000000..5272ba9cd --- /dev/null +++ b/packages/allure-mocha/tsconfig.test.json @@ -0,0 +1,7 @@ +{ + "extends": "./tsconfig.json", + "include": ["./test/**/*"], + "compilerOptions": { + "noEmit": true + } +} diff --git a/packages/allure-mocha/vitest.config.mts b/packages/allure-mocha/vitest.config.mts index 50f7869a1..f0e5c5088 100644 --- a/packages/allure-mocha/vitest.config.mts +++ b/packages/allure-mocha/vitest.config.mts @@ -4,9 +4,10 @@ export default defineConfig({ test: { fileParallelism: false, testTimeout: 25000, - reporters: [ - "default", - ], + reporters: ["default"], + typecheck: { + tsconfig: "./tsconfig.test.json", + }, globalSetup: ["./test/setup.ts"], }, }); diff --git a/packages/allure-playwright/babel.cjs.json b/packages/allure-playwright/babel.cjs.json new file mode 100644 index 000000000..5aadea8ef --- /dev/null +++ b/packages/allure-playwright/babel.cjs.json @@ -0,0 +1,13 @@ +{ + "presets": [ + [ + "@babel/preset-typescript", + { + "rewriteImportExtensions": true + } + ], + [ + "@babel/preset-env", + ], + ] +} diff --git a/packages/allure-playwright/babel.esm.json b/packages/allure-playwright/babel.esm.json new file mode 100644 index 000000000..fefcc5a6d --- /dev/null +++ b/packages/allure-playwright/babel.esm.json @@ -0,0 +1,16 @@ +{ + "presets": [ + [ + "@babel/preset-typescript", + { + "rewriteImportExtensions": true + } + ], + [ + "@babel/preset-env", + { + "modules": false, + } + ], + ] +} diff --git a/packages/allure-playwright/package.json b/packages/allure-playwright/package.json index 9ce6442ad..02cadc8de 100644 --- a/packages/allure-playwright/package.json +++ b/packages/allure-playwright/package.json @@ -20,21 +20,23 @@ }, "exports": { ".": { - "import": "./dist/index.mjs", - "require": "./dist/index.cjs" + "require": "./dist/cjs/index.js", + "types": "./dist/types/index.d.ts", + "default": "./dist/cjs/index.js" }, "./testplan": { - "import": "./dist/testplan.mjs", - "require": "./dist/testplan.cjs" + "require": "./dist/cjs/testplan.js", + "types": "./dist/types/testplan.d.ts", + "default": "./dist/cjs/testplan.js" }, "./autoconfig": { - "import": "./dist/autoconfig.mjs", - "require": "./dist/autoconfig.cjs" + "require": "./dist/cjs/autoconfig.js", + "types": "./dist/types/autoconfig.d.ts", + "default": "./dist/cjs/autoconfig.js" } }, - "main": "./dist/index.cjs", - "module": "./dist/index.mjs", - "types": "./dist/index.d.ts", + "main": "./dist/cjs/index.js", + "types": "./dist/types/index.d.ts", "files": [ "dist" ], @@ -42,8 +44,9 @@ "allure-report": "allure serve ./out/allure-results", "clean": "rimraf ./dist ./out", "compile": "run-p 'compile:*'", - "compile:lib": "rollup -c", - "compile:types": "tsc --project ./tsconfig.dts.json", + "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", "generate-report": "allure generate ./out/allure-results -o ./out/allure-report --clean", "lint": "eslint ./src ./test --ext .ts", "lint:fix": "eslint ./src ./test --ext .ts --fix", @@ -51,16 +54,18 @@ "test": "vitest run test/spec" }, "dependencies": { - "allure-js-commons": "workspace:*", - "strip-ansi": "^5.2.0" + "allure-js-commons": "workspace:*" }, "devDependencies": { + "@babel/cli": "^7.24.6", + "@babel/core": "^7.24.6", + "@babel/plugin-transform-modules-commonjs": "^7.24.6", + "@babel/preset-env": "^7.24.6", + "@babel/preset-typescript": "^7.24.6", "@playwright/test": "^1.34.1", - "@rollup/plugin-commonjs": "^25.0.7", - "@rollup/plugin-node-resolve": "^15.2.3", - "@rollup/plugin-typescript": "^11.1.6", + "@types/babel__core": "^7", + "@types/babel__preset-env": "^7", "@types/eslint": "^8", - "@types/md5": "^2", "@types/node": "^20.6.3", "@typescript-eslint/eslint-plugin": "^7.0.0", "@typescript-eslint/parser": "^7.0.0", @@ -71,13 +76,8 @@ "eslint-plugin-n": "^17.0.0", "eslint-plugin-no-null": "^1.0.2", "eslint-plugin-prefer-arrow": "^1.2.3", - "glob": "^10.3.12", - "md5": "^2.3.0", "npm-run-all2": "^6.1.2", - "properties": "^1.2.1", "rimraf": "^5.0.1", - "rollup": "^4.14.3", - "tslib": "^2.6.2", "typescript": "^5.2.2", "vitest": "^1.5.0" } diff --git a/packages/allure-playwright/rollup.config.mjs b/packages/allure-playwright/rollup.config.mjs deleted file mode 100644 index c12d88c8e..000000000 --- a/packages/allure-playwright/rollup.config.mjs +++ /dev/null @@ -1,63 +0,0 @@ -import commonjsPlugin from "@rollup/plugin-commonjs"; -import resolvePlugin from "@rollup/plugin-node-resolve"; -import typescriptPlugin from "@rollup/plugin-typescript"; -import { globSync } from "glob"; -import { join, relative } from "node:path"; -import { fileURLToPath } from "node:url"; -import { defineConfig } from "rollup"; - -const dirname = fileURLToPath(new URL(".", import.meta.url)); - -const createNodeEntry = (inputFile) => { - const outputFileBase = inputFile.replace(/^src/, "dist"); - const external = [ - "node:os", - "node:fs", - "node:process", - "node:path", - "strip-ansi", - "allure-js-commons", - "allure-js-commons/sdk/node", - "allure-js-commons/internal", - "@playwright/test", - ]; - - return [ - defineConfig({ - input: inputFile, - output: { - file: join(dirname, outputFileBase.replace(/\.ts$/, ".mjs")), - format: "esm", - exports: "named", - sourcemap: true, - }, - plugins: [ - typescriptPlugin({ - tsconfig: "./tsconfig.rollup.json", - }), - ], - external, - }), - defineConfig({ - input: inputFile, - output: { - file: join(dirname, outputFileBase.replace(/\.ts$/, ".cjs")), - format: "cjs", - exports: "named", - sourcemap: true, - }, - plugins: [ - typescriptPlugin({ - tsconfig: "./tsconfig.rollup.json", - }), - ], - external, - }), - ]; -}; - -export default () => { - const entries = globSync("src/*.ts", { cwd: dirname }); - - return entries.map(createNodeEntry).flat(); -}; diff --git a/packages/allure-playwright/src/autoconfig.ts b/packages/allure-playwright/src/autoconfig.ts index 148acfb60..ed0ab5817 100644 --- a/packages/allure-playwright/src/autoconfig.ts +++ b/packages/allure-playwright/src/autoconfig.ts @@ -1,4 +1,4 @@ -import { setGlobalTestRuntime } from "allure-js-commons/sdk/node"; +import { setGlobalTestRuntime } from "allure-js-commons/sdk/runtime"; import { AllurePlaywrightTestRuntime } from "./runtime.js"; setGlobalTestRuntime(new AllurePlaywrightTestRuntime()); diff --git a/packages/allure-playwright/src/index.ts b/packages/allure-playwright/src/index.ts index 44fb49c50..80ce99c66 100644 --- a/packages/allure-playwright/src/index.ts +++ b/packages/allure-playwright/src/index.ts @@ -1,5 +1,5 @@ -import { FullConfig } from "@playwright/test"; -import { +import type { FullConfig } from "@playwright/test"; +import type { FullResult, TestResult as PlaywrightTestResult, Suite, @@ -11,27 +11,23 @@ import { existsSync } from "node:fs"; import os from "node:os"; import path from "node:path"; import process from "node:process"; -import stripAnsi from "strip-ansi"; -import { ContentType, ImageDiffAttachment } from "allure-js-commons"; -import { ALLURE_IMAGEDIFF_CONTENT_TYPE, ALLURE_RUNTIME_MESSAGE_CONTENT_TYPE } from "allure-js-commons/internal"; +import type { ImageDiffAttachment, Label, TestResult } from "allure-js-commons"; +import { ContentType, LabelName, Stage, Status } from "allure-js-commons"; +import type { RuntimeMessage, TestPlanV1Test } from "allure-js-commons/sdk"; +import { extractMetadataFromString, getMessageAndTraceFromError, hasLabel, stripAnsi } from "allure-js-commons/sdk"; +import { md5 } from "allure-js-commons/sdk/reporter"; import { - AllureNodeReporterRuntime, - FileSystemAllureWriter, - Label, - LabelName, - MessageAllureWriter, - RuntimeMessage, - Stage, - Status, - TestPlanV1Test, - TestResult, + ALLURE_RUNTIME_MESSAGE_CONTENT_TYPE, + FileSystemWriter, + MessageWriter, + ReporterRuntime, escapeRegExp, - extractMetadataFromString, parseTestPlan, readImageAsBase64, -} from "allure-js-commons/sdk/node"; -import { AllurePlaywrightReporterConfig } from "./model.js"; -import { getStatusDetails, hasLabel, statusToAllureStats } from "./utils.js"; +} from "allure-js-commons/sdk/reporter"; +import { allurePlaywrightLegacyApi } from "./legacy.js"; +import type { AllurePlaywrightReporterConfig } from "./model.js"; +import { statusToAllureStats } from "./utils.js"; // TODO: move to utils.ts const diffEndRegexp = /-((expected)|(diff)|(actual))\.png$/; @@ -71,7 +67,7 @@ export class AllureReporter implements ReporterV2 { suite!: Suite; options: AllurePlaywrightReporterConfig; - private allureRuntime: AllureNodeReporterRuntime | undefined; + private allureRuntime: ReporterRuntime | undefined; private hostname: string = process.env.ALLURE_HOST_NAME || os.hostname(); private globalStartTime = new Date(); private processedDiffs: string[] = []; @@ -147,13 +143,13 @@ export class AllureReporter implements ReporterV2 { onBegin(suite: Suite): void { const writer = this.options.testMode - ? new MessageAllureWriter() - : new FileSystemAllureWriter({ + ? new MessageWriter() + : new FileSystemWriter({ resultsDir: this.options.resultsDir || "./allure-results", }); this.suite = suite; - this.allureRuntime = new AllureNodeReporterRuntime({ + this.allureRuntime = new ReporterRuntime({ ...this.options, writer, }); @@ -173,7 +169,7 @@ export class AllureReporter implements ReporterV2 { labels: titleMetadata.labels, links: [], parameters: [], - testCaseId: this.allureRuntime!.crypto.md5(testCaseIdBase), + testCaseId: md5(testCaseIdBase), fullName: `${relativeFile}:${test.location.line}:${test.location.column}`, }; @@ -229,12 +225,11 @@ export class AllureReporter implements ReporterV2 { const testUuid = this.allureResultsUuids.get(test.id)!; this.allureRuntime!.updateStep((stepResult) => { - // TODO: step can be broken stepResult.status = step.error ? Status.FAILED : Status.PASSED; stepResult.stage = Stage.FINISHED; if (step.error) { - stepResult.statusDetails = getStatusDetails(step.error); + stepResult.statusDetails = { ...getMessageAndTraceFromError(step.error) }; } }, testUuid); this.allureRuntime!.stopStep({ uuid: testUuid }); @@ -254,20 +249,20 @@ export class AllureReporter implements ReporterV2 { testResult.labels.push({ name: LabelName.HOST, value: this.hostname }); testResult.labels.push({ name: LabelName.THREAD, value: thread }); - if (projectSuiteTitle && !hasLabel(testResult, LabelName.PARENT_SUITE)) { + if (projectSuiteTitle && !hasLabel(testResult as TestResult, LabelName.PARENT_SUITE)) { testResult.labels.push({ name: LabelName.PARENT_SUITE, value: projectSuiteTitle }); } - if (this.options.suiteTitle && fileSuiteTitle && !hasLabel(testResult, LabelName.SUITE)) { + if (this.options.suiteTitle && fileSuiteTitle && !hasLabel(testResult as TestResult, LabelName.SUITE)) { testResult.labels.push({ name: LabelName.SUITE, value: fileSuiteTitle }); } - if (suiteTitles.length > 0 && !hasLabel(testResult, LabelName.SUB_SUITE)) { + if (suiteTitles.length > 0 && !hasLabel(testResult as TestResult, LabelName.SUB_SUITE)) { testResult.labels.push({ name: LabelName.SUB_SUITE, value: suiteTitles.join(" > ") }); } if (error) { - testResult.statusDetails = getStatusDetails(error); + testResult.statusDetails = { ...getMessageAndTraceFromError(error) }; } testResult.status = statusToAllureStats(result.status, test.expectedStatus); @@ -283,6 +278,7 @@ export class AllureReporter implements ReporterV2 { { name: "stdout", contentType: ContentType.TEXT, + // eslint-disable-next-line @typescript-eslint/no-unsafe-argument content: Buffer.from(stripAnsi(result.stdout.join("")), "utf8"), }, testUuid, @@ -294,6 +290,7 @@ export class AllureReporter implements ReporterV2 { { name: "stderr", contentType: ContentType.TEXT, + // eslint-disable-next-line @typescript-eslint/no-unsafe-argument content: Buffer.from(stripAnsi(result.stderr.join("")), "utf8"), }, testUuid, @@ -444,7 +441,7 @@ export class AllureReporter implements ReporterV2 { diff: diffBase64, name: diffName, } as ImageDiffAttachment), - contentType: ALLURE_IMAGEDIFF_CONTENT_TYPE, + contentType: ContentType.IMAGEDIFF, fileExtension: ".imagediff", }, testUuid, @@ -461,7 +458,7 @@ export class AllureReporter implements ReporterV2 { /** * @deprecated for removal, import functions directly from "allure-js-commons". */ -export * from "allure-js-commons"; +export const allure = allurePlaywrightLegacyApi; /** * @deprecated for removal, import functions directly from "@playwright/test". diff --git a/packages/allure-playwright/src/legacy.ts b/packages/allure-playwright/src/legacy.ts new file mode 100644 index 000000000..b6711450b --- /dev/null +++ b/packages/allure-playwright/src/legacy.ts @@ -0,0 +1,148 @@ +import * as allure from "allure-js-commons"; +import type { Label, Link } from "allure-js-commons"; + +/** + * @deprecated please use api exported by "allure-js-commons" instead. + */ +export interface AllurePlaywrightLegacyApi { + label: (name: string, value: string) => Promise; + labels: (...labels: Label[]) => Promise; + link: (type: string, url: string, name?: string) => Promise; + links: (...links: Link[]) => Promise; + parameter: ( + name: string, + value: string, + options?: { excluded?: boolean; mode?: "hidden" | "masked" | "default" }, + ) => Promise; + description: (markdown: string) => Promise; + descriptionHtml: (html: string) => Promise; + testCaseId: (id: string) => Promise; + historyId: (id: string) => Promise; + allureId: (id: string) => Promise; + displayName: (name: string) => Promise; + attachment: (name: string, content: Buffer | string, type: string) => Promise; + issue: (name: string, url: string) => Promise; + tms: (name: string, url: string) => Promise; + epic: (name: string) => Promise; + feature: (name: string) => Promise; + story: (name: string) => Promise; + suite: (name: string) => Promise; + parentSuite: (name: string) => Promise; + subSuite: (name: string) => Promise; + owner: (name: string) => Promise; + severity: (name: string) => Promise; + layer: (name: string) => Promise; + tag: (name: string) => Promise; + tags: (...tagsList: string[]) => Promise; + step: (name: string, body: () => Promise) => Promise; +} + +/** + * @deprecated please use api exported by "allure-js-commons" instead. + */ +export const allurePlaywrightLegacyApi: AllurePlaywrightLegacyApi = { + /** + * @deprecated please use import { label } from "allure-js-commons" instead. + */ + label: (...args) => allure.label(...args), + /** + * @deprecated please use import { labels } from "allure-js-commons" instead. + */ + labels: (...labels) => allure.labels(...labels), + /** + * @deprecated please use import { link } from "allure-js-commons" instead. + */ + link: (type, url, name) => allure.link(url, type, name), + /** + * @deprecated please use import { links } from "allure-js-commons" instead. + */ + links: (...links) => allure.links(...links), + /** + * @deprecated please use import { parameter } from "allure-js-commons" instead. + */ + parameter: (name, value, options) => allure.parameter(name, value, options), + /** + * @deprecated please use import { description } from "allure-js-commons" instead. + */ + description: (...args) => allure.description(...args), + /** + * @deprecated please use import { descriptionHtml } from "allure-js-commons" instead. + */ + descriptionHtml: (html) => allure.descriptionHtml(html), + /** + * @deprecated please use import { testCaseId } from "allure-js-commons" instead. + */ + testCaseId: (id) => allure.testCaseId(id), + /** + * @deprecated please use import { historyId } from "allure-js-commons" instead. + */ + historyId: (id) => allure.historyId(id), + /** + * @deprecated please use import { allureId } from "allure-js-commons" instead. + */ + allureId: (id) => allure.allureId(id), + /** + * @deprecated please use import { displayName } from "allure-js-commons" instead. + */ + displayName: (name) => allure.displayName(name), + /** + * @deprecated please use import { attachment } from "allure-js-commons" instead. + */ + attachment: (name, content, type) => allure.attachment(name, content, type), + /** + * @deprecated please use import { issue } from "allure-js-commons" instead. + */ + issue: (name, url) => allure.issue(url, name), + /** + * @deprecated please use import { tms } from "allure-js-commons" instead. + */ + tms: (name, url) => allure.tms(url, name), + /** + * @deprecated please use import { epic } from "allure-js-commons" instead. + */ + epic: (name) => allure.epic(name), + /** + * @deprecated please use import { feature } from "allure-js-commons" instead. + */ + feature: (name) => allure.feature(name), + /** + * @deprecated please use import { story } from "allure-js-commons" instead. + */ + story: (name) => allure.story(name), + /** + * @deprecated please use import { suite } from "allure-js-commons" instead. + */ + suite: (name) => allure.suite(name), + /** + * @deprecated please use import { parentSuite } from "allure-js-commons" instead. + */ + parentSuite: (name) => allure.parentSuite(name), + /** + * @deprecated please use import { subSuite } from "allure-js-commons" instead. + */ + subSuite: (name) => allure.subSuite(name), + /** + * @deprecated please use import { owner } from "allure-js-commons" instead. + */ + owner: (name) => allure.owner(name), + /** + * @deprecated please use import { severity } from "allure-js-commons" instead. + */ + severity: (name) => allure.severity(name), + /** + * @deprecated please use import { layer } from "allure-js-commons" instead. + */ + layer: (name) => allure.layer(name), + /** + * @deprecated please use import { tag } from "allure-js-commons" instead. + */ + tag: (name) => allure.tag(name), + /** + * @deprecated please use import { tags } from "allure-js-commons" instead. + */ + tags: (...tagsList) => allure.tags(...tagsList), + /** + * @deprecated please use import { step } from "allure-js-commons" instead. + */ + step: (name, body) => allure.step(name, body), +}; diff --git a/packages/allure-playwright/src/model.ts b/packages/allure-playwright/src/model.ts index 5db0116f5..c616a4400 100644 --- a/packages/allure-playwright/src/model.ts +++ b/packages/allure-playwright/src/model.ts @@ -1,10 +1,8 @@ -import { Category, Config } from "allure-js-commons/sdk/node"; +import type { Config } from "allure-js-commons/sdk/reporter"; export interface AllurePlaywrightReporterConfig extends Omit { detail?: boolean; outputFolder?: string; suiteTitle?: boolean; testMode?: boolean; - categories?: Category[]; - environmentInfo?: Record; } diff --git a/packages/allure-playwright/src/runtime.ts b/packages/allure-playwright/src/runtime.ts index f889898e7..71dd99e74 100644 --- a/packages/allure-playwright/src/runtime.ts +++ b/packages/allure-playwright/src/runtime.ts @@ -1,12 +1,14 @@ import test from "@playwright/test"; -import { ALLURE_RUNTIME_MESSAGE_CONTENT_TYPE } from "allure-js-commons/internal"; -import { MessageTestRuntime, RuntimeMessage } from "allure-js-commons/sdk/node"; +import type { RuntimeMessage } from "allure-js-commons/sdk"; +import { ALLURE_RUNTIME_MESSAGE_CONTENT_TYPE } from "allure-js-commons/sdk/reporter"; +import { MessageTestRuntime } from "allure-js-commons/sdk/runtime"; export class AllurePlaywrightTestRuntime extends MessageTestRuntime { constructor() { super(); } async sendMessage(message: RuntimeMessage) { + // @ts-ignore await test.info().attach("allure-metadata.json", { contentType: ALLURE_RUNTIME_MESSAGE_CONTENT_TYPE, body: Buffer.from(JSON.stringify(message), "utf8"), diff --git a/packages/allure-playwright/src/testplan.ts b/packages/allure-playwright/src/testplan.ts index 480562ea9..2bae78be4 100644 --- a/packages/allure-playwright/src/testplan.ts +++ b/packages/allure-playwright/src/testplan.ts @@ -1,4 +1,4 @@ -import { escapeRegExp, parseTestPlan } from "allure-js-commons/sdk/node"; +import { escapeRegExp, parseTestPlan } from "allure-js-commons/sdk/reporter"; export const testPlanFilter = () => { const testPlan = parseTestPlan(); diff --git a/packages/allure-playwright/src/types/properties.d.ts b/packages/allure-playwright/src/types/properties.d.ts deleted file mode 100644 index f3da5fb81..000000000 --- a/packages/allure-playwright/src/types/properties.d.ts +++ /dev/null @@ -1,29 +0,0 @@ -declare module "properties" { - export function stringify( - data: any, - options: { - path?: string; - comment?: string; - separator?: string; - unicode?: boolean; - replacer?: (key: string, value: any) => any; - }, - cb?: (result: string, err?: Error) => void, - ): string; - - export function parse( - data: string, - options?: { - path?: boolean; - strict?: boolean; - sections?: boolean; - namespaces?: boolean; - variables?: boolean; - vars?: boolean; - include?: boolean; - separators?: string | string[]; - comments?: string | string[]; - reviver?: (key: string, value: any) => any; - }, - ): undefined | object; -} diff --git a/packages/allure-playwright/src/utils.ts b/packages/allure-playwright/src/utils.ts index ac47038cd..757271640 100644 --- a/packages/allure-playwright/src/utils.ts +++ b/packages/allure-playwright/src/utils.ts @@ -1,7 +1,5 @@ -import { TestStatus } from "@playwright/test"; -import { TestError } from "@playwright/test/reporter"; -import stripAnsi from "strip-ansi"; -import { LabelName, Status, StatusDetails, TestResult } from "allure-js-commons/sdk/node"; +import type { TestStatus } from "@playwright/test"; +import { Status } from "allure-js-commons"; export const statusToAllureStats = (status: TestStatus, expectedStatus: TestStatus): Status => { if (status === "skipped") { @@ -18,23 +16,3 @@ export const statusToAllureStats = (status: TestStatus, expectedStatus: TestStat return Status.FAILED; }; - -export const getStatusDetails = (error: TestError): StatusDetails => { - const message = error.message && stripAnsi(error.message); - - let trace = error.stack && stripAnsi(error.stack); - - if (trace && message && trace.startsWith(`Error: ${message}`)) { - trace = trace.substr(message.length + "Error: ".length); - } - - return { - message, - trace, - }; -}; - -// TODO: move to commons -export const hasLabel = (testResult: TestResult, labelName: LabelName): boolean => { - return !!testResult.labels.find((l) => l.name === labelName); -}; diff --git a/packages/allure-playwright/test/spec/categories.spec.ts b/packages/allure-playwright/test/spec/categories.spec.ts index f2d99c37f..2f6d067ed 100644 --- a/packages/allure-playwright/test/spec/categories.spec.ts +++ b/packages/allure-playwright/test/spec/categories.spec.ts @@ -1,5 +1,5 @@ import { expect, it } from "vitest"; -import { Status } from "allure-js-commons/sdk/node"; +import { Status } from "allure-js-commons"; import { runPlaywrightInlineTest } from "../utils"; it("has categories", async () => { diff --git a/packages/allure-playwright/test/spec/runtime/legacy/attachments.spec.ts b/packages/allure-playwright/test/spec/runtime/legacy/attachments.spec.ts index 346a2cae5..5f23327b7 100644 --- a/packages/allure-playwright/test/spec/runtime/legacy/attachments.spec.ts +++ b/packages/allure-playwright/test/spec/runtime/legacy/attachments.spec.ts @@ -1,25 +1,25 @@ import { expect, it } from "vitest"; -import { ContentType } from "allure-js-commons/sdk/node"; +import { ContentType } from "allure-js-commons"; import { runPlaywrightInlineTest } from "../../../utils"; it("should add attachments into steps", async () => { const { tests, attachments } = await runPlaywrightInlineTest({ "sample.test.js": ` - import { test, step, attachment } from 'allure-playwright'; + import { test, allure } from 'allure-playwright'; test('should add attachment', async ({}, testInfo) => { - await step('outer step 1', async () => { - await step('inner step 1.1', async () => { - await attachment('some', 'some-data', 'text/plain'); + await allure.step('outer step 1', async () => { + await allure.step('inner step 1.1', async () => { + await allure.attachment('some', 'some-data', 'text/plain'); }); - await step('inner step 1.2', async () => { + await allure.step('inner step 1.2', async () => { }); }); - await step('outer step 2', async () => { - await step('inner step 2.1', async () => { + await allure.step('outer step 2', async () => { + await allure.step('inner step 2.1', async () => { }); - await step('inner step 2.2', async () => { - await attachment('some', 'other-data', 'text/plain'); + await allure.step('inner step 2.2', async () => { + await allure.attachment('some', 'other-data', 'text/plain'); }); }); }); @@ -103,21 +103,21 @@ it("should add attachments into steps", async () => { it("doesn't not report detail steps for attachments", async () => { const { tests, attachments } = await runPlaywrightInlineTest({ "sample.test.js": ` - import { test, step, attachment } from 'allure-playwright'; + import { test, allure } from 'allure-playwright'; test('should add attachment', async ({}, testInfo) => { - await step('outer step 1', async () => { - await step('inner step 1.1', async () => { - await attachment('some', 'some-data', 'text/plain'); + await allure.step('outer step 1', async () => { + await allure.step('inner step 1.1', async () => { + await allure.attachment('some', 'some-data', 'text/plain'); }); - await step('inner step 1.2', async () => { + await allure.step('inner step 1.2', async () => { }); }); - await step('outer step 2', async () => { - await step('inner step 2.1', async () => { + await allure.step('outer step 2', async () => { + await allure.step('inner step 2.1', async () => { }); - await step('inner step 2.2', async () => { - await attachment('some', 'other-data', 'text/plain'); + await allure.step('inner step 2.2', async () => { + await allure.attachment('some', 'other-data', 'text/plain'); }); }); }); diff --git a/packages/allure-playwright/test/spec/runtime/legacy/labelOverride.spec.ts b/packages/allure-playwright/test/spec/runtime/legacy/labelOverride.spec.ts index 135ea74f3..0f3c33de6 100644 --- a/packages/allure-playwright/test/spec/runtime/legacy/labelOverride.spec.ts +++ b/packages/allure-playwright/test/spec/runtime/legacy/labelOverride.spec.ts @@ -1,21 +1,22 @@ import { expect, it } from "vitest"; -import { LabelName } from "allure-js-commons/sdk/node"; +import type { Label } from "allure-js-commons"; +import { LabelName } from "allure-js-commons"; import { runPlaywrightInlineTest } from "../../../utils"; it("overrides suite label", async () => { const { tests } = await runPlaywrightInlineTest({ "a.test.ts": ` - import { test, expect, suite } from "allure-playwright" + import { test, expect, allure } from "allure-playwright" test('should override SUITE label', async ({}) => { - await suite('SUITE Override'); + await allure.suite('SUITE Override'); }); `, }); expect(tests).toHaveLength(1); - const suiteLabels = tests[0]!.labels.filter(({ name }) => name === LabelName.SUITE); + const suiteLabels = tests[0]!.labels.filter((label: Label) => label.name === LabelName.SUITE); expect(suiteLabels).toHaveLength(1); expect(suiteLabels[0]).toEqual({ name: LabelName.SUITE, value: "SUITE Override" }); @@ -24,36 +25,39 @@ it("overrides suite label", async () => { it("overrides parent-suite label", async () => { const { tests } = await runPlaywrightInlineTest({ "a.test.ts": ` - import { test, expect, parentSuite } from "allure-playwright" + import { test, expect, allure } from "allure-playwright" test('should override PARENT SUITE label', async ({}) => { - await parentSuite('PARENT SUITE Override'); + await allure.parentSuite('PARENT SUITE Override'); }); `, }); expect(tests).toHaveLength(1); - const parentSuiteLabels = tests[0]!.labels.filter(({ name }) => name === LabelName.PARENT_SUITE); + const parentSuiteLabels = tests[0]!.labels.filter((label: Label) => label.name === LabelName.PARENT_SUITE); expect(parentSuiteLabels).toHaveLength(1); - expect(parentSuiteLabels[0]).toEqual({ name: LabelName.PARENT_SUITE, value: "PARENT SUITE Override" }); + expect(parentSuiteLabels[0]).toEqual({ + name: LabelName.PARENT_SUITE, + value: "PARENT SUITE Override", + }); }); it("overrides sub-suite label", async () => { const { tests } = await runPlaywrightInlineTest({ "a.test.ts": ` - import { test, expect, subSuite } from "allure-playwright" + import { test, expect, allure } from "allure-playwright" test('should override SUB SUITE label', async ({}) => { - await subSuite('SUB SUITE Override'); + await allure.subSuite('SUB SUITE Override'); }); `, }); expect(tests).toHaveLength(1); - const subSuiteLabels = tests[0]!.labels.filter(({ name }) => name === LabelName.SUB_SUITE); + const subSuiteLabels = tests[0]!.labels.filter((label: Label) => label.name === LabelName.SUB_SUITE); expect(subSuiteLabels).toHaveLength(1); expect(subSuiteLabels[0]).toEqual({ name: LabelName.SUB_SUITE, value: "SUB SUITE Override" }); diff --git a/packages/allure-playwright/test/spec/runtime/legacy/labels.spec.ts b/packages/allure-playwright/test/spec/runtime/legacy/labels.spec.ts index f8adf631a..0330afc5b 100644 --- a/packages/allure-playwright/test/spec/runtime/legacy/labels.spec.ts +++ b/packages/allure-playwright/test/spec/runtime/legacy/labels.spec.ts @@ -5,38 +5,22 @@ import { runPlaywrightInlineTest } from "../../../utils"; it("sets runtime labels", async () => { const { tests } = await runPlaywrightInlineTest({ "sample.test.js": ` - import { - test, - expect, - label, - labels, - feature, - allureId, - epic, - layer, - owner, - parentSuite, - suite, - subSuite, - severity, - story, - tag, - } from "allure-playwright"; + import { test, expect, allure } from "allure-playwright"; test("should add epic label", async ({}, testInfo) => { - await label("foo", "bar"); - await allureId("foo"); - await epic("foo"); - await feature("foo"); - await layer("foo"); - await owner("foo"); - await parentSuite("foo"); - await subSuite("foo"); - await suite("foo"); - await severity("foo"); - await story("foo"); - await tag("foo"); - await labels({ name: "test", value: "testValue" }, { name: "test2", value: "testValue2" }); + await allure.label("foo", "bar"); + await allure.allureId("foo"); + await allure.epic("foo"); + await allure.feature("foo"); + await allure.layer("foo"); + await allure.owner("foo"); + await allure.parentSuite("foo"); + await allure.subSuite("foo"); + await allure.suite("foo"); + await allure.severity("foo"); + await allure.story("foo"); + await allure.tag("foo"); + await allure.labels({ name: "test", value: "testValue" }, { name: "test2", value: "testValue2" }); }); `, }); diff --git a/packages/allure-playwright/test/spec/runtime/legacy/links.spec.ts b/packages/allure-playwright/test/spec/runtime/legacy/links.spec.ts index 68f88ba85..32cc531f9 100644 --- a/packages/allure-playwright/test/spec/runtime/legacy/links.spec.ts +++ b/packages/allure-playwright/test/spec/runtime/legacy/links.spec.ts @@ -1,19 +1,18 @@ import { expect, it } from "vitest"; -import { LinkType } from "allure-js-commons"; import { runPlaywrightInlineTest } from "../../../utils"; it("sets runtime links", async () => { const results = await runPlaywrightInlineTest({ "sample.test.js": ` - import { test, link, links, issue, tms } from 'allure-playwright'; + import { test, allure } from 'allure-playwright'; - test('should add epic link', async ({}, testInfo) => { - await link("https://playwright.dev/docs/api/class-page#page-workers"); - await issue("1"); - await issue("https://example.org/issues/2"); - await tms("1"); - await tms("https://example.org/tasks/2"); - await links(...[{ url:"https://www.google.com/1" }, { url:"https://www.google.com/2" }]); + test('should add links', async ({}, testInfo) => { + await allure.link("custom", "https://playwright.dev/docs/api/class-page#page-workers"); + await allure.issue("issue 1", "1"); + await allure.issue("issue 2", "https://example.org/issues/2"); + await allure.tms("task 1", "1"); + await allure.tms("task 2", "https://example.org/tasks/2"); + await allure.links(...[{ url:"https://www.google.com/1" }, { url:"https://www.google.com/2" }]); }); `, "playwright.config.js": ` @@ -27,11 +26,11 @@ it("sets runtime links", async () => { suiteTitle: true, links: [ { - type: "${LinkType.ISSUE}", + type: "issue", urlTemplate: "https://example.org/issues/%s", }, { - type: "${LinkType.TMS}", + type: "tms", urlTemplate: "https://example.org/tasks/%s", } ] @@ -53,22 +52,27 @@ it("sets runtime links", async () => { links: [ { url: "https://playwright.dev/docs/api/class-page#page-workers", + type: "custom", }, { url: "https://example.org/issues/1", - type: LinkType.ISSUE, + type: "issue", + name: "issue 1", }, { url: "https://example.org/issues/2", - type: LinkType.ISSUE, + type: "issue", + name: "issue 2", }, { url: "https://example.org/tasks/1", - type: LinkType.TMS, + type: "tms", + name: "task 1", }, { url: "https://example.org/tasks/2", - type: LinkType.TMS, + type: "tms", + name: "task 2", }, { url: "https://www.google.com/1", diff --git a/packages/allure-playwright/test/spec/runtime/legacy/parameters.spec.ts b/packages/allure-playwright/test/spec/runtime/legacy/parameters.spec.ts index 3aa58a705..f4e98686c 100644 --- a/packages/allure-playwright/test/spec/runtime/legacy/parameters.spec.ts +++ b/packages/allure-playwright/test/spec/runtime/legacy/parameters.spec.ts @@ -5,13 +5,13 @@ it("sets parameters", async () => { const { tests } = await runPlaywrightInlineTest( { "sample.test.js": ` - import { test, expect, parameter } from "allure-playwright"; + import { test, expect, allure } from "allure-playwright"; test('should add epic label', async ({}) => { - await parameter("param1", "paramValue1"); - await parameter("param2", "paramValue2", {excluded:true}); - await parameter("param3", "paramValue3", {mode:"masked", excluded:true}); - await parameter("param4", "paramValue4", {mode:"hidden"}); + await allure.parameter("param1", "paramValue1"); + await allure.parameter("param2", "paramValue2", {excluded:true}); + await allure.parameter("param3", "paramValue3", {mode:"masked", excluded:true}); + await allure.parameter("param4", "paramValue4", {mode:"hidden"}); }); `, }, diff --git a/packages/allure-playwright/test/spec/runtime/legacy/steps.spec.ts b/packages/allure-playwright/test/spec/runtime/legacy/steps.spec.ts index 7504cdbe9..1eb5d2f19 100644 --- a/packages/allure-playwright/test/spec/runtime/legacy/steps.spec.ts +++ b/packages/allure-playwright/test/spec/runtime/legacy/steps.spec.ts @@ -1,14 +1,14 @@ import { expect, it } from "vitest"; -import { Stage, Status } from "allure-js-commons/sdk/node"; +import { Stage, Status } from "allure-js-commons"; import { runPlaywrightInlineTest } from "../../../utils"; it("handles single lambda step", async () => { const { tests } = await runPlaywrightInlineTest({ "sample.spec.ts": ` - import { test, step } from "allure-playwright"; + import { test, allure } from "allure-playwright"; test("steps", async () => { - await step("step", () => {}); + await allure.step("step", () => {}); }); `, }); @@ -26,11 +26,11 @@ it("handles single lambda step", async () => { it("handles single lambda step with attachment", async () => { const { tests, attachments } = await runPlaywrightInlineTest({ "sample.test.ts": ` - import { test, step, attachment } from "allure-playwright"; + import { test, allure } from "allure-playwright"; test("steps", async () => { - await step("step", async () => { - await attachment("foo.txt", Buffer.from("bar"), "text/plain"); + await allure.step("step", async () => { + await allure.attachment("foo.txt", Buffer.from("bar"), "text/plain"); }); }); `, @@ -50,12 +50,12 @@ it("handles single lambda step with attachment", async () => { it("handles nested lambda steps", async () => { const { tests } = await runPlaywrightInlineTest({ "sample.test.ts": ` - import { test, step } from "allure-playwright"; + import { test, allure } from "allure-playwright"; test("steps", async () => { - await step("step 1", async () => { - await step("step 2", async () => { - await step("step 3", () => { + await allure.step("step 1", async () => { + await allure.step("step 2", async () => { + await allure.step("step 3", () => { }); }); }); diff --git a/packages/allure-playwright/test/spec/runtime/legacy/tags.spec.ts b/packages/allure-playwright/test/spec/runtime/legacy/tags.spec.ts index 40b37e6c5..8803f37d6 100644 --- a/packages/allure-playwright/test/spec/runtime/legacy/tags.spec.ts +++ b/packages/allure-playwright/test/spec/runtime/legacy/tags.spec.ts @@ -1,17 +1,17 @@ import { expect, it } from "vitest"; -import { LabelName } from "allure-js-commons/sdk/node"; +import { LabelName } from "allure-js-commons"; import { runPlaywrightInlineTest } from "../../../utils"; it("sets multiply tags", async () => { const results = await runPlaywrightInlineTest({ "sample.test.js": ` - import { test, tag, tags } from 'allure-playwright'; + import { test, allure } from 'allure-playwright'; test('should add multiply tags', async ({}, testInfo) => { - await tag('Allure'); - await tag('Playwright'); - await tag('TestInfo'); - await tags(...['some', 'other', 'tags']); + await allure.tag('Allure'); + await allure.tag('Playwright'); + await allure.tag('TestInfo'); + await allure.tags(...['some', 'other', 'tags']); }); `, }); diff --git a/packages/allure-playwright/test/spec/runtime/modern/attachments.spec.ts b/packages/allure-playwright/test/spec/runtime/modern/attachments.spec.ts index 6ffd04c95..a0d4f0ac2 100644 --- a/packages/allure-playwright/test/spec/runtime/modern/attachments.spec.ts +++ b/packages/allure-playwright/test/spec/runtime/modern/attachments.spec.ts @@ -1,5 +1,5 @@ import { expect, it } from "vitest"; -import { ContentType } from "allure-js-commons/sdk/node"; +import { ContentType } from "allure-js-commons"; import { runPlaywrightInlineTest } from "../../../utils"; it("should add attachments into steps", async () => { diff --git a/packages/allure-playwright/test/spec/runtime/modern/labelOverride.spec.ts b/packages/allure-playwright/test/spec/runtime/modern/labelOverride.spec.ts index 9cb0b9a7c..12447f7cc 100644 --- a/packages/allure-playwright/test/spec/runtime/modern/labelOverride.spec.ts +++ b/packages/allure-playwright/test/spec/runtime/modern/labelOverride.spec.ts @@ -1,5 +1,5 @@ import { expect, it } from "vitest"; -import { LabelName } from "allure-js-commons/sdk/node"; +import { LabelName } from "allure-js-commons"; import { runPlaywrightInlineTest } from "../../../utils"; it("overrides suite label", async () => { @@ -16,7 +16,7 @@ it("overrides suite label", async () => { expect(tests).toHaveLength(1); - const suiteLabels = tests[0]!.labels.filter(({ name }) => name === LabelName.SUITE); + const suiteLabels = tests[0]!.labels.filter((label) => label.name === LabelName.SUITE); expect(suiteLabels).toHaveLength(1); expect(suiteLabels[0]).toEqual({ name: LabelName.SUITE, value: "SUITE Override" }); @@ -36,7 +36,7 @@ it("overrides parent-suite label", async () => { expect(tests).toHaveLength(1); - const parentSuiteLabels = tests[0]!.labels.filter(({ name }) => name === LabelName.PARENT_SUITE); + const parentSuiteLabels = tests[0]!.labels.filter((label) => label.name === LabelName.PARENT_SUITE); expect(parentSuiteLabels).toHaveLength(1); expect(parentSuiteLabels[0]).toEqual({ name: LabelName.PARENT_SUITE, value: "PARENT SUITE Override" }); @@ -56,7 +56,7 @@ it("overrides sub-suite label", async () => { expect(tests).toHaveLength(1); - const subSuiteLabels = tests[0]!.labels.filter(({ name }) => name === LabelName.SUB_SUITE); + const subSuiteLabels = tests[0]!.labels.filter((label) => label.name === LabelName.SUB_SUITE); expect(subSuiteLabels).toHaveLength(1); expect(subSuiteLabels[0]).toEqual({ name: LabelName.SUB_SUITE, value: "SUB SUITE Override" }); diff --git a/packages/allure-playwright/test/spec/runtime/modern/steps.spec.ts b/packages/allure-playwright/test/spec/runtime/modern/steps.spec.ts index 3009cafc9..ded8e098b 100644 --- a/packages/allure-playwright/test/spec/runtime/modern/steps.spec.ts +++ b/packages/allure-playwright/test/spec/runtime/modern/steps.spec.ts @@ -1,5 +1,5 @@ import { expect, it } from "vitest"; -import { Stage, Status } from "allure-js-commons/sdk/node"; +import { Stage, Status } from "allure-js-commons"; import { runPlaywrightInlineTest } from "../../../utils"; it("handles single lambda step", async () => { diff --git a/packages/allure-playwright/test/spec/runtime/modern/tags.spec.ts b/packages/allure-playwright/test/spec/runtime/modern/tags.spec.ts index b3d145cd0..943ccc424 100644 --- a/packages/allure-playwright/test/spec/runtime/modern/tags.spec.ts +++ b/packages/allure-playwright/test/spec/runtime/modern/tags.spec.ts @@ -1,5 +1,5 @@ import { expect, it } from "vitest"; -import { LabelName } from "allure-js-commons/sdk/node"; +import { LabelName } from "allure-js-commons"; import { runPlaywrightInlineTest } from "../../../utils"; it("sets multiply tags", async () => { diff --git a/packages/allure-playwright/test/spec/stdio.spec.ts b/packages/allure-playwright/test/spec/stdio.spec.ts index cdc369052..c85fbb94c 100644 --- a/packages/allure-playwright/test/spec/stdio.spec.ts +++ b/packages/allure-playwright/test/spec/stdio.spec.ts @@ -1,5 +1,5 @@ import { expect, it } from "vitest"; -import { ContentType } from "allure-js-commons/sdk/node"; +import { ContentType } from "allure-js-commons"; import { runPlaywrightInlineTest } from "../utils"; it("reports stdout", async () => { diff --git a/packages/allure-playwright/test/spec/steps.spec.ts b/packages/allure-playwright/test/spec/steps.spec.ts index bd73ba719..48713c1d8 100644 --- a/packages/allure-playwright/test/spec/steps.spec.ts +++ b/packages/allure-playwright/test/spec/steps.spec.ts @@ -1,5 +1,5 @@ import { expect, it } from "vitest"; -import { Stage, Status } from "allure-js-commons/sdk/node"; +import { Stage, Status } from "allure-js-commons"; import { runPlaywrightInlineTest } from "../utils"; it("reports test steps", async () => { diff --git a/packages/allure-playwright/test/spec/testplan.spec.ts b/packages/allure-playwright/test/spec/testplan.spec.ts index 4d59b30a6..40d0fe1af 100644 --- a/packages/allure-playwright/test/spec/testplan.spec.ts +++ b/packages/allure-playwright/test/spec/testplan.spec.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from "vitest"; -import { TestPlanV1 } from "allure-js-commons/sdk/node"; +import type { TestPlanV1 } from "allure-js-commons/sdk"; import { runPlaywrightInlineTest } from "../utils"; describe("testplan with v1 reporter full names", () => { diff --git a/packages/allure-playwright/test/spec/titleMetadata.spec.ts b/packages/allure-playwright/test/spec/titleMetadata.spec.ts index 98f165b23..8c742d415 100644 --- a/packages/allure-playwright/test/spec/titleMetadata.spec.ts +++ b/packages/allure-playwright/test/spec/titleMetadata.spec.ts @@ -1,5 +1,5 @@ import { expect, it } from "vitest"; -import { LabelName } from "allure-js-commons/sdk/node"; +import { LabelName } from "allure-js-commons"; import { runPlaywrightInlineTest } from "../utils"; it("has metadata from title", async () => { diff --git a/packages/allure-playwright/test/utils.ts b/packages/allure-playwright/test/utils.ts index 65364f4e1..3867d0b9f 100644 --- a/packages/allure-playwright/test/utils.ts +++ b/packages/allure-playwright/test/utils.ts @@ -2,23 +2,14 @@ import { fork } from "child_process"; import { randomUUID } from "node:crypto"; import { mkdir, rm, writeFile } from "node:fs/promises"; import { dirname, join } from "node:path"; -import { parse } from "properties"; -import { AllureResults, EnvironmentInfo, TestResult, TestResultContainer } from "allure-js-commons/sdk/node"; - -const parseJsonResult = (data: string) => { - return JSON.parse(Buffer.from(data, "base64").toString("utf8")) as T; -}; +import type { AllureResults } from "allure-js-commons/sdk"; +import { MessageReader } from "allure-js-commons/sdk/reporter"; export const runPlaywrightInlineTest = async ( files: Record, cliArgs: string[] = [], env?: Record, ): Promise => { - const res: AllureResults = { - tests: [], - groups: [], - attachments: {}, - }; const testFiles = { "playwright.config.js": ` module.exports = { @@ -63,42 +54,22 @@ export const runPlaywrightInlineTest = async ( stdio: "pipe", }); + const messageReader = new MessageReader(); + + // eslint-disable-next-line @typescript-eslint/no-unsafe-argument + testProcess.on("message", messageReader.handleMessage); testProcess.stdout?.setEncoding("utf8").on("data", (chunk) => { process.stdout.write(String(chunk)); }); testProcess.stderr?.setEncoding("utf8").on("data", (chunk) => { process.stderr.write(String(chunk)); }); - testProcess.on("message", (message: string) => { - const event: { path: string; type: string; data: string } = JSON.parse(message); - - switch (event.type) { - case "container": - res.groups.push(parseJsonResult(event.data)); - break; - case "result": - res.tests.push(parseJsonResult(event.data)); - break; - case "attachment": - res.attachments[event.path] = event.data; - break; - case "misc": - res.envInfo = - event.path === "environment.properties" - ? (parse(Buffer.from(event.data, "base64").toString()) as EnvironmentInfo) - : undefined; - res.categories = event.path === "categories.json" ? parseJsonResult(event.data) : undefined; - break; - default: - break; - } - }); return new Promise((resolve) => { testProcess.on("exit", async () => { await rm(testDir, { recursive: true }); - return resolve(res); + return resolve(messageReader.results); }); }); }; diff --git a/packages/allure-playwright/tsconfig.dts.json b/packages/allure-playwright/tsconfig.dts.json deleted file mode 100644 index 6ae02c1aa..000000000 --- a/packages/allure-playwright/tsconfig.dts.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "./tsconfig", - "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true - }, - "include": ["./src/**/*"], - "exclude": ["./test/**/*"] -} diff --git a/packages/allure-playwright/tsconfig.json b/packages/allure-playwright/tsconfig.json index b6b1219da..4a2b8e943 100644 --- a/packages/allure-playwright/tsconfig.json +++ b/packages/allure-playwright/tsconfig.json @@ -1,21 +1,18 @@ { "extends": "../../tsconfig.json", "include": [ - "./src/**/*", - "./test/**/*" + "./src/**/*" ], "compilerOptions": { - "skipLibCheck": true, - "module": "ESNext", - "target": "ES2022", - "moduleResolution": "bundler", - "lib": [ - "dom", - "esnext" - ], + "declaration": true, + "emitDeclarationOnly": true, + "lib": ["dom", "esnext"], "types": [ "node" ], - "outDir": "./dist" + "outDir": "./dist/types", + "module": "ES2020", + "moduleResolution": "Bundler", + "target": "ES2020" } } diff --git a/packages/allure-playwright/tsconfig.rollup.json b/packages/allure-playwright/tsconfig.rollup.json deleted file mode 100644 index cf5f3b001..000000000 --- a/packages/allure-playwright/tsconfig.rollup.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "extends": "./tsconfig.json", - "exclude": ["./test/**/*"], - "compilerOptions": { - "declaration": false - } -} diff --git a/packages/allure-playwright/tsconfig.test.json b/packages/allure-playwright/tsconfig.test.json new file mode 100644 index 000000000..5272ba9cd --- /dev/null +++ b/packages/allure-playwright/tsconfig.test.json @@ -0,0 +1,7 @@ +{ + "extends": "./tsconfig.json", + "include": ["./test/**/*"], + "compilerOptions": { + "noEmit": true + } +} diff --git a/packages/allure-playwright/vitest.config.ts b/packages/allure-playwright/vitest.config.ts index 8f5ca52bf..93cb748bd 100644 --- a/packages/allure-playwright/vitest.config.ts +++ b/packages/allure-playwright/vitest.config.ts @@ -7,5 +7,8 @@ export default defineConfig({ reporters: [ "default", ], + typecheck: { + tsconfig: "./tsconfig.test.json" + } }, }); diff --git a/packages/allure-vitest/.eslintrc.cjs b/packages/allure-vitest/.eslintrc.cjs index 4259913e8..479c1417d 100644 --- a/packages/allure-vitest/.eslintrc.cjs +++ b/packages/allure-vitest/.eslintrc.cjs @@ -9,6 +9,6 @@ module.exports = { }, parserOptions: { tsconfigRootDir: __dirname, - project: "tsconfig.json", + project: "tsconfig.test.json", }, }; diff --git a/packages/allure-vitest/.gitignore b/packages/allure-vitest/.gitignore index 6e5ff9f85..3950a4a97 100644 --- a/packages/allure-vitest/.gitignore +++ b/packages/allure-vitest/.gitignore @@ -1,4 +1,2 @@ test/fixtures/ -*.js -*.d.ts vitest.config.ts.timestamp-* diff --git a/packages/allure-vitest/README.md b/packages/allure-vitest/README.md index 9f0c744f0..e29ee80c2 100644 --- a/packages/allure-vitest/README.md +++ b/packages/allure-vitest/README.md @@ -25,7 +25,6 @@ npm i -D allure-vitest Add instance of the reporter to the [`reporters` section](https://vitest.dev/config/#reporters) of your Vitest config: ```js -import AllureReporter from "allure-vitest/reporter"; import { defineConfig } from "vitest/config"; export default defineConfig({ @@ -35,9 +34,7 @@ export default defineConfig({ reporters: [ // do not forget to keep the "default" if you want to see something in the console "default", - new AllureReporter({ - resultsDir: "./allure-results", - }), + ["allure-vitest/reporter", { resultsDir: "./out/allure-results" }], ], }, }); @@ -87,7 +84,6 @@ You can also configure links formatters to make usage much more convenient. `%s` in `urlTemplate` parameter will be replaced by given value. ```diff -import AllureReporter from "allure-vitest/reporter"; import { defineConfig } from "vitest/config"; export default defineConfig({ @@ -95,7 +91,7 @@ export default defineConfig({ setupFiles: ["allure-vitest/setup"], reporters: [ "default", - new AllureReporter({ + ["allure-vitest/reporter", { resultsDir: "./allure-results", + links: [ + { @@ -112,7 +108,7 @@ export default defineConfig({ + urlTemplate: "https://example.org/custom/%s" + }, + ] - }), + }], ], }, }); diff --git a/packages/allure-vitest/package.json b/packages/allure-vitest/package.json index 534074743..896476a5f 100644 --- a/packages/allure-vitest/package.json +++ b/packages/allure-vitest/package.json @@ -22,41 +22,31 @@ "type": "module", "exports": { "./reporter": { - "require": "./dist/reporter.cjs", - "import": "./dist/reporter.mjs" + "import": "./dist/reporter.js", + "types": "./dist/reporter.d.ts", + "default": "./dist/reporter.js" }, "./setup": { - "require": "./dist/setup.cjs", - "import": "./dist/setup.mjs" - }, - "./autoconfig": { - "require": "./dist/autoconfig.cjs", - "import": "./dist/autoconfig.mjs" + "import": "./dist/setup.js", + "types": "./dist/setup.d.ts", + "default": "./dist/setup.js" } }, + "types": "./dist/index.d.ts", "files": [ - "*.js", - "*.d.ts" + "dist" ], "scripts": { - "clean": "rimraf ./dist ./out", - "compile": "run-p 'compile:*'", - "compile:lib": "rollup -c", - "compile:types": "tsc --project ./tsconfig.dts.json", - "generate-report": "allure generate ./out/allure-results -o ./out/allure-report --clean", - "allure-report": "allure serve ./out/allure-results", - "pretest": "run compile", - "test": "vitest run --dir ./test/spec --config ./vitest.config.ts", + "clean": "rimraf ./dist", + "compile": "tsc --project ./tsconfig.json", "lint": "eslint ./src ./test --ext .ts", - "lint:fix": "eslint ./src ./test --ext .ts --fix" + "lint:fix": "eslint ./src ./test --ext .ts --fix", + "test": "vitest run --dir ./test/spec --config ./vitest.config.ts" }, "dependencies": { "allure-js-commons": "workspace:*" }, "devDependencies": { - "@rollup/plugin-commonjs": "^25.0.7", - "@rollup/plugin-node-resolve": "^15.2.3", - "@rollup/plugin-typescript": "^11.1.6", "@types/eslint": "^8", "@types/node": "^20.6.3", "@typescript-eslint/eslint-plugin": "^7.0.0", @@ -68,11 +58,8 @@ "eslint-plugin-n": "^17.0.0", "eslint-plugin-no-null": "^1.0.2", "eslint-plugin-prefer-arrow": "^1.2.3", - "glob": "^10.3.15", "npm-run-all2": "^6.1.2", "rimraf": "^5.0.1", - "rollup": "^4.17.2", - "tslib": "^2.6.2", "typescript": "^5.2.2", "vite": "^5.0.11", "vitest": "^1.1.3" diff --git a/packages/allure-vitest/rollup.config.mjs b/packages/allure-vitest/rollup.config.mjs deleted file mode 100644 index c84df3fda..000000000 --- a/packages/allure-vitest/rollup.config.mjs +++ /dev/null @@ -1,61 +0,0 @@ -import commonjsPlugin from "@rollup/plugin-commonjs"; -import resolvePlugin from "@rollup/plugin-node-resolve"; -import typescriptPlugin from "@rollup/plugin-typescript"; -import { globSync } from "glob"; -import { join, relative } from "node:path"; -import { fileURLToPath } from "node:url"; -import { defineConfig } from "rollup"; - -const dirname = fileURLToPath(new URL(".", import.meta.url)); - -const createNodeEntry = (inputFile) => { - const outputFileBase = inputFile.replace(/^src/, "dist"); - const external = [ - "node:os", - "node:path", - "node:process", - "allure-js-commons", - "allure-js-commons/sdk/node", - "allure-js-commons/internal", - "vitest", - ]; - - return [ - defineConfig({ - input: inputFile, - output: { - file: join(dirname, outputFileBase.replace(/\.ts$/, ".mjs")), - format: "esm", - exports: "named", - sourcemap: true, - }, - plugins: [ - typescriptPlugin({ - tsconfig: "./tsconfig.rollup.json", - }), - ], - external, - }), - defineConfig({ - input: inputFile, - output: { - file: join(dirname, outputFileBase.replace(/\.ts$/, ".cjs")), - format: "cjs", - exports: "named", - sourcemap: true, - }, - plugins: [ - typescriptPlugin({ - tsconfig: "./tsconfig.rollup.json", - }), - ], - external, - }), - ]; -}; - -export default () => { - const entries = globSync("src/*.ts", { cwd: dirname }); - - return entries.map(createNodeEntry).flat(); -}; diff --git a/packages/allure-vitest/src/autoconfig.ts b/packages/allure-vitest/src/autoconfig.ts deleted file mode 100644 index ce51ac76e..000000000 --- a/packages/allure-vitest/src/autoconfig.ts +++ /dev/null @@ -1,4 +0,0 @@ -import { setGlobalTestRuntime } from "allure-js-commons/sdk/node"; -import { AllureVitestTestRuntime } from "./runtime.js"; - -setGlobalTestRuntime(new AllureVitestTestRuntime()); diff --git a/packages/allure-vitest/src/index.ts b/packages/allure-vitest/src/index.ts new file mode 100644 index 000000000..5e76c38c1 --- /dev/null +++ b/packages/allure-vitest/src/index.ts @@ -0,0 +1,6 @@ +import type { AllureVitestLegacyApi } from "./legacy.js"; + +declare global { + // eslint-disable-next-line + var allure: AllureVitestLegacyApi; +} diff --git a/packages/allure-vitest/src/legacy.ts b/packages/allure-vitest/src/legacy.ts new file mode 100644 index 000000000..9a3b08da2 --- /dev/null +++ b/packages/allure-vitest/src/legacy.ts @@ -0,0 +1,132 @@ +import * as allure from "allure-js-commons"; + +/** + * @deprecated please use api exported by "allure-js-commons" instead. + */ +export interface AllureVitestLegacyApi { + label: (name: string, value: string) => Promise; + link: (type: string, url: string, name?: string) => Promise; + parameter: ( + name: string, + value: string, + options?: { excluded?: boolean; mode?: "hidden" | "masked" | "default" }, + ) => Promise; + description: (markdown: string) => Promise; + descriptionHtml: (html: string) => Promise; + testCaseId: (id: string) => Promise; + historyId: (id: string) => Promise; + allureId: (id: string) => Promise; + displayName: (name: string) => Promise; + attachment: (name: string, content: Buffer | string, type: string) => Promise; + issue: (name: string, url: string) => Promise; + tms: (name: string, url: string) => Promise; + epic: (name: string) => Promise; + feature: (name: string) => Promise; + story: (name: string) => Promise; + suite: (name: string) => Promise; + parentSuite: (name: string) => Promise; + subSuite: (name: string) => Promise; + owner: (name: string) => Promise; + severity: (name: string) => Promise; + layer: (name: string) => Promise; + tag: (name: string) => Promise; + step: (name: string, body: () => Promise) => Promise; +} + +/** + * @deprecated please use api exported by "allure-js-commons" instead. + */ +export const allureVitestLegacyApi: AllureVitestLegacyApi = { + /** + * @deprecated please use import { label } from "allure-js-commons" instead. + */ + label: (...args) => Promise.resolve(allure.label(...args)), + /** + * @deprecated please use import { link } from "allure-js-commons" instead. + */ + link: (type, url, name) => Promise.resolve(allure.link(url, type, name)), + /** + * @deprecated please use import { parameter } from "allure-js-commons" instead. + */ + parameter: (name, value, options) => Promise.resolve(allure.parameter(name, value, options)), + /** + * @deprecated please use import { description } from "allure-js-commons" instead. + */ + description: (...args) => Promise.resolve(allure.description(...args)), + /** + * @deprecated please use import { descriptionHtml } from "allure-js-commons" instead. + */ + descriptionHtml: (html) => Promise.resolve(allure.descriptionHtml(html)), + /** + * @deprecated please use import { testCaseId } from "allure-js-commons" instead. + */ + testCaseId: (id) => Promise.resolve(allure.testCaseId(id)), + /** + * @deprecated please use import { historyId } from "allure-js-commons" instead. + */ + historyId: (id) => Promise.resolve(allure.historyId(id)), + /** + * @deprecated please use import { allureId } from "allure-js-commons" instead. + */ + allureId: (id) => Promise.resolve(allure.allureId(id)), + /** + * @deprecated please use import { displayName } from "allure-js-commons" instead. + */ + displayName: (name) => Promise.resolve(allure.displayName(name)), + /** + * @deprecated please use import { attachment } from "allure-js-commons" instead. + */ + attachment: (name, content, type) => Promise.resolve(allure.attachment(name, content, type)), + /** + * @deprecated please use import { issue } from "allure-js-commons" instead. + */ + issue: (name, url) => Promise.resolve(allure.issue(url, name)), + /** + * @deprecated please use import { tms } from "allure-js-commons" instead. + */ + tms: (name, url) => Promise.resolve(allure.tms(url, name)), + /** + * @deprecated please use import { epic } from "allure-js-commons" instead. + */ + epic: (name) => Promise.resolve(allure.epic(name)), + /** + * @deprecated please use import { feature } from "allure-js-commons" instead. + */ + feature: (name) => Promise.resolve(allure.feature(name)), + /** + * @deprecated please use import { story } from "allure-js-commons" instead. + */ + story: (name) => Promise.resolve(allure.story(name)), + /** + * @deprecated please use import { suite } from "allure-js-commons" instead. + */ + suite: (name) => Promise.resolve(allure.suite(name)), + /** + * @deprecated please use import { parentSuite } from "allure-js-commons" instead. + */ + parentSuite: (name) => Promise.resolve(allure.parentSuite(name)), + /** + * @deprecated please use import { subSuite } from "allure-js-commons" instead. + */ + subSuite: (name) => Promise.resolve(allure.subSuite(name)), + /** + * @deprecated please use import { owner } from "allure-js-commons" instead. + */ + owner: (name) => Promise.resolve(allure.owner(name)), + /** + * @deprecated please use import { severity } from "allure-js-commons" instead. + */ + severity: (name) => Promise.resolve(allure.severity(name)), + /** + * @deprecated please use import { layer } from "allure-js-commons" instead. + */ + layer: (name) => Promise.resolve(allure.layer(name)), + /** + * @deprecated please use import { tag } from "allure-js-commons" instead. + */ + tag: (name) => Promise.resolve(allure.tag(name)), + /** + * @deprecated please use import { step } from "allure-js-commons" instead. + */ + step: (name, body) => Promise.resolve(allure.step(name, body)), +}; diff --git a/packages/allure-vitest/src/reporter.ts b/packages/allure-vitest/src/reporter.ts index e4b3726c7..cb46f859c 100644 --- a/packages/allure-vitest/src/reporter.ts +++ b/packages/allure-vitest/src/reporter.ts @@ -1,32 +1,29 @@ -import { hostname } from "node:os"; import { basename, normalize, relative } from "node:path"; -import { cwd, env } from "node:process"; -import { File, Reporter, Task } from "vitest"; -import { ALLURE_SKIPPED_BY_TEST_PLAN_LABEL } from "allure-js-commons/internal"; +import { cwd } from "node:process"; +import type { File, Reporter, Task } from "vitest"; +import { LabelName, Stage, Status } from "allure-js-commons"; +import type { RuntimeMessage } from "allure-js-commons/sdk"; +import { extractMetadataFromString } from "allure-js-commons/sdk"; +import { ALLURE_SKIPPED_BY_TEST_PLAN_LABEL } from "allure-js-commons/sdk/reporter"; +import type { Config } from "allure-js-commons/sdk/reporter"; import { - AllureNodeReporterRuntime, - Config, - FileSystemAllureWriter, - LabelName, - MessageAllureWriter, - RuntimeMessage, - Stage, - Status, - extractMetadataFromString, + FileSystemWriter, + MessageWriter, + ReporterRuntime, + getEnvironmentLabels, + getHostLabel, getSuitesLabels, -} from "allure-js-commons/sdk/node"; + getThreadLabel, +} from "allure-js-commons/sdk/reporter"; import { getSuitePath, getTestFullName } from "./utils.js"; export interface AllureVitestReporterConfig extends Omit { testMode?: boolean; } -const { ALLURE_HOST_NAME, ALLURE_THREAD_NAME } = env; - export default class AllureVitestReporter implements Reporter { - private allureReporterRuntime?: AllureNodeReporterRuntime; + private allureReporterRuntime?: ReporterRuntime; private config: AllureVitestReporterConfig; - private hostname: string = ALLURE_HOST_NAME || hostname(); constructor(config: AllureVitestReporterConfig) { this.config = config; @@ -35,12 +32,12 @@ export default class AllureVitestReporter implements Reporter { onInit() { const { listeners, testMode, ...config } = this.config; const writer = testMode - ? new MessageAllureWriter() - : new FileSystemAllureWriter({ + ? new MessageWriter() + : new FileSystemWriter({ resultsDir: config.resultsDir || "./allure-results", }); - this.allureReporterRuntime = new AllureNodeReporterRuntime({ + this.allureReporterRuntime = new ReporterRuntime({ ...config, writer, listeners, @@ -100,8 +97,6 @@ export default class AllureVitestReporter implements Reporter { }); this.allureReporterRuntime!.updateTest((result) => { - const threadId = ALLURE_THREAD_NAME || (VITEST_POOL_ID && `${this.hostname}-vitest-worker-${VITEST_POOL_ID}`); - result.fullName = testFullname; result.labels.push({ name: LabelName.FRAMEWORK, @@ -111,19 +106,11 @@ export default class AllureVitestReporter implements Reporter { name: LabelName.LANGUAGE, value: "javascript", }); - result.labels.push({ - name: LabelName.HOST, - value: this.hostname, - }); result.labels.push(...titleMetadata.labels); result.labels.push(...getSuitesLabels(suitePath)); - - if (threadId) { - result.labels.push({ - name: LabelName.THREAD, - value: threadId, - }); - } + result.labels.push(...getEnvironmentLabels()); + result.labels.push(getHostLabel()); + result.labels.push(getThreadLabel(VITEST_POOL_ID && `vitest-worker-${VITEST_POOL_ID}`)); if (normalizedTestPath.length) { result.labels.push({ diff --git a/packages/allure-vitest/src/runtime.ts b/packages/allure-vitest/src/runtime.ts deleted file mode 100644 index 74f80b2d4..000000000 --- a/packages/allure-vitest/src/runtime.ts +++ /dev/null @@ -1,14 +0,0 @@ -/* eslint @typescript-eslint/require-await: off */ -import { MessageTestRuntime, MessagesHolder, RuntimeMessage } from "allure-js-commons/sdk/node"; - -export class AllureVitestTestRuntime extends MessageTestRuntime { - readonly messagesHolder = new MessagesHolder(); - - constructor() { - super(); - } - - async sendMessage(message: RuntimeMessage) { - this.messagesHolder.push(message); - } -} diff --git a/packages/allure-vitest/src/setup.ts b/packages/allure-vitest/src/setup.ts index 447d7081f..0557f7c99 100644 --- a/packages/allure-vitest/src/setup.ts +++ b/packages/allure-vitest/src/setup.ts @@ -1,29 +1,32 @@ -/* eslint @typescript-eslint/require-await: off */ import { afterAll, afterEach, beforeAll, beforeEach } from "vitest"; -import * as allure from "allure-js-commons"; -import { ALLURE_SKIPPED_BY_TEST_PLAN_LABEL } from "allure-js-commons/internal"; -import { TestPlanV1, getGlobalTestRuntime, parseTestPlan } from "allure-js-commons/sdk/node"; -import { AllureVitestTestRuntime } from "./runtime.js"; +import type { TestPlanV1 } from "allure-js-commons/sdk"; +import { ALLURE_SKIPPED_BY_TEST_PLAN_LABEL, parseTestPlan } from "allure-js-commons/sdk/reporter"; +import { + MessageHolderTestRuntime, + getGlobalTestRuntimeWithAutoconfig, + setGlobalTestRuntime, +} from "allure-js-commons/sdk/runtime"; +import { allureVitestLegacyApi } from "./legacy.js"; import { existsInTestPlan } from "./utils.js"; beforeAll(() => { // @ts-ignore - global.allureTestPlan = parseTestPlan(); + globalThis.allureTestPlan = parseTestPlan(); }); afterAll(() => { // @ts-ignore - global.allureTestPlan = undefined; + globalThis.allureTestPlan = undefined; }); -beforeEach(async (ctx) => { +beforeEach((ctx) => { (ctx.task as any).meta = { ...ctx.task.meta, VITEST_POOL_ID: process.env.VITEST_POOL_ID, }; // @ts-ignore - if (!existsInTestPlan(ctx, global.allureTestPlan as TestPlanV1)) { + if (!existsInTestPlan(ctx, globalThis.allureTestPlan as TestPlanV1)) { // @ts-ignore ctx.task.meta.allureRuntimeMessages = [ { @@ -38,12 +41,17 @@ beforeEach(async (ctx) => { } // @ts-ignore - globalThis.allure = allure; + globalThis.allure = allureVitestLegacyApi; + + setGlobalTestRuntime(new MessageHolderTestRuntime()); }); -afterEach((ctx) => { +afterEach(async (ctx) => { + // @ts-ignore + // eslint-disable-next-line + const globalTestRuntime: MessageHolderTestRuntime = await getGlobalTestRuntimeWithAutoconfig(); // @ts-ignore - ctx.task.meta.allureRuntimeMessages = getGlobalTestRuntime().messagesHolder.messages; + ctx.task.meta.allureRuntimeMessages = [...globalTestRuntime.messages()]; // @ts-ignore globalThis.allure = undefined; }); diff --git a/packages/allure-vitest/src/utils.ts b/packages/allure-vitest/src/utils.ts index b31d07795..57c7c1fd2 100644 --- a/packages/allure-vitest/src/utils.ts +++ b/packages/allure-vitest/src/utils.ts @@ -1,7 +1,9 @@ import { relative } from "node:path"; import { cwd } from "node:process"; -import { Suite, Task, type TaskContext } from "vitest"; -import { LabelName, TestPlanV1, extractMetadataFromString } from "allure-js-commons/sdk/node"; +import type { Suite, Task, TaskContext } from "vitest"; +import { LabelName } from "allure-js-commons"; +import type { TestPlanV1 } from "allure-js-commons/sdk"; +import { extractMetadataFromString } from "allure-js-commons/sdk"; export const getSuitePath = (task: Task): string[] => { const path = []; diff --git a/packages/allure-vitest/test/spec/environmentLabels.test.ts b/packages/allure-vitest/test/spec/environmentLabels.test.ts new file mode 100644 index 000000000..1d3290340 --- /dev/null +++ b/packages/allure-vitest/test/spec/environmentLabels.test.ts @@ -0,0 +1,31 @@ +import { expect, it } from "vitest"; +import { runVitestInlineTest } from "../utils.js"; + +it("should add environment labels", async () => { + const { tests } = await runVitestInlineTest( + ` + import { test } from "vitest"; + + test("foo", () => {}); + test("bar", () => {}); + `, + undefined, + undefined, + { + env: { + ALLURE_LABEL_: "-", + ALLURE_LABEL_A: "", + ALLURE_LABEL_B: "foo", + ALLURE_LABEL_b: "bar", + ALLURE_LABEL_workerId: "baz", + }, + }, + ); + + tests.forEach((testResult) => { + expect(testResult.labels).toContainEqual(expect.objectContaining({ name: "A", value: "" })); + expect(testResult.labels).toContainEqual(expect.objectContaining({ name: "B", value: "foo" })); + expect(testResult.labels).toContainEqual(expect.objectContaining({ name: "b", value: "bar" })); + expect(testResult.labels).toContainEqual(expect.objectContaining({ name: "workerId", value: "baz" })); + }); +}); diff --git a/packages/allure-vitest/test/spec/runtime/legacy/links.test.ts b/packages/allure-vitest/test/spec/runtime/legacy/links.test.ts index 0ff426812..6f438e9c3 100644 --- a/packages/allure-vitest/test/spec/runtime/legacy/links.test.ts +++ b/packages/allure-vitest/test/spec/runtime/legacy/links.test.ts @@ -9,7 +9,7 @@ describe("links", () => { import { test } from "vitest"; test("link", async (t) => { - await allure.link("https://example.org", "foo", "bar"); + await allure.link("foo", "https://example.org", "bar"); }); `, ); @@ -28,8 +28,8 @@ describe("links", () => { import { test } from "vitest"; test("issue", async () => { - await allure.issue("https://example.org/issue/1", "foo"); - await allure.issue("2", "bar"); + await allure.issue("foo", "https://example.org/issue/1"); + await allure.issue("bar", "2"); }); `, ); @@ -53,8 +53,8 @@ describe("links", () => { import { test } from "vitest"; test("tms", async () => { - await allure.tms("https://example.org/tms/1", "foo"); - await allure.tms("2", "bar"); + await allure.tms("foo", "https://example.org/tms/1"); + await allure.tms("bar", "2"); }); `, ); diff --git a/packages/allure-vitest/test/spec/simple.test.ts b/packages/allure-vitest/test/spec/simple.test.ts index 1d4f70d55..9af33d633 100644 --- a/packages/allure-vitest/test/spec/simple.test.ts +++ b/packages/allure-vitest/test/spec/simple.test.ts @@ -1,5 +1,5 @@ import { expect, it } from "vitest"; -import { Stage, Status } from "allure-js-commons/sdk/node"; +import { Stage, Status } from "allure-js-commons"; import { runVitestInlineTest } from "../utils.js"; it("reports passed test", async () => { diff --git a/packages/allure-vitest/test/utils.ts b/packages/allure-vitest/test/utils.ts index cd717183d..024f12c14 100644 --- a/packages/allure-vitest/test/utils.ts +++ b/packages/allure-vitest/test/utils.ts @@ -3,7 +3,12 @@ import { randomUUID } from "node:crypto"; import { mkdir, rm, writeFile } from "node:fs/promises"; import { dirname, join } from "node:path"; import { fileURLToPath } from "url"; -import type { AllureResults, TestResult, TestResultContainer } from "allure-js-commons"; +import type { AllureResults } from "allure-js-commons/sdk"; +import { MessageReader } from "allure-js-commons/sdk/reporter"; + +type Opts = { + env?: Record; +}; const fileDirname = dirname(fileURLToPath(import.meta.url)); @@ -11,12 +16,8 @@ export const runVitestInlineTest = async ( test: string, externalConfigFactory?: (tempDir: string) => string, beforeTestCb?: (tempDir: string) => Promise, + opts: Opts = {}, ): Promise => { - const res: AllureResults = { - tests: [], - groups: [], - attachments: {}, - }; const testDir = join(fileDirname, "fixtures", randomUUID()); const configFilePath = join(testDir, "vitest.config.ts"); const testFilePath = join(testDir, "sample.test.ts"); @@ -58,34 +59,21 @@ export const runVitestInlineTest = async ( await beforeTestCb(testDir); } + const { env = {} } = opts; + const modulePath = require.resolve("vitest/dist/cli-wrapper.js"); const args = ["run", "--config", configFilePath, "--dir", testDir]; const testProcess = fork(modulePath, args, { env: { ...process.env, + ...env, }, cwd: testDir, stdio: "pipe", }); - testProcess.on("message", (message: string) => { - const event: { path: string; type: string; data: string } = JSON.parse(message); - const data = event.type !== "attachment" ? JSON.parse(Buffer.from(event.data, "base64").toString()) : event.data; - - switch (event.type) { - case "container": - res.groups.push(data as TestResultContainer); - break; - case "result": - res.tests.push(data as TestResult); - break; - case "attachment": - res.attachments[event.path] = event.data; - break; - default: - break; - } - }); + const messageReader = new MessageReader(); + testProcess.on("message", messageReader.handleMessage); testProcess.stdout?.setEncoding("utf8").on("data", (chunk) => { process.stdout.write(String(chunk)); }); @@ -97,7 +85,7 @@ export const runVitestInlineTest = async ( testProcess.on("exit", async () => { await rm(testDir, { recursive: true }); - return resolve(res); + return resolve(messageReader.results); }); }); }; diff --git a/packages/allure-vitest/tsconfig.dts.json b/packages/allure-vitest/tsconfig.dts.json deleted file mode 100644 index 6ae02c1aa..000000000 --- a/packages/allure-vitest/tsconfig.dts.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "./tsconfig", - "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true - }, - "include": ["./src/**/*"], - "exclude": ["./test/**/*"] -} diff --git a/packages/allure-vitest/tsconfig.json b/packages/allure-vitest/tsconfig.json index b6b1219da..48dc29b45 100644 --- a/packages/allure-vitest/tsconfig.json +++ b/packages/allure-vitest/tsconfig.json @@ -1,21 +1,17 @@ { "extends": "../../tsconfig.json", "include": [ - "./src/**/*", - "./test/**/*" + "./src/**/*" ], "compilerOptions": { - "skipLibCheck": true, - "module": "ESNext", - "target": "ES2022", - "moduleResolution": "bundler", - "lib": [ - "dom", - "esnext" - ], + "declaration": true, + "lib": ["dom", "esnext"], "types": [ "node" ], - "outDir": "./dist" + "outDir": "./dist", + "module": "node16", + "moduleResolution": "node16", + "target": "es2020" } } diff --git a/packages/allure-vitest/tsconfig.rollup.json b/packages/allure-vitest/tsconfig.rollup.json deleted file mode 100644 index cf5f3b001..000000000 --- a/packages/allure-vitest/tsconfig.rollup.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "extends": "./tsconfig.json", - "exclude": ["./test/**/*"], - "compilerOptions": { - "declaration": false - } -} diff --git a/packages/allure-vitest/tsconfig.test.json b/packages/allure-vitest/tsconfig.test.json new file mode 100644 index 000000000..fdc896496 --- /dev/null +++ b/packages/allure-vitest/tsconfig.test.json @@ -0,0 +1,7 @@ +{ + "extends": "./tsconfig.json", + "include": ["./src/**/*", "./test/**/*"], + "compilerOptions": { + "noEmit": true + } +} diff --git a/packages/allure-vitest/vitest.config.ts b/packages/allure-vitest/vitest.config.ts index f2ce1031a..3f54f1c3b 100644 --- a/packages/allure-vitest/vitest.config.ts +++ b/packages/allure-vitest/vitest.config.ts @@ -1,15 +1,12 @@ import { defineConfig } from "vitest/config"; -import AllureReporter from "allure-vitest/reporter"; export default defineConfig({ test: { testTimeout: 20000, setupFiles: ["allure-vitest/setup"], - reporters: [ - "default", - new AllureReporter({ - resultsDir: "./allure-results", - }), - ], + reporters: ["default", ["allure-vitest/reporter", { resultsDir: "./out/allure-results" }]], + typecheck: { + tsconfig: "./tsconfig.test.json", + }, }, }); diff --git a/packages/newman-reporter-allure/LICENSE.txt b/packages/newman-reporter-allure/LICENSE.txt deleted file mode 100644 index 403719c1a..000000000 --- a/packages/newman-reporter-allure/LICENSE.txt +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright 2022 Qameta Software - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/packages/newman-reporter-allure/README.md b/packages/newman-reporter-allure/README.md index 36c50e86d..d90634e4a 100644 --- a/packages/newman-reporter-allure/README.md +++ b/packages/newman-reporter-allure/README.md @@ -109,11 +109,3 @@ Generate the static report web-application folder using allure-commandline ``` Report will be generated under folder "allure-report" in the root location. - -![Report-screenshot](./report-preview.jpg) - -## Allure TestOps preview - -Generated report can be uploaded to Allure TestOps to store and analyze your tests-results. - -![TestOps-screenshot](./testops-preview.jpg) diff --git a/packages/newman-reporter-allure/babel.cjs.json b/packages/newman-reporter-allure/babel.cjs.json new file mode 100644 index 000000000..8d5e10dfa --- /dev/null +++ b/packages/newman-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/newman-reporter-allure/babel.esm.json b/packages/newman-reporter-allure/babel.esm.json new file mode 100644 index 000000000..bc8432e04 --- /dev/null +++ b/packages/newman-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/newman-reporter-allure/package.json b/packages/newman-reporter-allure/package.json index bcd5b4f33..7e4e3fbf3 100644 --- a/packages/newman-reporter-allure/package.json +++ b/packages/newman-reporter-allure/package.json @@ -25,21 +25,24 @@ }, "exports": { ".": { - "import": "./dist/index.mjs", - "require": "./dist/index.cjs" + "import": "./dist/esm/index.js", + "require": "./dist/cjs/index.js", + "types": "./dist/types/index.d.ts" } }, - "main": "./dist/index.cjs", - "module": "./dist/index.mjs", - "types": "./dist/index.d.ts", + "main": "./dist/cjs/index.js", + "module": "./dist/esm/index.mj", + "types": "./dist/types/index.d.ts", "files": [ "dist" ], "scripts": { "clean": "rimraf ./dist ./out", - "compile": "run-p 'compile:*'", - "compile:lib": "rollup -c", - "compile:types": "tsc --project ./tsconfig.dts.json", + "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 --project ./tsconfig.json --emitDeclarationOnly --declarationDir ./dist/types", + "compile:fixup": "node ./scripts/fixup.mjs", "lint": "eslint ./src ./test --ext .ts", "lint:fix": "eslint ./src ./test --ext .ts --fix", "test": "vitest run" @@ -48,17 +51,20 @@ "allure-js-commons": "workspace:*" }, "devDependencies": { - "@rollup/plugin-commonjs": "^25.0.7", - "@rollup/plugin-node-resolve": "^15.2.3", - "@rollup/plugin-typescript": "^11.1.6", + "@babel/cli": "^7.24.6", + "@babel/core": "^7.24.6", + "@babel/preset-env": "^7.24.6", + "@babel/preset-typescript": "^7.24.6", + "@types/babel__core": "^7", + "@types/babel__preset-env": "^7", "@types/eslint": "^8", "@types/newman": "^5.3.3", "@types/node": "20.12.12", "@types/postman-collection": "^3.5.7", "@types/source-map-support": "^0.5.7", - "@types/yargs": "^17.0.24", "@typescript-eslint/eslint-plugin": "^7.0.0", "@typescript-eslint/parser": "^7.0.0", + "babel-plugin-add-module-exports": "^1.0.4", "eslint": "^8.57.0", "eslint-config-prettier": "^9.0.0", "eslint-plugin-import": "^2.28.1", @@ -67,13 +73,11 @@ "eslint-plugin-no-null": "^1.0.2", "eslint-plugin-prefer-arrow": "^1.2.3", "expect": "^29.7.0", - "glob": "^10.3.12", "msw": "1", "newman": "^6.1.2", "npm-run-all2": "^6.1.2", "postman-collection": "^4.2.1", "rimraf": "^5.0.1", - "rollup": "^4.17.2", "source-map-support": "^0.5.21", "ts-node": "^10.9.1", "tslib": "^2.6.2", diff --git a/packages/newman-reporter-allure/report-preview.jpg b/packages/newman-reporter-allure/report-preview.jpg deleted file mode 100644 index 92dc9c5cd..000000000 Binary files a/packages/newman-reporter-allure/report-preview.jpg and /dev/null differ diff --git a/packages/newman-reporter-allure/rollup.config.mjs b/packages/newman-reporter-allure/rollup.config.mjs deleted file mode 100644 index 9007fe4e0..000000000 --- a/packages/newman-reporter-allure/rollup.config.mjs +++ /dev/null @@ -1,60 +0,0 @@ -import commonjsPlugin from "@rollup/plugin-commonjs"; -import resolvePlugin from "@rollup/plugin-node-resolve"; -import typescriptPlugin from "@rollup/plugin-typescript"; -import { globSync } from "glob"; -import { join, relative } from "node:path"; -import { fileURLToPath } from "node:url"; -import { defineConfig } from "rollup"; - -const dirname = fileURLToPath(new URL(".", import.meta.url)); - -const createNodeEntry = (inputFile) => { - const outputFileBase = inputFile.replace(/^src/, "dist"); - const external = [ - "node:os", - "node:fs", - "node:process", - "node:path", - "strip-ansi", - "allure-js-commons", - "allure-js-commons/sdk/node", - "allure-js-commons/internal", - ]; - - return [ - defineConfig({ - input: inputFile, - output: { - file: join(dirname, outputFileBase.replace(/\.ts$/, ".mjs")), - format: "esm", - sourcemap: true, - }, - plugins: [ - typescriptPlugin({ - tsconfig: "./tsconfig.rollup.json", - }), - ], - external, - }), - defineConfig({ - input: inputFile, - output: { - file: join(dirname, outputFileBase.replace(/\.ts$/, ".cjs")), - format: "cjs", - sourcemap: true, - }, - plugins: [ - typescriptPlugin({ - tsconfig: "./tsconfig.rollup.json", - }), - ], - external, - }), - ]; -}; - -export default () => { - const entries = globSync("src/*.ts", { cwd: dirname }); - - return entries.map(createNodeEntry).flat(); -}; diff --git a/packages/newman-reporter-allure/scripts/fixup.mjs b/packages/newman-reporter-allure/scripts/fixup.mjs new file mode 100644 index 000000000..59c47a9f4 --- /dev/null +++ b/packages/newman-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 (err) {} + +try { + mkdirSync(cjsBuildPath, { recursive: true }); +} catch (err) {} + +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/newman-reporter-allure/src/index.ts b/packages/newman-reporter-allure/src/index.ts index 787aa9812..29286c386 100644 --- a/packages/newman-reporter-allure/src/index.ts +++ b/packages/newman-reporter-allure/src/index.ts @@ -2,20 +2,13 @@ import type { EventEmitter } from "events"; import type { ConsoleEvent, Cursor, NewmanRunExecutionAssertion } from "newman"; import type { CollectionDefinition, Event, HeaderList, Item, Request, Response } from "postman-collection"; -import { - AllureNodeReporterRuntime, - ContentType, - FileSystemAllureWriter, - LabelName, - MessageAllureWriter, - Stage, - Status, -} from "allure-js-commons/sdk/node"; -import { AllureNewmanConfig, PmItem, RunningItem } from "./model.js"; +import { ContentType, LabelName, Stage, Status } from "allure-js-commons"; +import { FileSystemWriter, MessageWriter, ReporterRuntime } from "allure-js-commons/sdk/reporter"; +import type { AllureNewmanConfig, PmItem, RunningItem } from "./model.js"; import { extractMeta } from "./utils.js"; class AllureReporter { - allureRuntime: AllureNodeReporterRuntime; + allureRuntime: ReporterRuntime; allureConfig: AllureNewmanConfig; runningItems: RunningItem[] = []; currentCollection: CollectionDefinition; @@ -32,11 +25,11 @@ class AllureReporter { this.currentCollection = options.collection; this.allureConfig = reporterConfig; - this.allureRuntime = new AllureNodeReporterRuntime({ + this.allureRuntime = new ReporterRuntime({ ...restConfig, writer: testMode - ? new MessageAllureWriter(emitter) - : new FileSystemAllureWriter({ + ? new MessageWriter(emitter) + : new FileSystemWriter({ resultsDir, }), }); diff --git a/packages/newman-reporter-allure/src/model.ts b/packages/newman-reporter-allure/src/model.ts index 3223a53d1..6af0202a6 100644 --- a/packages/newman-reporter-allure/src/model.ts +++ b/packages/newman-reporter-allure/src/model.ts @@ -1,5 +1,5 @@ -import { HeaderList, RequestBody } from "postman-collection"; -import { Config } from "allure-js-commons/sdk/node"; +import type { HeaderList, RequestBody } from "postman-collection"; +import type { Config } from "allure-js-commons/sdk/reporter"; export interface AllureNewmanConfig extends Omit { testMode?: boolean; diff --git a/packages/newman-reporter-allure/src/utils.ts b/packages/newman-reporter-allure/src/utils.ts index 77be7d18b..03d0bd44e 100644 --- a/packages/newman-reporter-allure/src/utils.ts +++ b/packages/newman-reporter-allure/src/utils.ts @@ -1,5 +1,6 @@ -import { EventList } from "postman-collection"; -import { Label, LabelName, allureIdRegexp, allureLabelRegexp } from "allure-js-commons/sdk/node"; +import type { EventList } from "postman-collection"; +import type { Label } from "allure-js-commons"; +import { extractMetadataFromString } from "allure-js-commons/sdk"; export const extractMeta = (eventList: EventList) => { const labels: Label[] = []; @@ -12,19 +13,8 @@ export const extractMeta = (eventList: EventList) => { return; } const trimmedCommentValue = line.trim().replace("//", "").trim(); - - const idMatch = trimmedCommentValue.match(allureIdRegexp as RegExp); - const idValue = idMatch?.groups?.id; - if (idValue) { - labels.push({ name: LabelName.ALLURE_ID, value: idValue }); - } - - const labelMatch = trimmedCommentValue.match(allureLabelRegexp as RegExp); - const { name, value } = labelMatch?.groups || {}; - - if (name && value) { - labels.push({ name, value }); - } + const metadata = extractMetadataFromString(trimmedCommentValue); + labels.push(...(metadata.labels as Label[])); }); } }); diff --git a/packages/newman-reporter-allure/test/spec/simple.test.ts b/packages/newman-reporter-allure/test/spec/simple.test.ts index 82d5cda2f..41cc3abba 100644 --- a/packages/newman-reporter-allure/test/spec/simple.test.ts +++ b/packages/newman-reporter-allure/test/spec/simple.test.ts @@ -1,6 +1,6 @@ /* eslint-disable @typescript-eslint/quotes */ import { afterAll, afterEach, beforeAll, expect, test } from "vitest"; -import { LabelName, Stage, Status } from "allure-js-commons/sdk/node"; +import { LabelName, Stage, Status } from "allure-js-commons"; import { server } from "../mocks/server"; import { runNewmanCollection } from "../utils"; diff --git a/packages/newman-reporter-allure/test/utils.ts b/packages/newman-reporter-allure/test/utils.ts index 03364fac0..2ef29878a 100644 --- a/packages/newman-reporter-allure/test/utils.ts +++ b/packages/newman-reporter-allure/test/utils.ts @@ -1,15 +1,10 @@ import { run } from "newman"; import type { CollectionDefinition } from "postman-collection"; -import type { AllureResults, TestResult, TestResultContainer } from "allure-js-commons"; - -export type TestResultsByFullName = Record; +import type { AllureResults } from "allure-js-commons/sdk"; +import { MessageReader } from "allure-js-commons/sdk/reporter"; export const runNewmanCollection = async (collection: CollectionDefinition): Promise => { - const res: AllureResults = { - tests: [], - groups: [], - attachments: {}, - }; + const reader = new MessageReader(); return new Promise((resolve) => { const newmanEmitter = run( @@ -23,27 +18,11 @@ export const runNewmanCollection = async (collection: CollectionDefinition): Pro }, }, () => { - return resolve(res); + return resolve(reader.results); }, ); - newmanEmitter.on("allureWriterMessage", (message: string) => { - const event: { path: string; type: string; data: string } = JSON.parse(message); - const data = event.type !== "attachment" ? JSON.parse(Buffer.from(event.data, "base64").toString()) : event.data; - - switch (event.type) { - case "container": - res.groups.push(data as TestResultContainer); - break; - case "result": - res.tests.push(data as TestResult); - break; - case "attachment": - res.attachments[event.path] = event.data; - break; - default: - break; - } - }); + // eslint-disable-next-line @typescript-eslint/no-unsafe-argument + newmanEmitter.on("allureWriterMessage", reader.handleMessage); }); }; diff --git a/packages/newman-reporter-allure/testops-preview.jpg b/packages/newman-reporter-allure/testops-preview.jpg deleted file mode 100644 index 74c72475b..000000000 Binary files a/packages/newman-reporter-allure/testops-preview.jpg and /dev/null differ diff --git a/packages/newman-reporter-allure/tsconfig.dts.json b/packages/newman-reporter-allure/tsconfig.dts.json deleted file mode 100644 index 6ae02c1aa..000000000 --- a/packages/newman-reporter-allure/tsconfig.dts.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "./tsconfig", - "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true - }, - "include": ["./src/**/*"], - "exclude": ["./test/**/*"] -} diff --git a/packages/newman-reporter-allure/tsconfig.json b/packages/newman-reporter-allure/tsconfig.json index b6b1219da..c404a899b 100644 --- a/packages/newman-reporter-allure/tsconfig.json +++ b/packages/newman-reporter-allure/tsconfig.json @@ -2,11 +2,9 @@ "extends": "../../tsconfig.json", "include": [ "./src/**/*", - "./test/**/*" ], "compilerOptions": { - "skipLibCheck": true, - "module": "ESNext", + "module": "ES2022", "target": "ES2022", "moduleResolution": "bundler", "lib": [ diff --git a/packages/newman-reporter-allure/tsconfig.rollup.json b/packages/newman-reporter-allure/tsconfig.rollup.json deleted file mode 100644 index cf5f3b001..000000000 --- a/packages/newman-reporter-allure/tsconfig.rollup.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "extends": "./tsconfig.json", - "exclude": ["./test/**/*"], - "compilerOptions": { - "declaration": false - } -} diff --git a/packages/newman-reporter-allure/tsconfig.test.json b/packages/newman-reporter-allure/tsconfig.test.json new file mode 100644 index 000000000..5272ba9cd --- /dev/null +++ b/packages/newman-reporter-allure/tsconfig.test.json @@ -0,0 +1,7 @@ +{ + "extends": "./tsconfig.json", + "include": ["./test/**/*"], + "compilerOptions": { + "noEmit": true + } +} diff --git a/packages/newman-reporter-allure/utils.ts b/packages/newman-reporter-allure/utils.ts deleted file mode 100644 index e811bea35..000000000 --- a/packages/newman-reporter-allure/utils.ts +++ /dev/null @@ -1,89 +0,0 @@ -import { fork } from "node:child_process"; -import { randomUUID } from "node:crypto"; -import { mkdir, rm, writeFile } from "node:fs/promises"; -import { join } from "node:path"; -import type { AllureResults, TestResult, TestResultContainer } from "allure-js-commons"; -import { LinkType } from "allure-js-commons/sdk/node" - -export type TestResultsByFullName = Record; - -export const runJestInlineTest = async (test: string): Promise => { - const res: AllureResults = { - tests: [], - groups: [], - attachments: {}, - }; - const testDir = join(__dirname, "fixtures", randomUUID()); - const configFilePath = join(testDir, "jest.config.js"); - const testFilePath = join(testDir, "sample.test.js"); - const configContent = ` - const config = { - testEnvironment: require.resolve("allure-jest/node"), - testEnvironmentOptions: { - testMode: true, - links: [ - { - type: "${LinkType.ISSUE}", - urlTemplate: "https://example.org/issues/%s", - }, - { - type: "${LinkType.TMS}", - urlTemplate: "https://example.org/tasks/%s", - } - ] - }, - }; - - module.exports = config; - `; - - await mkdir(testDir, { recursive: true }); - await writeFile(configFilePath, configContent, "utf8"); - await writeFile(testFilePath, test, "utf8"); - - const modulePath = require.resolve("jest-cli/bin/jest"); - const args = ["--config", configFilePath, testDir]; - const testProcess = fork(modulePath, args, { - env: { - ...process.env, - ALLURE_POST_PROCESSOR_FOR_TEST: String("true"), - }, - cwd: testDir, - stdio: "pipe", - }); - let processError = ""; - - testProcess.on("message", (message: string) => { - const event: { path: string; type: string; data: string } = JSON.parse(message); - const data = event.type !== "attachment" ? JSON.parse(Buffer.from(event.data, "base64").toString()) : event.data; - - switch (event.type) { - case "container": - res.groups.push(data as TestResultContainer); - break; - case "result": - res.tests.push(data as TestResult); - break; - case "attachment": - res.attachments[event.path] = event.data; - break; - default: - break; - } - }); - testProcess.stdout?.setEncoding("utf8").on("data", (chunk) => { - process.stdout.write(String(chunk)); - }); - testProcess.stderr?.setEncoding("utf8").on("data", (chunk) => { - process.stderr.write(String(chunk)); - processError += chunk; - }); - - return new Promise((resolve) => { - testProcess.on("exit", async () => { - await rm(testDir, { recursive: true }); - - return resolve(res); - }); - }); -}; diff --git a/packages/newman-reporter-allure/vitest.config.ts b/packages/newman-reporter-allure/vitest.config.ts index 8f5ca52bf..6566ac9c8 100644 --- a/packages/newman-reporter-allure/vitest.config.ts +++ b/packages/newman-reporter-allure/vitest.config.ts @@ -4,8 +4,9 @@ export default defineConfig({ test: { fileParallelism: false, testTimeout: 25000, - reporters: [ - "default", - ], + reporters: ["default"], + typecheck: { + tsconfig: "./tsconfig.test.json", + }, }, }); diff --git a/tsconfig.json b/tsconfig.json index 859f582fe..3fe4ecffe 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -7,6 +7,7 @@ "declaration": true, "strict": true, "sourceMap": true, + "skipLibCheck": true, "esModuleInterop": true, "removeComments": true, "emitDecoratorMetadata": true, diff --git a/yarn.lock b/yarn.lock index 4d1d34645..7831c8015 100644 --- a/yarn.lock +++ b/yarn.lock @@ -29,6 +29,33 @@ __metadata: languageName: node linkType: hard +"@babel/cli@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/cli@npm:7.24.6" + dependencies: + "@jridgewell/trace-mapping": "npm:^0.3.25" + "@nicolo-ribaudo/chokidar-2": "npm:2.1.8-no-fsevents.3" + chokidar: "npm:^3.4.0" + commander: "npm:^6.2.0" + convert-source-map: "npm:^2.0.0" + fs-readdir-recursive: "npm:^1.1.0" + glob: "npm:^7.2.0" + make-dir: "npm:^2.1.0" + slash: "npm:^2.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + dependenciesMeta: + "@nicolo-ribaudo/chokidar-2": + optional: true + chokidar: + optional: true + bin: + babel: ./bin/babel.js + babel-external-helpers: ./bin/babel-external-helpers.js + checksum: 10/57421a3bc28594e16b29a2d74c95ad720420d6bbc9a3c84dcf8905dc969aac1b5fc550c8b3bf6c66e644405eed1621dcd17066bc452b931e045b977c833da47b + languageName: node + linkType: hard + "@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.22.13, @babel/code-frame@npm:^7.23.5": version: 7.23.5 resolution: "@babel/code-frame@npm:7.23.5" @@ -39,6 +66,23 @@ __metadata: languageName: node linkType: hard +"@babel/code-frame@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/code-frame@npm:7.24.6" + dependencies: + "@babel/highlight": "npm:^7.24.6" + picocolors: "npm:^1.0.0" + checksum: 10/e9b70af2a9c7c734ac36c2e6e1da640a6e0a483bfba7cf620226a1226a2e6d64961324b02d786e06ce72f0aa329e190dfc49128367a2368b69e2219ffddcdcc5 + languageName: node + linkType: hard + +"@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/compat-data@npm:7.24.6" + checksum: 10/c355141e4649ef6efa413d71cfc1efb183be46b8fc945fc17e3c7f4313b4b566af575a4183450697916cd6b8c7f180e315986b5d7f07e7b7afd0786594754f7d + languageName: node + linkType: hard + "@babel/compat-data@npm:^7.23.5": version: 7.23.5 resolution: "@babel/compat-data@npm:7.23.5" @@ -69,6 +113,29 @@ __metadata: languageName: node linkType: hard +"@babel/core@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/core@npm:7.24.6" + dependencies: + "@ampproject/remapping": "npm:^2.2.0" + "@babel/code-frame": "npm:^7.24.6" + "@babel/generator": "npm:^7.24.6" + "@babel/helper-compilation-targets": "npm:^7.24.6" + "@babel/helper-module-transforms": "npm:^7.24.6" + "@babel/helpers": "npm:^7.24.6" + "@babel/parser": "npm:^7.24.6" + "@babel/template": "npm:^7.24.6" + "@babel/traverse": "npm:^7.24.6" + "@babel/types": "npm:^7.24.6" + 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/49cd61b99984f0197f657690ec250fb68897de16180116ed0d4f66341eddd85757fd7ec20ba4fcf255990568515f3dd55248c30f1f831cbfaa1da4602a000e4e + languageName: node + linkType: hard + "@babel/generator@npm:7.17.7": version: 7.17.7 resolution: "@babel/generator@npm:7.17.7" @@ -92,6 +159,49 @@ __metadata: languageName: node linkType: hard +"@babel/generator@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/generator@npm:7.24.6" + dependencies: + "@babel/types": "npm:^7.24.6" + "@jridgewell/gen-mapping": "npm:^0.3.5" + "@jridgewell/trace-mapping": "npm:^0.3.25" + jsesc: "npm:^2.5.1" + checksum: 10/247002f1246c3cb825497dc7ce55dc1d10c5f0486f546d1c087aeed7e38df6eb7837758fdfa2ae1234c26c60f883756fd79b7b3f0443771bd79bdfbb0dde8cd4 + 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" + dependencies: + "@babel/types": "npm:^7.24.6" + checksum: 10/1fc1790a67bb36419e272e79f087e32a6f3a9f3ed1f69400bd089a696523b4c92635a9cf1ce9af889cf095337553532a11bdf046ffe47a61cb7f435e77aeab4a + languageName: node + linkType: hard + +"@babel/helper-builder-binary-assignment-operator-visitor@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-builder-binary-assignment-operator-visitor@npm:7.24.6" + dependencies: + "@babel/types": "npm:^7.24.6" + checksum: 10/4d30748f6f25be81309430babe92ec017718dc13fc790ab2a990dc5ac01099d56e37114e8bdf3ee7466fb61dadc94e08221ca31da08fb0f22ef54a26965a9340 + languageName: node + linkType: hard + +"@babel/helper-compilation-targets@npm:^7.22.6, @babel/helper-compilation-targets@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-compilation-targets@npm:7.24.6" + dependencies: + "@babel/compat-data": "npm:^7.24.6" + "@babel/helper-validator-option": "npm:^7.24.6" + browserslist: "npm:^4.22.2" + lru-cache: "npm:^5.1.1" + semver: "npm:^6.3.1" + checksum: 10/28f34f2c9e0ec047360c4dca8d4fb99009e868f9c1acad0ca125f2f9990790897216155d44935209c6e4c4e0318f5a9a46304771d75823add7400e3079945314 + languageName: node + linkType: hard + "@babel/helper-compilation-targets@npm:^7.23.6": version: 7.23.6 resolution: "@babel/helper-compilation-targets@npm:7.23.6" @@ -105,6 +215,53 @@ __metadata: languageName: node linkType: hard +"@babel/helper-create-class-features-plugin@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-create-class-features-plugin@npm:7.24.6" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.24.6" + "@babel/helper-environment-visitor": "npm:^7.24.6" + "@babel/helper-function-name": "npm:^7.24.6" + "@babel/helper-member-expression-to-functions": "npm:^7.24.6" + "@babel/helper-optimise-call-expression": "npm:^7.24.6" + "@babel/helper-replace-supers": "npm:^7.24.6" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.24.6" + "@babel/helper-split-export-declaration": "npm:^7.24.6" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/f4c2bfccb9c6e80ec9f96ad2ad4b492c8b41c695f6df3c45e7a5962c8e60e7aabffbe30019de7d09a9a50579c49a56faaf316af932ccd7812833e28199b11f0a + languageName: node + linkType: hard + +"@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-create-regexp-features-plugin@npm:7.24.6" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.24.6" + regexpu-core: "npm:^5.3.1" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/74e717c71d7c007cc81537566c70b28ac75403afb499db2b1b988904dcda0a09a958c4c4b7d74821d0932e73f1c56227f6371ed751b16ae679aa8a2e4a271d64 + languageName: node + linkType: hard + +"@babel/helper-define-polyfill-provider@npm:^0.6.1, @babel/helper-define-polyfill-provider@npm:^0.6.2": + version: 0.6.2 + resolution: "@babel/helper-define-polyfill-provider@npm:0.6.2" + 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/bb32ec12024d3f16e70641bc125d2534a97edbfdabbc9f69001ec9c4ce46f877c7a224c566aa6c8c510c3b0def2e43dc4433bf6a40896ba5ce0cef4ea5ccbcff + 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" @@ -112,6 +269,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-environment-visitor@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-environment-visitor@npm:7.24.6" + checksum: 10/9c2b3f1ee7ba46b61b0482efab6d37f5c76f0ea4e9d9775df44a89644729c3a50101040a0233543ec6c3f416d8e548d337f310ff3e164f847945507428ee39e5 + languageName: node + linkType: hard + "@babel/helper-function-name@npm:^7.23.0": version: 7.23.0 resolution: "@babel/helper-function-name@npm:7.23.0" @@ -122,6 +286,16 @@ __metadata: languageName: node linkType: hard +"@babel/helper-function-name@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-function-name@npm:7.24.6" + dependencies: + "@babel/template": "npm:^7.24.6" + "@babel/types": "npm:^7.24.6" + checksum: 10/66c0669c16f9fd8b977303c3bd233f962a803de409f4a1db43d965c7cd3ddc12a07b82eb8e06624d76237726407b33fc6d6987a1e40e0c32fc1fc2c5be49340b + languageName: node + linkType: hard + "@babel/helper-hoist-variables@npm:^7.22.5": version: 7.22.5 resolution: "@babel/helper-hoist-variables@npm:7.22.5" @@ -131,6 +305,24 @@ __metadata: languageName: node linkType: hard +"@babel/helper-hoist-variables@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-hoist-variables@npm:7.24.6" + dependencies: + "@babel/types": "npm:^7.24.6" + checksum: 10/4819b574393a5214aff6ae02a6e5250ace2564f8bcdb28d580ffec57bbb2092425e8f39563d75cfa268940a01fd425bad503c0b92717c12426f15cf6847855d3 + languageName: node + linkType: hard + +"@babel/helper-member-expression-to-functions@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-member-expression-to-functions@npm:7.24.6" + dependencies: + "@babel/types": "npm:^7.24.6" + checksum: 10/49198b0ceb7fdbc01135206fec4e5740f1f41d8e84d20815ae07bf96f8d7204f81cafb52d800461e8de4212a4d3c42a36531f6b39e564b4efa8d2079491cb607 + 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" @@ -140,6 +332,15 @@ __metadata: languageName: node linkType: hard +"@babel/helper-module-imports@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-module-imports@npm:7.24.6" + dependencies: + "@babel/types": "npm:^7.24.6" + checksum: 10/38c4432191219a10fe39178e148b295a353a802d3601ed219df6979d322b8179a57f37ee8c0d645f1304023a6b96c4aee351bf7cabe8036b294bfe3b9496ab43 + 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" @@ -155,6 +356,30 @@ __metadata: languageName: node linkType: hard +"@babel/helper-module-transforms@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-module-transforms@npm:7.24.6" + dependencies: + "@babel/helper-environment-visitor": "npm:^7.24.6" + "@babel/helper-module-imports": "npm:^7.24.6" + "@babel/helper-simple-access": "npm:^7.24.6" + "@babel/helper-split-export-declaration": "npm:^7.24.6" + "@babel/helper-validator-identifier": "npm:^7.24.6" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/e162d0c1d876006d6989eadb9868be688784ea16a719cdce5df22541eac9547bebb137dc4d64f4d0349265b52a3633074a09c33785709e5c198696590d46402d + languageName: node + linkType: hard + +"@babel/helper-optimise-call-expression@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-optimise-call-expression@npm:7.24.6" + dependencies: + "@babel/types": "npm:^7.24.6" + checksum: 10/0f5e062bff683c8a8af5b20846f3a2ca2eda1c181fb1530f8fe5a13ea9fcb5166116e7d0bf3dbc48fb49bac32e68084c69fe7b35bfe8030ab3e4adb84cda064b + languageName: node + linkType: hard + "@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.8.0": version: 7.22.5 resolution: "@babel/helper-plugin-utils@npm:7.22.5" @@ -162,6 +387,39 @@ __metadata: languageName: node linkType: hard +"@babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.24.6, @babel/helper-plugin-utils@npm:^7.8.3": + version: 7.24.6 + resolution: "@babel/helper-plugin-utils@npm:7.24.6" + checksum: 10/0ac0a7a19959fb2f880ea87650475a4960232e98825d9a50f4aa56e5750a70fc799b48cf570af63a06b810d0128e758e801865762b51a8348067e37751a38478 + languageName: node + linkType: hard + +"@babel/helper-remap-async-to-generator@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-remap-async-to-generator@npm:7.24.6" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.24.6" + "@babel/helper-environment-visitor": "npm:^7.24.6" + "@babel/helper-wrap-function": "npm:^7.24.6" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/35733c4d3b86f00b4509d0bd9550894aa26669c44ffda4b667faf0515d67fa892ced093737a3bfd579e51e5c6d36e152bc6f6903fa57fba01f53bb65aa187071 + languageName: node + linkType: hard + +"@babel/helper-replace-supers@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-replace-supers@npm:7.24.6" + dependencies: + "@babel/helper-environment-visitor": "npm:^7.24.6" + "@babel/helper-member-expression-to-functions": "npm:^7.24.6" + "@babel/helper-optimise-call-expression": "npm:^7.24.6" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/3456b9fee029229a69c47ee301e2f45ad22fe9a6788ff9921b5c5e798d110b9258b736d1a3cbf9af1223feaaf764547f204397b36605c9e96a7c3929823fcea8 + 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" @@ -171,6 +429,24 @@ __metadata: languageName: node linkType: hard +"@babel/helper-simple-access@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-simple-access@npm:7.24.6" + dependencies: + "@babel/types": "npm:^7.24.6" + checksum: 10/4649d08f3e5eb30240f49ef7951b12d02ae4c30e6bef7b1b79ade587ff0b73223f3be840f6144b49c6b1a4a9dece890ada279b0844345ea8c011fb064fa2b9a3 + languageName: node + linkType: hard + +"@babel/helper-skip-transparent-expression-wrappers@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.24.6" + dependencies: + "@babel/types": "npm:^7.24.6" + checksum: 10/697a161c8d485314b5f063e5cbb803e87e9f860b082bf31bf17b2fc5fef232e1853cce6908c8d29fef3509e62626ae9db00d994e611fc0b119e3f285f53c65f1 + languageName: node + linkType: hard + "@babel/helper-split-export-declaration@npm:^7.22.6": version: 7.22.6 resolution: "@babel/helper-split-export-declaration@npm:7.22.6" @@ -180,6 +456,15 @@ __metadata: languageName: node linkType: hard +"@babel/helper-split-export-declaration@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-split-export-declaration@npm:7.24.6" + dependencies: + "@babel/types": "npm:^7.24.6" + checksum: 10/48ded9611f87a23bc962c9cd576cc653bd78eab3d9987d3b1c18571481d0d17d7d29397a5c07a1f5e182ef1a1c6f420b9934975bf57e8d7cbcb8d8853cc21d6c + languageName: node + linkType: hard + "@babel/helper-string-parser@npm:^7.23.4": version: 7.23.4 resolution: "@babel/helper-string-parser@npm:7.23.4" @@ -187,6 +472,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-string-parser@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-string-parser@npm:7.24.6" + checksum: 10/a24631e13850eb24a5e88fba4d1b86115a79f6d4a0b3a96641fdcdc4a6d706d7e09f17ae77fa26bc72a8a7253bc83b535a2e2865a78185ed1f957b299ea6c59c + languageName: node + linkType: hard + "@babel/helper-validator-identifier@npm:^7.16.7, @babel/helper-validator-identifier@npm:^7.22.20": version: 7.22.20 resolution: "@babel/helper-validator-identifier@npm:7.22.20" @@ -194,6 +486,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-validator-identifier@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-validator-identifier@npm:7.24.6" + checksum: 10/7e725ef0684291ca3306d5174a5d1cd9072ad58ba444cfa50aaf92a5c59dd723fa15031733ac598bb6b066cb62c2472e14cd82325522348977a72e99aa21b97a + languageName: node + linkType: hard + "@babel/helper-validator-option@npm:^7.23.5": version: 7.23.5 resolution: "@babel/helper-validator-option@npm:7.23.5" @@ -201,6 +500,24 @@ __metadata: languageName: node linkType: hard +"@babel/helper-validator-option@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-validator-option@npm:7.24.6" + checksum: 10/5defb2da74e1cac9497016f4e41698aeed75ec7a5e9dc07e777cdb67ef73cd2e27bd2bf8a3ab8d37e0b93a6a45524a9728f03e263afdef452436cf74794bde87 + languageName: node + linkType: hard + +"@babel/helper-wrap-function@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-wrap-function@npm:7.24.6" + dependencies: + "@babel/helper-function-name": "npm:^7.24.6" + "@babel/template": "npm:^7.24.6" + "@babel/types": "npm:^7.24.6" + checksum: 10/8f0c6f4113df22aeb0b27838348d10dbe195bfd2ad9565497916638c3a80cb0c13cd1080a080b058e74e5d03b20dd35010433af7b9fff8f91358bf5274bc89e1 + languageName: node + linkType: hard + "@babel/helpers@npm:^7.23.9": version: 7.23.9 resolution: "@babel/helpers@npm:7.23.9" @@ -212,6 +529,16 @@ __metadata: languageName: node linkType: hard +"@babel/helpers@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helpers@npm:7.24.6" + dependencies: + "@babel/template": "npm:^7.24.6" + "@babel/types": "npm:^7.24.6" + checksum: 10/9043f7140651e89246d0653c7198832e644865038dc18c117c492d450f237514764d1476faa1ba7466b83b348891f10f564b0c5615d86d6833fb275ead7fb259 + languageName: node + linkType: hard + "@babel/highlight@npm:^7.23.4": version: 7.23.4 resolution: "@babel/highlight@npm:7.23.4" @@ -223,6 +550,18 @@ __metadata: languageName: node linkType: hard +"@babel/highlight@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/highlight@npm:7.24.6" + dependencies: + "@babel/helper-validator-identifier": "npm:^7.24.6" + chalk: "npm:^2.4.2" + js-tokens: "npm:^4.0.0" + picocolors: "npm:^1.0.0" + checksum: 10/e11cd39ceb01c9b5e4f2684a45caefe7b2d7bb74997c30922e6b4063a6f16aff88356091350f0af01f044e1a198579a6b5c4161a84d0a6090e63a41167569daf + languageName: node + linkType: hard + "@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.5, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.0, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.8.3": version: 7.23.9 resolution: "@babel/parser@npm:7.23.9" @@ -232,6 +571,72 @@ __metadata: languageName: node linkType: hard +"@babel/parser@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/parser@npm:7.24.6" + bin: + parser: ./bin/babel-parser.js + checksum: 10/48af4251d030623a8fbf22979fc718bd9dead6ba6a64cae717270c6c809faaf303d137d82593912291ee761130c4731f0c25feb54629ba3fa4edcc496690cb44 + languageName: node + linkType: hard + +"@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.24.6" + dependencies: + "@babel/helper-environment-visitor": "npm:^7.24.6" + "@babel/helper-plugin-utils": "npm:^7.24.6" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/6db8f337ca2c7330ff2712ca7f853434dd7b3328714d5c3c27a09180f39ec7832ff49c2901b62493f391ffb9a4b24c5018bb67c5db1e9c405c47b58cad70904b + languageName: node + linkType: hard + +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.24.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.24.6" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/385a930f2809349040eb9dca45d6af6e7ae8517bb98d791731a61aa3ebde342ac684bed1f961b3d9f2344d88d1ef2eafe0e866cd01adf7ee1e866c14e510648c + languageName: node + linkType: hard + +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.24.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.24.6" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.24.6" + "@babel/plugin-transform-optional-chaining": "npm:^7.24.6" + peerDependencies: + "@babel/core": ^7.13.0 + checksum: 10/14dac1a0696727907d714f196baf09b34725210d70ddced73e8818cde17368b53bd1d0972a396ccd031e2d890b3162a0cd521837bdef1c32a7d6fea4bc333edd + languageName: node + linkType: hard + +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.24.6" + dependencies: + "@babel/helper-environment-visitor": "npm:^7.24.6" + "@babel/helper-plugin-utils": "npm:^7.24.6" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/5740206ccf35ff711eda0cff3b9b10c46b72c9e9d58cc195fa52c27463f09d8203c5d3bd0fb014fad6536320982d2aa5ccb496d5fdab222e18b0ab4972e9da79 + languageName: node + linkType: hard + +"@babel/plugin-proposal-private-property-in-object@npm:7.21.0-placeholder-for-preset-env.2": + version: 7.21.0-placeholder-for-preset-env.2 + resolution: "@babel/plugin-proposal-private-property-in-object@npm:7.21.0-placeholder-for-preset-env.2" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/fab70f399aa869275690ec6c7cedb4ef361d4e8b6f55c3d7b04bfee61d52fb93c87cec2c65d73cddbaca89fb8ef5ec0921fce675c9169d9d51f18305ab34e78a + languageName: node + linkType: hard + "@babel/plugin-syntax-async-generators@npm:^7.8.4": version: 7.8.4 resolution: "@babel/plugin-syntax-async-generators@npm:7.8.4" @@ -254,7 +659,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-class-properties@npm:^7.8.3": +"@babel/plugin-syntax-class-properties@npm:^7.12.13, @babel/plugin-syntax-class-properties@npm:^7.8.3": version: 7.12.13 resolution: "@babel/plugin-syntax-class-properties@npm:7.12.13" dependencies: @@ -265,7 +670,62 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-import-meta@npm:^7.8.3": +"@babel/plugin-syntax-class-static-block@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-syntax-class-static-block@npm:7.14.5" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.14.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/3e80814b5b6d4fe17826093918680a351c2d34398a914ce6e55d8083d72a9bdde4fbaf6a2dcea0e23a03de26dc2917ae3efd603d27099e2b98380345703bf948 + 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" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.8.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/ce307af83cf433d4ec42932329fad25fa73138ab39c7436882ea28742e1c0066626d224e0ad2988724c82644e41601cef607b36194f695cb78a1fcdc959637bd + languageName: node + linkType: hard + +"@babel/plugin-syntax-export-namespace-from@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-export-namespace-from@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.8.3" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/85740478be5b0de185228e7814451d74ab8ce0a26fcca7613955262a26e99e8e15e9da58f60c754b84515d4c679b590dbd3f2148f0f58025f4ae706f1c5a5d4a + languageName: node + linkType: hard + +"@babel/plugin-syntax-import-assertions@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-syntax-import-assertions@npm:7.24.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.24.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/ea73a9aed80e786eee859b6f1f389e29993a6c9ce35d1fde904c04ef2f9c48c7156356995d688a6f49121a9aa335f539f119e1f301e17c757b921f75c13452a3 + languageName: node + linkType: hard + +"@babel/plugin-syntax-import-attributes@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-syntax-import-attributes@npm:7.24.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.24.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/cd8a3aa480444b05fc792160d24628a34a57a265737ad5fef3034456bae9a3f7597ac4505106b29f7f086616f41941c95fd04540cb3da693518c6e5a7878f267 + 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" dependencies: @@ -287,6 +747,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-syntax-jsx@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-syntax-jsx@npm:7.24.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.24.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/68e90ec17c20c9f663006b8efe8af33782e36e1ef1b415c52345fe5102ccd06116d02f05601142c4665f0471ba926eac4926738f9c41dfd6af1705446c8af7c2 + languageName: node + linkType: hard + "@babel/plugin-syntax-jsx@npm:^7.7.2": version: 7.23.3 resolution: "@babel/plugin-syntax-jsx@npm:7.23.3" @@ -298,7 +769,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-logical-assignment-operators@npm:^7.8.3": +"@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" dependencies: @@ -320,7 +791,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-numeric-separator@npm:^7.8.3": +"@babel/plugin-syntax-numeric-separator@npm:^7.10.4, @babel/plugin-syntax-numeric-separator@npm:^7.8.3": version: 7.10.4 resolution: "@babel/plugin-syntax-numeric-separator@npm:7.10.4" dependencies: @@ -364,7 +835,18 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-top-level-await@npm:^7.8.3": +"@babel/plugin-syntax-private-property-in-object@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-syntax-private-property-in-object@npm:7.14.5" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.14.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/b317174783e6e96029b743ccff2a67d63d38756876e7e5d0ba53a322e38d9ca452c13354a57de1ad476b4c066dbae699e0ca157441da611117a47af88985ecda + languageName: node + linkType: hard + +"@babel/plugin-syntax-top-level-await@npm:^7.14.5, @babel/plugin-syntax-top-level-await@npm:^7.8.3": version: 7.14.5 resolution: "@babel/plugin-syntax-top-level-await@npm:7.14.5" dependencies: @@ -375,6 +857,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-syntax-typescript@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-syntax-typescript@npm:7.24.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.24.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/29dc4528a3a34a7c7fdaf21c097d4251c1dc31170327729b517a94ad93ed33230cc309b9b180404f82f829538be6155902aeda0b05773fbe4d5cb6e4b0f4191d + languageName: node + linkType: hard + "@babel/plugin-syntax-typescript@npm:^7.7.2": version: 7.23.3 resolution: "@babel/plugin-syntax-typescript@npm:7.23.3" @@ -386,1961 +879,2220 @@ __metadata: languageName: node linkType: hard -"@babel/template@npm:^7.22.15, @babel/template@npm:^7.23.9, @babel/template@npm:^7.3.3": - version: 7.23.9 - resolution: "@babel/template@npm:7.23.9" +"@babel/plugin-syntax-unicode-sets-regex@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/plugin-syntax-unicode-sets-regex@npm:7.18.6" dependencies: - "@babel/code-frame": "npm:^7.23.5" - "@babel/parser": "npm:^7.23.9" - "@babel/types": "npm:^7.23.9" - checksum: 10/1b011ba9354dc2e646561d54b6862e0df51760e6179faadd79be05825b0b6da04911e4e192df943f1766748da3037fd8493615b38707f7cadb0cf0c96601c170 + "@babel/helper-create-regexp-features-plugin": "npm:^7.18.6" + "@babel/helper-plugin-utils": "npm:^7.18.6" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/a651d700fe63ff0ddfd7186f4ebc24447ca734f114433139e3c027bc94a900d013cf1ef2e2db8430425ba542e39ae160c3b05f06b59fd4656273a3df97679e9c languageName: node linkType: hard -"@babel/traverse@npm:7.23.2": - version: 7.23.2 - resolution: "@babel/traverse@npm:7.23.2" +"@babel/plugin-transform-arrow-functions@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-arrow-functions@npm:7.24.6" dependencies: - "@babel/code-frame": "npm:^7.22.13" - "@babel/generator": "npm:^7.23.0" - "@babel/helper-environment-visitor": "npm:^7.22.20" - "@babel/helper-function-name": "npm:^7.23.0" - "@babel/helper-hoist-variables": "npm:^7.22.5" - "@babel/helper-split-export-declaration": "npm:^7.22.6" - "@babel/parser": "npm:^7.23.0" - "@babel/types": "npm:^7.23.0" - debug: "npm:^4.1.0" - globals: "npm:^11.1.0" - checksum: 10/e4fcb8f8395804956df4ae1301230a14b6eb35b74a7058a0e0b40f6f4be7281e619e6dafe400e833d4512da5d61cf17ea177d04b00a8f7cf3d8d69aff83ca3d8 + "@babel/helper-plugin-utils": "npm:^7.24.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/ae67650ff6bc080a8ac407d6a0300b8c42e629d6b6cdf673091321fb3f93ac5b914667964931f02b422fde64f24483df73c05e9adda204aa63a77465cd379238 languageName: node linkType: hard -"@babel/traverse@npm:^7.23.9": - version: 7.23.9 - resolution: "@babel/traverse@npm:7.23.9" +"@babel/plugin-transform-async-generator-functions@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-async-generator-functions@npm:7.24.6" dependencies: - "@babel/code-frame": "npm:^7.23.5" - "@babel/generator": "npm:^7.23.6" - "@babel/helper-environment-visitor": "npm:^7.22.20" - "@babel/helper-function-name": "npm:^7.23.0" - "@babel/helper-hoist-variables": "npm:^7.22.5" - "@babel/helper-split-export-declaration": "npm:^7.22.6" - "@babel/parser": "npm:^7.23.9" - "@babel/types": "npm:^7.23.9" - debug: "npm:^4.3.1" - globals: "npm:^11.1.0" - checksum: 10/e2bb845f7f229feb7c338f7e150f5f1abc5395dcd3a6a47f63a25242ec3ec6b165f04a6df7d4849468547faee34eb3cf52487eb0bd867a7d3c42fec2a648266f + "@babel/helper-environment-visitor": "npm:^7.24.6" + "@babel/helper-plugin-utils": "npm:^7.24.6" + "@babel/helper-remap-async-to-generator": "npm:^7.24.6" + "@babel/plugin-syntax-async-generators": "npm:^7.8.4" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/01025f77001aaa8b7df02283a95d3b076cac3e2bd519878e0ac3462a5a45eb18ef82b406a5b3b83c05187d2985e2ba909cbbe98e303417a49f4357cee7cd1f6d languageName: node linkType: hard -"@babel/types@npm:7.17.0": - version: 7.17.0 - resolution: "@babel/types@npm:7.17.0" +"@babel/plugin-transform-async-to-generator@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-async-to-generator@npm:7.24.6" dependencies: - "@babel/helper-validator-identifier": "npm:^7.16.7" - to-fast-properties: "npm:^2.0.0" - checksum: 10/535ccef360d0c74e2bb685050f3a45e6ab30f66c740bbdd0858148ed502043f1ae2006a9d0269ac3b7356b690091ae313efd912e408bc0198d80a14b2a6f1537 + "@babel/helper-module-imports": "npm:^7.24.6" + "@babel/helper-plugin-utils": "npm:^7.24.6" + "@babel/helper-remap-async-to-generator": "npm:^7.24.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/b10945afa13d4fc9f780b5420e938fa1259e7352498d9fafbad12d91733f9d8df2c11f1d46a61c4eaea6ec12461ee56b0d707e81c78cb0e12fe32c2774f3f377 languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.17.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" +"@babel/plugin-transform-block-scoped-functions@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.24.6" dependencies: - "@babel/helper-string-parser": "npm:^7.23.4" - "@babel/helper-validator-identifier": "npm:^7.22.20" - to-fast-properties: "npm:^2.0.0" - checksum: 10/bed9634e5fd0f9dc63c84cfa83316c4cb617192db9fedfea464fca743affe93736d7bf2ebf418ee8358751a9d388e303af87a0c050cb5d87d5870c1b0154f6cb + "@babel/helper-plugin-utils": "npm:^7.24.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/8479b49e7aff3b49a7b66ffc058c896f7553f192d74ee7d158d73e67c5a89b7250cd2dbc46db77409a80c787b9ebd73704bd52100e995207cdb00189c2c87dd0 languageName: node linkType: hard -"@bcoe/v8-coverage@npm:^0.2.3": - version: 0.2.3 - resolution: "@bcoe/v8-coverage@npm:0.2.3" - checksum: 10/1a1f0e356a3bb30b5f1ced6f79c413e6ebacf130421f15fac5fcd8be5ddf98aedb4404d7f5624e3285b700e041f9ef938321f3ca4d359d5b716f96afa120d88d +"@babel/plugin-transform-block-scoping@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-block-scoping@npm:7.24.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.24.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/40affbc3fbf4d6664b8d59452f37980e37333847ab0927fe46928e9c68b8f3016aaf529c21d5672807f80015860dd025f3f862b1ebc378a734d3e8014f59f2b4 languageName: node linkType: hard -"@codeceptjs/configure@npm:0.10.0": - version: 0.10.0 - resolution: "@codeceptjs/configure@npm:0.10.0" +"@babel/plugin-transform-class-properties@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-class-properties@npm:7.24.6" dependencies: - lodash.merge: "npm:^4.6.2" - lodash.mergewith: "npm:^4.6.2" + "@babel/helper-create-class-features-plugin": "npm:^7.24.6" + "@babel/helper-plugin-utils": "npm:^7.24.6" peerDependencies: - codeceptjs: ">= 2.3.3" - checksum: 10/afd4512fee9721c98c432a48689db65a80dccca96a59b5de23bae598c78811aa068f476874a0c05674fca258089fc42ddf6d457a16367caa5eb08dba3f88f85b + "@babel/core": ^7.0.0-0 + checksum: 10/dee84706aed7086e83ef9358f6a1a5f2a4b640a8176352c107eada2b2206c0174b22181892cfe88723e5762545a8b35f8e4dd71b917155e907e6d7f8f4383532 languageName: node linkType: hard -"@codeceptjs/configure@npm:^1.0.0": - version: 1.0.1 - resolution: "@codeceptjs/configure@npm:1.0.1" +"@babel/plugin-transform-class-static-block@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-class-static-block@npm:7.24.6" dependencies: - lodash.merge: "npm:^4.6.2" - lodash.mergewith: "npm:^4.6.2" + "@babel/helper-create-class-features-plugin": "npm:^7.24.6" + "@babel/helper-plugin-utils": "npm:^7.24.6" + "@babel/plugin-syntax-class-static-block": "npm:^7.14.5" peerDependencies: - codeceptjs: ">= 2.3.3" - checksum: 10/f570ddc1dba5cd53319cb23a1819723cfdba946b084fb39d84d25e0735300fdfb018ec5d8b1f7718d979cb17468126748d04d96aaeb7e1815694f9baca49dde2 + "@babel/core": ^7.12.0 + checksum: 10/aa7fe118d508c57d5e35b646da18a1029bf49cf0820517deb2de7f1ceb472b55aacfbd48202615c14cdaa3809a89d01bcb414e26d3de1aa2e3648852cff4c705 languageName: node linkType: hard -"@codeceptjs/detox-helper@npm:1.0.2": - version: 1.0.2 - resolution: "@codeceptjs/detox-helper@npm:1.0.2" +"@babel/plugin-transform-classes@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-classes@npm:7.24.6" dependencies: - detox: "npm:^12.11.3" - checksum: 10/4157dde568a98e2e36961c6e30e243088ac194f82a02e2da53d899b49e0b6d7f5679869c62541b22af4b573ae322933961cb76f0b65265e262299d0a90967b1f + "@babel/helper-annotate-as-pure": "npm:^7.24.6" + "@babel/helper-compilation-targets": "npm:^7.24.6" + "@babel/helper-environment-visitor": "npm:^7.24.6" + "@babel/helper-function-name": "npm:^7.24.6" + "@babel/helper-plugin-utils": "npm:^7.24.6" + "@babel/helper-replace-supers": "npm:^7.24.6" + "@babel/helper-split-export-declaration": "npm:^7.24.6" + globals: "npm:^11.1.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/7bd9350695b82b48d4e795497f05c9223ba6e0a9ff7506e21c09731510d4d5af1023e278416aa14d66a1fdb565b7e7db02e2f26e71604a00db3891fcdfb619d3 languageName: node linkType: hard -"@codeceptjs/helper@npm:2.0.1": - version: 2.0.1 - resolution: "@codeceptjs/helper@npm:2.0.1" - checksum: 10/f4dfc1a916943a708b19c172fb34bcb437734f15fa44b8804b794d31b919d3dad4de859c8b8aa1d1a2f40374044987fa6b6bc307258e0cebee2272bf755931ef +"@babel/plugin-transform-computed-properties@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-computed-properties@npm:7.24.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.24.6" + "@babel/template": "npm:^7.24.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/11d46525969069ed44dc4bd083397ab9b924624e53c962bf7a034dd0b9b99e9571c30ba5ce7759f68f8d616d7abc2cb1ec01296e65c30a081e573ea1a888a023 languageName: node linkType: hard -"@codeceptjs/helper@npm:^2.0.4": - version: 2.0.4 - resolution: "@codeceptjs/helper@npm:2.0.4" +"@babel/plugin-transform-destructuring@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-destructuring@npm:7.24.6" dependencies: - typescript: "npm:^5.1.3" - checksum: 10/004e229f156a172f37965eb93d7d0926c5cc0cb2eeb772cb81e46eb2a32092ac162e9ccca7b521f2b09a5a3ca6b58f6f7537831b9590c5927e0e37c699bf1093 + "@babel/helper-plugin-utils": "npm:^7.24.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/0ae192d749b48ea836eb9f062425b255e550e1b9f9d47db2c80aa203c7a03557d21806c8bab915015457cc38b1dbafd61fa09c7b6753ab95d95b2e0d493e1db7 languageName: node linkType: hard -"@colors/colors@npm:1.5.0": - version: 1.5.0 - resolution: "@colors/colors@npm:1.5.0" - checksum: 10/9d226461c1e91e95f067be2bdc5e6f99cfe55a721f45afb44122e23e4b8602eeac4ff7325af6b5a369f36396ee1514d3809af3f57769066d80d83790d8e53339 +"@babel/plugin-transform-dotall-regex@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-dotall-regex@npm:7.24.6" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.24.6" + "@babel/helper-plugin-utils": "npm:^7.24.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/823732fade680b43ae6d41c416c515cff9d52eb2a501a4152a63901b8df32d74886f3ab6f01ba7ebe6c6a39c47d4c28ac48d6e831019e058578e23b543f6d1bd languageName: node linkType: hard -"@cspotcode/source-map-support@npm:^0.8.0": - version: 0.8.1 - resolution: "@cspotcode/source-map-support@npm:0.8.1" +"@babel/plugin-transform-duplicate-keys@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-duplicate-keys@npm:7.24.6" dependencies: - "@jridgewell/trace-mapping": "npm:0.3.9" - checksum: 10/b6e38a1712fab242c86a241c229cf562195aad985d0564bd352ac404be583029e89e93028ffd2c251d2c407ecac5fb0cbdca94a2d5c10f29ac806ede0508b3ff + "@babel/helper-plugin-utils": "npm:^7.24.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/fdeaa118735b9f0fdcfd6c0af9f51a3d37d42a354018fdf20d58e8a1960ecc0060dbb21054b516f794d113213e03fdfcd74ea36d94b4f0609bce1dd5a3a6c7ec languageName: node linkType: hard -"@cucumber/ci-environment@npm:10.0.1": - version: 10.0.1 - resolution: "@cucumber/ci-environment@npm:10.0.1" - checksum: 10/726f7957eafd451bc1f62eb7ed2c86517c30682e07c07e9fbde2a48913882382b20d5354657d2cbbc19d76bc6f00503b202c7eba379921e7a2a3595c5b8e8fc2 +"@babel/plugin-transform-dynamic-import@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-dynamic-import@npm:7.24.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.24.6" + "@babel/plugin-syntax-dynamic-import": "npm:^7.8.3" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/c104b5bc05e3f2c6bcd484551486dd543b49b3af370761a8a7bf360390e3a229a1b4ef2f4928c058b887efe60a35f7be7bf401040cdfb027eec7cb7ec46ce6f9 languageName: node linkType: hard -"@cucumber/cucumber-expressions@npm:17": - version: 17.0.2 - resolution: "@cucumber/cucumber-expressions@npm:17.0.2" +"@babel/plugin-transform-exponentiation-operator@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.24.6" dependencies: - regexp-match-indices: "npm:1.0.2" - checksum: 10/9ca02cc8ac6f8dddc3635d95f95b567d8850268bec6067b4a4440b75dc0a7606aefaf206e0848c81d5a25f3942ae8875b4a4d14f507b2667e4cf0d40e2e4731e + "@babel/helper-builder-binary-assignment-operator-visitor": "npm:^7.24.6" + "@babel/helper-plugin-utils": "npm:^7.24.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/8b59853c0548115e5b32acd876bddb4f990d71c5fc8ed0d8c428da456a8d9f4cc4133dc9fbedd9fade3eb334405e42c4968192738a7cb7b1f73b4e21df8eb05e languageName: node linkType: hard -"@cucumber/cucumber-expressions@npm:17.1.0": - version: 17.1.0 - resolution: "@cucumber/cucumber-expressions@npm:17.1.0" +"@babel/plugin-transform-export-namespace-from@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-export-namespace-from@npm:7.24.6" dependencies: - regexp-match-indices: "npm:1.0.2" - checksum: 10/2dda4129c34b8a36870c1c1813e2daf9cbbcf480a9df4538443b7e57fb90013e4c9566e0b3940d0bf76a08596f530fd6cd40c799b37b42be722620a0e0fd81d4 + "@babel/helper-plugin-utils": "npm:^7.24.6" + "@babel/plugin-syntax-export-namespace-from": "npm:^7.8.3" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/49d8f3ef9d0f76f656842875e4a1bbfc151b4b7882f8890edfbbb409df389d70d235c206eb30a5ad556c0ae8a8b3805f43fbae5ca2a3d4cd259477272d3d580f languageName: node linkType: hard -"@cucumber/cucumber@npm:^10.4.0": - version: 10.4.0 - resolution: "@cucumber/cucumber@npm:10.4.0" +"@babel/plugin-transform-for-of@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-for-of@npm:7.24.6" dependencies: - "@cucumber/ci-environment": "npm:10.0.1" - "@cucumber/cucumber-expressions": "npm:17.1.0" - "@cucumber/gherkin": "npm:28.0.0" - "@cucumber/gherkin-streams": "npm:5.0.1" - "@cucumber/gherkin-utils": "npm:9.0.0" - "@cucumber/html-formatter": "npm:21.3.1" - "@cucumber/message-streams": "npm:4.0.1" - "@cucumber/messages": "npm:24.1.0" - "@cucumber/tag-expressions": "npm:6.1.0" - assertion-error-formatter: "npm:^3.0.0" - capital-case: "npm:^1.0.4" - chalk: "npm:^4.1.2" - cli-table3: "npm:0.6.3" - commander: "npm:^10.0.0" - debug: "npm:^4.3.4" - error-stack-parser: "npm:^2.1.4" - figures: "npm:^3.2.0" - glob: "npm:^10.3.10" - has-ansi: "npm:^4.0.1" - indent-string: "npm:^4.0.0" - is-installed-globally: "npm:^0.4.0" - is-stream: "npm:^2.0.0" - knuth-shuffle-seeded: "npm:^1.0.6" - lodash.merge: "npm:^4.6.2" - lodash.mergewith: "npm:^4.6.2" - luxon: "npm:3.2.1" - mkdirp: "npm:^2.1.5" - mz: "npm:^2.7.0" - progress: "npm:^2.0.3" - read-pkg-up: "npm:^7.0.1" - resolve-pkg: "npm:^2.0.0" - semver: "npm:7.5.3" - string-argv: "npm:0.3.1" - strip-ansi: "npm:6.0.1" - supports-color: "npm:^8.1.1" - tmp: "npm:0.2.3" - type-fest: "npm:^4.8.3" - util-arity: "npm:^1.1.0" - xmlbuilder: "npm:^15.1.1" - yaml: "npm:^2.2.2" - yup: "npm:1.2.0" - bin: - cucumber-js: bin/cucumber.js - checksum: 10/9527f82450d1b3af51d1aa5df4aed3db24c41c9b6587de833f607c2ad9a3832b010d43875e3e6ead3f5801f737d0db62b5cd264a04acb6e963a7083af16634cb + "@babel/helper-plugin-utils": "npm:^7.24.6" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.24.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/76d61d26ef6a7444b6fc99110e1190917aa813bf29b0b04dcbf17d705e6024c73af63a38b0dc82a31a4611a4241fec8381af67d925c0f824f70320086f8696e2 languageName: node linkType: hard -"@cucumber/gherkin-streams@npm:5.0.1, @cucumber/gherkin-streams@npm:^5.0.1": - version: 5.0.1 - resolution: "@cucumber/gherkin-streams@npm:5.0.1" +"@babel/plugin-transform-function-name@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-function-name@npm:7.24.6" dependencies: - commander: "npm:9.1.0" - source-map-support: "npm:0.5.21" + "@babel/helper-compilation-targets": "npm:^7.24.6" + "@babel/helper-function-name": "npm:^7.24.6" + "@babel/helper-plugin-utils": "npm:^7.24.6" peerDependencies: - "@cucumber/gherkin": ">=22.0.0" - "@cucumber/message-streams": ">=4.0.0" - "@cucumber/messages": ">=17.1.1" - bin: - gherkin-javascript: bin/gherkin - checksum: 10/d52324a443cd51ce7c8a6e2e3904c4431c7d8520c89756cd75aed0b7e2f83bc85a09a4d24ba02a909d574dfbb4d732251e1c7959378ce64419553a53a523a773 + "@babel/core": ^7.0.0-0 + checksum: 10/fb96863c30fd76da14eeb64f19e340c2cf28980cf3961be3fff4df2278ad4b97cbaac2137e9ea0b36b3a51f3c723815dd590545344ba02482e99cec8aab2a4e5 languageName: node linkType: hard -"@cucumber/gherkin-utils@npm:9.0.0, @cucumber/gherkin-utils@npm:^9.0.0": - version: 9.0.0 - resolution: "@cucumber/gherkin-utils@npm:9.0.0" +"@babel/plugin-transform-json-strings@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-json-strings@npm:7.24.6" dependencies: - "@cucumber/gherkin": "npm:^28.0.0" - "@cucumber/messages": "npm:^24.0.0" - "@teppeis/multimaps": "npm:3.0.0" - commander: "npm:12.0.0" - source-map-support: "npm:^0.5.21" - bin: - gherkin-utils: bin/gherkin-utils - checksum: 10/04ced60d52c521c6b52a43466e51f58c3ee6ce94dfe59425c048fbb43fa9e82fe5e959edab3e57e7294d4e130d5982d348f2324643416cbceac3e82604abeaea + "@babel/helper-plugin-utils": "npm:^7.24.6" + "@babel/plugin-syntax-json-strings": "npm:^7.8.3" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/417772d7b1e4c35f2dcc658141163bcb607d583abc3ab54932a0ce430d7cf7fdd81f44d7e2ccb40280bdec699b9f46ebdf23e480106d72f8399c69bfcb2b9432 languageName: node linkType: hard -"@cucumber/gherkin@npm:26": - version: 26.2.0 - resolution: "@cucumber/gherkin@npm:26.2.0" +"@babel/plugin-transform-literals@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-literals@npm:7.24.6" dependencies: - "@cucumber/messages": "npm:>=19.1.4 <=22" - checksum: 10/f50f9f6f9a51fc0ecee27a7a49bcba88aa5f9c996abc564fc165efe5a5da353ba95dc54a79d021d4579e48c265c02647e0f488917d0b34918cda95bdbb02bbbd + "@babel/helper-plugin-utils": "npm:^7.24.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/29e467f05a9bb82df8c281e3ca67629e38f8f475708454bcd5b59e73e957897f1bb795ff09a1253d666aeb3e872c50b0c465f79f28c3aadfe1a290d813a8d4ee languageName: node linkType: hard -"@cucumber/gherkin@npm:28.0.0, @cucumber/gherkin@npm:^28.0.0": - version: 28.0.0 - resolution: "@cucumber/gherkin@npm:28.0.0" +"@babel/plugin-transform-logical-assignment-operators@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.24.6" dependencies: - "@cucumber/messages": "npm:>=19.1.4 <=24" - checksum: 10/f6c6f33e9afa30c45c837b37f00d9dc501703a2613a809ed9d4439ef47a3e365d79b4e80f090471838d962ba76db50e66442935fcc3df372eb818f3023b00f24 + "@babel/helper-plugin-utils": "npm:^7.24.6" + "@babel/plugin-syntax-logical-assignment-operators": "npm:^7.10.4" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/5ee614e959a9b32bd322266b052fa30f5fa1f89d9f367aa346f0aca7ae6da656820379165531df4cb195b2036589753a277324693703ae9d5ef22529d5b52eb7 languageName: node linkType: hard -"@cucumber/html-formatter@npm:21.3.1": - version: 21.3.1 - resolution: "@cucumber/html-formatter@npm:21.3.1" +"@babel/plugin-transform-member-expression-literals@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-member-expression-literals@npm:7.24.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.24.6" peerDependencies: - "@cucumber/messages": ">=18" - checksum: 10/7c67856ab185e691fea5a44a89f5c4033924a523c83ec24ac872c2284395d8204e9e6a61e4d2a7264a2556d5cfcf800c67627ff8713e82b3fccba1707e29aed4 + "@babel/core": ^7.0.0-0 + checksum: 10/7d5cfd042e628999aec908f7f4b5b40403f57eeb87a772bd2299bc0f6a82237521b9b0f61c247c0d84d43bdb4ff2d85938a4843c7875a3b9d96ef10263d7f5d4 languageName: node linkType: hard -"@cucumber/message-streams@npm:4.0.1, @cucumber/message-streams@npm:^4.0.1": - version: 4.0.1 - resolution: "@cucumber/message-streams@npm:4.0.1" +"@babel/plugin-transform-modules-amd@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-modules-amd@npm:7.24.6" + dependencies: + "@babel/helper-module-transforms": "npm:^7.24.6" + "@babel/helper-plugin-utils": "npm:^7.24.6" peerDependencies: - "@cucumber/messages": ">=17.1.1" - checksum: 10/74080dafde31c033ff51eab6ab8cd1e940635f336679d5cadc8f06e2cd834d295bf2666980bb8c5b6619ea6bd1d1c1259385e53fbaf0d4c602af51fa67004b97 + "@babel/core": ^7.0.0-0 + checksum: 10/7c01c4e8b1ae80ab2f293273be9ffa52d1f9a6096e65e748b7649047a3b7f1744c1165490e85f6d62849bb1a86da1f644e7b99a40015f9c986783b3456bb8de4 languageName: node linkType: hard -"@cucumber/messages@npm:24.0.1, @cucumber/messages@npm:^24.0.0": - version: 24.0.1 - resolution: "@cucumber/messages@npm:24.0.1" +"@babel/plugin-transform-modules-commonjs@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-modules-commonjs@npm:7.24.6" dependencies: - "@types/uuid": "npm:9.0.7" - class-transformer: "npm:0.5.1" - reflect-metadata: "npm:0.2.1" - uuid: "npm:9.0.1" - checksum: 10/fdaeb71eaa996b4cb45943b42b50d1060b4d7a65a2a698b96796a5fc355799969f16a2ff472f88913740ea8c0983e7485be71a3f11ddd1e4f414cf529a4134f8 + "@babel/helper-module-transforms": "npm:^7.24.6" + "@babel/helper-plugin-utils": "npm:^7.24.6" + "@babel/helper-simple-access": "npm:^7.24.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/ac6b0614bdaa9bb60d028d7b30ceae0d63fae55ddf5dca7b87f24ff0d0fa0512972799c835e2b025f0ef6976b3af6a3425d686e5e4bccfb8bf3f8f5665aac0b8 languageName: node linkType: hard -"@cucumber/messages@npm:24.1.0, @cucumber/messages@npm:>=19.1.4 <=24, @cucumber/messages@npm:^24.1.0": - version: 24.1.0 - resolution: "@cucumber/messages@npm:24.1.0" +"@babel/plugin-transform-modules-systemjs@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-modules-systemjs@npm:7.24.6" dependencies: - "@types/uuid": "npm:9.0.8" - class-transformer: "npm:0.5.1" - reflect-metadata: "npm:0.2.1" - uuid: "npm:9.0.1" - checksum: 10/a0e28349afd872cd067c03b726f0e61bb017735df63e343f94c096842058282a6fd6a1adcff83d8b61855d00637904535e5918c1ac589d660bd2c610c922f088 + "@babel/helper-hoist-variables": "npm:^7.24.6" + "@babel/helper-module-transforms": "npm:^7.24.6" + "@babel/helper-plugin-utils": "npm:^7.24.6" + "@babel/helper-validator-identifier": "npm:^7.24.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/b1cad402424dce18cda43ab6cc98d4f063c2213bd75dde729d083a511551d5cc6edaa578439ab3097ab0e65727dd5c4dadb9f7157ed129b245a13eed3e7ffc16 languageName: node linkType: hard -"@cucumber/messages@npm:>=19.1.4 <=22": - version: 22.0.0 - resolution: "@cucumber/messages@npm:22.0.0" +"@babel/plugin-transform-modules-umd@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-modules-umd@npm:7.24.6" dependencies: - "@types/uuid": "npm:9.0.1" - class-transformer: "npm:0.5.1" - reflect-metadata: "npm:0.1.13" - uuid: "npm:9.0.0" - checksum: 10/09fa7264aa9c53e7a9da3ec752c785ebeeaf98e8e8d4056c7cd6c800a6967b0e9beff0a5b30e3165ff3fe908a9dc9525adae2e28aa02116f7e38b57671e87f52 + "@babel/helper-module-transforms": "npm:^7.24.6" + "@babel/helper-plugin-utils": "npm:^7.24.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/817c93a4170714e4c38167d3f25bdd62864abd344bccec51402b9f8e71b6aa979b8c63b4d4061f0ad7d29f8637f1e2b3785a4596515f19578dac9bc46644685a languageName: node linkType: hard -"@cucumber/tag-expressions@npm:6.1.0": - version: 6.1.0 - resolution: "@cucumber/tag-expressions@npm:6.1.0" - checksum: 10/eaef7c35607d85c1028aef4eff63e60e68437e780b268a199e51ac7f8a27815c2df33990ee458f81cb1ae3fc56ea3ddfa9a11edaeab51b4a409404f1ce71ffec +"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.24.6" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.24.6" + "@babel/helper-plugin-utils": "npm:^7.24.6" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/87b6dd96610dc5eb97347762ac49e66c6ab59a56f46848f69d8045adb51c14839f499c7d59f6367e453ac4c675b2772c738e3d9af6730f03519b59843b9a3626 languageName: node linkType: hard -"@cypress/request@npm:^3.0.0": - version: 3.0.1 - resolution: "@cypress/request@npm:3.0.1" +"@babel/plugin-transform-new-target@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-new-target@npm:7.24.6" dependencies: - aws-sign2: "npm:~0.7.0" - aws4: "npm:^1.8.0" - caseless: "npm:~0.12.0" - combined-stream: "npm:~1.0.6" - extend: "npm:~3.0.2" - forever-agent: "npm:~0.6.1" - form-data: "npm:~2.3.2" - http-signature: "npm:~1.3.6" - is-typedarray: "npm:~1.0.0" - isstream: "npm:~0.1.2" - json-stringify-safe: "npm:~5.0.1" - mime-types: "npm:~2.1.19" - performance-now: "npm:^2.1.0" - qs: "npm:6.10.4" - safe-buffer: "npm:^5.1.2" - tough-cookie: "npm:^4.1.3" - tunnel-agent: "npm:^0.6.0" - uuid: "npm:^8.3.2" - checksum: 10/bf48bed6d6e493c05493902fb08b1d0646e7ec4300cf834816c2616f781db1a7fc447bd6f81de7c3076d738e8a6d75354e21d332f8f7ef8d9101d9b2f8e15b3a + "@babel/helper-plugin-utils": "npm:^7.24.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/1f6ecbbae2fdc6123fef575b76527db82ca4bc7f598bc98292243ab30490b453eefd768608a889616eb56ff1e7d1f22eab8df76da13b59a35782e6f5d8902516 languageName: node linkType: hard -"@cypress/xvfb@npm:^1.2.4": - version: 1.2.4 - resolution: "@cypress/xvfb@npm:1.2.4" +"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.24.6" dependencies: - debug: "npm:^3.1.0" - lodash.once: "npm:^4.1.1" - checksum: 10/cb995b069f8c4f1e7857049bda0bd73a58e0048ccaf276ef0e66d1e1c03ba6fa099b5d765ad12ea37a7e5b7685f7413a2b9a99b27891407565b915f4a2f919a7 + "@babel/helper-plugin-utils": "npm:^7.24.6" + "@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.8.3" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/e4499bbd58ff6919f8dc2bf952c624631d9b94db055aaf1fa33e19da5ef7c1d7cc1e81ee9753af6a1d6cdb995e6bab3ad0035c7f08098c9e092639b45e063d51 languageName: node linkType: hard -"@es-joy/jsdoccomment@npm:~0.42.0": - version: 0.42.0 - resolution: "@es-joy/jsdoccomment@npm:0.42.0" +"@babel/plugin-transform-numeric-separator@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-numeric-separator@npm:7.24.6" dependencies: - comment-parser: "npm:1.4.1" - esquery: "npm:^1.5.0" - jsdoc-type-pratt-parser: "npm:~4.0.0" - checksum: 10/413c058f224f91cf6370a514e7024944d20977819724878121178e598714cc4734ee9898b3eca6396f67542ad81acd9d46d5a0209e62306b0ef17a28626ec566 + "@babel/helper-plugin-utils": "npm:^7.24.6" + "@babel/plugin-syntax-numeric-separator": "npm:^7.10.4" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/ccc5e4eb6ef5320e4116b6132ad429b89e5c7839c55452688313ac0d1e49a05a3ffb031a39321a97bce5da6c04d310210a78db562c9535154bfd549c7d294ac0 languageName: node linkType: hard -"@esbuild/aix-ppc64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/aix-ppc64@npm:0.19.12" - conditions: os=aix & cpu=ppc64 +"@babel/plugin-transform-object-rest-spread@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-object-rest-spread@npm:7.24.6" + dependencies: + "@babel/helper-compilation-targets": "npm:^7.24.6" + "@babel/helper-plugin-utils": "npm:^7.24.6" + "@babel/plugin-syntax-object-rest-spread": "npm:^7.8.3" + "@babel/plugin-transform-parameters": "npm:^7.24.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/74d11df04244d530bbd47a8fe8a35195f0616364bbe5c38cc87b62a824b515e1322002187dbebf9c92e34ba73a88202c7e07275b98b13615144e46f478c33462 languageName: node linkType: hard -"@esbuild/android-arm64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/android-arm64@npm:0.19.12" - conditions: os=android & cpu=arm64 +"@babel/plugin-transform-object-super@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-object-super@npm:7.24.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.24.6" + "@babel/helper-replace-supers": "npm:^7.24.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/41579a84341c6064ce38e34ea59c3dc743073f3afaa77b5cbca3b6133530a236c4d02ff5a52089510514fe1c0ce46cacbb8486e42992f5ce691732061154269a languageName: node linkType: hard -"@esbuild/android-arm@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/android-arm@npm:0.19.12" - conditions: os=android & cpu=arm +"@babel/plugin-transform-optional-catch-binding@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.24.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.24.6" + "@babel/plugin-syntax-optional-catch-binding": "npm:^7.8.3" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/5c57af63003c30c7141cc5a21a8963ccd6cded45be91f15cceb89a6f9ef403f2f88f990e980e3c6f7c084b861b460dd6f9e81dc44efb049405337f3fe7d6ff00 languageName: node linkType: hard -"@esbuild/android-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/android-x64@npm:0.19.12" - conditions: os=android & cpu=x64 +"@babel/plugin-transform-optional-chaining@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-optional-chaining@npm:7.24.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.24.6" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.24.6" + "@babel/plugin-syntax-optional-chaining": "npm:^7.8.3" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/fb5deb31b237102ada066197fde3f3b07fd2cee8e79dc8e3752e0a44ef49174af5bd23120793b6552d83bd2e2807a6b124133a5d563f6e9ff60468bcb21b3cec languageName: node linkType: hard -"@esbuild/darwin-arm64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/darwin-arm64@npm:0.19.12" - conditions: os=darwin & cpu=arm64 +"@babel/plugin-transform-parameters@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-parameters@npm:7.24.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.24.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/c885f6c92fef0541fbf721f7bd3807be9f57af08ee67ad94124b55ce838e17b10c1374cff61108bf8083e7162c75cc2bde004ecf791e6db8ec2e84efb8e4daf9 languageName: node linkType: hard -"@esbuild/darwin-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/darwin-x64@npm:0.19.12" - conditions: os=darwin & cpu=x64 +"@babel/plugin-transform-private-methods@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-private-methods@npm:7.24.6" + dependencies: + "@babel/helper-create-class-features-plugin": "npm:^7.24.6" + "@babel/helper-plugin-utils": "npm:^7.24.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/83faa699d3aa39315d5f0928b910e597c09c0be1c66d925e0f470f5568a7a8d70521b63b445f6c5b3a3a8a60c889ea22214e08ba26a38c707c5ade1b8b503328 languageName: node linkType: hard -"@esbuild/freebsd-arm64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/freebsd-arm64@npm:0.19.12" - conditions: os=freebsd & cpu=arm64 +"@babel/plugin-transform-private-property-in-object@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-private-property-in-object@npm:7.24.6" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.24.6" + "@babel/helper-create-class-features-plugin": "npm:^7.24.6" + "@babel/helper-plugin-utils": "npm:^7.24.6" + "@babel/plugin-syntax-private-property-in-object": "npm:^7.14.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/f92e071614722bb7d61172ea9bdc40b99903170bdd7576b8c5ccfd40134344fd91d3c9eaf5ada588adff9090af4cca0003c7ff0ba88a814c803338dc578de6e1 languageName: node linkType: hard -"@esbuild/freebsd-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/freebsd-x64@npm:0.19.12" - conditions: os=freebsd & cpu=x64 +"@babel/plugin-transform-property-literals@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-property-literals@npm:7.24.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.24.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/5f609bb1e4b41f075057e314fe1e407687c3c287d78286950c31ee04bb7e3bb31cb6b35f7407f163eb28e9fa938a255a9a68627b7eba69a03eedf76593e200f0 languageName: node linkType: hard -"@esbuild/linux-arm64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-arm64@npm:0.19.12" - conditions: os=linux & cpu=arm64 +"@babel/plugin-transform-regenerator@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-regenerator@npm:7.24.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.24.6" + regenerator-transform: "npm:^0.15.2" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/ef75aac5ad34a77c645e3c53e9efc230c8b237764e6907c24bd667c77e2cdcd80bcc7f9fac481c6e6d3107ad0b2dfa51e09d25d0892a9e6639379727bbcf74ae languageName: node linkType: hard -"@esbuild/linux-arm@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-arm@npm:0.19.12" - conditions: os=linux & cpu=arm +"@babel/plugin-transform-reserved-words@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-reserved-words@npm:7.24.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.24.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/aa1d490a35e01ad66353f0d0dfe41244960f2efeebed1ac86de7214b9b265a00580e1a4220e99588a7a6e0d2764a5e477741463b6d1a66ac22a057a77db14d9c languageName: node linkType: hard -"@esbuild/linux-ia32@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-ia32@npm:0.19.12" - conditions: os=linux & cpu=ia32 +"@babel/plugin-transform-shorthand-properties@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-shorthand-properties@npm:7.24.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.24.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/c2fa1f5d50f168056e2986920dbed6c66f31cb8e6ca862223491a18d1ca9466509769478e3f811f4f7de10debf7c42058a4c52ce0125b505bfa5eae2cba592b0 languageName: node linkType: hard -"@esbuild/linux-loong64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-loong64@npm:0.19.12" - conditions: os=linux & cpu=loong64 +"@babel/plugin-transform-spread@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-spread@npm:7.24.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.24.6" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.24.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/3c33a8c6598ba30f77a33dbcc269a7f95ef8195262c8b57e858a930bdb4c3f2a5e09683c2187eecb1a1890e5882bc6cbf08765258068cfc26fea4f223ec89f08 languageName: node linkType: hard -"@esbuild/linux-mips64el@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-mips64el@npm:0.19.12" - conditions: os=linux & cpu=mips64el +"@babel/plugin-transform-sticky-regex@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-sticky-regex@npm:7.24.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.24.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/abfff67b11f2bd6acfa516ec5710fe4082d93dce39536efb195b579f60521b281aa546e6283c57a0f011d194cf9ce8d06b55446e507f8b6f967d2fcae4108f2b languageName: node linkType: hard -"@esbuild/linux-ppc64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-ppc64@npm:0.19.12" - conditions: os=linux & cpu=ppc64 +"@babel/plugin-transform-template-literals@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-template-literals@npm:7.24.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.24.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/94431a6403ff7db25e28a251b97b3f48c4ad42b6980e2dcde94e405cce44560794ba8901924bbd617fc1fa671d8371f1445f50c6bf192752a5df03733202a02b languageName: node linkType: hard -"@esbuild/linux-riscv64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-riscv64@npm:0.19.12" - conditions: os=linux & cpu=riscv64 +"@babel/plugin-transform-typeof-symbol@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-typeof-symbol@npm:7.24.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.24.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/50755df3f0e8915e920b4c87c946b4e5f59fe48ed77e27fb0297a33db97ef947aab90727d9708686b4e324ca9be7c34a44193e1dac9244338de2ab0bcc8cc9e5 languageName: node linkType: hard -"@esbuild/linux-s390x@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-s390x@npm:0.19.12" - conditions: os=linux & cpu=s390x +"@babel/plugin-transform-typescript@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-typescript@npm:7.24.6" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.24.6" + "@babel/helper-create-class-features-plugin": "npm:^7.24.6" + "@babel/helper-plugin-utils": "npm:^7.24.6" + "@babel/plugin-syntax-typescript": "npm:^7.24.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/6bd05b928d9026093502194d1baf6a77025fe89ba7f700831ab59402f5b9ab561ba0053802da195423ce56161bc1af0b0d1d434205b72eff2ba2754ded6ddf8e languageName: node linkType: hard -"@esbuild/linux-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-x64@npm:0.19.12" - conditions: os=linux & cpu=x64 +"@babel/plugin-transform-unicode-escapes@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-unicode-escapes@npm:7.24.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.24.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/6778e32a1ed1b7a424e47d57fa09e88c9f8b116bc50292cc9a97252c5c8713083e0a3462ac51ff010f3b0fddd9ae2927b098c74395187d9c6857e3b852dec3a3 languageName: node linkType: hard -"@esbuild/netbsd-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/netbsd-x64@npm:0.19.12" - conditions: os=netbsd & cpu=x64 +"@babel/plugin-transform-unicode-property-regex@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.24.6" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.24.6" + "@babel/helper-plugin-utils": "npm:^7.24.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/3f51141c5713d4213be1e43e6c28eea4f8af916ccf5ba729885a01915339965ab9e01d6091e26c91e917af3a0e7134ebaff55e7e9c3209d61f8396ff6d413274 languageName: node linkType: hard -"@esbuild/openbsd-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/openbsd-x64@npm:0.19.12" - conditions: os=openbsd & cpu=x64 +"@babel/plugin-transform-unicode-regex@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-unicode-regex@npm:7.24.6" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.24.6" + "@babel/helper-plugin-utils": "npm:^7.24.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/dccdd3724b9f65b67d14779c79c3758c9044f4eee1ae966126d8b0f0176b6b8fb156e22b229f1f0e8a3fd5f6175efec04dcfa44051fc0bacc16712a477f9130c languageName: node linkType: hard -"@esbuild/sunos-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/sunos-x64@npm:0.19.12" - conditions: os=sunos & cpu=x64 +"@babel/plugin-transform-unicode-sets-regex@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.24.6" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.24.6" + "@babel/helper-plugin-utils": "npm:^7.24.6" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/c140a43e06b103ca6ef7dbc14b2f68bc6157756008df9ee5f4a4d9a014b22d5d6c61c592f6ad902a98021b289f3e5fd80d743645f8d7862332ee0384836b9809 languageName: node linkType: hard -"@esbuild/win32-arm64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/win32-arm64@npm:0.19.12" - conditions: os=win32 & cpu=arm64 +"@babel/preset-env@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/preset-env@npm:7.24.6" + dependencies: + "@babel/compat-data": "npm:^7.24.6" + "@babel/helper-compilation-targets": "npm:^7.24.6" + "@babel/helper-plugin-utils": "npm:^7.24.6" + "@babel/helper-validator-option": "npm:^7.24.6" + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "npm:^7.24.6" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "npm:^7.24.6" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "npm:^7.24.6" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "npm:^7.24.6" + "@babel/plugin-proposal-private-property-in-object": "npm:7.21.0-placeholder-for-preset-env.2" + "@babel/plugin-syntax-async-generators": "npm:^7.8.4" + "@babel/plugin-syntax-class-properties": "npm:^7.12.13" + "@babel/plugin-syntax-class-static-block": "npm:^7.14.5" + "@babel/plugin-syntax-dynamic-import": "npm:^7.8.3" + "@babel/plugin-syntax-export-namespace-from": "npm:^7.8.3" + "@babel/plugin-syntax-import-assertions": "npm:^7.24.6" + "@babel/plugin-syntax-import-attributes": "npm:^7.24.6" + "@babel/plugin-syntax-import-meta": "npm:^7.10.4" + "@babel/plugin-syntax-json-strings": "npm:^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators": "npm:^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.8.3" + "@babel/plugin-syntax-numeric-separator": "npm:^7.10.4" + "@babel/plugin-syntax-object-rest-spread": "npm:^7.8.3" + "@babel/plugin-syntax-optional-catch-binding": "npm:^7.8.3" + "@babel/plugin-syntax-optional-chaining": "npm:^7.8.3" + "@babel/plugin-syntax-private-property-in-object": "npm:^7.14.5" + "@babel/plugin-syntax-top-level-await": "npm:^7.14.5" + "@babel/plugin-syntax-unicode-sets-regex": "npm:^7.18.6" + "@babel/plugin-transform-arrow-functions": "npm:^7.24.6" + "@babel/plugin-transform-async-generator-functions": "npm:^7.24.6" + "@babel/plugin-transform-async-to-generator": "npm:^7.24.6" + "@babel/plugin-transform-block-scoped-functions": "npm:^7.24.6" + "@babel/plugin-transform-block-scoping": "npm:^7.24.6" + "@babel/plugin-transform-class-properties": "npm:^7.24.6" + "@babel/plugin-transform-class-static-block": "npm:^7.24.6" + "@babel/plugin-transform-classes": "npm:^7.24.6" + "@babel/plugin-transform-computed-properties": "npm:^7.24.6" + "@babel/plugin-transform-destructuring": "npm:^7.24.6" + "@babel/plugin-transform-dotall-regex": "npm:^7.24.6" + "@babel/plugin-transform-duplicate-keys": "npm:^7.24.6" + "@babel/plugin-transform-dynamic-import": "npm:^7.24.6" + "@babel/plugin-transform-exponentiation-operator": "npm:^7.24.6" + "@babel/plugin-transform-export-namespace-from": "npm:^7.24.6" + "@babel/plugin-transform-for-of": "npm:^7.24.6" + "@babel/plugin-transform-function-name": "npm:^7.24.6" + "@babel/plugin-transform-json-strings": "npm:^7.24.6" + "@babel/plugin-transform-literals": "npm:^7.24.6" + "@babel/plugin-transform-logical-assignment-operators": "npm:^7.24.6" + "@babel/plugin-transform-member-expression-literals": "npm:^7.24.6" + "@babel/plugin-transform-modules-amd": "npm:^7.24.6" + "@babel/plugin-transform-modules-commonjs": "npm:^7.24.6" + "@babel/plugin-transform-modules-systemjs": "npm:^7.24.6" + "@babel/plugin-transform-modules-umd": "npm:^7.24.6" + "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.24.6" + "@babel/plugin-transform-new-target": "npm:^7.24.6" + "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.24.6" + "@babel/plugin-transform-numeric-separator": "npm:^7.24.6" + "@babel/plugin-transform-object-rest-spread": "npm:^7.24.6" + "@babel/plugin-transform-object-super": "npm:^7.24.6" + "@babel/plugin-transform-optional-catch-binding": "npm:^7.24.6" + "@babel/plugin-transform-optional-chaining": "npm:^7.24.6" + "@babel/plugin-transform-parameters": "npm:^7.24.6" + "@babel/plugin-transform-private-methods": "npm:^7.24.6" + "@babel/plugin-transform-private-property-in-object": "npm:^7.24.6" + "@babel/plugin-transform-property-literals": "npm:^7.24.6" + "@babel/plugin-transform-regenerator": "npm:^7.24.6" + "@babel/plugin-transform-reserved-words": "npm:^7.24.6" + "@babel/plugin-transform-shorthand-properties": "npm:^7.24.6" + "@babel/plugin-transform-spread": "npm:^7.24.6" + "@babel/plugin-transform-sticky-regex": "npm:^7.24.6" + "@babel/plugin-transform-template-literals": "npm:^7.24.6" + "@babel/plugin-transform-typeof-symbol": "npm:^7.24.6" + "@babel/plugin-transform-unicode-escapes": "npm:^7.24.6" + "@babel/plugin-transform-unicode-property-regex": "npm:^7.24.6" + "@babel/plugin-transform-unicode-regex": "npm:^7.24.6" + "@babel/plugin-transform-unicode-sets-regex": "npm:^7.24.6" + "@babel/preset-modules": "npm:0.1.6-no-external-plugins" + babel-plugin-polyfill-corejs2: "npm:^0.4.10" + babel-plugin-polyfill-corejs3: "npm:^0.10.4" + babel-plugin-polyfill-regenerator: "npm:^0.6.1" + core-js-compat: "npm:^3.31.0" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/4a6f57dffd1b39e540e6e557acd00fb035ffbfe7963d0c76bf3d3354b76e2f9cdb902a156b73a2203f9c2d7a693d6a0de887699ec25c92c7d3d620befed17918 languageName: node linkType: hard -"@esbuild/win32-ia32@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/win32-ia32@npm:0.19.12" - conditions: os=win32 & cpu=ia32 +"@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" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.0.0" + "@babel/types": "npm:^7.4.4" + esutils: "npm:^2.0.2" + peerDependencies: + "@babel/core": ^7.0.0-0 || ^8.0.0-0 <8.0.0 + checksum: 10/039aba98a697b920d6440c622aaa6104bb6076d65356b29dad4b3e6627ec0354da44f9621bafbeefd052cd4ac4d7f88c9a2ab094efcb50963cb352781d0c6428 languageName: node linkType: hard -"@esbuild/win32-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/win32-x64@npm:0.19.12" - conditions: os=win32 & cpu=x64 +"@babel/preset-typescript@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/preset-typescript@npm:7.24.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.24.6" + "@babel/helper-validator-option": "npm:^7.24.6" + "@babel/plugin-syntax-jsx": "npm:^7.24.6" + "@babel/plugin-transform-modules-commonjs": "npm:^7.24.6" + "@babel/plugin-transform-typescript": "npm:^7.24.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/e4c88dd07403c79679547e0e603d9313d9756ac5d14c33f863a29fcd9e06370058664ccc16f8cbfb281e3e00b5b574be8f91e8a9c0aafd62450743a84cbcd087 languageName: node linkType: hard -"@eslint-community/eslint-utils@npm:^4.1.2, @eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0": - version: 4.4.0 - resolution: "@eslint-community/eslint-utils@npm:4.4.0" - dependencies: - eslint-visitor-keys: "npm:^3.3.0" - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - checksum: 10/8d70bcdcd8cd279049183aca747d6c2ed7092a5cf0cf5916faac1ef37ffa74f0c245c2a3a3d3b9979d9dfdd4ca59257b4c5621db699d637b847a2c5e02f491c2 +"@babel/regjsgen@npm:^0.8.0": + version: 0.8.0 + resolution: "@babel/regjsgen@npm:0.8.0" + checksum: 10/c57fb730b17332b7572574b74364a77d70faa302a281a62819476fa3b09822974fd75af77aea603ad77378395be64e81f89f0e800bf86cbbf21652d49ce12ee8 languageName: node linkType: hard -"@eslint-community/regexpp@npm:^4.10.0, @eslint-community/regexpp@npm:^4.6.0, @eslint-community/regexpp@npm:^4.6.1": - version: 4.10.0 - resolution: "@eslint-community/regexpp@npm:4.10.0" - checksum: 10/8c36169c815fc5d726078e8c71a5b592957ee60d08c6470f9ce0187c8046af1a00afbda0a065cc40ff18d5d83f82aed9793c6818f7304a74a7488dc9f3ecbd42 +"@babel/runtime@npm:^7.8.4": + version: 7.24.6 + resolution: "@babel/runtime@npm:7.24.6" + dependencies: + regenerator-runtime: "npm:^0.14.0" + checksum: 10/6c4e12731cd9206a883c19d48fa04f6aaaf7ee83f049b22631e6521b866edc20832b4d5db30aa86d8ae799c4dcf57761fe8a4af2bf7e233245c079c1dafb5668 languageName: node linkType: hard -"@eslint/eslintrc@npm:^2.1.4": - version: 2.1.4 - resolution: "@eslint/eslintrc@npm:2.1.4" +"@babel/template@npm:^7.22.15, @babel/template@npm:^7.23.9, @babel/template@npm:^7.3.3": + version: 7.23.9 + resolution: "@babel/template@npm:7.23.9" dependencies: - ajv: "npm:^6.12.4" - debug: "npm:^4.3.2" - espree: "npm:^9.6.0" - globals: "npm:^13.19.0" - ignore: "npm:^5.2.0" - import-fresh: "npm:^3.2.1" - js-yaml: "npm:^4.1.0" - minimatch: "npm:^3.1.2" - strip-json-comments: "npm:^3.1.1" - checksum: 10/7a3b14f4b40fc1a22624c3f84d9f467a3d9ea1ca6e9a372116cb92507e485260359465b58e25bcb6c9981b155416b98c9973ad9b796053fd7b3f776a6946bce8 + "@babel/code-frame": "npm:^7.23.5" + "@babel/parser": "npm:^7.23.9" + "@babel/types": "npm:^7.23.9" + checksum: 10/1b011ba9354dc2e646561d54b6862e0df51760e6179faadd79be05825b0b6da04911e4e192df943f1766748da3037fd8493615b38707f7cadb0cf0c96601c170 languageName: node linkType: hard -"@eslint/js@npm:8.57.0": - version: 8.57.0 - resolution: "@eslint/js@npm:8.57.0" - checksum: 10/3c501ce8a997cf6cbbaf4ed358af5492875e3550c19b9621413b82caa9ae5382c584b0efa79835639e6e0ddaa568caf3499318e5bdab68643ef4199dce5eb0a0 +"@babel/template@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/template@npm:7.24.6" + dependencies: + "@babel/code-frame": "npm:^7.24.6" + "@babel/parser": "npm:^7.24.6" + "@babel/types": "npm:^7.24.6" + checksum: 10/e4641733dfb29b15f1b7f1a81579b3131d854d5aa2dc37a8b827e4eb6839c752cba45570934041b9f3dcf0edde8328f5313b092eaa6c7a342020b59d355f8bf5 languageName: node linkType: hard -"@exodus/schemasafe@npm:^1.2.3": - version: 1.3.0 - resolution: "@exodus/schemasafe@npm:1.3.0" - checksum: 10/791d9e4b437fe04c6d7cf028d145ed963b8fe973ba6d5811aedf7edea40d5a055a49522241efdafbc32f964c27beaddf1c85fbcc8bf5436cf394623b08e5518b - languageName: node - linkType: hard - -"@faker-js/faker@npm:5.5.3": - version: 5.5.3 - resolution: "@faker-js/faker@npm:5.5.3" - checksum: 10/1a4fd61d1a9132f5776b447a2bc9c14d9b472611ddf22f7060adcf103c76d2af238e0bc132e633601b19a00b4f3a23643c4f2b7671ab9866ae9f91221d191788 - languageName: node - linkType: hard - -"@hapi/hoek@npm:^9.0.0, @hapi/hoek@npm:^9.3.0": - version: 9.3.0 - resolution: "@hapi/hoek@npm:9.3.0" - checksum: 10/ad83a223787749f3873bce42bd32a9a19673765bf3edece0a427e138859ff729469e68d5fdf9ff6bbee6fb0c8e21bab61415afa4584f527cfc40b59ea1957e70 - languageName: node - linkType: hard - -"@hapi/topo@npm:^5.1.0": - version: 5.1.0 - resolution: "@hapi/topo@npm:5.1.0" +"@babel/traverse@npm:7.23.2": + version: 7.23.2 + resolution: "@babel/traverse@npm:7.23.2" dependencies: - "@hapi/hoek": "npm:^9.0.0" - checksum: 10/084bfa647015f4fd3fdd51fadb2747d09ef2f5e1443d6cbada2988b0c88494f85edf257ec606c790db146ac4e34ff57f3fcb22e3299b8e06ed5c87ba7583495c + "@babel/code-frame": "npm:^7.22.13" + "@babel/generator": "npm:^7.23.0" + "@babel/helper-environment-visitor": "npm:^7.22.20" + "@babel/helper-function-name": "npm:^7.23.0" + "@babel/helper-hoist-variables": "npm:^7.22.5" + "@babel/helper-split-export-declaration": "npm:^7.22.6" + "@babel/parser": "npm:^7.23.0" + "@babel/types": "npm:^7.23.0" + debug: "npm:^4.1.0" + globals: "npm:^11.1.0" + checksum: 10/e4fcb8f8395804956df4ae1301230a14b6eb35b74a7058a0e0b40f6f4be7281e619e6dafe400e833d4512da5d61cf17ea177d04b00a8f7cf3d8d69aff83ca3d8 languageName: node linkType: hard -"@humanwhocodes/config-array@npm:^0.11.14": - version: 0.11.14 - resolution: "@humanwhocodes/config-array@npm:0.11.14" +"@babel/traverse@npm:^7.23.9": + version: 7.23.9 + resolution: "@babel/traverse@npm:7.23.9" dependencies: - "@humanwhocodes/object-schema": "npm:^2.0.2" + "@babel/code-frame": "npm:^7.23.5" + "@babel/generator": "npm:^7.23.6" + "@babel/helper-environment-visitor": "npm:^7.22.20" + "@babel/helper-function-name": "npm:^7.23.0" + "@babel/helper-hoist-variables": "npm:^7.22.5" + "@babel/helper-split-export-declaration": "npm:^7.22.6" + "@babel/parser": "npm:^7.23.9" + "@babel/types": "npm:^7.23.9" debug: "npm:^4.3.1" - minimatch: "npm:^3.0.5" - checksum: 10/3ffb24ecdfab64014a230e127118d50a1a04d11080cbb748bc21629393d100850496456bbcb4e8c438957fe0934430d731042f1264d6a167b62d32fc2863580a - languageName: node - linkType: hard - -"@humanwhocodes/module-importer@npm:^1.0.1": - version: 1.0.1 - resolution: "@humanwhocodes/module-importer@npm:1.0.1" - checksum: 10/e993950e346331e5a32eefb27948ecdee2a2c4ab3f072b8f566cd213ef485dd50a3ca497050608db91006f5479e43f91a439aef68d2a313bd3ded06909c7c5b3 - languageName: node - linkType: hard - -"@humanwhocodes/object-schema@npm:^2.0.2": - version: 2.0.2 - resolution: "@humanwhocodes/object-schema@npm:2.0.2" - checksum: 10/ef915e3e2f34652f3d383b28a9a99cfea476fa991482370889ab14aac8ecd2b38d47cc21932526c6d949da0daf4a4a6bf629d30f41b0caca25e146819cbfa70e - languageName: node - linkType: hard - -"@isaacs/cliui@npm:^8.0.2": - version: 8.0.2 - resolution: "@isaacs/cliui@npm:8.0.2" - dependencies: - string-width: "npm:^5.1.2" - string-width-cjs: "npm:string-width@^4.2.0" - strip-ansi: "npm:^7.0.1" - strip-ansi-cjs: "npm:strip-ansi@^6.0.1" - wrap-ansi: "npm:^8.1.0" - wrap-ansi-cjs: "npm:wrap-ansi@^7.0.0" - checksum: 10/e9ed5fd27c3aec1095e3a16e0c0cf148d1fee55a38665c35f7b3f86a9b5d00d042ddaabc98e8a1cb7463b9378c15f22a94eb35e99469c201453eb8375191f243 - languageName: node - linkType: hard - -"@istanbuljs/load-nyc-config@npm:^1.0.0": - version: 1.1.0 - resolution: "@istanbuljs/load-nyc-config@npm:1.1.0" - dependencies: - camelcase: "npm:^5.3.1" - find-up: "npm:^4.1.0" - get-package-type: "npm:^0.1.0" - js-yaml: "npm:^3.13.1" - resolve-from: "npm:^5.0.0" - checksum: 10/b000a5acd8d4fe6e34e25c399c8bdbb5d3a202b4e10416e17bfc25e12bab90bb56d33db6089ae30569b52686f4b35ff28ef26e88e21e69821d2b85884bd055b8 - languageName: node - linkType: hard - -"@istanbuljs/schema@npm:^0.1.2, @istanbuljs/schema@npm:^0.1.3": - version: 0.1.3 - resolution: "@istanbuljs/schema@npm:0.1.3" - checksum: 10/a9b1e49acdf5efc2f5b2359f2df7f90c5c725f2656f16099e8b2cd3a000619ecca9fc48cf693ba789cf0fd989f6e0df6a22bc05574be4223ecdbb7997d04384b + globals: "npm:^11.1.0" + checksum: 10/e2bb845f7f229feb7c338f7e150f5f1abc5395dcd3a6a47f63a25242ec3ec6b165f04a6df7d4849468547faee34eb3cf52487eb0bd867a7d3c42fec2a648266f languageName: node linkType: hard -"@jest/console@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/console@npm:29.7.0" +"@babel/traverse@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/traverse@npm:7.24.6" dependencies: - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - chalk: "npm:^4.0.0" - jest-message-util: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - slash: "npm:^3.0.0" - checksum: 10/4a80c750e8a31f344233cb9951dee9b77bf6b89377cb131f8b3cde07ff218f504370133a5963f6a786af4d2ce7f85642db206ff7a15f99fe58df4c38ac04899e - languageName: node - linkType: hard - -"@jest/core@npm:^29.6.2, @jest/core@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/core@npm:29.7.0" - dependencies: - "@jest/console": "npm:^29.7.0" - "@jest/reporters": "npm:^29.7.0" - "@jest/test-result": "npm:^29.7.0" - "@jest/transform": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - ansi-escapes: "npm:^4.2.1" - chalk: "npm:^4.0.0" - ci-info: "npm:^3.2.0" - exit: "npm:^0.1.2" - graceful-fs: "npm:^4.2.9" - jest-changed-files: "npm:^29.7.0" - jest-config: "npm:^29.7.0" - jest-haste-map: "npm:^29.7.0" - jest-message-util: "npm:^29.7.0" - jest-regex-util: "npm:^29.6.3" - jest-resolve: "npm:^29.7.0" - jest-resolve-dependencies: "npm:^29.7.0" - jest-runner: "npm:^29.7.0" - jest-runtime: "npm:^29.7.0" - jest-snapshot: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - jest-validate: "npm:^29.7.0" - jest-watcher: "npm:^29.7.0" - micromatch: "npm:^4.0.4" - pretty-format: "npm:^29.7.0" - slash: "npm:^3.0.0" - strip-ansi: "npm:^6.0.0" - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - checksum: 10/ab6ac2e562d083faac7d8152ec1cc4eccc80f62e9579b69ed40aedf7211a6b2d57024a6cd53c4e35fd051c39a236e86257d1d99ebdb122291969a0a04563b51e + "@babel/code-frame": "npm:^7.24.6" + "@babel/generator": "npm:^7.24.6" + "@babel/helper-environment-visitor": "npm:^7.24.6" + "@babel/helper-function-name": "npm:^7.24.6" + "@babel/helper-hoist-variables": "npm:^7.24.6" + "@babel/helper-split-export-declaration": "npm:^7.24.6" + "@babel/parser": "npm:^7.24.6" + "@babel/types": "npm:^7.24.6" + debug: "npm:^4.3.1" + globals: "npm:^11.1.0" + checksum: 10/11e5904f9aa255ac1470c6966e1898a718ea0cc7f41938a30df1a20dc31dfea34f66791a5ee0dd6d8d485230fe2e970d8301fa6908a524b3e7c96e52c0112ab6 languageName: node linkType: hard -"@jest/environment@npm:^29.6.4, @jest/environment@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/environment@npm:29.7.0" +"@babel/types@npm:7.17.0": + version: 7.17.0 + resolution: "@babel/types@npm:7.17.0" dependencies: - "@jest/fake-timers": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - jest-mock: "npm:^29.7.0" - checksum: 10/90b5844a9a9d8097f2cf107b1b5e57007c552f64315da8c1f51217eeb0a9664889d3f145cdf8acf23a84f4d8309a6675e27d5b059659a004db0ea9546d1c81a8 + "@babel/helper-validator-identifier": "npm:^7.16.7" + to-fast-properties: "npm:^2.0.0" + checksum: 10/535ccef360d0c74e2bb685050f3a45e6ab30f66c740bbdd0858148ed502043f1ae2006a9d0269ac3b7356b690091ae313efd912e408bc0198d80a14b2a6f1537 languageName: node linkType: hard -"@jest/expect-utils@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/expect-utils@npm:29.7.0" +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.17.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" dependencies: - jest-get-type: "npm:^29.6.3" - checksum: 10/ef8d379778ef574a17bde2801a6f4469f8022a46a5f9e385191dc73bb1fc318996beaed4513fbd7055c2847227a1bed2469977821866534593a6e52a281499ee + "@babel/helper-string-parser": "npm:^7.23.4" + "@babel/helper-validator-identifier": "npm:^7.22.20" + to-fast-properties: "npm:^2.0.0" + checksum: 10/bed9634e5fd0f9dc63c84cfa83316c4cb617192db9fedfea464fca743affe93736d7bf2ebf418ee8358751a9d388e303af87a0c050cb5d87d5870c1b0154f6cb languageName: node linkType: hard -"@jest/expect@npm:^29.6.2, @jest/expect@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/expect@npm:29.7.0" +"@babel/types@npm:^7.24.6, @babel/types@npm:^7.4.4": + version: 7.24.6 + resolution: "@babel/types@npm:7.24.6" dependencies: - expect: "npm:^29.7.0" - jest-snapshot: "npm:^29.7.0" - checksum: 10/fea6c3317a8da5c840429d90bfe49d928e89c9e89fceee2149b93a11b7e9c73d2f6e4d7cdf647163da938fc4e2169e4490be6bae64952902bc7a701033fd4880 + "@babel/helper-string-parser": "npm:^7.24.6" + "@babel/helper-validator-identifier": "npm:^7.24.6" + to-fast-properties: "npm:^2.0.0" + checksum: 10/34552539cdc740513650cb3c7754f77a55cc5253dff9d45afd52292d366eb1c099939d5db066e458abcf4c9a7dedfe43467445f9c2208b3cb64866762dee5e9d languageName: node linkType: hard -"@jest/fake-timers@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/fake-timers@npm:29.7.0" - dependencies: - "@jest/types": "npm:^29.6.3" - "@sinonjs/fake-timers": "npm:^10.0.2" - "@types/node": "npm:*" - jest-message-util: "npm:^29.7.0" - jest-mock: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - checksum: 10/9b394e04ffc46f91725ecfdff34c4e043eb7a16e1d78964094c9db3fde0b1c8803e45943a980e8c740d0a3d45661906de1416ca5891a538b0660481a3a828c27 +"@bcoe/v8-coverage@npm:^0.2.3": + version: 0.2.3 + resolution: "@bcoe/v8-coverage@npm:0.2.3" + checksum: 10/1a1f0e356a3bb30b5f1ced6f79c413e6ebacf130421f15fac5fcd8be5ddf98aedb4404d7f5624e3285b700e041f9ef938321f3ca4d359d5b716f96afa120d88d languageName: node linkType: hard -"@jest/globals@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/globals@npm:29.7.0" +"@codeceptjs/configure@npm:0.10.0": + version: 0.10.0 + resolution: "@codeceptjs/configure@npm:0.10.0" dependencies: - "@jest/environment": "npm:^29.7.0" - "@jest/expect": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - jest-mock: "npm:^29.7.0" - checksum: 10/97dbb9459135693ad3a422e65ca1c250f03d82b2a77f6207e7fa0edd2c9d2015fbe4346f3dc9ebff1678b9d8da74754d4d440b7837497f8927059c0642a22123 + lodash.merge: "npm:^4.6.2" + lodash.mergewith: "npm:^4.6.2" + peerDependencies: + codeceptjs: ">= 2.3.3" + checksum: 10/afd4512fee9721c98c432a48689db65a80dccca96a59b5de23bae598c78811aa068f476874a0c05674fca258089fc42ddf6d457a16367caa5eb08dba3f88f85b languageName: node linkType: hard -"@jest/reporters@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/reporters@npm:29.7.0" +"@codeceptjs/configure@npm:^1.0.0": + version: 1.0.1 + resolution: "@codeceptjs/configure@npm:1.0.1" dependencies: - "@bcoe/v8-coverage": "npm:^0.2.3" - "@jest/console": "npm:^29.7.0" - "@jest/test-result": "npm:^29.7.0" - "@jest/transform": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@jridgewell/trace-mapping": "npm:^0.3.18" - "@types/node": "npm:*" - chalk: "npm:^4.0.0" - collect-v8-coverage: "npm:^1.0.0" - exit: "npm:^0.1.2" - glob: "npm:^7.1.3" - graceful-fs: "npm:^4.2.9" - istanbul-lib-coverage: "npm:^3.0.0" - istanbul-lib-instrument: "npm:^6.0.0" - istanbul-lib-report: "npm:^3.0.0" - istanbul-lib-source-maps: "npm:^4.0.0" - istanbul-reports: "npm:^3.1.3" - jest-message-util: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - jest-worker: "npm:^29.7.0" - slash: "npm:^3.0.0" - string-length: "npm:^4.0.1" - strip-ansi: "npm:^6.0.0" - v8-to-istanbul: "npm:^9.0.1" + lodash.merge: "npm:^4.6.2" + lodash.mergewith: "npm:^4.6.2" peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - checksum: 10/a17d1644b26dea14445cedd45567f4ba7834f980be2ef74447204e14238f121b50d8b858fde648083d2cd8f305f81ba434ba49e37a5f4237a6f2a61180cc73dc + codeceptjs: ">= 2.3.3" + checksum: 10/f570ddc1dba5cd53319cb23a1819723cfdba946b084fb39d84d25e0735300fdfb018ec5d8b1f7718d979cb17468126748d04d96aaeb7e1815694f9baca49dde2 languageName: node linkType: hard -"@jest/schemas@npm:^29.6.3": - version: 29.6.3 - resolution: "@jest/schemas@npm:29.6.3" +"@codeceptjs/detox-helper@npm:1.0.2": + version: 1.0.2 + resolution: "@codeceptjs/detox-helper@npm:1.0.2" dependencies: - "@sinclair/typebox": "npm:^0.27.8" - checksum: 10/910040425f0fc93cd13e68c750b7885590b8839066dfa0cd78e7def07bbb708ad869381f725945d66f2284de5663bbecf63e8fdd856e2ae6e261ba30b1687e93 + detox: "npm:^12.11.3" + checksum: 10/4157dde568a98e2e36961c6e30e243088ac194f82a02e2da53d899b49e0b6d7f5679869c62541b22af4b573ae322933961cb76f0b65265e262299d0a90967b1f languageName: node linkType: hard -"@jest/source-map@npm:^29.6.3": - version: 29.6.3 - resolution: "@jest/source-map@npm:29.6.3" - dependencies: - "@jridgewell/trace-mapping": "npm:^0.3.18" - callsites: "npm:^3.0.0" - graceful-fs: "npm:^4.2.9" - checksum: 10/bcc5a8697d471396c0003b0bfa09722c3cd879ad697eb9c431e6164e2ea7008238a01a07193dfe3cbb48b1d258eb7251f6efcea36f64e1ebc464ea3c03ae2deb +"@codeceptjs/helper@npm:2.0.1": + version: 2.0.1 + resolution: "@codeceptjs/helper@npm:2.0.1" + checksum: 10/f4dfc1a916943a708b19c172fb34bcb437734f15fa44b8804b794d31b919d3dad4de859c8b8aa1d1a2f40374044987fa6b6bc307258e0cebee2272bf755931ef languageName: node linkType: hard -"@jest/test-result@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/test-result@npm:29.7.0" +"@codeceptjs/helper@npm:^2.0.4": + version: 2.0.4 + resolution: "@codeceptjs/helper@npm:2.0.4" dependencies: - "@jest/console": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@types/istanbul-lib-coverage": "npm:^2.0.0" - collect-v8-coverage: "npm:^1.0.0" - checksum: 10/c073ab7dfe3c562bff2b8fee6cc724ccc20aa96bcd8ab48ccb2aa309b4c0c1923a9e703cea386bd6ae9b71133e92810475bb9c7c22328fc63f797ad3324ed189 + typescript: "npm:^5.1.3" + checksum: 10/004e229f156a172f37965eb93d7d0926c5cc0cb2eeb772cb81e46eb2a32092ac162e9ccca7b521f2b09a5a3ca6b58f6f7537831b9590c5927e0e37c699bf1093 languageName: node linkType: hard -"@jest/test-sequencer@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/test-sequencer@npm:29.7.0" - dependencies: - "@jest/test-result": "npm:^29.7.0" - graceful-fs: "npm:^4.2.9" - jest-haste-map: "npm:^29.7.0" - slash: "npm:^3.0.0" - checksum: 10/4420c26a0baa7035c5419b0892ff8ffe9a41b1583ec54a10db3037cd46a7e29dd3d7202f8aa9d376e9e53be5f8b1bc0d16e1de6880a6d319b033b01dc4c8f639 +"@colors/colors@npm:1.5.0": + version: 1.5.0 + resolution: "@colors/colors@npm:1.5.0" + checksum: 10/9d226461c1e91e95f067be2bdc5e6f99cfe55a721f45afb44122e23e4b8602eeac4ff7325af6b5a369f36396ee1514d3809af3f57769066d80d83790d8e53339 languageName: node linkType: hard -"@jest/transform@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/transform@npm:29.7.0" +"@cspotcode/source-map-support@npm:^0.8.0": + version: 0.8.1 + resolution: "@cspotcode/source-map-support@npm:0.8.1" dependencies: - "@babel/core": "npm:^7.11.6" - "@jest/types": "npm:^29.6.3" - "@jridgewell/trace-mapping": "npm:^0.3.18" - babel-plugin-istanbul: "npm:^6.1.1" - chalk: "npm:^4.0.0" - convert-source-map: "npm:^2.0.0" - fast-json-stable-stringify: "npm:^2.1.0" - graceful-fs: "npm:^4.2.9" - jest-haste-map: "npm:^29.7.0" - jest-regex-util: "npm:^29.6.3" - jest-util: "npm:^29.7.0" - micromatch: "npm:^4.0.4" - pirates: "npm:^4.0.4" - slash: "npm:^3.0.0" - write-file-atomic: "npm:^4.0.2" - checksum: 10/30f42293545ab037d5799c81d3e12515790bb58513d37f788ce32d53326d0d72ebf5b40f989e6896739aa50a5f77be44686e510966370d58511d5ad2637c68c1 + "@jridgewell/trace-mapping": "npm:0.3.9" + checksum: 10/b6e38a1712fab242c86a241c229cf562195aad985d0564bd352ac404be583029e89e93028ffd2c251d2c407ecac5fb0cbdca94a2d5c10f29ac806ede0508b3ff languageName: node linkType: hard -"@jest/types@npm:^29.6.1, @jest/types@npm:^29.6.3": - version: 29.6.3 - resolution: "@jest/types@npm:29.6.3" - dependencies: - "@jest/schemas": "npm:^29.6.3" - "@types/istanbul-lib-coverage": "npm:^2.0.0" - "@types/istanbul-reports": "npm:^3.0.0" - "@types/node": "npm:*" - "@types/yargs": "npm:^17.0.8" - chalk: "npm:^4.0.0" - checksum: 10/f74bf512fd09bbe2433a2ad460b04668b7075235eea9a0c77d6a42222c10a79b9747dc2b2a623f140ed40d6865a2ed8f538f3cbb75169120ea863f29a7ed76cd +"@cucumber/ci-environment@npm:10.0.1": + version: 10.0.1 + resolution: "@cucumber/ci-environment@npm:10.0.1" + checksum: 10/726f7957eafd451bc1f62eb7ed2c86517c30682e07c07e9fbde2a48913882382b20d5354657d2cbbc19d76bc6f00503b202c7eba379921e7a2a3595c5b8e8fc2 languageName: node linkType: hard -"@jridgewell/gen-mapping@npm:^0.3.0, @jridgewell/gen-mapping@npm:^0.3.2": - version: 0.3.4 - resolution: "@jridgewell/gen-mapping@npm:0.3.4" +"@cucumber/cucumber-expressions@npm:17": + version: 17.0.2 + resolution: "@cucumber/cucumber-expressions@npm:17.0.2" dependencies: - "@jridgewell/set-array": "npm:^1.0.1" - "@jridgewell/sourcemap-codec": "npm:^1.4.10" - "@jridgewell/trace-mapping": "npm:^0.3.9" - checksum: 10/c111a3d52fffd63a719035f9a453e0a9b4ba403a559b2f170f81e385ba5ed9cd4549575e166b20d3534e2aad9ea8473b8b17cee11b1c6595323be90d4e4c50d1 - languageName: node - linkType: hard - -"@jridgewell/resolve-uri@npm:^3.0.3, @jridgewell/resolve-uri@npm:^3.1.0": - version: 3.1.2 - resolution: "@jridgewell/resolve-uri@npm:3.1.2" - checksum: 10/97106439d750a409c22c8bff822d648f6a71f3aa9bc8e5129efdc36343cd3096ddc4eeb1c62d2fe48e9bdd4db37b05d4646a17114ecebd3bbcacfa2de51c3c1d - languageName: node - linkType: hard - -"@jridgewell/set-array@npm:^1.0.1": - version: 1.1.2 - resolution: "@jridgewell/set-array@npm:1.1.2" - checksum: 10/69a84d5980385f396ff60a175f7177af0b8da4ddb81824cb7016a9ef914eee9806c72b6b65942003c63f7983d4f39a5c6c27185bbca88eb4690b62075602e28e + regexp-match-indices: "npm:1.0.2" + checksum: 10/9ca02cc8ac6f8dddc3635d95f95b567d8850268bec6067b4a4440b75dc0a7606aefaf206e0848c81d5a25f3942ae8875b4a4d14f507b2667e4cf0d40e2e4731e languageName: node linkType: hard -"@jridgewell/source-map@npm:^0.3.3": - version: 0.3.5 - resolution: "@jridgewell/source-map@npm:0.3.5" +"@cucumber/cucumber-expressions@npm:17.1.0": + version: 17.1.0 + resolution: "@cucumber/cucumber-expressions@npm:17.1.0" dependencies: - "@jridgewell/gen-mapping": "npm:^0.3.0" - "@jridgewell/trace-mapping": "npm:^0.3.9" - checksum: 10/73838ac43235edecff5efc850c0d759704008937a56b1711b28c261e270fe4bf2dc06d0b08663aeb1ab304f81f6de4f5fb844344403cf53ba7096967a9953cae + regexp-match-indices: "npm:1.0.2" + checksum: 10/2dda4129c34b8a36870c1c1813e2daf9cbbcf480a9df4538443b7e57fb90013e4c9566e0b3940d0bf76a08596f530fd6cd40c799b37b42be722620a0e0fd81d4 languageName: node linkType: hard -"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.4.15": - version: 1.4.15 - resolution: "@jridgewell/sourcemap-codec@npm:1.4.15" - checksum: 10/89960ac087781b961ad918978975bcdf2051cd1741880469783c42de64239703eab9db5230d776d8e6a09d73bb5e4cb964e07d93ee6e2e7aea5a7d726e865c09 +"@cucumber/cucumber@npm:^10.4.0": + version: 10.4.0 + resolution: "@cucumber/cucumber@npm:10.4.0" + dependencies: + "@cucumber/ci-environment": "npm:10.0.1" + "@cucumber/cucumber-expressions": "npm:17.1.0" + "@cucumber/gherkin": "npm:28.0.0" + "@cucumber/gherkin-streams": "npm:5.0.1" + "@cucumber/gherkin-utils": "npm:9.0.0" + "@cucumber/html-formatter": "npm:21.3.1" + "@cucumber/message-streams": "npm:4.0.1" + "@cucumber/messages": "npm:24.1.0" + "@cucumber/tag-expressions": "npm:6.1.0" + assertion-error-formatter: "npm:^3.0.0" + capital-case: "npm:^1.0.4" + chalk: "npm:^4.1.2" + cli-table3: "npm:0.6.3" + commander: "npm:^10.0.0" + debug: "npm:^4.3.4" + error-stack-parser: "npm:^2.1.4" + figures: "npm:^3.2.0" + glob: "npm:^10.3.10" + has-ansi: "npm:^4.0.1" + indent-string: "npm:^4.0.0" + is-installed-globally: "npm:^0.4.0" + is-stream: "npm:^2.0.0" + knuth-shuffle-seeded: "npm:^1.0.6" + lodash.merge: "npm:^4.6.2" + lodash.mergewith: "npm:^4.6.2" + luxon: "npm:3.2.1" + mkdirp: "npm:^2.1.5" + mz: "npm:^2.7.0" + progress: "npm:^2.0.3" + read-pkg-up: "npm:^7.0.1" + resolve-pkg: "npm:^2.0.0" + semver: "npm:7.5.3" + string-argv: "npm:0.3.1" + strip-ansi: "npm:6.0.1" + supports-color: "npm:^8.1.1" + tmp: "npm:0.2.3" + type-fest: "npm:^4.8.3" + util-arity: "npm:^1.1.0" + xmlbuilder: "npm:^15.1.1" + yaml: "npm:^2.2.2" + yup: "npm:1.2.0" + bin: + cucumber-js: bin/cucumber.js + checksum: 10/9527f82450d1b3af51d1aa5df4aed3db24c41c9b6587de833f607c2ad9a3832b010d43875e3e6ead3f5801f737d0db62b5cd264a04acb6e963a7083af16634cb languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:0.3.9": - version: 0.3.9 - resolution: "@jridgewell/trace-mapping@npm:0.3.9" +"@cucumber/gherkin-streams@npm:5.0.1, @cucumber/gherkin-streams@npm:^5.0.1": + version: 5.0.1 + resolution: "@cucumber/gherkin-streams@npm:5.0.1" dependencies: - "@jridgewell/resolve-uri": "npm:^3.0.3" - "@jridgewell/sourcemap-codec": "npm:^1.4.10" - checksum: 10/83deafb8e7a5ca98993c2c6eeaa93c270f6f647a4c0dc00deb38c9cf9b2d3b7bf15e8839540155247ef034a052c0ec4466f980bf0c9e2ab63b97d16c0cedd3ff + commander: "npm:9.1.0" + source-map-support: "npm:0.5.21" + peerDependencies: + "@cucumber/gherkin": ">=22.0.0" + "@cucumber/message-streams": ">=4.0.0" + "@cucumber/messages": ">=17.1.1" + bin: + gherkin-javascript: bin/gherkin + checksum: 10/d52324a443cd51ce7c8a6e2e3904c4431c7d8520c89756cd75aed0b7e2f83bc85a09a4d24ba02a909d574dfbb4d732251e1c7959378ce64419553a53a523a773 languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.17, @jridgewell/trace-mapping@npm:^0.3.18, @jridgewell/trace-mapping@npm:^0.3.9": - version: 0.3.23 - resolution: "@jridgewell/trace-mapping@npm:0.3.23" +"@cucumber/gherkin-utils@npm:9.0.0, @cucumber/gherkin-utils@npm:^9.0.0": + version: 9.0.0 + resolution: "@cucumber/gherkin-utils@npm:9.0.0" dependencies: - "@jridgewell/resolve-uri": "npm:^3.1.0" - "@jridgewell/sourcemap-codec": "npm:^1.4.14" - checksum: 10/eb8d167f8aeb3ac55e7726eda1bb6240787987fd66d480edbe15fc98ad594ec10cb584289f649e2074b9e117862c82efdec07db13850f3dc4cb242258bb2b67d + "@cucumber/gherkin": "npm:^28.0.0" + "@cucumber/messages": "npm:^24.0.0" + "@teppeis/multimaps": "npm:3.0.0" + commander: "npm:12.0.0" + source-map-support: "npm:^0.5.21" + bin: + gherkin-utils: bin/gherkin-utils + checksum: 10/04ced60d52c521c6b52a43466e51f58c3ee6ce94dfe59425c048fbb43fa9e82fe5e959edab3e57e7294d4e130d5982d348f2324643416cbceac3e82604abeaea languageName: node linkType: hard -"@mswjs/cookies@npm:^0.2.2": - version: 0.2.2 - resolution: "@mswjs/cookies@npm:0.2.2" - dependencies: - "@types/set-cookie-parser": "npm:^2.4.0" - set-cookie-parser: "npm:^2.4.6" - checksum: 10/f1b3b82a6821219494390d77d86383febc5f9d5bc21b0f47cc4d57d11af08cac1952d845011d8842ec6448a95e49efd0f35f6d56650c76a98848d70d9c78466d +"@cucumber/gherkin@npm:26": + version: 26.2.0 + resolution: "@cucumber/gherkin@npm:26.2.0" + dependencies: + "@cucumber/messages": "npm:>=19.1.4 <=22" + checksum: 10/f50f9f6f9a51fc0ecee27a7a49bcba88aa5f9c996abc564fc165efe5a5da353ba95dc54a79d021d4579e48c265c02647e0f488917d0b34918cda95bdbb02bbbd languageName: node linkType: hard -"@mswjs/interceptors@npm:^0.17.10": - version: 0.17.10 - resolution: "@mswjs/interceptors@npm:0.17.10" +"@cucumber/gherkin@npm:28.0.0, @cucumber/gherkin@npm:^28.0.0": + version: 28.0.0 + resolution: "@cucumber/gherkin@npm:28.0.0" dependencies: - "@open-draft/until": "npm:^1.0.3" - "@types/debug": "npm:^4.1.7" - "@xmldom/xmldom": "npm:^0.8.3" - debug: "npm:^4.3.3" - headers-polyfill: "npm:3.2.5" - outvariant: "npm:^1.2.1" - strict-event-emitter: "npm:^0.2.4" - web-encoding: "npm:^1.1.5" - checksum: 10/0bbadfc3c925016d9f26f5bc0aa8833a1ec0065a04933c30f5d7b1f636f39c3458f5dc653d6418e5733523846626e84049a72ec913f70282d7b53bfef2a1aa81 + "@cucumber/messages": "npm:>=19.1.4 <=24" + checksum: 10/f6c6f33e9afa30c45c837b37f00d9dc501703a2613a809ed9d4439ef47a3e365d79b4e80f090471838d962ba76db50e66442935fcc3df372eb818f3023b00f24 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 +"@cucumber/html-formatter@npm:21.3.1": + version: 21.3.1 + resolution: "@cucumber/html-formatter@npm:21.3.1" + peerDependencies: + "@cucumber/messages": ">=18" + checksum: 10/7c67856ab185e691fea5a44a89f5c4033924a523c83ec24ac872c2284395d8204e9e6a61e4d2a7264a2556d5cfcf800c67627ff8713e82b3fccba1707e29aed4 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 +"@cucumber/message-streams@npm:4.0.1, @cucumber/message-streams@npm:^4.0.1": + version: 4.0.1 + resolution: "@cucumber/message-streams@npm:4.0.1" + peerDependencies: + "@cucumber/messages": ">=17.1.1" + checksum: 10/74080dafde31c033ff51eab6ab8cd1e940635f336679d5cadc8f06e2cd834d295bf2666980bb8c5b6619ea6bd1d1c1259385e53fbaf0d4c602af51fa67004b97 languageName: node linkType: hard -"@nodelib/fs.walk@npm:^1.2.3, @nodelib/fs.walk@npm:^1.2.8": - version: 1.2.8 - resolution: "@nodelib/fs.walk@npm:1.2.8" +"@cucumber/messages@npm:24.0.1, @cucumber/messages@npm:^24.0.0": + version: 24.0.1 + resolution: "@cucumber/messages@npm:24.0.1" dependencies: - "@nodelib/fs.scandir": "npm:2.1.5" - fastq: "npm:^1.6.0" - checksum: 10/40033e33e96e97d77fba5a238e4bba4487b8284678906a9f616b5579ddaf868a18874c0054a75402c9fbaaa033a25ceae093af58c9c30278e35c23c9479e79b0 + "@types/uuid": "npm:9.0.7" + class-transformer: "npm:0.5.1" + reflect-metadata: "npm:0.2.1" + uuid: "npm:9.0.1" + checksum: 10/fdaeb71eaa996b4cb45943b42b50d1060b4d7a65a2a698b96796a5fc355799969f16a2ff472f88913740ea8c0983e7485be71a3f11ddd1e4f414cf529a4134f8 languageName: node linkType: hard -"@npmcli/agent@npm:^2.0.0": - version: 2.2.1 - resolution: "@npmcli/agent@npm:2.2.1" +"@cucumber/messages@npm:24.1.0, @cucumber/messages@npm:>=19.1.4 <=24, @cucumber/messages@npm:^24.1.0": + version: 24.1.0 + resolution: "@cucumber/messages@npm:24.1.0" dependencies: - agent-base: "npm:^7.1.0" - http-proxy-agent: "npm:^7.0.0" - https-proxy-agent: "npm:^7.0.1" - lru-cache: "npm:^10.0.1" - socks-proxy-agent: "npm:^8.0.1" - checksum: 10/d4a48128f61e47f2f5c89315a5350e265dc619987e635bd62b52b29c7ed93536e724e721418c0ce352ceece86c13043c67aba1b70c3f5cc72fce6bb746706162 + "@types/uuid": "npm:9.0.8" + class-transformer: "npm:0.5.1" + reflect-metadata: "npm:0.2.1" + uuid: "npm:9.0.1" + checksum: 10/a0e28349afd872cd067c03b726f0e61bb017735df63e343f94c096842058282a6fd6a1adcff83d8b61855d00637904535e5918c1ac589d660bd2c610c922f088 languageName: node linkType: hard -"@npmcli/fs@npm:^3.1.0": - version: 3.1.0 - resolution: "@npmcli/fs@npm:3.1.0" +"@cucumber/messages@npm:>=19.1.4 <=22": + version: 22.0.0 + resolution: "@cucumber/messages@npm:22.0.0" dependencies: - semver: "npm:^7.3.5" - checksum: 10/f3a7ab3a31de65e42aeb6ed03ed035ef123d2de7af4deb9d4a003d27acc8618b57d9fb9d259fe6c28ca538032a028f37337264388ba27d26d37fff7dde22476e + "@types/uuid": "npm:9.0.1" + class-transformer: "npm:0.5.1" + reflect-metadata: "npm:0.1.13" + uuid: "npm:9.0.0" + checksum: 10/09fa7264aa9c53e7a9da3ec752c785ebeeaf98e8e8d4056c7cd6c800a6967b0e9beff0a5b30e3165ff3fe908a9dc9525adae2e28aa02116f7e38b57671e87f52 languageName: node linkType: hard -"@one-ini/wasm@npm:0.1.1": - version: 0.1.1 - resolution: "@one-ini/wasm@npm:0.1.1" - checksum: 10/673c11518dba2e582e42415cbefe928513616f3af25e12f6e4e6b1b98b52b3e6c14bc251a361654af63cd64f208f22a1f7556fa49da2bf7efcf28cb14f16f807 +"@cucumber/tag-expressions@npm:6.1.0": + version: 6.1.0 + resolution: "@cucumber/tag-expressions@npm:6.1.0" + checksum: 10/eaef7c35607d85c1028aef4eff63e60e68437e780b268a199e51ac7f8a27815c2df33990ee458f81cb1ae3fc56ea3ddfa9a11edaeab51b4a409404f1ce71ffec languageName: node linkType: hard -"@open-draft/until@npm:^1.0.3": - version: 1.0.3 - resolution: "@open-draft/until@npm:1.0.3" - checksum: 10/323e92ebef0150ed0f8caedc7d219b68cdc50784fa4eba0377eef93533d3f46514eb2400ced83dda8c51bddc3d2c7b8e9cf95e5ec85ab7f62dfc015d174f62f2 +"@cypress/request@npm:^3.0.0": + version: 3.0.1 + resolution: "@cypress/request@npm:3.0.1" + dependencies: + aws-sign2: "npm:~0.7.0" + aws4: "npm:^1.8.0" + caseless: "npm:~0.12.0" + combined-stream: "npm:~1.0.6" + extend: "npm:~3.0.2" + forever-agent: "npm:~0.6.1" + form-data: "npm:~2.3.2" + http-signature: "npm:~1.3.6" + is-typedarray: "npm:~1.0.0" + isstream: "npm:~0.1.2" + json-stringify-safe: "npm:~5.0.1" + mime-types: "npm:~2.1.19" + performance-now: "npm:^2.1.0" + qs: "npm:6.10.4" + safe-buffer: "npm:^5.1.2" + tough-cookie: "npm:^4.1.3" + tunnel-agent: "npm:^0.6.0" + uuid: "npm:^8.3.2" + checksum: 10/bf48bed6d6e493c05493902fb08b1d0646e7ec4300cf834816c2616f781db1a7fc447bd6f81de7c3076d738e8a6d75354e21d332f8f7ef8d9101d9b2f8e15b3a languageName: node linkType: hard -"@pkgjs/parseargs@npm:^0.11.0": - version: 0.11.0 - resolution: "@pkgjs/parseargs@npm:0.11.0" - checksum: 10/115e8ceeec6bc69dff2048b35c0ab4f8bbee12d8bb6c1f4af758604586d802b6e669dcb02dda61d078de42c2b4ddce41b3d9e726d7daa6b4b850f4adbf7333ff +"@cypress/xvfb@npm:^1.2.4": + version: 1.2.4 + resolution: "@cypress/xvfb@npm:1.2.4" + dependencies: + debug: "npm:^3.1.0" + lodash.once: "npm:^4.1.1" + checksum: 10/cb995b069f8c4f1e7857049bda0bd73a58e0048ccaf276ef0e66d1e1c03ba6fa099b5d765ad12ea37a7e5b7685f7413a2b9a99b27891407565b915f4a2f919a7 languageName: node linkType: hard -"@pkgr/core@npm:^0.1.0": - version: 0.1.1 - resolution: "@pkgr/core@npm:0.1.1" - checksum: 10/6f25fd2e3008f259c77207ac9915b02f1628420403b2630c92a07ff963129238c9262afc9e84344c7a23b5cc1f3965e2cd17e3798219f5fd78a63d144d3cceba +"@es-joy/jsdoccomment@npm:~0.42.0": + version: 0.42.0 + resolution: "@es-joy/jsdoccomment@npm:0.42.0" + dependencies: + comment-parser: "npm:1.4.1" + esquery: "npm:^1.5.0" + jsdoc-type-pratt-parser: "npm:~4.0.0" + checksum: 10/413c058f224f91cf6370a514e7024944d20977819724878121178e598714cc4734ee9898b3eca6396f67542ad81acd9d46d5a0209e62306b0ef17a28626ec566 languageName: node linkType: hard -"@playwright/test@npm:^1.34.1": - version: 1.41.2 - resolution: "@playwright/test@npm:1.41.2" - dependencies: - playwright: "npm:1.41.2" - bin: - playwright: cli.js - checksum: 10/e87405987fa024f75acc223c47fcb2da0a66b2fa0cd9a583ca5b02aac12be353d0c262bf6a22b9bc40550c86c8b7629e70cd27f508ec370d9c92bb72f74581e7 +"@esbuild/aix-ppc64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/aix-ppc64@npm:0.19.12" + conditions: os=aix & cpu=ppc64 languageName: node linkType: hard -"@polka/url@npm:^0.5.0": - version: 0.5.0 - resolution: "@polka/url@npm:0.5.0" - checksum: 10/3f007adf9c271b28992ebff1df6424e75e7d579493c66969356a9b5dada18480583744dbc28a7467371fa10eb794a5e1dc1f3fcd359c0b5685f4f9c6592cd312 +"@esbuild/aix-ppc64@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/aix-ppc64@npm:0.21.4" + conditions: os=aix & cpu=ppc64 languageName: node linkType: hard -"@postman/form-data@npm:~3.1.1": - version: 3.1.1 - resolution: "@postman/form-data@npm:3.1.1" - dependencies: - asynckit: "npm:^0.4.0" - combined-stream: "npm:^1.0.8" - mime-types: "npm:^2.1.12" - checksum: 10/c145f019f525d8d1ddc9a9785a4768bb914577d69edca7eefdedc5acd18f0a03cb6d8f7558a994296f1ad8c33b548092fb83c2c289d5177fd7c0f80aeee32ade +"@esbuild/android-arm64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/android-arm64@npm:0.19.12" + conditions: os=android & cpu=arm64 languageName: node linkType: hard -"@postman/tough-cookie@npm:4.1.3-postman.1, @postman/tough-cookie@npm:~4.1.3-postman.1": - version: 4.1.3-postman.1 - resolution: "@postman/tough-cookie@npm:4.1.3-postman.1" - dependencies: - psl: "npm:^1.1.33" - punycode: "npm:^2.1.1" - universalify: "npm:^0.2.0" - url-parse: "npm:^1.5.3" - checksum: 10/3120c3865bf9856381e0d0d1fc57335c357f3378891a6c66f7eac711fefbc1e379c5a37d657455001421efc3b03cf3adf99a2880edc1ecdd2f68cece48efb9a0 +"@esbuild/android-arm64@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/android-arm64@npm:0.21.4" + conditions: os=android & cpu=arm64 languageName: node linkType: hard -"@postman/tunnel-agent@npm:^0.6.3": - version: 0.6.3 - resolution: "@postman/tunnel-agent@npm:0.6.3" - dependencies: - safe-buffer: "npm:^5.0.1" - checksum: 10/71ea42fa771e07bbd39820232a2fc79cb83784a3038ac48e1cea17c64ad86385b31d17799d994b8f2d3f776796fb5ce299362342c6a6937245750af1b6e0e983 +"@esbuild/android-arm@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/android-arm@npm:0.19.12" + conditions: os=android & cpu=arm languageName: node linkType: hard -"@puppeteer/browsers@npm:1.3.0": - version: 1.3.0 - resolution: "@puppeteer/browsers@npm:1.3.0" - dependencies: - debug: "npm:4.3.4" - extract-zip: "npm:2.0.1" - http-proxy-agent: "npm:5.0.0" - https-proxy-agent: "npm:5.0.1" - progress: "npm:2.0.3" - proxy-from-env: "npm:1.1.0" - tar-fs: "npm:2.1.1" - unbzip2-stream: "npm:1.4.3" - yargs: "npm:17.7.1" - peerDependencies: - typescript: ">= 4.7.4" - peerDependenciesMeta: - typescript: - optional: true - bin: - browsers: lib/cjs/main-cli.js - checksum: 10/b7df900c8fad27ada95ba2823121620387d7c4d3d9dcea737cbb1c69a3f5097cbe3c867a0d135f94bae3f97ebf67568d4783ffdb1a57eeebd83a6b758503e70f +"@esbuild/android-arm@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/android-arm@npm:0.21.4" + conditions: os=android & cpu=arm languageName: node linkType: hard -"@puppeteer/browsers@npm:^1.6.0": - version: 1.9.1 - resolution: "@puppeteer/browsers@npm:1.9.1" - dependencies: - debug: "npm:4.3.4" - extract-zip: "npm:2.0.1" - progress: "npm:2.0.3" - proxy-agent: "npm:6.3.1" - tar-fs: "npm:3.0.4" - unbzip2-stream: "npm:1.4.3" - yargs: "npm:17.7.2" - bin: - browsers: lib/cjs/main-cli.js - checksum: 10/804cbc18bcc68796f1abebc2b008346fdcc10952a224bfdb1b81b5618a63e4b685a6f2a71e997a454d5695c8faec58e05e04a7cf83e56a899d6adbe94427de3b +"@esbuild/android-x64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/android-x64@npm:0.19.12" + conditions: os=android & cpu=x64 languageName: node linkType: hard -"@rollup/plugin-commonjs@npm:^25.0.7": - version: 25.0.7 - resolution: "@rollup/plugin-commonjs@npm:25.0.7" - dependencies: - "@rollup/pluginutils": "npm:^5.0.1" - commondir: "npm:^1.0.1" - estree-walker: "npm:^2.0.2" - glob: "npm:^8.0.3" - is-reference: "npm:1.2.1" - magic-string: "npm:^0.30.3" - peerDependencies: - rollup: ^2.68.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - checksum: 10/89b108e245d1af6e7878ac949bfcd44e48f7d0c1eda0cb0b7e89c231ae73de455ffe2ac65eb03a398da4e8c300ce404f997fe66f8dde3d4d4794ffd2c1241fc3 +"@esbuild/android-x64@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/android-x64@npm:0.21.4" + conditions: os=android & cpu=x64 languageName: node linkType: hard -"@rollup/plugin-node-resolve@npm:^15.2.3": - version: 15.2.3 - resolution: "@rollup/plugin-node-resolve@npm:15.2.3" - dependencies: - "@rollup/pluginutils": "npm:^5.0.1" - "@types/resolve": "npm:1.20.2" - deepmerge: "npm:^4.2.2" - is-builtin-module: "npm:^3.2.1" - is-module: "npm:^1.0.0" - resolve: "npm:^1.22.1" - peerDependencies: - rollup: ^2.78.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - checksum: 10/d36a6792fbe9d8673d3a7c7dc88920be669ac54fba02ac0093d3c00fc9463fce2e87da1906a2651016742709c3d202b367fb49a62acd0d98f18409343f27b8b4 +"@esbuild/darwin-arm64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/darwin-arm64@npm:0.19.12" + conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@rollup/plugin-typescript@npm:^11.1.6": - version: 11.1.6 - resolution: "@rollup/plugin-typescript@npm:11.1.6" - dependencies: - "@rollup/pluginutils": "npm:^5.1.0" - resolve: "npm:^1.22.1" - peerDependencies: - rollup: ^2.14.0||^3.0.0||^4.0.0 - tslib: "*" - typescript: ">=3.7.0" - peerDependenciesMeta: - rollup: - optional: true - tslib: - optional: true - checksum: 10/4ae4d6cfc929393171288df2f18b5eb837fa53d8689118d9661b3064567341f6f6cf8389af55f1d5f015e3682abf30a64ab609fdf75ecb5a84224505e407eb69 +"@esbuild/darwin-arm64@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/darwin-arm64@npm:0.21.4" + conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@rollup/pluginutils@npm:^5.0.1, @rollup/pluginutils@npm:^5.1.0": - version: 5.1.0 - resolution: "@rollup/pluginutils@npm:5.1.0" - dependencies: - "@types/estree": "npm:^1.0.0" - estree-walker: "npm:^2.0.2" - picomatch: "npm:^2.3.1" - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - checksum: 10/abb15eaec5b36f159ec351b48578401bedcefdfa371d24a914cfdbb1e27d0ebfbf895299ec18ccc343d247e71f2502cba21202bc1362d7ef27d5ded699e5c2b2 +"@esbuild/darwin-x64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/darwin-x64@npm:0.19.12" + conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@rollup/rollup-android-arm-eabi@npm:4.12.0": - version: 4.12.0 - resolution: "@rollup/rollup-android-arm-eabi@npm:4.12.0" - conditions: os=android & cpu=arm +"@esbuild/darwin-x64@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/darwin-x64@npm:0.21.4" + conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@rollup/rollup-android-arm-eabi@npm:4.13.0": - version: 4.13.0 - resolution: "@rollup/rollup-android-arm-eabi@npm:4.13.0" - conditions: os=android & cpu=arm +"@esbuild/freebsd-arm64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/freebsd-arm64@npm:0.19.12" + conditions: os=freebsd & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-android-arm-eabi@npm:4.14.1": - version: 4.14.1 - resolution: "@rollup/rollup-android-arm-eabi@npm:4.14.1" - conditions: os=android & cpu=arm +"@esbuild/freebsd-arm64@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/freebsd-arm64@npm:0.21.4" + conditions: os=freebsd & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-android-arm-eabi@npm:4.14.3": - version: 4.14.3 - resolution: "@rollup/rollup-android-arm-eabi@npm:4.14.3" - conditions: os=android & cpu=arm +"@esbuild/freebsd-x64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/freebsd-x64@npm:0.19.12" + conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"@rollup/rollup-android-arm-eabi@npm:4.16.3": - version: 4.16.3 - resolution: "@rollup/rollup-android-arm-eabi@npm:4.16.3" - conditions: os=android & cpu=arm +"@esbuild/freebsd-x64@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/freebsd-x64@npm:0.21.4" + conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"@rollup/rollup-android-arm-eabi@npm:4.17.1": - version: 4.17.1 - resolution: "@rollup/rollup-android-arm-eabi@npm:4.17.1" - conditions: os=android & cpu=arm +"@esbuild/linux-arm64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/linux-arm64@npm:0.19.12" + conditions: os=linux & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-android-arm-eabi@npm:4.17.2": - version: 4.17.2 - resolution: "@rollup/rollup-android-arm-eabi@npm:4.17.2" - conditions: os=android & cpu=arm +"@esbuild/linux-arm64@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/linux-arm64@npm:0.21.4" + conditions: os=linux & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-android-arm64@npm:4.12.0": - version: 4.12.0 - resolution: "@rollup/rollup-android-arm64@npm:4.12.0" - conditions: os=android & cpu=arm64 +"@esbuild/linux-arm@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/linux-arm@npm:0.19.12" + conditions: os=linux & cpu=arm languageName: node linkType: hard -"@rollup/rollup-android-arm64@npm:4.13.0": - version: 4.13.0 - resolution: "@rollup/rollup-android-arm64@npm:4.13.0" - conditions: os=android & cpu=arm64 +"@esbuild/linux-arm@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/linux-arm@npm:0.21.4" + conditions: os=linux & cpu=arm languageName: node linkType: hard -"@rollup/rollup-android-arm64@npm:4.14.1": - version: 4.14.1 - resolution: "@rollup/rollup-android-arm64@npm:4.14.1" - conditions: os=android & cpu=arm64 +"@esbuild/linux-ia32@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/linux-ia32@npm:0.19.12" + conditions: os=linux & cpu=ia32 languageName: node linkType: hard -"@rollup/rollup-android-arm64@npm:4.14.3": - version: 4.14.3 - resolution: "@rollup/rollup-android-arm64@npm:4.14.3" - conditions: os=android & cpu=arm64 +"@esbuild/linux-ia32@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/linux-ia32@npm:0.21.4" + conditions: os=linux & cpu=ia32 languageName: node linkType: hard -"@rollup/rollup-android-arm64@npm:4.16.3": - version: 4.16.3 - resolution: "@rollup/rollup-android-arm64@npm:4.16.3" - conditions: os=android & cpu=arm64 +"@esbuild/linux-loong64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/linux-loong64@npm:0.19.12" + conditions: os=linux & cpu=loong64 languageName: node linkType: hard -"@rollup/rollup-android-arm64@npm:4.17.1": - version: 4.17.1 - resolution: "@rollup/rollup-android-arm64@npm:4.17.1" - conditions: os=android & cpu=arm64 +"@esbuild/linux-loong64@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/linux-loong64@npm:0.21.4" + conditions: os=linux & cpu=loong64 languageName: node linkType: hard -"@rollup/rollup-android-arm64@npm:4.17.2": - version: 4.17.2 - resolution: "@rollup/rollup-android-arm64@npm:4.17.2" - conditions: os=android & cpu=arm64 +"@esbuild/linux-mips64el@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/linux-mips64el@npm:0.19.12" + conditions: os=linux & cpu=mips64el languageName: node linkType: hard -"@rollup/rollup-darwin-arm64@npm:4.12.0": - version: 4.12.0 - resolution: "@rollup/rollup-darwin-arm64@npm:4.12.0" - conditions: os=darwin & cpu=arm64 +"@esbuild/linux-mips64el@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/linux-mips64el@npm:0.21.4" + conditions: os=linux & cpu=mips64el languageName: node linkType: hard -"@rollup/rollup-darwin-arm64@npm:4.13.0": - version: 4.13.0 - resolution: "@rollup/rollup-darwin-arm64@npm:4.13.0" - conditions: os=darwin & cpu=arm64 +"@esbuild/linux-ppc64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/linux-ppc64@npm:0.19.12" + conditions: os=linux & cpu=ppc64 languageName: node linkType: hard -"@rollup/rollup-darwin-arm64@npm:4.14.1": - version: 4.14.1 - resolution: "@rollup/rollup-darwin-arm64@npm:4.14.1" - conditions: os=darwin & cpu=arm64 +"@esbuild/linux-ppc64@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/linux-ppc64@npm:0.21.4" + conditions: os=linux & cpu=ppc64 languageName: node linkType: hard -"@rollup/rollup-darwin-arm64@npm:4.14.3": - version: 4.14.3 - resolution: "@rollup/rollup-darwin-arm64@npm:4.14.3" - conditions: os=darwin & cpu=arm64 +"@esbuild/linux-riscv64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/linux-riscv64@npm:0.19.12" + conditions: os=linux & cpu=riscv64 languageName: node linkType: hard -"@rollup/rollup-darwin-arm64@npm:4.16.3": - version: 4.16.3 - resolution: "@rollup/rollup-darwin-arm64@npm:4.16.3" - conditions: os=darwin & cpu=arm64 +"@esbuild/linux-riscv64@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/linux-riscv64@npm:0.21.4" + conditions: os=linux & cpu=riscv64 languageName: node linkType: hard -"@rollup/rollup-darwin-arm64@npm:4.17.1": - version: 4.17.1 - resolution: "@rollup/rollup-darwin-arm64@npm:4.17.1" - conditions: os=darwin & cpu=arm64 +"@esbuild/linux-s390x@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/linux-s390x@npm:0.19.12" + conditions: os=linux & cpu=s390x languageName: node linkType: hard -"@rollup/rollup-darwin-arm64@npm:4.17.2": - version: 4.17.2 - resolution: "@rollup/rollup-darwin-arm64@npm:4.17.2" - conditions: os=darwin & cpu=arm64 +"@esbuild/linux-s390x@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/linux-s390x@npm:0.21.4" + conditions: os=linux & cpu=s390x languageName: node linkType: hard -"@rollup/rollup-darwin-x64@npm:4.12.0": - version: 4.12.0 - resolution: "@rollup/rollup-darwin-x64@npm:4.12.0" - conditions: os=darwin & cpu=x64 +"@esbuild/linux-x64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/linux-x64@npm:0.19.12" + conditions: os=linux & cpu=x64 languageName: node linkType: hard -"@rollup/rollup-darwin-x64@npm:4.13.0": - version: 4.13.0 - resolution: "@rollup/rollup-darwin-x64@npm:4.13.0" - conditions: os=darwin & cpu=x64 +"@esbuild/linux-x64@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/linux-x64@npm:0.21.4" + conditions: os=linux & cpu=x64 languageName: node linkType: hard -"@rollup/rollup-darwin-x64@npm:4.14.1": - version: 4.14.1 - resolution: "@rollup/rollup-darwin-x64@npm:4.14.1" - conditions: os=darwin & cpu=x64 +"@esbuild/netbsd-x64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/netbsd-x64@npm:0.19.12" + conditions: os=netbsd & cpu=x64 languageName: node linkType: hard -"@rollup/rollup-darwin-x64@npm:4.14.3": - version: 4.14.3 - resolution: "@rollup/rollup-darwin-x64@npm:4.14.3" - conditions: os=darwin & cpu=x64 +"@esbuild/netbsd-x64@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/netbsd-x64@npm:0.21.4" + conditions: os=netbsd & cpu=x64 languageName: node linkType: hard -"@rollup/rollup-darwin-x64@npm:4.16.3": - version: 4.16.3 - resolution: "@rollup/rollup-darwin-x64@npm:4.16.3" - conditions: os=darwin & cpu=x64 +"@esbuild/openbsd-x64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/openbsd-x64@npm:0.19.12" + conditions: os=openbsd & cpu=x64 languageName: node linkType: hard -"@rollup/rollup-darwin-x64@npm:4.17.1": - version: 4.17.1 - resolution: "@rollup/rollup-darwin-x64@npm:4.17.1" - conditions: os=darwin & cpu=x64 +"@esbuild/openbsd-x64@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/openbsd-x64@npm:0.21.4" + conditions: os=openbsd & cpu=x64 languageName: node linkType: hard -"@rollup/rollup-darwin-x64@npm:4.17.2": - version: 4.17.2 - resolution: "@rollup/rollup-darwin-x64@npm:4.17.2" - conditions: os=darwin & cpu=x64 +"@esbuild/sunos-x64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/sunos-x64@npm:0.19.12" + conditions: os=sunos & cpu=x64 languageName: node linkType: hard -"@rollup/rollup-linux-arm-gnueabihf@npm:4.12.0": - version: 4.12.0 - resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.12.0" - conditions: os=linux & cpu=arm +"@esbuild/sunos-x64@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/sunos-x64@npm:0.21.4" + conditions: os=sunos & cpu=x64 languageName: node linkType: hard -"@rollup/rollup-linux-arm-gnueabihf@npm:4.13.0": - version: 4.13.0 - resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.13.0" - conditions: os=linux & cpu=arm +"@esbuild/win32-arm64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/win32-arm64@npm:0.19.12" + conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-linux-arm-gnueabihf@npm:4.14.1": - version: 4.14.1 - resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.14.1" - conditions: os=linux & cpu=arm +"@esbuild/win32-arm64@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/win32-arm64@npm:0.21.4" + conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-linux-arm-gnueabihf@npm:4.14.3": - version: 4.14.3 - resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.14.3" - conditions: os=linux & cpu=arm +"@esbuild/win32-ia32@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/win32-ia32@npm:0.19.12" + conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@rollup/rollup-linux-arm-gnueabihf@npm:4.16.3": - version: 4.16.3 - resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.16.3" - conditions: os=linux & cpu=arm & libc=glibc +"@esbuild/win32-ia32@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/win32-ia32@npm:0.21.4" + conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@rollup/rollup-linux-arm-gnueabihf@npm:4.17.1": - version: 4.17.1 - resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.17.1" - conditions: os=linux & cpu=arm & libc=glibc +"@esbuild/win32-x64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/win32-x64@npm:0.19.12" + conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"@rollup/rollup-linux-arm-gnueabihf@npm:4.17.2": - version: 4.17.2 - resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.17.2" - conditions: os=linux & cpu=arm & libc=glibc +"@esbuild/win32-x64@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/win32-x64@npm:0.21.4" + conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"@rollup/rollup-linux-arm-musleabihf@npm:4.14.3": - version: 4.14.3 - resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.14.3" - conditions: os=linux & cpu=arm +"@eslint-community/eslint-utils@npm:^4.1.2, @eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0": + version: 4.4.0 + resolution: "@eslint-community/eslint-utils@npm:4.4.0" + dependencies: + eslint-visitor-keys: "npm:^3.3.0" + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + checksum: 10/8d70bcdcd8cd279049183aca747d6c2ed7092a5cf0cf5916faac1ef37ffa74f0c245c2a3a3d3b9979d9dfdd4ca59257b4c5621db699d637b847a2c5e02f491c2 languageName: node linkType: hard -"@rollup/rollup-linux-arm-musleabihf@npm:4.16.3": - version: 4.16.3 - resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.16.3" - conditions: os=linux & cpu=arm & libc=musl +"@eslint-community/regexpp@npm:^4.10.0, @eslint-community/regexpp@npm:^4.6.0, @eslint-community/regexpp@npm:^4.6.1": + version: 4.10.0 + resolution: "@eslint-community/regexpp@npm:4.10.0" + checksum: 10/8c36169c815fc5d726078e8c71a5b592957ee60d08c6470f9ce0187c8046af1a00afbda0a065cc40ff18d5d83f82aed9793c6818f7304a74a7488dc9f3ecbd42 languageName: node linkType: hard -"@rollup/rollup-linux-arm-musleabihf@npm:4.17.1": - version: 4.17.1 - resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.17.1" - conditions: os=linux & cpu=arm & libc=musl +"@eslint/eslintrc@npm:^2.1.4": + version: 2.1.4 + resolution: "@eslint/eslintrc@npm:2.1.4" + dependencies: + ajv: "npm:^6.12.4" + debug: "npm:^4.3.2" + espree: "npm:^9.6.0" + globals: "npm:^13.19.0" + ignore: "npm:^5.2.0" + import-fresh: "npm:^3.2.1" + js-yaml: "npm:^4.1.0" + minimatch: "npm:^3.1.2" + strip-json-comments: "npm:^3.1.1" + checksum: 10/7a3b14f4b40fc1a22624c3f84d9f467a3d9ea1ca6e9a372116cb92507e485260359465b58e25bcb6c9981b155416b98c9973ad9b796053fd7b3f776a6946bce8 languageName: node linkType: hard -"@rollup/rollup-linux-arm-musleabihf@npm:4.17.2": - version: 4.17.2 - resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.17.2" - conditions: os=linux & cpu=arm & libc=musl +"@eslint/js@npm:8.57.0": + version: 8.57.0 + resolution: "@eslint/js@npm:8.57.0" + checksum: 10/3c501ce8a997cf6cbbaf4ed358af5492875e3550c19b9621413b82caa9ae5382c584b0efa79835639e6e0ddaa568caf3499318e5bdab68643ef4199dce5eb0a0 languageName: node linkType: hard -"@rollup/rollup-linux-arm64-gnu@npm:4.12.0": - version: 4.12.0 - resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.12.0" - conditions: os=linux & cpu=arm64 & libc=glibc +"@exodus/schemasafe@npm:^1.2.3": + version: 1.3.0 + resolution: "@exodus/schemasafe@npm:1.3.0" + checksum: 10/791d9e4b437fe04c6d7cf028d145ed963b8fe973ba6d5811aedf7edea40d5a055a49522241efdafbc32f964c27beaddf1c85fbcc8bf5436cf394623b08e5518b languageName: node linkType: hard -"@rollup/rollup-linux-arm64-gnu@npm:4.13.0": - version: 4.13.0 - resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.13.0" - conditions: os=linux & cpu=arm64 & libc=glibc +"@faker-js/faker@npm:5.5.3": + version: 5.5.3 + resolution: "@faker-js/faker@npm:5.5.3" + checksum: 10/1a4fd61d1a9132f5776b447a2bc9c14d9b472611ddf22f7060adcf103c76d2af238e0bc132e633601b19a00b4f3a23643c4f2b7671ab9866ae9f91221d191788 languageName: node linkType: hard -"@rollup/rollup-linux-arm64-gnu@npm:4.14.1": - version: 4.14.1 - resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.14.1" - conditions: os=linux & cpu=arm64 & libc=glibc +"@hapi/hoek@npm:^9.0.0, @hapi/hoek@npm:^9.3.0": + version: 9.3.0 + resolution: "@hapi/hoek@npm:9.3.0" + checksum: 10/ad83a223787749f3873bce42bd32a9a19673765bf3edece0a427e138859ff729469e68d5fdf9ff6bbee6fb0c8e21bab61415afa4584f527cfc40b59ea1957e70 languageName: node linkType: hard -"@rollup/rollup-linux-arm64-gnu@npm:4.14.3": - version: 4.14.3 - resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.14.3" - conditions: os=linux & cpu=arm64 & libc=glibc +"@hapi/topo@npm:^5.1.0": + version: 5.1.0 + resolution: "@hapi/topo@npm:5.1.0" + dependencies: + "@hapi/hoek": "npm:^9.0.0" + checksum: 10/084bfa647015f4fd3fdd51fadb2747d09ef2f5e1443d6cbada2988b0c88494f85edf257ec606c790db146ac4e34ff57f3fcb22e3299b8e06ed5c87ba7583495c languageName: node linkType: hard -"@rollup/rollup-linux-arm64-gnu@npm:4.16.3": - version: 4.16.3 - resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.16.3" - conditions: os=linux & cpu=arm64 & libc=glibc +"@humanwhocodes/config-array@npm:^0.11.14": + version: 0.11.14 + resolution: "@humanwhocodes/config-array@npm:0.11.14" + dependencies: + "@humanwhocodes/object-schema": "npm:^2.0.2" + debug: "npm:^4.3.1" + minimatch: "npm:^3.0.5" + checksum: 10/3ffb24ecdfab64014a230e127118d50a1a04d11080cbb748bc21629393d100850496456bbcb4e8c438957fe0934430d731042f1264d6a167b62d32fc2863580a languageName: node linkType: hard -"@rollup/rollup-linux-arm64-gnu@npm:4.17.1": - version: 4.17.1 - resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.17.1" - conditions: os=linux & cpu=arm64 & libc=glibc +"@humanwhocodes/module-importer@npm:^1.0.1": + version: 1.0.1 + resolution: "@humanwhocodes/module-importer@npm:1.0.1" + checksum: 10/e993950e346331e5a32eefb27948ecdee2a2c4ab3f072b8f566cd213ef485dd50a3ca497050608db91006f5479e43f91a439aef68d2a313bd3ded06909c7c5b3 languageName: node linkType: hard -"@rollup/rollup-linux-arm64-gnu@npm:4.17.2": - version: 4.17.2 - resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.17.2" - conditions: os=linux & cpu=arm64 & libc=glibc +"@humanwhocodes/object-schema@npm:^2.0.2": + version: 2.0.2 + resolution: "@humanwhocodes/object-schema@npm:2.0.2" + checksum: 10/ef915e3e2f34652f3d383b28a9a99cfea476fa991482370889ab14aac8ecd2b38d47cc21932526c6d949da0daf4a4a6bf629d30f41b0caca25e146819cbfa70e languageName: node linkType: hard -"@rollup/rollup-linux-arm64-musl@npm:4.12.0": - version: 4.12.0 - resolution: "@rollup/rollup-linux-arm64-musl@npm:4.12.0" - conditions: os=linux & cpu=arm64 & libc=musl +"@isaacs/cliui@npm:^8.0.2": + version: 8.0.2 + resolution: "@isaacs/cliui@npm:8.0.2" + dependencies: + string-width: "npm:^5.1.2" + string-width-cjs: "npm:string-width@^4.2.0" + strip-ansi: "npm:^7.0.1" + strip-ansi-cjs: "npm:strip-ansi@^6.0.1" + wrap-ansi: "npm:^8.1.0" + wrap-ansi-cjs: "npm:wrap-ansi@^7.0.0" + checksum: 10/e9ed5fd27c3aec1095e3a16e0c0cf148d1fee55a38665c35f7b3f86a9b5d00d042ddaabc98e8a1cb7463b9378c15f22a94eb35e99469c201453eb8375191f243 languageName: node linkType: hard -"@rollup/rollup-linux-arm64-musl@npm:4.13.0": - version: 4.13.0 - resolution: "@rollup/rollup-linux-arm64-musl@npm:4.13.0" - conditions: os=linux & cpu=arm64 & libc=musl +"@istanbuljs/load-nyc-config@npm:^1.0.0": + version: 1.1.0 + resolution: "@istanbuljs/load-nyc-config@npm:1.1.0" + dependencies: + camelcase: "npm:^5.3.1" + find-up: "npm:^4.1.0" + get-package-type: "npm:^0.1.0" + js-yaml: "npm:^3.13.1" + resolve-from: "npm:^5.0.0" + checksum: 10/b000a5acd8d4fe6e34e25c399c8bdbb5d3a202b4e10416e17bfc25e12bab90bb56d33db6089ae30569b52686f4b35ff28ef26e88e21e69821d2b85884bd055b8 languageName: node linkType: hard -"@rollup/rollup-linux-arm64-musl@npm:4.14.1": - version: 4.14.1 - resolution: "@rollup/rollup-linux-arm64-musl@npm:4.14.1" - conditions: os=linux & cpu=arm64 & libc=musl +"@istanbuljs/schema@npm:^0.1.2, @istanbuljs/schema@npm:^0.1.3": + version: 0.1.3 + resolution: "@istanbuljs/schema@npm:0.1.3" + checksum: 10/a9b1e49acdf5efc2f5b2359f2df7f90c5c725f2656f16099e8b2cd3a000619ecca9fc48cf693ba789cf0fd989f6e0df6a22bc05574be4223ecdbb7997d04384b languageName: node linkType: hard -"@rollup/rollup-linux-arm64-musl@npm:4.14.3": - version: 4.14.3 - resolution: "@rollup/rollup-linux-arm64-musl@npm:4.14.3" - conditions: os=linux & cpu=arm64 & libc=musl +"@jest/console@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/console@npm:29.7.0" + dependencies: + "@jest/types": "npm:^29.6.3" + "@types/node": "npm:*" + chalk: "npm:^4.0.0" + jest-message-util: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + slash: "npm:^3.0.0" + checksum: 10/4a80c750e8a31f344233cb9951dee9b77bf6b89377cb131f8b3cde07ff218f504370133a5963f6a786af4d2ce7f85642db206ff7a15f99fe58df4c38ac04899e languageName: node linkType: hard -"@rollup/rollup-linux-arm64-musl@npm:4.16.3": - version: 4.16.3 - resolution: "@rollup/rollup-linux-arm64-musl@npm:4.16.3" - conditions: os=linux & cpu=arm64 & libc=musl +"@jest/core@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/core@npm:29.7.0" + dependencies: + "@jest/console": "npm:^29.7.0" + "@jest/reporters": "npm:^29.7.0" + "@jest/test-result": "npm:^29.7.0" + "@jest/transform": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + "@types/node": "npm:*" + ansi-escapes: "npm:^4.2.1" + chalk: "npm:^4.0.0" + ci-info: "npm:^3.2.0" + exit: "npm:^0.1.2" + graceful-fs: "npm:^4.2.9" + jest-changed-files: "npm:^29.7.0" + jest-config: "npm:^29.7.0" + jest-haste-map: "npm:^29.7.0" + jest-message-util: "npm:^29.7.0" + jest-regex-util: "npm:^29.6.3" + jest-resolve: "npm:^29.7.0" + jest-resolve-dependencies: "npm:^29.7.0" + jest-runner: "npm:^29.7.0" + jest-runtime: "npm:^29.7.0" + jest-snapshot: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + jest-validate: "npm:^29.7.0" + jest-watcher: "npm:^29.7.0" + micromatch: "npm:^4.0.4" + pretty-format: "npm:^29.7.0" + slash: "npm:^3.0.0" + strip-ansi: "npm:^6.0.0" + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + checksum: 10/ab6ac2e562d083faac7d8152ec1cc4eccc80f62e9579b69ed40aedf7211a6b2d57024a6cd53c4e35fd051c39a236e86257d1d99ebdb122291969a0a04563b51e languageName: node linkType: hard -"@rollup/rollup-linux-arm64-musl@npm:4.17.1": - version: 4.17.1 - resolution: "@rollup/rollup-linux-arm64-musl@npm:4.17.1" - conditions: os=linux & cpu=arm64 & libc=musl +"@jest/environment@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/environment@npm:29.7.0" + dependencies: + "@jest/fake-timers": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + "@types/node": "npm:*" + jest-mock: "npm:^29.7.0" + checksum: 10/90b5844a9a9d8097f2cf107b1b5e57007c552f64315da8c1f51217eeb0a9664889d3f145cdf8acf23a84f4d8309a6675e27d5b059659a004db0ea9546d1c81a8 languageName: node linkType: hard -"@rollup/rollup-linux-arm64-musl@npm:4.17.2": - version: 4.17.2 - resolution: "@rollup/rollup-linux-arm64-musl@npm:4.17.2" - conditions: os=linux & cpu=arm64 & libc=musl +"@jest/expect-utils@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/expect-utils@npm:29.7.0" + dependencies: + jest-get-type: "npm:^29.6.3" + checksum: 10/ef8d379778ef574a17bde2801a6f4469f8022a46a5f9e385191dc73bb1fc318996beaed4513fbd7055c2847227a1bed2469977821866534593a6e52a281499ee languageName: node linkType: hard -"@rollup/rollup-linux-powerpc64le-gnu@npm:4.14.1": - version: 4.14.1 - resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.14.1" - conditions: os=linux & cpu=ppc64le & libc=glibc +"@jest/expect@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/expect@npm:29.7.0" + dependencies: + expect: "npm:^29.7.0" + jest-snapshot: "npm:^29.7.0" + checksum: 10/fea6c3317a8da5c840429d90bfe49d928e89c9e89fceee2149b93a11b7e9c73d2f6e4d7cdf647163da938fc4e2169e4490be6bae64952902bc7a701033fd4880 languageName: node linkType: hard -"@rollup/rollup-linux-powerpc64le-gnu@npm:4.14.3": - version: 4.14.3 - resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.14.3" - conditions: os=linux & cpu=ppc64 & libc=glibc +"@jest/fake-timers@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/fake-timers@npm:29.7.0" + dependencies: + "@jest/types": "npm:^29.6.3" + "@sinonjs/fake-timers": "npm:^10.0.2" + "@types/node": "npm:*" + jest-message-util: "npm:^29.7.0" + jest-mock: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + checksum: 10/9b394e04ffc46f91725ecfdff34c4e043eb7a16e1d78964094c9db3fde0b1c8803e45943a980e8c740d0a3d45661906de1416ca5891a538b0660481a3a828c27 languageName: node linkType: hard -"@rollup/rollup-linux-powerpc64le-gnu@npm:4.16.3": - version: 4.16.3 - resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.16.3" - conditions: os=linux & cpu=ppc64 & libc=glibc +"@jest/globals@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/globals@npm:29.7.0" + dependencies: + "@jest/environment": "npm:^29.7.0" + "@jest/expect": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + jest-mock: "npm:^29.7.0" + checksum: 10/97dbb9459135693ad3a422e65ca1c250f03d82b2a77f6207e7fa0edd2c9d2015fbe4346f3dc9ebff1678b9d8da74754d4d440b7837497f8927059c0642a22123 languageName: node linkType: hard -"@rollup/rollup-linux-powerpc64le-gnu@npm:4.17.1": - version: 4.17.1 - resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.17.1" - conditions: os=linux & cpu=ppc64 & libc=glibc +"@jest/reporters@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/reporters@npm:29.7.0" + dependencies: + "@bcoe/v8-coverage": "npm:^0.2.3" + "@jest/console": "npm:^29.7.0" + "@jest/test-result": "npm:^29.7.0" + "@jest/transform": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + "@jridgewell/trace-mapping": "npm:^0.3.18" + "@types/node": "npm:*" + chalk: "npm:^4.0.0" + collect-v8-coverage: "npm:^1.0.0" + exit: "npm:^0.1.2" + glob: "npm:^7.1.3" + graceful-fs: "npm:^4.2.9" + istanbul-lib-coverage: "npm:^3.0.0" + istanbul-lib-instrument: "npm:^6.0.0" + istanbul-lib-report: "npm:^3.0.0" + istanbul-lib-source-maps: "npm:^4.0.0" + istanbul-reports: "npm:^3.1.3" + jest-message-util: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + jest-worker: "npm:^29.7.0" + slash: "npm:^3.0.0" + string-length: "npm:^4.0.1" + strip-ansi: "npm:^6.0.0" + v8-to-istanbul: "npm:^9.0.1" + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + checksum: 10/a17d1644b26dea14445cedd45567f4ba7834f980be2ef74447204e14238f121b50d8b858fde648083d2cd8f305f81ba434ba49e37a5f4237a6f2a61180cc73dc languageName: node linkType: hard -"@rollup/rollup-linux-powerpc64le-gnu@npm:4.17.2": - version: 4.17.2 - resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.17.2" - conditions: os=linux & cpu=ppc64 & libc=glibc +"@jest/schemas@npm:^29.6.3": + version: 29.6.3 + resolution: "@jest/schemas@npm:29.6.3" + dependencies: + "@sinclair/typebox": "npm:^0.27.8" + checksum: 10/910040425f0fc93cd13e68c750b7885590b8839066dfa0cd78e7def07bbb708ad869381f725945d66f2284de5663bbecf63e8fdd856e2ae6e261ba30b1687e93 languageName: node linkType: hard -"@rollup/rollup-linux-riscv64-gnu@npm:4.12.0": - version: 4.12.0 - resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.12.0" - conditions: os=linux & cpu=riscv64 & libc=glibc +"@jest/source-map@npm:^29.6.3": + version: 29.6.3 + resolution: "@jest/source-map@npm:29.6.3" + dependencies: + "@jridgewell/trace-mapping": "npm:^0.3.18" + callsites: "npm:^3.0.0" + graceful-fs: "npm:^4.2.9" + checksum: 10/bcc5a8697d471396c0003b0bfa09722c3cd879ad697eb9c431e6164e2ea7008238a01a07193dfe3cbb48b1d258eb7251f6efcea36f64e1ebc464ea3c03ae2deb languageName: node linkType: hard -"@rollup/rollup-linux-riscv64-gnu@npm:4.13.0": - version: 4.13.0 - resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.13.0" - conditions: os=linux & cpu=riscv64 & libc=glibc +"@jest/test-result@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/test-result@npm:29.7.0" + dependencies: + "@jest/console": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + "@types/istanbul-lib-coverage": "npm:^2.0.0" + collect-v8-coverage: "npm:^1.0.0" + checksum: 10/c073ab7dfe3c562bff2b8fee6cc724ccc20aa96bcd8ab48ccb2aa309b4c0c1923a9e703cea386bd6ae9b71133e92810475bb9c7c22328fc63f797ad3324ed189 languageName: node linkType: hard -"@rollup/rollup-linux-riscv64-gnu@npm:4.14.1": - version: 4.14.1 - resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.14.1" - conditions: os=linux & cpu=riscv64 & libc=glibc +"@jest/test-sequencer@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/test-sequencer@npm:29.7.0" + dependencies: + "@jest/test-result": "npm:^29.7.0" + graceful-fs: "npm:^4.2.9" + jest-haste-map: "npm:^29.7.0" + slash: "npm:^3.0.0" + checksum: 10/4420c26a0baa7035c5419b0892ff8ffe9a41b1583ec54a10db3037cd46a7e29dd3d7202f8aa9d376e9e53be5f8b1bc0d16e1de6880a6d319b033b01dc4c8f639 languageName: node linkType: hard -"@rollup/rollup-linux-riscv64-gnu@npm:4.14.3": - version: 4.14.3 - resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.14.3" - conditions: os=linux & cpu=riscv64 & libc=glibc +"@jest/transform@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/transform@npm:29.7.0" + dependencies: + "@babel/core": "npm:^7.11.6" + "@jest/types": "npm:^29.6.3" + "@jridgewell/trace-mapping": "npm:^0.3.18" + babel-plugin-istanbul: "npm:^6.1.1" + chalk: "npm:^4.0.0" + convert-source-map: "npm:^2.0.0" + fast-json-stable-stringify: "npm:^2.1.0" + graceful-fs: "npm:^4.2.9" + jest-haste-map: "npm:^29.7.0" + jest-regex-util: "npm:^29.6.3" + jest-util: "npm:^29.7.0" + micromatch: "npm:^4.0.4" + pirates: "npm:^4.0.4" + slash: "npm:^3.0.0" + write-file-atomic: "npm:^4.0.2" + checksum: 10/30f42293545ab037d5799c81d3e12515790bb58513d37f788ce32d53326d0d72ebf5b40f989e6896739aa50a5f77be44686e510966370d58511d5ad2637c68c1 languageName: node linkType: hard -"@rollup/rollup-linux-riscv64-gnu@npm:4.16.3": - version: 4.16.3 - resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.16.3" - conditions: os=linux & cpu=riscv64 & libc=glibc +"@jest/types@npm:^29.6.3": + version: 29.6.3 + resolution: "@jest/types@npm:29.6.3" + dependencies: + "@jest/schemas": "npm:^29.6.3" + "@types/istanbul-lib-coverage": "npm:^2.0.0" + "@types/istanbul-reports": "npm:^3.0.0" + "@types/node": "npm:*" + "@types/yargs": "npm:^17.0.8" + chalk: "npm:^4.0.0" + checksum: 10/f74bf512fd09bbe2433a2ad460b04668b7075235eea9a0c77d6a42222c10a79b9747dc2b2a623f140ed40d6865a2ed8f538f3cbb75169120ea863f29a7ed76cd languageName: node linkType: hard -"@rollup/rollup-linux-riscv64-gnu@npm:4.17.1": - version: 4.17.1 - resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.17.1" - conditions: os=linux & cpu=riscv64 & libc=glibc +"@jridgewell/gen-mapping@npm:^0.3.0, @jridgewell/gen-mapping@npm:^0.3.2": + version: 0.3.4 + resolution: "@jridgewell/gen-mapping@npm:0.3.4" + dependencies: + "@jridgewell/set-array": "npm:^1.0.1" + "@jridgewell/sourcemap-codec": "npm:^1.4.10" + "@jridgewell/trace-mapping": "npm:^0.3.9" + checksum: 10/c111a3d52fffd63a719035f9a453e0a9b4ba403a559b2f170f81e385ba5ed9cd4549575e166b20d3534e2aad9ea8473b8b17cee11b1c6595323be90d4e4c50d1 languageName: node linkType: hard -"@rollup/rollup-linux-riscv64-gnu@npm:4.17.2": - version: 4.17.2 - resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.17.2" - conditions: os=linux & cpu=riscv64 & libc=glibc +"@jridgewell/gen-mapping@npm:^0.3.5": + version: 0.3.5 + resolution: "@jridgewell/gen-mapping@npm:0.3.5" + dependencies: + "@jridgewell/set-array": "npm:^1.2.1" + "@jridgewell/sourcemap-codec": "npm:^1.4.10" + "@jridgewell/trace-mapping": "npm:^0.3.24" + checksum: 10/81587b3c4dd8e6c60252122937cea0c637486311f4ed208b52b62aae2e7a87598f63ec330e6cd0984af494bfb16d3f0d60d3b21d7e5b4aedd2602ff3fe9d32e2 languageName: node linkType: hard -"@rollup/rollup-linux-s390x-gnu@npm:4.14.1": - version: 4.14.1 - resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.14.1" - conditions: os=linux & cpu=s390x & libc=glibc +"@jridgewell/resolve-uri@npm:^3.0.3, @jridgewell/resolve-uri@npm:^3.1.0": + version: 3.1.2 + resolution: "@jridgewell/resolve-uri@npm:3.1.2" + checksum: 10/97106439d750a409c22c8bff822d648f6a71f3aa9bc8e5129efdc36343cd3096ddc4eeb1c62d2fe48e9bdd4db37b05d4646a17114ecebd3bbcacfa2de51c3c1d languageName: node linkType: hard -"@rollup/rollup-linux-s390x-gnu@npm:4.14.3": - version: 4.14.3 - resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.14.3" - conditions: os=linux & cpu=s390x & libc=glibc +"@jridgewell/set-array@npm:^1.0.1": + version: 1.1.2 + resolution: "@jridgewell/set-array@npm:1.1.2" + checksum: 10/69a84d5980385f396ff60a175f7177af0b8da4ddb81824cb7016a9ef914eee9806c72b6b65942003c63f7983d4f39a5c6c27185bbca88eb4690b62075602e28e languageName: node linkType: hard -"@rollup/rollup-linux-s390x-gnu@npm:4.16.3": - version: 4.16.3 - resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.16.3" - conditions: os=linux & cpu=s390x & libc=glibc +"@jridgewell/set-array@npm:^1.2.1": + version: 1.2.1 + resolution: "@jridgewell/set-array@npm:1.2.1" + checksum: 10/832e513a85a588f8ed4f27d1279420d8547743cc37fcad5a5a76fc74bb895b013dfe614d0eed9cb860048e6546b798f8f2652020b4b2ba0561b05caa8c654b10 languageName: node linkType: hard -"@rollup/rollup-linux-s390x-gnu@npm:4.17.1": - version: 4.17.1 - resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.17.1" - conditions: os=linux & cpu=s390x & libc=glibc +"@jridgewell/source-map@npm:^0.3.3": + version: 0.3.5 + resolution: "@jridgewell/source-map@npm:0.3.5" + dependencies: + "@jridgewell/gen-mapping": "npm:^0.3.0" + "@jridgewell/trace-mapping": "npm:^0.3.9" + checksum: 10/73838ac43235edecff5efc850c0d759704008937a56b1711b28c261e270fe4bf2dc06d0b08663aeb1ab304f81f6de4f5fb844344403cf53ba7096967a9953cae languageName: node linkType: hard -"@rollup/rollup-linux-s390x-gnu@npm:4.17.2": - version: 4.17.2 - resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.17.2" - conditions: os=linux & cpu=s390x & libc=glibc +"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.4.15": + version: 1.4.15 + resolution: "@jridgewell/sourcemap-codec@npm:1.4.15" + checksum: 10/89960ac087781b961ad918978975bcdf2051cd1741880469783c42de64239703eab9db5230d776d8e6a09d73bb5e4cb964e07d93ee6e2e7aea5a7d726e865c09 languageName: node linkType: hard -"@rollup/rollup-linux-x64-gnu@npm:4.12.0": - version: 4.12.0 - resolution: "@rollup/rollup-linux-x64-gnu@npm:4.12.0" - conditions: os=linux & cpu=x64 & libc=glibc +"@jridgewell/trace-mapping@npm:0.3.9": + version: 0.3.9 + resolution: "@jridgewell/trace-mapping@npm:0.3.9" + dependencies: + "@jridgewell/resolve-uri": "npm:^3.0.3" + "@jridgewell/sourcemap-codec": "npm:^1.4.10" + checksum: 10/83deafb8e7a5ca98993c2c6eeaa93c270f6f647a4c0dc00deb38c9cf9b2d3b7bf15e8839540155247ef034a052c0ec4466f980bf0c9e2ab63b97d16c0cedd3ff languageName: node linkType: hard -"@rollup/rollup-linux-x64-gnu@npm:4.13.0": - version: 4.13.0 - resolution: "@rollup/rollup-linux-x64-gnu@npm:4.13.0" - conditions: os=linux & cpu=x64 & libc=glibc +"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.17, @jridgewell/trace-mapping@npm:^0.3.18, @jridgewell/trace-mapping@npm:^0.3.9": + version: 0.3.23 + resolution: "@jridgewell/trace-mapping@npm:0.3.23" + dependencies: + "@jridgewell/resolve-uri": "npm:^3.1.0" + "@jridgewell/sourcemap-codec": "npm:^1.4.14" + checksum: 10/eb8d167f8aeb3ac55e7726eda1bb6240787987fd66d480edbe15fc98ad594ec10cb584289f649e2074b9e117862c82efdec07db13850f3dc4cb242258bb2b67d languageName: node linkType: hard -"@rollup/rollup-linux-x64-gnu@npm:4.14.1": - version: 4.14.1 - resolution: "@rollup/rollup-linux-x64-gnu@npm:4.14.1" - conditions: os=linux & cpu=x64 & libc=glibc +"@jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25": + version: 0.3.25 + resolution: "@jridgewell/trace-mapping@npm:0.3.25" + dependencies: + "@jridgewell/resolve-uri": "npm:^3.1.0" + "@jridgewell/sourcemap-codec": "npm:^1.4.14" + checksum: 10/dced32160a44b49d531b80a4a2159dceab6b3ddf0c8e95a0deae4b0e894b172defa63d5ac52a19c2068e1fe7d31ea4ba931fbeec103233ecb4208953967120fc languageName: node linkType: hard -"@rollup/rollup-linux-x64-gnu@npm:4.14.3": - version: 4.14.3 - resolution: "@rollup/rollup-linux-x64-gnu@npm:4.14.3" - conditions: os=linux & cpu=x64 & libc=glibc +"@mswjs/cookies@npm:^0.2.2": + version: 0.2.2 + resolution: "@mswjs/cookies@npm:0.2.2" + dependencies: + "@types/set-cookie-parser": "npm:^2.4.0" + set-cookie-parser: "npm:^2.4.6" + checksum: 10/f1b3b82a6821219494390d77d86383febc5f9d5bc21b0f47cc4d57d11af08cac1952d845011d8842ec6448a95e49efd0f35f6d56650c76a98848d70d9c78466d languageName: node linkType: hard -"@rollup/rollup-linux-x64-gnu@npm:4.16.3": - version: 4.16.3 - resolution: "@rollup/rollup-linux-x64-gnu@npm:4.16.3" - conditions: os=linux & cpu=x64 & libc=glibc +"@mswjs/interceptors@npm:^0.17.10": + version: 0.17.10 + resolution: "@mswjs/interceptors@npm:0.17.10" + dependencies: + "@open-draft/until": "npm:^1.0.3" + "@types/debug": "npm:^4.1.7" + "@xmldom/xmldom": "npm:^0.8.3" + debug: "npm:^4.3.3" + headers-polyfill: "npm:3.2.5" + outvariant: "npm:^1.2.1" + strict-event-emitter: "npm:^0.2.4" + web-encoding: "npm:^1.1.5" + checksum: 10/0bbadfc3c925016d9f26f5bc0aa8833a1ec0065a04933c30f5d7b1f636f39c3458f5dc653d6418e5733523846626e84049a72ec913f70282d7b53bfef2a1aa81 languageName: node linkType: hard -"@rollup/rollup-linux-x64-gnu@npm:4.17.1": - version: 4.17.1 - resolution: "@rollup/rollup-linux-x64-gnu@npm:4.17.1" - conditions: os=linux & cpu=x64 & libc=glibc +"@nicolo-ribaudo/chokidar-2@npm:2.1.8-no-fsevents.3": + version: 2.1.8-no-fsevents.3 + resolution: "@nicolo-ribaudo/chokidar-2@npm:2.1.8-no-fsevents.3" + checksum: 10/c6e83af3b5051a3f6562649ff8fe37de9934a4cc02138678ed1badbd13ed3334f7ae5f63f2bbc3432210f6b245f082ac97e9b2afe0c13730c9838b295658c185 languageName: node linkType: hard -"@rollup/rollup-linux-x64-gnu@npm:4.17.2": - version: 4.17.2 - resolution: "@rollup/rollup-linux-x64-gnu@npm:4.17.2" - conditions: os=linux & cpu=x64 & libc=glibc +"@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 -"@rollup/rollup-linux-x64-musl@npm:4.12.0": - version: 4.12.0 - resolution: "@rollup/rollup-linux-x64-musl@npm:4.12.0" - conditions: os=linux & cpu=x64 & libc=musl +"@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 -"@rollup/rollup-linux-x64-musl@npm:4.13.0": - version: 4.13.0 - resolution: "@rollup/rollup-linux-x64-musl@npm:4.13.0" - conditions: os=linux & cpu=x64 & libc=musl +"@nodelib/fs.walk@npm:^1.2.3, @nodelib/fs.walk@npm:^1.2.8": + 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 -"@rollup/rollup-linux-x64-musl@npm:4.14.1": - version: 4.14.1 - resolution: "@rollup/rollup-linux-x64-musl@npm:4.14.1" - conditions: os=linux & cpu=x64 & libc=musl +"@npmcli/agent@npm:^2.0.0": + version: 2.2.1 + resolution: "@npmcli/agent@npm:2.2.1" + dependencies: + agent-base: "npm:^7.1.0" + http-proxy-agent: "npm:^7.0.0" + https-proxy-agent: "npm:^7.0.1" + lru-cache: "npm:^10.0.1" + socks-proxy-agent: "npm:^8.0.1" + checksum: 10/d4a48128f61e47f2f5c89315a5350e265dc619987e635bd62b52b29c7ed93536e724e721418c0ce352ceece86c13043c67aba1b70c3f5cc72fce6bb746706162 languageName: node linkType: hard -"@rollup/rollup-linux-x64-musl@npm:4.14.3": - version: 4.14.3 - resolution: "@rollup/rollup-linux-x64-musl@npm:4.14.3" - conditions: os=linux & cpu=x64 & libc=musl +"@npmcli/fs@npm:^3.1.0": + version: 3.1.0 + resolution: "@npmcli/fs@npm:3.1.0" + dependencies: + semver: "npm:^7.3.5" + checksum: 10/f3a7ab3a31de65e42aeb6ed03ed035ef123d2de7af4deb9d4a003d27acc8618b57d9fb9d259fe6c28ca538032a028f37337264388ba27d26d37fff7dde22476e languageName: node linkType: hard -"@rollup/rollup-linux-x64-musl@npm:4.16.3": - version: 4.16.3 - resolution: "@rollup/rollup-linux-x64-musl@npm:4.16.3" - conditions: os=linux & cpu=x64 & libc=musl +"@one-ini/wasm@npm:0.1.1": + version: 0.1.1 + resolution: "@one-ini/wasm@npm:0.1.1" + checksum: 10/673c11518dba2e582e42415cbefe928513616f3af25e12f6e4e6b1b98b52b3e6c14bc251a361654af63cd64f208f22a1f7556fa49da2bf7efcf28cb14f16f807 languageName: node linkType: hard -"@rollup/rollup-linux-x64-musl@npm:4.17.1": - version: 4.17.1 - resolution: "@rollup/rollup-linux-x64-musl@npm:4.17.1" - conditions: os=linux & cpu=x64 & libc=musl +"@open-draft/until@npm:^1.0.3": + version: 1.0.3 + resolution: "@open-draft/until@npm:1.0.3" + checksum: 10/323e92ebef0150ed0f8caedc7d219b68cdc50784fa4eba0377eef93533d3f46514eb2400ced83dda8c51bddc3d2c7b8e9cf95e5ec85ab7f62dfc015d174f62f2 languageName: node linkType: hard -"@rollup/rollup-linux-x64-musl@npm:4.17.2": - version: 4.17.2 - resolution: "@rollup/rollup-linux-x64-musl@npm:4.17.2" - conditions: os=linux & cpu=x64 & libc=musl +"@pkgjs/parseargs@npm:^0.11.0": + version: 0.11.0 + resolution: "@pkgjs/parseargs@npm:0.11.0" + checksum: 10/115e8ceeec6bc69dff2048b35c0ab4f8bbee12d8bb6c1f4af758604586d802b6e669dcb02dda61d078de42c2b4ddce41b3d9e726d7daa6b4b850f4adbf7333ff languageName: node linkType: hard -"@rollup/rollup-win32-arm64-msvc@npm:4.12.0": - version: 4.12.0 - resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.12.0" - conditions: os=win32 & cpu=arm64 +"@pkgr/core@npm:^0.1.0": + version: 0.1.1 + resolution: "@pkgr/core@npm:0.1.1" + checksum: 10/6f25fd2e3008f259c77207ac9915b02f1628420403b2630c92a07ff963129238c9262afc9e84344c7a23b5cc1f3965e2cd17e3798219f5fd78a63d144d3cceba languageName: node linkType: hard -"@rollup/rollup-win32-arm64-msvc@npm:4.13.0": - version: 4.13.0 - resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.13.0" - conditions: os=win32 & cpu=arm64 +"@playwright/test@npm:^1.34.1": + version: 1.41.2 + resolution: "@playwright/test@npm:1.41.2" + dependencies: + playwright: "npm:1.41.2" + bin: + playwright: cli.js + checksum: 10/e87405987fa024f75acc223c47fcb2da0a66b2fa0cd9a583ca5b02aac12be353d0c262bf6a22b9bc40550c86c8b7629e70cd27f508ec370d9c92bb72f74581e7 languageName: node linkType: hard -"@rollup/rollup-win32-arm64-msvc@npm:4.14.1": - version: 4.14.1 - resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.14.1" - conditions: os=win32 & cpu=arm64 +"@polka/url@npm:^0.5.0": + version: 0.5.0 + resolution: "@polka/url@npm:0.5.0" + checksum: 10/3f007adf9c271b28992ebff1df6424e75e7d579493c66969356a9b5dada18480583744dbc28a7467371fa10eb794a5e1dc1f3fcd359c0b5685f4f9c6592cd312 languageName: node linkType: hard -"@rollup/rollup-win32-arm64-msvc@npm:4.14.3": - version: 4.14.3 - resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.14.3" - conditions: os=win32 & cpu=arm64 +"@postman/form-data@npm:~3.1.1": + version: 3.1.1 + resolution: "@postman/form-data@npm:3.1.1" + dependencies: + asynckit: "npm:^0.4.0" + combined-stream: "npm:^1.0.8" + mime-types: "npm:^2.1.12" + checksum: 10/c145f019f525d8d1ddc9a9785a4768bb914577d69edca7eefdedc5acd18f0a03cb6d8f7558a994296f1ad8c33b548092fb83c2c289d5177fd7c0f80aeee32ade languageName: node linkType: hard -"@rollup/rollup-win32-arm64-msvc@npm:4.16.3": - version: 4.16.3 - resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.16.3" - conditions: os=win32 & cpu=arm64 +"@postman/tough-cookie@npm:4.1.3-postman.1, @postman/tough-cookie@npm:~4.1.3-postman.1": + version: 4.1.3-postman.1 + resolution: "@postman/tough-cookie@npm:4.1.3-postman.1" + dependencies: + psl: "npm:^1.1.33" + punycode: "npm:^2.1.1" + universalify: "npm:^0.2.0" + url-parse: "npm:^1.5.3" + checksum: 10/3120c3865bf9856381e0d0d1fc57335c357f3378891a6c66f7eac711fefbc1e379c5a37d657455001421efc3b03cf3adf99a2880edc1ecdd2f68cece48efb9a0 languageName: node linkType: hard -"@rollup/rollup-win32-arm64-msvc@npm:4.17.1": - version: 4.17.1 - resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.17.1" - conditions: os=win32 & cpu=arm64 +"@postman/tunnel-agent@npm:^0.6.3": + version: 0.6.3 + resolution: "@postman/tunnel-agent@npm:0.6.3" + dependencies: + safe-buffer: "npm:^5.0.1" + checksum: 10/71ea42fa771e07bbd39820232a2fc79cb83784a3038ac48e1cea17c64ad86385b31d17799d994b8f2d3f776796fb5ce299362342c6a6937245750af1b6e0e983 languageName: node linkType: hard -"@rollup/rollup-win32-arm64-msvc@npm:4.17.2": - version: 4.17.2 - resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.17.2" - conditions: os=win32 & cpu=arm64 +"@puppeteer/browsers@npm:1.3.0": + version: 1.3.0 + resolution: "@puppeteer/browsers@npm:1.3.0" + dependencies: + debug: "npm:4.3.4" + extract-zip: "npm:2.0.1" + http-proxy-agent: "npm:5.0.0" + https-proxy-agent: "npm:5.0.1" + progress: "npm:2.0.3" + proxy-from-env: "npm:1.1.0" + tar-fs: "npm:2.1.1" + unbzip2-stream: "npm:1.4.3" + yargs: "npm:17.7.1" + peerDependencies: + typescript: ">= 4.7.4" + peerDependenciesMeta: + typescript: + optional: true + bin: + browsers: lib/cjs/main-cli.js + checksum: 10/b7df900c8fad27ada95ba2823121620387d7c4d3d9dcea737cbb1c69a3f5097cbe3c867a0d135f94bae3f97ebf67568d4783ffdb1a57eeebd83a6b758503e70f languageName: node linkType: hard -"@rollup/rollup-win32-ia32-msvc@npm:4.12.0": - version: 4.12.0 - resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.12.0" - conditions: os=win32 & cpu=ia32 +"@puppeteer/browsers@npm:^1.6.0": + version: 1.9.1 + resolution: "@puppeteer/browsers@npm:1.9.1" + dependencies: + debug: "npm:4.3.4" + extract-zip: "npm:2.0.1" + progress: "npm:2.0.3" + proxy-agent: "npm:6.3.1" + tar-fs: "npm:3.0.4" + unbzip2-stream: "npm:1.4.3" + yargs: "npm:17.7.2" + bin: + browsers: lib/cjs/main-cli.js + checksum: 10/804cbc18bcc68796f1abebc2b008346fdcc10952a224bfdb1b81b5618a63e4b685a6f2a71e997a454d5695c8faec58e05e04a7cf83e56a899d6adbe94427de3b languageName: node linkType: hard -"@rollup/rollup-win32-ia32-msvc@npm:4.13.0": - version: 4.13.0 - resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.13.0" - conditions: os=win32 & cpu=ia32 +"@rollup/rollup-android-arm-eabi@npm:4.12.0": + version: 4.12.0 + resolution: "@rollup/rollup-android-arm-eabi@npm:4.12.0" + conditions: os=android & cpu=arm languageName: node linkType: hard -"@rollup/rollup-win32-ia32-msvc@npm:4.14.1": - version: 4.14.1 - resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.14.1" - conditions: os=win32 & cpu=ia32 +"@rollup/rollup-android-arm64@npm:4.12.0": + version: 4.12.0 + resolution: "@rollup/rollup-android-arm64@npm:4.12.0" + conditions: os=android & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-win32-ia32-msvc@npm:4.14.3": - version: 4.14.3 - resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.14.3" - conditions: os=win32 & cpu=ia32 +"@rollup/rollup-darwin-arm64@npm:4.12.0": + version: 4.12.0 + resolution: "@rollup/rollup-darwin-arm64@npm:4.12.0" + conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-win32-ia32-msvc@npm:4.16.3": - version: 4.16.3 - resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.16.3" - conditions: os=win32 & cpu=ia32 +"@rollup/rollup-darwin-x64@npm:4.12.0": + version: 4.12.0 + resolution: "@rollup/rollup-darwin-x64@npm:4.12.0" + conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@rollup/rollup-win32-ia32-msvc@npm:4.17.1": - version: 4.17.1 - resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.17.1" - conditions: os=win32 & cpu=ia32 +"@rollup/rollup-linux-arm-gnueabihf@npm:4.12.0": + version: 4.12.0 + resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.12.0" + conditions: os=linux & cpu=arm languageName: node linkType: hard -"@rollup/rollup-win32-ia32-msvc@npm:4.17.2": - version: 4.17.2 - resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.17.2" - conditions: os=win32 & cpu=ia32 +"@rollup/rollup-linux-arm64-gnu@npm:4.12.0": + version: 4.12.0 + resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.12.0" + conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-win32-x64-msvc@npm:4.12.0": +"@rollup/rollup-linux-arm64-musl@npm:4.12.0": version: 4.12.0 - resolution: "@rollup/rollup-win32-x64-msvc@npm:4.12.0" - conditions: os=win32 & cpu=x64 + resolution: "@rollup/rollup-linux-arm64-musl@npm:4.12.0" + conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-win32-x64-msvc@npm:4.13.0": - version: 4.13.0 - resolution: "@rollup/rollup-win32-x64-msvc@npm:4.13.0" - conditions: os=win32 & cpu=x64 +"@rollup/rollup-linux-riscv64-gnu@npm:4.12.0": + version: 4.12.0 + resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.12.0" + conditions: os=linux & cpu=riscv64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-win32-x64-msvc@npm:4.14.1": - version: 4.14.1 - resolution: "@rollup/rollup-win32-x64-msvc@npm:4.14.1" - conditions: os=win32 & cpu=x64 +"@rollup/rollup-linux-x64-gnu@npm:4.12.0": + version: 4.12.0 + resolution: "@rollup/rollup-linux-x64-gnu@npm:4.12.0" + conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-win32-x64-msvc@npm:4.14.3": - version: 4.14.3 - resolution: "@rollup/rollup-win32-x64-msvc@npm:4.14.3" - conditions: os=win32 & cpu=x64 +"@rollup/rollup-linux-x64-musl@npm:4.12.0": + version: 4.12.0 + resolution: "@rollup/rollup-linux-x64-musl@npm:4.12.0" + conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-win32-x64-msvc@npm:4.16.3": - version: 4.16.3 - resolution: "@rollup/rollup-win32-x64-msvc@npm:4.16.3" - conditions: os=win32 & cpu=x64 +"@rollup/rollup-win32-arm64-msvc@npm:4.12.0": + version: 4.12.0 + resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.12.0" + conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-win32-x64-msvc@npm:4.17.1": - version: 4.17.1 - resolution: "@rollup/rollup-win32-x64-msvc@npm:4.17.1" - conditions: os=win32 & cpu=x64 +"@rollup/rollup-win32-ia32-msvc@npm:4.12.0": + version: 4.12.0 + resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.12.0" + conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@rollup/rollup-win32-x64-msvc@npm:4.17.2": - version: 4.17.2 - resolution: "@rollup/rollup-win32-x64-msvc@npm:4.17.2" +"@rollup/rollup-win32-x64-msvc@npm:4.12.0": + version: 4.12.0 + resolution: "@rollup/rollup-win32-x64-msvc@npm:4.12.0" conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -2429,35 +3181,10 @@ __metadata: languageName: node linkType: hard -"@teppeis/multimaps@npm:3.0.0": - version: 3.0.0 - resolution: "@teppeis/multimaps@npm:3.0.0" - checksum: 10/77ce74a3190d425738240261969205422c140db2e60afd7eb40641ab8b2244a3470c7d491a29d43acba03b6502cae0cf6c1a2094a8d8f1b50bd5b0912abed40d - languageName: node - linkType: hard - -"@testdeck/core@npm:^0.3.3": - version: 0.3.3 - resolution: "@testdeck/core@npm:0.3.3" - checksum: 10/7702d81ff1187d37e3d76285346d24ec4728f8afa7abc1e1c3499a7d40d7d1095c04a5b715f5af34643c480ed61f64bbcf0d844a0e659bd5e652871c6cf2c78d - languageName: node - linkType: hard - -"@testdeck/mocha@npm:0.3.3": - version: 0.3.3 - resolution: "@testdeck/mocha@npm:0.3.3" - dependencies: - "@testdeck/core": "npm:^0.3.3" - bin: - testdeck-watch: bin/watch - checksum: 10/c49deed641aa8921708276e5f58189c2cccf3557823626f34c24e15473a4c0fd00792d3b5c50c6b8b5937e189a34aca9f095488a7d820ef80868495191c2f484 - languageName: node - linkType: hard - -"@tootallnate/once@npm:1": - version: 1.1.2 - resolution: "@tootallnate/once@npm:1.1.2" - checksum: 10/e1fb1bbbc12089a0cb9433dc290f97bddd062deadb6178ce9bcb93bb7c1aecde5e60184bc7065aec42fe1663622a213493c48bbd4972d931aae48315f18e1be9 +"@teppeis/multimaps@npm:3.0.0": + version: 3.0.0 + resolution: "@teppeis/multimaps@npm:3.0.0" + checksum: 10/77ce74a3190d425738240261969205422c140db2e60afd7eb40641ab8b2244a3470c7d491a29d43acba03b6502cae0cf6c1a2094a8d8f1b50bd5b0912abed40d languageName: node linkType: hard @@ -2523,7 +3250,7 @@ __metadata: languageName: node linkType: hard -"@types/babel__core@npm:^7.1.14": +"@types/babel__core@npm:^7, @types/babel__core@npm:^7.1.14": version: 7.20.5 resolution: "@types/babel__core@npm:7.20.5" dependencies: @@ -2545,6 +3272,13 @@ __metadata: languageName: node linkType: hard +"@types/babel__preset-env@npm:^7": + version: 7.9.6 + resolution: "@types/babel__preset-env@npm:7.9.6" + checksum: 10/4783334e18e4a2e72314b900f9ac6bda002f05e91208cf88a1f631022443004f552565da4cacfebb9686ef9b06191972222d3395be1f2825cfe53cb77c5b856a + languageName: node + linkType: hard + "@types/babel__template@npm:*": version: 7.4.4 resolution: "@types/babel__template@npm:7.4.4" @@ -2673,13 +3407,10 @@ __metadata: languageName: node linkType: hard -"@types/jest@npm:^29.5.11": - version: 29.5.12 - resolution: "@types/jest@npm:29.5.12" - dependencies: - expect: "npm:^29.0.0" - pretty-format: "npm:^29.0.0" - checksum: 10/312e8dcf92cdd5a5847d6426f0940829bca6fe6b5a917248f3d7f7ef5d85c9ce78ef05e47d2bbabc40d41a930e0e36db2d443d2610a9e3db9062da2d5c904211 +"@types/jasmine@npm:^5.1.4": + version: 5.1.4 + resolution: "@types/jasmine@npm:5.1.4" + checksum: 10/6b21eb0fc75e38783b7ee3f162ac47fd32ceaca3fb9eca0f4ed0730e56269bd61728e38ebe7c0d40b2d09382cc245deeabc556b2e46670eefee27f8d84c3f84c languageName: node linkType: hard @@ -2787,13 +3518,6 @@ __metadata: languageName: node linkType: hard -"@types/resolve@npm:1.20.2": - version: 1.20.2 - resolution: "@types/resolve@npm:1.20.2" - checksum: 10/1bff0d3875e7e1557b6c030c465beca9bf3b1173ebc6937cac547654b0af3bb3ff0f16470e9c4d7c5dc308ad9ac8627c38dbff24ef698b66673ff5bd4ead7f7e - languageName: node - linkType: hard - "@types/set-cookie-parser@npm:^2.4.0": version: 2.4.7 resolution: "@types/set-cookie-parser@npm:2.4.7" @@ -2891,7 +3615,7 @@ __metadata: languageName: node linkType: hard -"@types/yargs@npm:^17.0.24, @types/yargs@npm:^17.0.8": +"@types/yargs@npm:^17.0.8": version: 17.0.32 resolution: "@types/yargs@npm:17.0.32" dependencies: @@ -3475,15 +4199,22 @@ __metadata: version: 0.0.0-use.local resolution: "allure-codeceptjs@workspace:packages/allure-codeceptjs" dependencies: + "@babel/cli": "npm:^7.24.6" + "@babel/core": "npm:^7.24.6" + "@babel/plugin-transform-modules-commonjs": "npm:^7.24.6" + "@babel/preset-env": "npm:^7.24.6" + "@babel/preset-typescript": "npm:^7.24.6" "@codeceptjs/configure": "npm:^1.0.0" "@codeceptjs/helper": "npm:^2.0.4" - "@rollup/plugin-node-resolve": "npm:^15.2.3" - "@rollup/plugin-typescript": "npm:^11.1.6" + "@types/babel__core": "npm:^7" + "@types/babel__preset-env": "npm:^7" "@types/eslint": "npm:^8" + "@types/jasmine": "npm:^5.1.4" "@types/node": "npm:^20.6.3" "@typescript-eslint/eslint-plugin": "npm:^7.0.0" "@typescript-eslint/parser": "npm:^7.0.0" allure-js-commons: "workspace:*" + babel-plugin-add-module-exports: "npm:^1.0.4" codeceptjs: "npm:^3.5.4" eslint: "npm:^8.57.0" eslint-config-prettier: "npm:^9.0.0" @@ -3493,13 +4224,9 @@ __metadata: eslint-plugin-no-null: "npm:^1.0.2" eslint-plugin-prefer-arrow: "npm:^1.2.3" expect: "npm:^29.7.0" - glob: "npm:^10.3.12" npm-run-all2: "npm:^6.1.2" rimraf: "npm:^5.0.1" - rollup: "npm:^4.16.3" - strip-ansi: "npm:^5.2.0" ts-node: "npm:^10.9.2" - tslib: "npm:^2.6.2" typescript: "npm:^5.2.2" vitest: "npm:^1.5.0" languageName: unknown @@ -3509,15 +4236,19 @@ __metadata: version: 0.0.0-use.local resolution: "allure-cucumberjs@workspace:packages/allure-cucumberjs" dependencies: + "@babel/cli": "npm:^7.24.6" + "@babel/core": "npm:^7.24.6" + "@babel/plugin-transform-modules-commonjs": "npm:^7.24.6" + "@babel/preset-env": "npm:^7.24.6" + "@babel/preset-typescript": "npm:^7.24.6" "@cucumber/cucumber": "npm:^10.4.0" "@cucumber/gherkin": "npm:^28.0.0" "@cucumber/gherkin-streams": "npm:^5.0.1" "@cucumber/gherkin-utils": "npm:^9.0.0" "@cucumber/message-streams": "npm:^4.0.1" "@cucumber/messages": "npm:^24.1.0" - "@rollup/plugin-commonjs": "npm:^25.0.7" - "@rollup/plugin-node-resolve": "npm:^15.2.3" - "@rollup/plugin-typescript": "npm:^11.1.6" + "@types/babel__core": "npm:^7" + "@types/babel__preset-env": "npm:^7" "@types/chai": "npm:^4.3.6" "@types/chai-like": "npm:^1.1.1" "@types/chai-things": "npm:^0.0.36" @@ -3529,6 +4260,7 @@ __metadata: "@typescript-eslint/parser": "npm:^7.0.0" allure-js-commons: "workspace:*" allure-vitest: "workspace:^" + babel-plugin-add-module-exports: "npm:^1.0.4" chai: "npm:^4.3.8" chai-like: "npm:^1.1.1" chai-things: "npm:^0.2.0" @@ -3539,13 +4271,10 @@ __metadata: eslint-plugin-n: "npm:^17.0.0" eslint-plugin-no-null: "npm:^1.0.2" eslint-plugin-prefer-arrow: "npm:^1.2.3" - glob: "npm:^10.3.12" npm-run-all2: "npm:^6.1.2" rimraf: "npm:^5.0.1" - rollup: "npm:^4.14.1" sinon: "npm:^18.0.0" ts-node: "npm:^10.9.1" - tslib: "npm:^2.6.2" typescript: "npm:^5.2.2" vitest: "npm:^1.4.0" languageName: unknown @@ -3555,9 +4284,13 @@ __metadata: version: 0.0.0-use.local resolution: "allure-cypress@workspace:packages/allure-cypress" dependencies: - "@rollup/plugin-commonjs": "npm:^25.0.7" - "@rollup/plugin-node-resolve": "npm:^15.2.3" - "@rollup/plugin-typescript": "npm:^11.1.6" + "@babel/cli": "npm:^7.24.6" + "@babel/core": "npm:^7.24.6" + "@babel/plugin-transform-modules-commonjs": "npm:^7.24.6" + "@babel/preset-env": "npm:^7.24.6" + "@babel/preset-typescript": "npm:^7.24.6" + "@types/babel__core": "npm:^7" + "@types/babel__preset-env": "npm:^7" "@types/eslint": "npm:^8" "@types/glob": "npm:^8.1.0" "@types/mocha": "npm:^10.0.1" @@ -3566,8 +4299,10 @@ __metadata: "@typescript-eslint/parser": "npm:^7.0.0" allure-js-commons: "workspace:*" allure-vitest: "workspace:*" + babel-plugin-add-module-exports: "npm:^1.0.4" cypress: "npm:^13.6.0" enquirer: "npm:^2.3.6" + esbuild: "npm:^0.21.4" eslint: "npm:^8.57.0" eslint-config-prettier: "npm:^9.0.0" eslint-plugin-cypress: "npm:^3.0.0" @@ -3576,12 +4311,9 @@ __metadata: eslint-plugin-n: "npm:^17.0.0" eslint-plugin-no-null: "npm:^1.0.2" eslint-plugin-prefer-arrow: "npm:^1.2.3" - glob: "npm:^10.3.5" npm-run-all2: "npm:^6.0.0" rimraf: "npm:^5.0.1" - rollup: "npm:^4.13.0" ts-node: "npm:^10.9.2" - tslib: "npm:^2.6.2" typescript: "npm:^5.2.2" vitest: "npm:^1.4.0" languageName: unknown @@ -3591,15 +4323,19 @@ __metadata: version: 0.0.0-use.local resolution: "allure-jasmine@workspace:packages/allure-jasmine" dependencies: - "@rollup/plugin-commonjs": "npm:^25.0.7" - "@rollup/plugin-node-resolve": "npm:^15.2.3" - "@rollup/plugin-typescript": "npm:^11.1.6" + "@babel/cli": "npm:^7.24.6" + "@babel/core": "npm:^7.24.6" + "@babel/preset-env": "npm:^7.24.6" + "@babel/preset-typescript": "npm:^7.24.6" + "@types/babel__core": "npm:^7" + "@types/babel__preset-env": "npm:^7" "@types/eslint": "npm:^8" "@types/jasmine": "npm:^3.3.12" "@types/node": "npm:^20.6.3" "@typescript-eslint/eslint-plugin": "npm:^7.0.0" "@typescript-eslint/parser": "npm:^7.0.0" allure-js-commons: "workspace:*" + babel-plugin-add-module-exports: "npm:^1.0.4" eslint: "npm:^8.57.0" eslint-config-prettier: "npm:^9.0.0" eslint-plugin-import: "npm:^2.28.1" @@ -3607,12 +4343,9 @@ __metadata: eslint-plugin-n: "npm:^17.0.0" eslint-plugin-no-null: "npm:^1.0.2" eslint-plugin-prefer-arrow: "npm:^1.2.3" - glob: "npm:^10.3.12" jasmine: "npm:^3.4.0" npm-run-all2: "npm:^6.1.2" - properties: "npm:^1.2.1" rimraf: "npm:^5.0.1" - rollup: "npm:^4.17.2" tslib: "npm:^2.6.2" typescript: "npm:^5.2.2" vitest: "npm:^1.5.3" @@ -3623,26 +4356,23 @@ __metadata: version: 0.0.0-use.local resolution: "allure-jest@workspace:packages/allure-jest" dependencies: - "@jest/core": "npm:^29.6.2" - "@jest/environment": "npm:^29.6.4" - "@jest/expect": "npm:^29.6.2" - "@jest/globals": "npm:^29.7.0" - "@jest/types": "npm:^29.6.1" - "@rollup/plugin-commonjs": "npm:^25.0.7" - "@rollup/plugin-node-resolve": "npm:^15.2.3" - "@rollup/plugin-typescript": "npm:^11.1.6" + "@babel/cli": "npm:^7.24.6" + "@babel/core": "npm:^7.24.6" + "@babel/preset-env": "npm:^7.24.6" + "@babel/preset-typescript": "npm:^7.24.6" + "@jest/core": "npm:^29.7.0" + "@jest/environment": "npm:^29.7.0" + "@jest/expect": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + "@types/babel__core": "npm:^7" + "@types/babel__preset-env": "npm:^7" "@types/eslint": "npm:^8" - "@types/glob": "npm:^8.1.0" - "@types/jasmine": "npm:^3.3.12" - "@types/jest": "npm:^29.5.11" - "@types/mocha": "npm:^10.0.1" "@types/node": "npm:^20.6.3" - "@types/sinon": "npm:^17.0.0" "@types/source-map-support": "npm:^0.5.7" "@typescript-eslint/eslint-plugin": "npm:^7.0.0" "@typescript-eslint/parser": "npm:^7.0.0" allure-js-commons: "workspace:*" - codecov: "npm:^3.8.3" + babel-plugin-add-module-exports: "npm:^1.0.4" eslint: "npm:^8.57.0" eslint-config-prettier: "npm:^9.0.0" eslint-plugin-import: "npm:^2.28.1" @@ -3650,25 +4380,17 @@ __metadata: eslint-plugin-n: "npm:^17.0.0" eslint-plugin-no-null: "npm:^1.0.2" eslint-plugin-prefer-arrow: "npm:^1.2.3" - expect: "npm:^29.7.0" - glob: "npm:^10.3.12" - jest: "npm:^29.7.0" - jest-circus: "npm:^29.6.2" - jest-cli: "npm:^29.6.2" - jest-environment-jsdom: "npm:^29.6.4" - jest-environment-node: "npm:^29.6.4" - mocha: "npm:^10.2.0" - mocha-multi-reporters: "npm:^1.5.1" + jest-circus: "npm:^29.7.0" + jest-cli: "npm:^29.7.0" + jest-environment-jsdom: "npm:^29.7.0" + jest-environment-node: "npm:^29.7.0" npm-run-all2: "npm:^6.1.2" rimraf: "npm:^5.0.1" - rollup: "npm:^4.17.1" - sinon: "npm:^18.0.0" source-map-support: "npm:^0.5.21" - strip-ansi: "npm:^5.2.0" - ts-jest: "npm:^29.1.2" ts-node: "npm:^10.9.1" tslib: "npm:^2.6.2" typescript: "npm:^5.2.2" + vitest: "npm:^1.6.0" languageName: unknown linkType: soft @@ -3676,6 +4398,13 @@ __metadata: version: 0.0.0-use.local resolution: "allure-js-commons@workspace:packages/allure-js-commons" dependencies: + "@babel/cli": "npm:^7.24.6" + "@babel/core": "npm:^7.24.6" + "@babel/plugin-transform-modules-commonjs": "npm:^7.24.6" + "@babel/preset-env": "npm:^7.24.6" + "@babel/preset-typescript": "npm:^7.24.6" + "@types/babel__core": "npm:^7" + "@types/babel__preset-env": "npm:^7" "@types/eslint": "npm:^8" "@types/md5": "npm:^2" "@types/node": "npm:^20.6.3" @@ -3690,13 +4419,11 @@ __metadata: eslint-plugin-no-null: "npm:^1.0.2" eslint-plugin-prefer-arrow: "npm:^1.2.3" expect: "npm:^29.5.0" - glob: "npm:^10.3.10" md5: "npm:^2.3.0" npm-run-all2: "npm:^6.0.0" properties: "npm:^1.2.1" rimraf: "npm:^5.0.1" source-map-support: "npm:^0.5.21" - strip-ansi: "npm:^5.2.0" ts-node: "npm:^10.9.1" tslib: "npm:^2.6.2" typescript: "npm:^5.2.2" @@ -3720,7 +4447,7 @@ __metadata: eslint-plugin-prefer-arrow: "npm:^1.2.3" husky: "npm:^9.0.0" lint-staged: "npm:^15.0.0" - prettier: "npm:^3.2.4" + prettier: "npm:^3.2.5" prettier-plugin-packagejson: "npm:^2.4.9" rimraf: "npm:^5.0.1" typescript: "npm:^5.2.2" @@ -3731,23 +4458,23 @@ __metadata: version: 0.0.0-use.local resolution: "allure-mocha@workspace:packages/allure-mocha" dependencies: - "@rollup/plugin-commonjs": "npm:^25.0.7" - "@rollup/plugin-node-resolve": "npm:^15.2.3" - "@rollup/plugin-typescript": "npm:^11.1.6" - "@testdeck/mocha": "npm:0.3.3" + "@babel/cli": "npm:^7.24.6" + "@babel/core": "npm:^7.24.6" + "@babel/preset-env": "npm:^7.24.6" + "@babel/preset-typescript": "npm:^7.24.6" + "@types/babel__core": "npm:^7" + "@types/babel__preset-env": "npm:^7" "@types/chai": "npm:^4.3.6" "@types/eslint": "npm:^8" "@types/mocha": "npm:^10.0.1" "@types/node": "npm:^20.6.3" - "@types/sinon": "npm:^17.0.0" "@typescript-eslint/eslint-plugin": "npm:^7.0.0" "@typescript-eslint/parser": "npm:^7.0.0" allure-js-commons: "workspace:*" - allure-vitest: "workspace:^" + babel-plugin-add-module-exports: "npm:^1.0.4" chai: "npm:^4.3.8" chai-like: "npm:^1.1.1" chai-things: "npm:^0.2.0" - codecov: "npm:^3.6.5" eslint: "npm:^8.57.0" eslint-config-prettier: "npm:^9.0.0" eslint-plugin-import: "npm:^2.28.1" @@ -3755,13 +4482,9 @@ __metadata: eslint-plugin-n: "npm:^17.0.0" eslint-plugin-no-null: "npm:^1.0.2" eslint-plugin-prefer-arrow: "npm:^1.2.3" - fs-jetpack: "npm:^4.1.0" - glob: "npm:^10.3.12" mocha: "npm:^10.2.0" npm-run-all2: "npm:^6.1.2" rimraf: "npm:^5.0.1" - rollup: "npm:^4.14.1" - sinon: "npm:^18.0.0" source-map-support: "npm:^0.5.21" ts-node: "npm:^10.9.1" tslib: "npm:^2.6.2" @@ -3776,12 +4499,15 @@ __metadata: version: 0.0.0-use.local resolution: "allure-playwright@workspace:packages/allure-playwright" dependencies: + "@babel/cli": "npm:^7.24.6" + "@babel/core": "npm:^7.24.6" + "@babel/plugin-transform-modules-commonjs": "npm:^7.24.6" + "@babel/preset-env": "npm:^7.24.6" + "@babel/preset-typescript": "npm:^7.24.6" "@playwright/test": "npm:^1.34.1" - "@rollup/plugin-commonjs": "npm:^25.0.7" - "@rollup/plugin-node-resolve": "npm:^15.2.3" - "@rollup/plugin-typescript": "npm:^11.1.6" + "@types/babel__core": "npm:^7" + "@types/babel__preset-env": "npm:^7" "@types/eslint": "npm:^8" - "@types/md5": "npm:^2" "@types/node": "npm:^20.6.3" "@typescript-eslint/eslint-plugin": "npm:^7.0.0" "@typescript-eslint/parser": "npm:^7.0.0" @@ -3793,14 +4519,8 @@ __metadata: eslint-plugin-n: "npm:^17.0.0" eslint-plugin-no-null: "npm:^1.0.2" eslint-plugin-prefer-arrow: "npm:^1.2.3" - glob: "npm:^10.3.12" - md5: "npm:^2.3.0" npm-run-all2: "npm:^6.1.2" - properties: "npm:^1.2.1" rimraf: "npm:^5.0.1" - rollup: "npm:^4.14.3" - strip-ansi: "npm:^5.2.0" - tslib: "npm:^2.6.2" typescript: "npm:^5.2.2" vitest: "npm:^1.5.0" languageName: unknown @@ -3810,9 +4530,6 @@ __metadata: version: 0.0.0-use.local resolution: "allure-vitest@workspace:packages/allure-vitest" dependencies: - "@rollup/plugin-commonjs": "npm:^25.0.7" - "@rollup/plugin-node-resolve": "npm:^15.2.3" - "@rollup/plugin-typescript": "npm:^11.1.6" "@types/eslint": "npm:^8" "@types/node": "npm:^20.6.3" "@typescript-eslint/eslint-plugin": "npm:^7.0.0" @@ -3825,11 +4542,8 @@ __metadata: eslint-plugin-n: "npm:^17.0.0" eslint-plugin-no-null: "npm:^1.0.2" eslint-plugin-prefer-arrow: "npm:^1.2.3" - glob: "npm:^10.3.15" npm-run-all2: "npm:^6.1.2" rimraf: "npm:^5.0.1" - rollup: "npm:^4.17.2" - tslib: "npm:^2.6.2" typescript: "npm:^5.2.2" vite: "npm:^5.0.11" vitest: "npm:^1.1.3" @@ -3989,13 +4703,6 @@ __metadata: languageName: node linkType: hard -"argv@npm:0.0.2": - version: 0.0.2 - resolution: "argv@npm:0.0.2" - checksum: 10/5670f77bb29fdcf59bb2b30b835322b21cdd86237ed844028d4c8d241d87b8166eda04d811047cb4661c3976d340ce2a656a65db8b84ab78e659ea990cb909a1 - languageName: node - linkType: hard - "array-buffer-byte-length@npm:^1.0.1": version: 1.0.1 resolution: "array-buffer-byte-length@npm:1.0.1" @@ -4258,6 +4965,13 @@ __metadata: languageName: node linkType: hard +"babel-plugin-add-module-exports@npm:^1.0.4": + version: 1.0.4 + resolution: "babel-plugin-add-module-exports@npm:1.0.4" + checksum: 10/abf38d71401adadc47cadb0e023562ac2c435e7be7d5d86890f1d74b703c3b4d7f1a80ba818fc799130a641d9dcbbc96bb568bd800e8efccdfb02c7ef8a3acc9 + languageName: node + linkType: hard + "babel-plugin-istanbul@npm:^6.1.1": version: 6.1.1 resolution: "babel-plugin-istanbul@npm:6.1.1" @@ -4283,6 +4997,42 @@ __metadata: 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" + dependencies: + "@babel/compat-data": "npm:^7.22.6" + "@babel/helper-define-polyfill-provider": "npm:^0.6.2" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 10/9c79908bed61b9f52190f254e22d3dca6ce25769738642579ba8d23832f3f9414567a90d8367a31831fa45d9b9607ac43d8d07ed31167d8ca8cda22871f4c7a1 + languageName: node + linkType: hard + +"babel-plugin-polyfill-corejs3@npm:^0.10.4": + version: 0.10.4 + resolution: "babel-plugin-polyfill-corejs3@npm:0.10.4" + dependencies: + "@babel/helper-define-polyfill-provider": "npm:^0.6.1" + core-js-compat: "npm:^3.36.1" + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 10/a69ed5a95bb55e9b7ea37307d56113f7e24054d479c15de6d50fa61388b5334bed1f9b6414cde6c575fa910a4de4d1ab4f2d22720967d57c4fec9d1b8f61b355 + 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" + dependencies: + "@babel/helper-define-polyfill-provider": "npm:^0.6.2" + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 10/150233571072b6b3dfe946242da39cba8587b7f908d1c006f7545fc88b0e3c3018d445739beb61e7a75835f0c2751dbe884a94ff9b245ec42369d9267e0e1b3f + languageName: node + linkType: hard + "babel-preset-current-node-syntax@npm:^1.0.0": version: 1.0.1 resolution: "babel-preset-current-node-syntax@npm:1.0.1" @@ -4503,7 +5253,7 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.22.2": +"browserslist@npm:^4.22.2, browserslist@npm:^4.23.0": version: 4.23.0 resolution: "browserslist@npm:4.23.0" dependencies: @@ -4517,15 +5267,6 @@ __metadata: languageName: node linkType: hard -"bs-logger@npm:0.x": - version: 0.2.6 - resolution: "bs-logger@npm:0.2.6" - dependencies: - fast-json-stable-stringify: "npm:2.x" - checksum: 10/e6d3ff82698bb3f20ce64fb85355c5716a3cf267f3977abe93bf9c32a2e46186b253f48a028ae5b96ab42bacd2c826766d9ae8cf6892f9b944656be9113cf212 - languageName: node - linkType: hard - "bser@npm:2.1.1": version: 2.1.1 resolution: "bser@npm:2.1.1" @@ -4965,7 +5706,7 @@ __metadata: languageName: node linkType: hard -"chokidar@npm:^3.4.2": +"chokidar@npm:^3.4.0, chokidar@npm:^3.4.2": version: 3.6.0 resolution: "chokidar@npm:3.6.0" dependencies: @@ -5257,36 +5998,6 @@ __metadata: languageName: node linkType: hard -"codecov@npm:^3.6.5": - version: 3.8.2 - resolution: "codecov@npm:3.8.2" - dependencies: - argv: "npm:0.0.2" - ignore-walk: "npm:3.0.3" - js-yaml: "npm:3.14.1" - teeny-request: "npm:7.0.1" - urlgrey: "npm:0.4.4" - bin: - codecov: bin/codecov - checksum: 10/51409f12e21109dac042a33d36164e698afcc1be1c3c658597f13b7869e645dc3f67116e8db776064160e36e6ca0a5484ad01ae0e7cb3a36e3083218467137e3 - languageName: node - linkType: hard - -"codecov@npm:^3.8.3": - version: 3.8.3 - resolution: "codecov@npm:3.8.3" - dependencies: - argv: "npm:0.0.2" - ignore-walk: "npm:3.0.4" - js-yaml: "npm:3.14.1" - teeny-request: "npm:7.1.1" - urlgrey: "npm:1.0.0" - bin: - codecov: bin/codecov - checksum: 10/b10e6b9511f98100b878322e6c896bb2f6e2cfabed6adf19fd8874aaf1a26e1e127e69fb17914be0e6124ff14ccf3b9f2280321a8b2a54c9dec4e124853374ca - languageName: node - linkType: hard - "collect-v8-coverage@npm:^1.0.0": version: 1.0.2 resolution: "collect-v8-coverage@npm:1.0.2" @@ -5391,7 +6102,7 @@ __metadata: languageName: node linkType: hard -"commander@npm:^6.2.1": +"commander@npm:^6.2.0, commander@npm:^6.2.1": version: 6.2.1 resolution: "commander@npm:6.2.1" checksum: 10/25b88c2efd0380c84f7844b39cf18510da7bfc5013692d68cdc65f764a1c34e6c8a36ea6d72b6620e3710a930cf8fab2695bdec2bf7107a0f4fa30a3ef3b7d0e @@ -5419,13 +6130,6 @@ __metadata: languageName: node linkType: hard -"commondir@npm:^1.0.1": - version: 1.0.1 - resolution: "commondir@npm:1.0.1" - checksum: 10/4620bc4936a4ef12ce7dfcd272bb23a99f2ad68889a4e4ad766c9f8ad21af982511934d6f7050d4a8bde90011b1c15d56e61a1b4576d9913efbf697a20172d6c - languageName: node - linkType: hard - "concat-map@npm:0.0.1": version: 0.0.1 resolution: "concat-map@npm:0.0.1" @@ -5457,6 +6161,15 @@ __metadata: languageName: node linkType: hard +"core-js-compat@npm:^3.31.0, core-js-compat@npm:^3.36.1": + version: 3.37.1 + resolution: "core-js-compat@npm:3.37.1" + dependencies: + browserslist: "npm:^4.23.0" + checksum: 10/30c6fdbd9ff179cc53951814689b8aabec106e5de6cddfa7a7feacc96b66d415b8eebcf5ec8f7c68ef35c552fe7d39edb8b15b1ce0f27379a272295b6e937061 + languageName: node + linkType: hard + "core-util-is@npm:1.0.2": version: 1.0.2 resolution: "core-util-is@npm:1.0.2" @@ -6409,6 +7122,86 @@ __metadata: languageName: node linkType: hard +"esbuild@npm:^0.21.4": + version: 0.21.4 + resolution: "esbuild@npm:0.21.4" + dependencies: + "@esbuild/aix-ppc64": "npm:0.21.4" + "@esbuild/android-arm": "npm:0.21.4" + "@esbuild/android-arm64": "npm:0.21.4" + "@esbuild/android-x64": "npm:0.21.4" + "@esbuild/darwin-arm64": "npm:0.21.4" + "@esbuild/darwin-x64": "npm:0.21.4" + "@esbuild/freebsd-arm64": "npm:0.21.4" + "@esbuild/freebsd-x64": "npm:0.21.4" + "@esbuild/linux-arm": "npm:0.21.4" + "@esbuild/linux-arm64": "npm:0.21.4" + "@esbuild/linux-ia32": "npm:0.21.4" + "@esbuild/linux-loong64": "npm:0.21.4" + "@esbuild/linux-mips64el": "npm:0.21.4" + "@esbuild/linux-ppc64": "npm:0.21.4" + "@esbuild/linux-riscv64": "npm:0.21.4" + "@esbuild/linux-s390x": "npm:0.21.4" + "@esbuild/linux-x64": "npm:0.21.4" + "@esbuild/netbsd-x64": "npm:0.21.4" + "@esbuild/openbsd-x64": "npm:0.21.4" + "@esbuild/sunos-x64": "npm:0.21.4" + "@esbuild/win32-arm64": "npm:0.21.4" + "@esbuild/win32-ia32": "npm:0.21.4" + "@esbuild/win32-x64": "npm:0.21.4" + dependenciesMeta: + "@esbuild/aix-ppc64": + optional: true + "@esbuild/android-arm": + optional: true + "@esbuild/android-arm64": + optional: true + "@esbuild/android-x64": + optional: true + "@esbuild/darwin-arm64": + optional: true + "@esbuild/darwin-x64": + optional: true + "@esbuild/freebsd-arm64": + optional: true + "@esbuild/freebsd-x64": + optional: true + "@esbuild/linux-arm": + optional: true + "@esbuild/linux-arm64": + optional: true + "@esbuild/linux-ia32": + optional: true + "@esbuild/linux-loong64": + optional: true + "@esbuild/linux-mips64el": + optional: true + "@esbuild/linux-ppc64": + optional: true + "@esbuild/linux-riscv64": + optional: true + "@esbuild/linux-s390x": + optional: true + "@esbuild/linux-x64": + optional: true + "@esbuild/netbsd-x64": + optional: true + "@esbuild/openbsd-x64": + optional: true + "@esbuild/sunos-x64": + optional: true + "@esbuild/win32-arm64": + optional: true + "@esbuild/win32-ia32": + optional: true + "@esbuild/win32-x64": + optional: true + bin: + esbuild: bin/esbuild + checksum: 10/d27b0fcdce514a73a10c6a687b3d2a90280d9ff07414a8d8b643f2be4e794f992f94de9044a5be90a9be07f368421e1b05d07209822f8f1a33ce47a18df2ebe8 + languageName: node + linkType: hard + "escalade@npm:^3.1.1": version: 3.1.2 resolution: "escalade@npm:3.1.2" @@ -6717,13 +7510,6 @@ __metadata: languageName: node linkType: hard -"estree-walker@npm:^2.0.2": - version: 2.0.2 - resolution: "estree-walker@npm:2.0.2" - checksum: 10/b02109c5d46bc2ed47de4990eef770f7457b1159a229f0999a09224d2b85ffeed2d7679cffcff90aeb4448e94b0168feb5265b209cdec29aad50a3d6e93d21e2 - languageName: node - linkType: hard - "estree-walker@npm:^3.0.3": version: 3.0.3 resolution: "estree-walker@npm:3.0.3" @@ -6837,7 +7623,7 @@ __metadata: languageName: node linkType: hard -"expect@npm:^29.0.0, expect@npm:^29.5.0, expect@npm:^29.7.0": +"expect@npm:^29.5.0, expect@npm:^29.7.0": version: 29.7.0 resolution: "expect@npm:29.7.0" dependencies: @@ -6940,7 +7726,7 @@ __metadata: languageName: node linkType: hard -"fast-json-stable-stringify@npm:2.x, fast-json-stable-stringify@npm:^2.0.0, fast-json-stable-stringify@npm:^2.1.0": +"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" checksum: 10/2c20055c1fa43c922428f16ca8bb29f2807de63e5c851f665f7ac9790176c01c3b40335257736b299764a8d383388dabc73c8083b8e1bc3d99f0a941444ec60e @@ -6954,15 +7740,6 @@ __metadata: languageName: node linkType: hard -"fast-url-parser@npm:^1.1.3": - version: 1.1.3 - resolution: "fast-url-parser@npm:1.1.3" - dependencies: - punycode: "npm:^1.3.2" - checksum: 10/6d33f46ce9776f7f3017576926207a950ca39bc5eb78fc794404f2288fe494720f9a119084b75569bd9eb09d2b46678bfaf39c191fb2c808ef3c833dc8982752 - languageName: node - linkType: hard - "fastq@npm:^1.6.0": version: 1.17.1 resolution: "fastq@npm:1.17.1" @@ -7246,16 +8023,6 @@ __metadata: languageName: node linkType: hard -"fs-jetpack@npm:^4.1.0": - version: 4.3.1 - resolution: "fs-jetpack@npm:4.3.1" - dependencies: - minimatch: "npm:^3.0.2" - rimraf: "npm:^2.6.3" - checksum: 10/cb6636a083011124e8ca33720035171d177874fffb508448573db9eebef0d9ec5c29d73665373aa619f7ee4b495b142ae888f07217ea6ce40ba2f752894fec63 - languageName: node - linkType: hard - "fs-minipass@npm:^2.0.0": version: 2.1.0 resolution: "fs-minipass@npm:2.1.0" @@ -7274,6 +8041,13 @@ __metadata: languageName: node linkType: hard +"fs-readdir-recursive@npm:^1.1.0": + version: 1.1.0 + resolution: "fs-readdir-recursive@npm:1.1.0" + checksum: 10/d5e3fd8456b8e5d57a43f169a9eaf65c70fa82c4a22f1d4361cdba4ea5e61c60c5c2b4ac481ea137a4d43b2b99b3ea2fae95ac2730255c4206d61af645866c3a + languageName: node + linkType: hard + "fs.realpath@npm:^1.0.0": version: 1.0.0 resolution: "fs.realpath@npm:1.0.0" @@ -7578,7 +8352,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:8.1.0, glob@npm:^8.0.3": +"glob@npm:8.1.0": version: 8.1.0 resolution: "glob@npm:8.1.0" dependencies: @@ -7591,7 +8365,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:^10.2.2, glob@npm:^10.3.10, glob@npm:^10.3.3, glob@npm:^10.3.5, glob@npm:^10.3.7": +"glob@npm:^10.2.2, glob@npm:^10.3.10, glob@npm:^10.3.3, glob@npm:^10.3.7": version: 10.3.10 resolution: "glob@npm:10.3.10" dependencies: @@ -7606,36 +8380,6 @@ __metadata: languageName: node linkType: hard -"glob@npm:^10.3.12": - version: 10.3.12 - resolution: "glob@npm:10.3.12" - dependencies: - foreground-child: "npm:^3.1.0" - jackspeak: "npm:^2.3.6" - minimatch: "npm:^9.0.1" - minipass: "npm:^7.0.4" - path-scurry: "npm:^1.10.2" - bin: - glob: dist/esm/bin.mjs - checksum: 10/9e8186abc22dc824b5dd86cefd8e6b5621a72d1be7f68bacc0fd681e8c162ec5546660a6ec0553d6a74757a585e655956c7f8f1a6d24570e8d865c307323d178 - languageName: node - linkType: hard - -"glob@npm:^10.3.15": - version: 10.3.15 - resolution: "glob@npm:10.3.15" - dependencies: - foreground-child: "npm:^3.1.0" - jackspeak: "npm:^2.3.6" - minimatch: "npm:^9.0.1" - minipass: "npm:^7.0.4" - path-scurry: "npm:^1.11.0" - bin: - glob: dist/esm/bin.mjs - checksum: 10/b2b1c74309979b34fd6010afb50418a12525def32f1d3758d5827fc75d6143fc3ee5d1f3180a43111f6386c9e297c314f208d9d09955a6c6b69f22e92ee97635 - languageName: node - linkType: hard - "glob@npm:^6.0.1": version: 6.0.4 resolution: "glob@npm:6.0.4" @@ -7649,7 +8393,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.6": +"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: @@ -7941,17 +8685,6 @@ __metadata: languageName: node linkType: hard -"http-proxy-agent@npm:^4.0.0": - version: 4.0.1 - resolution: "http-proxy-agent@npm:4.0.1" - dependencies: - "@tootallnate/once": "npm:1" - agent-base: "npm:6" - debug: "npm:4" - checksum: 10/2e17f5519f2f2740b236d1d14911ea4be170c67419dc15b05ea9a860a22c5d9c6ff4da270972117067cc2cefeba9df5f7cd5e7818fdc6ae52b6acf2a533e5fdd - languageName: node - linkType: hard - "http-proxy-agent@npm:^7.0.0, http-proxy-agent@npm:^7.0.2": version: 7.0.2 resolution: "http-proxy-agent@npm:7.0.2" @@ -7999,7 +8732,7 @@ __metadata: languageName: node linkType: hard -"https-proxy-agent@npm:5.0.1, https-proxy-agent@npm:^5.0.0, https-proxy-agent@npm:^5.0.1": +"https-proxy-agent@npm:5.0.1, https-proxy-agent@npm:^5.0.1": version: 5.0.1 resolution: "https-proxy-agent@npm:5.0.1" dependencies: @@ -8074,24 +8807,6 @@ __metadata: languageName: node linkType: hard -"ignore-walk@npm:3.0.3": - version: 3.0.3 - resolution: "ignore-walk@npm:3.0.3" - dependencies: - minimatch: "npm:^3.0.4" - checksum: 10/7e18321e751d6c6300e1da28f7b98c31d10d6b74d015987f12e3403720e32f3d6a8c050624e466c68d02165f6e6da1bd5f4601c4974970a31e850d258af552fd - languageName: node - linkType: hard - -"ignore-walk@npm:3.0.4": - version: 3.0.4 - resolution: "ignore-walk@npm:3.0.4" - dependencies: - minimatch: "npm:^3.0.4" - checksum: 10/4f56a0a40aa1c8784955c106c13953d042f0ae0b71139af392d57452cbcc74ea5abe45b5c61c88b822b879d34f4dcad626828acd41eb52f9637a4552c182ef7b - languageName: node - linkType: hard - "ignore@npm:^5.2.0, ignore@npm:^5.2.4, ignore@npm:^5.3.1": version: 5.3.1 resolution: "ignore@npm:5.3.1" @@ -8440,13 +9155,6 @@ __metadata: languageName: node linkType: hard -"is-module@npm:^1.0.0": - version: 1.0.0 - resolution: "is-module@npm:1.0.0" - checksum: 10/8cd5390730c7976fb4e8546dd0b38865ee6f7bacfa08dfbb2cc07219606755f0b01709d9361e01f13009bbbd8099fa2927a8ed665118a6105d66e40f1b838c3f - languageName: node - linkType: hard - "is-negative-zero@npm:^2.0.2": version: 2.0.3 resolution: "is-negative-zero@npm:2.0.3" @@ -8505,15 +9213,6 @@ __metadata: languageName: node linkType: hard -"is-reference@npm:1.2.1": - version: 1.2.1 - resolution: "is-reference@npm:1.2.1" - dependencies: - "@types/estree": "npm:*" - checksum: 10/e7b48149f8abda2c10849ea51965904d6a714193d68942ad74e30522231045acf06cbfae5a4be2702fede5d232e61bf50b3183acdc056e6e3afe07fcf4f4b2bc - languageName: node - linkType: hard - "is-regex@npm:^1.1.4": version: 1.1.4 resolution: "is-regex@npm:1.1.4" @@ -8706,7 +9405,7 @@ __metadata: languageName: node linkType: hard -"jackspeak@npm:^2.3.5, jackspeak@npm:^2.3.6": +"jackspeak@npm:^2.3.5": version: 2.3.6 resolution: "jackspeak@npm:2.3.6" dependencies: @@ -8756,7 +9455,7 @@ __metadata: languageName: node linkType: hard -"jest-circus@npm:^29.6.2, jest-circus@npm:^29.7.0": +"jest-circus@npm:^29.7.0": version: 29.7.0 resolution: "jest-circus@npm:29.7.0" dependencies: @@ -8784,7 +9483,7 @@ __metadata: languageName: node linkType: hard -"jest-cli@npm:^29.6.2, jest-cli@npm:^29.7.0": +"jest-cli@npm:^29.7.0": version: 29.7.0 resolution: "jest-cli@npm:29.7.0" dependencies: @@ -8882,7 +9581,7 @@ __metadata: languageName: node linkType: hard -"jest-environment-jsdom@npm:^29.6.4": +"jest-environment-jsdom@npm:^29.7.0": version: 29.7.0 resolution: "jest-environment-jsdom@npm:29.7.0" dependencies: @@ -8903,7 +9602,7 @@ __metadata: languageName: node linkType: hard -"jest-environment-node@npm:^29.6.4, jest-environment-node@npm:^29.7.0": +"jest-environment-node@npm:^29.7.0": version: 29.7.0 resolution: "jest-environment-node@npm:29.7.0" dependencies: @@ -9130,7 +9829,7 @@ __metadata: languageName: node linkType: hard -"jest-util@npm:^29.0.0, jest-util@npm:^29.7.0": +"jest-util@npm:^29.7.0": version: 29.7.0 resolution: "jest-util@npm:29.7.0" dependencies: @@ -9186,25 +9885,6 @@ __metadata: languageName: node linkType: hard -"jest@npm:^29.7.0": - version: 29.7.0 - resolution: "jest@npm:29.7.0" - dependencies: - "@jest/core": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - import-local: "npm:^3.0.2" - jest-cli: "npm:^29.7.0" - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - bin: - jest: bin/jest.js - checksum: 10/97023d78446098c586faaa467fbf2c6b07ff06e2c85a19e3926adb5b0effe9ac60c4913ae03e2719f9c01ae8ffd8d92f6b262cedb9555ceeb5d19263d8c6362a - languageName: node - linkType: hard - "joi@npm:17.12.1": version: 17.12.1 resolution: "joi@npm:17.12.1" @@ -9276,26 +9956,26 @@ __metadata: languageName: node linkType: hard -"js-yaml@npm:3.14.1, js-yaml@npm:^3.13.1": - version: 3.14.1 - resolution: "js-yaml@npm:3.14.1" +"js-yaml@npm:4.1.0, js-yaml@npm:^4.1.0": + version: 4.1.0 + resolution: "js-yaml@npm:4.1.0" dependencies: - argparse: "npm:^1.0.7" - esprima: "npm:^4.0.0" + argparse: "npm:^2.0.1" bin: js-yaml: bin/js-yaml.js - checksum: 10/9e22d80b4d0105b9899135365f746d47466ed53ef4223c529b3c0f7a39907743fdbd3c4379f94f1106f02755b5e90b2faaf84801a891135544e1ea475d1a1379 + checksum: 10/c138a34a3fd0d08ebaf71273ad4465569a483b8a639e0b118ff65698d257c2791d3199e3f303631f2cb98213fa7b5f5d6a4621fd0fff819421b990d30d967140 languageName: node linkType: hard -"js-yaml@npm:4.1.0, js-yaml@npm:^4.1.0": - version: 4.1.0 - resolution: "js-yaml@npm:4.1.0" +"js-yaml@npm:^3.13.1": + version: 3.14.1 + resolution: "js-yaml@npm:3.14.1" dependencies: - argparse: "npm:^2.0.1" + argparse: "npm:^1.0.7" + esprima: "npm:^4.0.0" bin: js-yaml: bin/js-yaml.js - checksum: 10/c138a34a3fd0d08ebaf71273ad4465569a483b8a639e0b118ff65698d257c2791d3199e3f303631f2cb98213fa7b5f5d6a4621fd0fff819421b990d30d967140 + checksum: 10/9e22d80b4d0105b9899135365f746d47466ed53ef4223c529b3c0f7a39907743fdbd3c4379f94f1106f02755b5e90b2faaf84801a891135544e1ea475d1a1379 languageName: node linkType: hard @@ -9368,6 +10048,15 @@ __metadata: languageName: node linkType: hard +"jsesc@npm:~0.5.0": + version: 0.5.0 + resolution: "jsesc@npm:0.5.0" + bin: + jsesc: bin/jsesc + checksum: 10/fab949f585c71e169c5cbe00f049f20de74f067081bbd64a55443bad1c71e1b5a5b448f2359bf2fe06f5ed7c07e2e4a9101843b01c823c30b6afc11f5bfaf724 + languageName: node + linkType: hard + "json-buffer@npm:3.0.1": version: 3.0.1 resolution: "json-buffer@npm:3.0.1" @@ -9744,17 +10433,17 @@ __metadata: languageName: node linkType: hard -"lodash.get@npm:^4.4.2": - version: 4.4.2 - resolution: "lodash.get@npm:4.4.2" - checksum: 10/2a4925f6e89bc2c010a77a802d1ba357e17ed1ea03c2ddf6a146429f2856a216663e694a6aa3549a318cbbba3fd8b7decb392db457e6ac0b83dc745ed0a17380 +"lodash.debounce@npm:^4.0.8": + version: 4.0.8 + resolution: "lodash.debounce@npm:4.0.8" + checksum: 10/cd0b2819786e6e80cb9f5cda26b1a8fc073daaf04e48d4cb462fa4663ec9adb3a5387aa22d7129e48eed1afa05b482e2a6b79bfc99b86886364449500cbb00fd languageName: node linkType: hard -"lodash.memoize@npm:4.x": - version: 4.1.2 - resolution: "lodash.memoize@npm:4.1.2" - checksum: 10/192b2168f310c86f303580b53acf81ab029761b9bd9caa9506a019ffea5f3363ea98d7e39e7e11e6b9917066c9d36a09a11f6fe16f812326390d8f3a54a1a6da +"lodash.get@npm:^4.4.2": + version: 4.4.2 + resolution: "lodash.get@npm:4.4.2" + checksum: 10/2a4925f6e89bc2c010a77a802d1ba357e17ed1ea03c2ddf6a146429f2856a216663e694a6aa3549a318cbbba3fd8b7decb392db457e6ac0b83dc745ed0a17380 languageName: node linkType: hard @@ -9779,7 +10468,7 @@ __metadata: languageName: node linkType: hard -"lodash@npm:4.17.21, lodash@npm:4.x.x, lodash@npm:>= 3.7.0, lodash@npm:^4.0.0, lodash@npm:^4.17.10, lodash@npm:^4.17.12, lodash@npm:^4.17.15, lodash@npm:^4.17.21, lodash@npm:^4.17.5": +"lodash@npm:4.17.21, lodash@npm:4.x.x, lodash@npm:>= 3.7.0, lodash@npm:^4.0.0, lodash@npm:^4.17.10, lodash@npm:^4.17.12, lodash@npm:^4.17.21, lodash@npm:^4.17.5": version: 4.17.21 resolution: "lodash@npm:4.17.21" checksum: 10/c08619c038846ea6ac754abd6dd29d2568aa705feb69339e836dfa8d8b09abbb2f859371e86863eda41848221f9af43714491467b5b0299122431e202bb0c532 @@ -9862,7 +10551,7 @@ __metadata: languageName: node linkType: hard -"lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0, lru-cache@npm:^9.1.1 || ^10.0.0": +"lru-cache@npm:^10.0.1, lru-cache@npm:^9.1.1 || ^10.0.0": version: 10.2.0 resolution: "lru-cache@npm:10.2.0" checksum: 10/502ec42c3309c0eae1ce41afca471f831c278566d45a5273a0c51102dee31e0e250a62fa9029c3370988df33a14188a38e682c16143b794de78668de3643e302 @@ -9911,15 +10600,6 @@ __metadata: languageName: node linkType: hard -"magic-string@npm:^0.30.3": - version: 0.30.8 - resolution: "magic-string@npm:0.30.8" - dependencies: - "@jridgewell/sourcemap-codec": "npm:^1.4.15" - checksum: 10/72ab63817af600e92c19dc8489c1aa4a9599da00cfd59b2319709bd48fb0cf533fdf354bf140ac86e598dbd63e6b2cc83647fe8448f864a3eb6061c62c94e784 - languageName: node - linkType: hard - "magic-string@npm:^0.30.5": version: 0.30.7 resolution: "magic-string@npm:0.30.7" @@ -9929,6 +10609,16 @@ __metadata: languageName: node linkType: hard +"make-dir@npm:^2.1.0": + version: 2.1.0 + resolution: "make-dir@npm:2.1.0" + dependencies: + pify: "npm:^4.0.1" + semver: "npm:^5.6.0" + checksum: 10/043548886bfaf1820323c6a2997e6d2fa51ccc2586ac14e6f14634f7458b4db2daf15f8c310e2a0abd3e0cddc64df1890d8fc7263033602c47bb12cbfcf86aab + languageName: node + linkType: hard + "make-dir@npm:^4.0.0": version: 4.0.0 resolution: "make-dir@npm:4.0.0" @@ -9938,7 +10628,7 @@ __metadata: languageName: node linkType: hard -"make-error@npm:1.x, make-error@npm:^1.1.1": +"make-error@npm:^1.1.1": version: 1.3.6 resolution: "make-error@npm:1.3.6" checksum: 10/b86e5e0e25f7f777b77fabd8e2cbf15737972869d852a22b7e73c17623928fccb826d8e46b9951501d3f20e51ad74ba8c59ed584f610526a48f8ccf88aaec402 @@ -10091,7 +10781,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:2 || 3, minimatch@npm:^3.0.2, minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": +"minimatch@npm:2 || 3, minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": version: 3.1.2 resolution: "minimatch@npm:3.1.2" dependencies: @@ -10219,7 +10909,7 @@ __metadata: languageName: node linkType: hard -"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.0.4": +"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3": version: 7.0.4 resolution: "minipass@npm:7.0.4" checksum: 10/e864bd02ceb5e0707696d58f7ce3a0b89233f0d686ef0d447a66db705c0846a8dc6f34865cd85256c1472ff623665f616b90b8ff58058b2ad996c5de747d2d18 @@ -10300,18 +10990,6 @@ __metadata: languageName: node linkType: hard -"mocha-multi-reporters@npm:^1.5.1": - version: 1.5.1 - resolution: "mocha-multi-reporters@npm:1.5.1" - dependencies: - debug: "npm:^4.1.1" - lodash: "npm:^4.17.15" - peerDependencies: - mocha: ">=3.1.2" - checksum: 10/ae15b9fc12d27fc1c1ead63ec0315dda24fdc94d13051fca1fde110d99f58f4ac5d4f1ec81eec9a5eba694d34b039b8d0ea97b692a40b967ec1181e2eb6fdd4b - languageName: node - linkType: hard - "mocha@npm:10.2.0": version: 10.2.0 resolution: "mocha@npm:10.2.0" @@ -10548,18 +11226,21 @@ __metadata: version: 0.0.0-use.local resolution: "newman-reporter-allure@workspace:packages/newman-reporter-allure" dependencies: - "@rollup/plugin-commonjs": "npm:^25.0.7" - "@rollup/plugin-node-resolve": "npm:^15.2.3" - "@rollup/plugin-typescript": "npm:^11.1.6" + "@babel/cli": "npm:^7.24.6" + "@babel/core": "npm:^7.24.6" + "@babel/preset-env": "npm:^7.24.6" + "@babel/preset-typescript": "npm:^7.24.6" + "@types/babel__core": "npm:^7" + "@types/babel__preset-env": "npm:^7" "@types/eslint": "npm:^8" "@types/newman": "npm:^5.3.3" "@types/node": "npm:20.12.12" "@types/postman-collection": "npm:^3.5.7" "@types/source-map-support": "npm:^0.5.7" - "@types/yargs": "npm:^17.0.24" "@typescript-eslint/eslint-plugin": "npm:^7.0.0" "@typescript-eslint/parser": "npm:^7.0.0" allure-js-commons: "workspace:*" + babel-plugin-add-module-exports: "npm:^1.0.4" eslint: "npm:^8.57.0" eslint-config-prettier: "npm:^9.0.0" eslint-plugin-import: "npm:^2.28.1" @@ -10568,13 +11249,11 @@ __metadata: eslint-plugin-no-null: "npm:^1.0.2" eslint-plugin-prefer-arrow: "npm:^1.2.3" expect: "npm:^29.7.0" - glob: "npm:^10.3.12" msw: "npm:1" newman: "npm:^6.1.2" npm-run-all2: "npm:^6.1.2" postman-collection: "npm:^4.2.1" rimraf: "npm:^5.0.1" - rollup: "npm:^4.17.2" source-map-support: "npm:^0.5.21" ts-node: "npm:^10.9.1" tslib: "npm:^2.6.2" @@ -10644,7 +11323,7 @@ __metadata: languageName: node linkType: hard -"node-fetch@npm:^2.6.1, node-fetch@npm:^2.6.11, node-fetch@npm:^2.6.7": +"node-fetch@npm:^2.6.11, node-fetch@npm:^2.6.7": version: 2.7.0 resolution: "node-fetch@npm:2.7.0" dependencies: @@ -10820,9 +11499,9 @@ __metadata: linkType: hard "nwsapi@npm:^2.2.2": - version: 2.2.7 - resolution: "nwsapi@npm:2.2.7" - checksum: 10/22c002080f0297121ad138aba5a6509e724774d6701fe2c4777627bd939064ecd9e1b6dc1c2c716bb7ca0b9f16247892ff2f664285202ac7eff6ec9543725320 + version: 2.2.10 + resolution: "nwsapi@npm:2.2.10" + checksum: 10/b310e9dd0886da338cbbb1be9fec473a50269e2935d537f95a03d0038f7ea831ce12b4816d97f42e458e5273158aea2a6c86bc4bb60f79911226154aa66740f7 languageName: node linkType: hard @@ -11289,26 +11968,6 @@ __metadata: languageName: node linkType: hard -"path-scurry@npm:^1.10.2": - version: 1.10.2 - resolution: "path-scurry@npm:1.10.2" - dependencies: - lru-cache: "npm:^10.2.0" - minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" - checksum: 10/a2bbbe8dc284c49dd9be78ca25f3a8b89300e0acc24a77e6c74824d353ef50efbf163e64a69f4330b301afca42d0e2229be0560d6d616ac4e99d48b4062016b1 - languageName: node - linkType: hard - -"path-scurry@npm:^1.11.0": - version: 1.11.1 - resolution: "path-scurry@npm:1.11.1" - dependencies: - lru-cache: "npm:^10.2.0" - minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" - checksum: 10/5e8845c159261adda6f09814d7725683257fcc85a18f329880ab4d7cc1d12830967eae5d5894e453f341710d5484b8fdbbd4d75181b4d6e1eb2f4dc7aeadc434 - languageName: node - linkType: hard - "path-to-regexp@npm:^6.2.0, path-to-regexp@npm:^6.2.1": version: 6.2.1 resolution: "path-to-regexp@npm:6.2.1" @@ -11397,6 +12056,13 @@ __metadata: languageName: node linkType: hard +"pify@npm:^4.0.1": + version: 4.0.1 + resolution: "pify@npm:4.0.1" + checksum: 10/8b97cbf9dc6d4c1320cc238a2db0fc67547f9dc77011729ff353faf34f1936ea1a4d7f3c63b2f4980b253be77bcc72ea1e9e76ee3fd53cce2aafb6a8854d07ec + languageName: node + linkType: hard + "pinkie-promise@npm:^2.0.0": version: 2.0.1 resolution: "pinkie-promise@npm:2.0.1" @@ -11645,7 +12311,7 @@ __metadata: languageName: node linkType: hard -"prettier@npm:^3.2.4": +"prettier@npm:^3.2.5": version: 3.2.5 resolution: "prettier@npm:3.2.5" bin: @@ -11661,7 +12327,7 @@ __metadata: languageName: node linkType: hard -"pretty-format@npm:^29.0.0, pretty-format@npm:^29.7.0": +"pretty-format@npm:^29.7.0": version: 29.7.0 resolution: "pretty-format@npm:29.7.0" dependencies: @@ -11832,13 +12498,6 @@ __metadata: languageName: node linkType: hard -"punycode@npm:^1.3.2": - version: 1.4.1 - resolution: "punycode@npm:1.4.1" - checksum: 10/af2700dde1a116791ff8301348ff344c47d6c224e875057237d1b5112035655fb07a6175cfdb8bf0e3a8cdfd2dc82b3a622e0aefd605566c0e949a6d0d1256a4 - languageName: node - linkType: hard - "punycode@npm:^2.1.0, punycode@npm:^2.1.1": version: 2.3.1 resolution: "punycode@npm:2.3.1" @@ -12014,6 +12673,38 @@ __metadata: languageName: node linkType: hard +"regenerate-unicode-properties@npm:^10.1.0": + version: 10.1.1 + resolution: "regenerate-unicode-properties@npm:10.1.1" + dependencies: + regenerate: "npm:^1.4.2" + checksum: 10/b855152efdcca0ecc37ceb0cb6647a544344555fc293af3b57191b918e1bc9c95ee404a9a64a1d692bf66d45850942c29d93f2740c0d1980d3a8ea2ca63b184e + languageName: node + linkType: hard + +"regenerate@npm:^1.4.2": + version: 1.4.2 + resolution: "regenerate@npm:1.4.2" + checksum: 10/dc6c95ae4b3ba6adbd7687cafac260eee4640318c7a95239d5ce847d9b9263979758389e862fe9c93d633b5792ea4ada5708df75885dc5aa05a309fa18140a87 + languageName: node + linkType: hard + +"regenerator-runtime@npm:^0.14.0": + version: 0.14.1 + resolution: "regenerator-runtime@npm:0.14.1" + checksum: 10/5db3161abb311eef8c45bcf6565f4f378f785900ed3945acf740a9888c792f75b98ecb77f0775f3bf95502ff423529d23e94f41d80c8256e8fa05ed4b07cf471 + languageName: node + linkType: hard + +"regenerator-transform@npm:^0.15.2": + version: 0.15.2 + resolution: "regenerator-transform@npm:0.15.2" + dependencies: + "@babel/runtime": "npm:^7.8.4" + checksum: 10/c4fdcb46d11bbe32605b4b9ed76b21b8d3f241a45153e9dc6f5542fed4c7744fed459f42701f650d5d5956786bf7de57547329d1c05a9df2ed9e367b9d903302 + languageName: node + linkType: hard + "regexp-match-indices@npm:1.0.2": version: 1.0.2 resolution: "regexp-match-indices@npm:1.0.2" @@ -12044,6 +12735,31 @@ __metadata: languageName: node linkType: hard +"regexpu-core@npm:^5.3.1": + version: 5.3.2 + resolution: "regexpu-core@npm:5.3.2" + dependencies: + "@babel/regjsgen": "npm:^0.8.0" + regenerate: "npm:^1.4.2" + regenerate-unicode-properties: "npm:^10.1.0" + regjsparser: "npm:^0.9.1" + unicode-match-property-ecmascript: "npm:^2.0.0" + unicode-match-property-value-ecmascript: "npm:^2.1.0" + checksum: 10/ed0d7c66d84c633fbe8db4939d084c780190eca11f6920807dfb8ebac59e2676952cd8f2008d9c86ae8cf0463ea5fd12c5cff09ef2ce7d51ee6b420a5eb4d177 + languageName: node + linkType: hard + +"regjsparser@npm:^0.9.1": + version: 0.9.1 + resolution: "regjsparser@npm:0.9.1" + dependencies: + jsesc: "npm:~0.5.0" + bin: + regjsparser: bin/parser + checksum: 10/be7757ef76e1db10bf6996001d1021048b5fb12f5cb470a99b8cf7f3ff943f0f0e2291c0dcdbb418b458ddc4ac10e48680a822b69ef487a0284c8b6b77beddc3 + languageName: node + linkType: hard + "relateurl@npm:^0.2.7": version: 0.2.7 resolution: "relateurl@npm:0.2.7" @@ -12134,7 +12850,7 @@ __metadata: languageName: node linkType: hard -"resolve@npm:^1.10.0, resolve@npm:^1.20.0, resolve@npm:^1.22.1, resolve@npm:^1.22.4": +"resolve@npm:^1.10.0, resolve@npm:^1.14.2, resolve@npm:^1.20.0, resolve@npm:^1.22.4": version: 1.22.8 resolution: "resolve@npm:1.22.8" dependencies: @@ -12147,7 +12863,7 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@npm%3A^1.10.0#optional!builtin, resolve@patch:resolve@npm%3A^1.20.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.1#optional!builtin, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin": +"resolve@patch:resolve@npm%3A^1.10.0#optional!builtin, resolve@patch:resolve@npm%3A^1.14.2#optional!builtin, resolve@patch:resolve@npm%3A^1.20.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin": version: 1.22.8 resolution: "resolve@patch:resolve@npm%3A1.22.8#optional!builtin::version=1.22.8&hash=c3c19d" dependencies: @@ -12179,461 +12895,95 @@ __metadata: languageName: node linkType: hard -"restore-cursor@npm:^3.1.0": - version: 3.1.0 - resolution: "restore-cursor@npm:3.1.0" - dependencies: - onetime: "npm:^5.1.0" - signal-exit: "npm:^3.0.2" - checksum: 10/f877dd8741796b909f2a82454ec111afb84eb45890eb49ac947d87991379406b3b83ff9673a46012fca0d7844bb989f45cc5b788254cf1a39b6b5a9659de0630 - languageName: node - linkType: hard - -"restore-cursor@npm:^4.0.0": - version: 4.0.0 - resolution: "restore-cursor@npm:4.0.0" - dependencies: - onetime: "npm:^5.1.0" - signal-exit: "npm:^3.0.2" - checksum: 10/5b675c5a59763bf26e604289eab35711525f11388d77f409453904e1e69c0d37ae5889295706b2c81d23bd780165084d040f9b68fffc32cc921519031c4fa4af - languageName: node - linkType: hard - -"retry@npm:^0.10.0": - version: 0.10.1 - resolution: "retry@npm:0.10.1" - checksum: 10/97d165ac7d70c74754ac0855f5b1c9fc31f90aa6ecb10b0702dca3abe8b78e3c7fc18ba0a4e8da928cf7bcae1c92ba7902843127f29b630b5ac986e9b2d4e2e4 - languageName: node - linkType: hard - -"retry@npm:^0.12.0": - version: 0.12.0 - resolution: "retry@npm:0.12.0" - checksum: 10/1f914879f97e7ee931ad05fe3afa629bd55270fc6cf1c1e589b6a99fab96d15daad0fa1a52a00c729ec0078045fe3e399bd4fd0c93bcc906957bdc17f89cb8e6 - languageName: node - linkType: hard - -"reusify@npm:^1.0.4": - version: 1.0.4 - resolution: "reusify@npm:1.0.4" - checksum: 10/14222c9e1d3f9ae01480c50d96057228a8524706db79cdeb5a2ce5bb7070dd9f409a6f84a02cbef8cdc80d39aef86f2dd03d155188a1300c599b05437dcd2ffb - languageName: node - linkType: hard - -"rfdc@npm:^1.3.0": - version: 1.3.1 - resolution: "rfdc@npm:1.3.1" - checksum: 10/44cc6a82e2fe1db13b7d3c54e9ffd0b40ef070cbde69ffbfbb38dab8cee46bd68ba686784b96365ff08d04798bc121c3465663a0c91f2c421c90546c4366f4a6 - languageName: node - linkType: hard - -"rimraf@npm:2, rimraf@npm:^2.6.3": - 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: - glob: "npm:^7.1.3" - bin: - rimraf: bin.js - checksum: 10/063ffaccaaaca2cfd0ef3beafb12d6a03dd7ff1260d752d62a6077b5dfff6ae81bea571f655bb6b589d366930ec1bdd285d40d560c0dae9b12f125e54eb743d5 - languageName: node - linkType: hard - -"rimraf@npm:^5.0.1": - version: 5.0.5 - resolution: "rimraf@npm:5.0.5" - dependencies: - glob: "npm:^10.3.7" - bin: - rimraf: dist/esm/bin.mjs - checksum: 10/a612c7184f96258b7d1328c486b12ca7b60aa30e04229a08bbfa7e964486deb1e9a1b52d917809311bdc39a808a4055c0f950c0280fba194ba0a09e6f0d404f6 - languageName: node - linkType: hard - -"rimraf@npm:~2.4.0": - version: 2.4.5 - resolution: "rimraf@npm:2.4.5" - dependencies: - glob: "npm:^6.0.1" - bin: - rimraf: ./bin.js - checksum: 10/884c45de4195e4ce5ab6d8782d073302291a50004d1d79e628cf04b0a3594c882314b0639960333211cebe4ac888755c803cd09a5151d30e88a070af16b1573d - languageName: node - linkType: hard - -"rollup@npm:^4.13.0": - version: 4.13.0 - resolution: "rollup@npm:4.13.0" - dependencies: - "@rollup/rollup-android-arm-eabi": "npm:4.13.0" - "@rollup/rollup-android-arm64": "npm:4.13.0" - "@rollup/rollup-darwin-arm64": "npm:4.13.0" - "@rollup/rollup-darwin-x64": "npm:4.13.0" - "@rollup/rollup-linux-arm-gnueabihf": "npm:4.13.0" - "@rollup/rollup-linux-arm64-gnu": "npm:4.13.0" - "@rollup/rollup-linux-arm64-musl": "npm:4.13.0" - "@rollup/rollup-linux-riscv64-gnu": "npm:4.13.0" - "@rollup/rollup-linux-x64-gnu": "npm:4.13.0" - "@rollup/rollup-linux-x64-musl": "npm:4.13.0" - "@rollup/rollup-win32-arm64-msvc": "npm:4.13.0" - "@rollup/rollup-win32-ia32-msvc": "npm:4.13.0" - "@rollup/rollup-win32-x64-msvc": "npm:4.13.0" - "@types/estree": "npm:1.0.5" - fsevents: "npm:~2.3.2" - dependenciesMeta: - "@rollup/rollup-android-arm-eabi": - optional: true - "@rollup/rollup-android-arm64": - optional: true - "@rollup/rollup-darwin-arm64": - optional: true - "@rollup/rollup-darwin-x64": - optional: true - "@rollup/rollup-linux-arm-gnueabihf": - optional: true - "@rollup/rollup-linux-arm64-gnu": - optional: true - "@rollup/rollup-linux-arm64-musl": - optional: true - "@rollup/rollup-linux-riscv64-gnu": - optional: true - "@rollup/rollup-linux-x64-gnu": - optional: true - "@rollup/rollup-linux-x64-musl": - optional: true - "@rollup/rollup-win32-arm64-msvc": - optional: true - "@rollup/rollup-win32-ia32-msvc": - optional: true - "@rollup/rollup-win32-x64-msvc": - optional: true - fsevents: - optional: true - bin: - rollup: dist/bin/rollup - checksum: 10/3ebced8ad49e8b5617cb7013cb106dd8ac99ae31a71f9689dc689b8fdaf0eb109f3d861330ef659e5f28a2c38e040282aea0e1df150b165f53f649d46275df84 - languageName: node - linkType: hard - -"rollup@npm:^4.14.1": - version: 4.14.1 - resolution: "rollup@npm:4.14.1" - dependencies: - "@rollup/rollup-android-arm-eabi": "npm:4.14.1" - "@rollup/rollup-android-arm64": "npm:4.14.1" - "@rollup/rollup-darwin-arm64": "npm:4.14.1" - "@rollup/rollup-darwin-x64": "npm:4.14.1" - "@rollup/rollup-linux-arm-gnueabihf": "npm:4.14.1" - "@rollup/rollup-linux-arm64-gnu": "npm:4.14.1" - "@rollup/rollup-linux-arm64-musl": "npm:4.14.1" - "@rollup/rollup-linux-powerpc64le-gnu": "npm:4.14.1" - "@rollup/rollup-linux-riscv64-gnu": "npm:4.14.1" - "@rollup/rollup-linux-s390x-gnu": "npm:4.14.1" - "@rollup/rollup-linux-x64-gnu": "npm:4.14.1" - "@rollup/rollup-linux-x64-musl": "npm:4.14.1" - "@rollup/rollup-win32-arm64-msvc": "npm:4.14.1" - "@rollup/rollup-win32-ia32-msvc": "npm:4.14.1" - "@rollup/rollup-win32-x64-msvc": "npm:4.14.1" - "@types/estree": "npm:1.0.5" - fsevents: "npm:~2.3.2" - dependenciesMeta: - "@rollup/rollup-android-arm-eabi": - optional: true - "@rollup/rollup-android-arm64": - optional: true - "@rollup/rollup-darwin-arm64": - optional: true - "@rollup/rollup-darwin-x64": - optional: true - "@rollup/rollup-linux-arm-gnueabihf": - optional: true - "@rollup/rollup-linux-arm64-gnu": - optional: true - "@rollup/rollup-linux-arm64-musl": - optional: true - "@rollup/rollup-linux-powerpc64le-gnu": - optional: true - "@rollup/rollup-linux-riscv64-gnu": - optional: true - "@rollup/rollup-linux-s390x-gnu": - optional: true - "@rollup/rollup-linux-x64-gnu": - optional: true - "@rollup/rollup-linux-x64-musl": - optional: true - "@rollup/rollup-win32-arm64-msvc": - optional: true - "@rollup/rollup-win32-ia32-msvc": - optional: true - "@rollup/rollup-win32-x64-msvc": - optional: true - fsevents: - optional: true - bin: - rollup: dist/bin/rollup - checksum: 10/dd7db600611b11a9d6f4bb1221003b1d02149fedad48a8ddde449bddaa72a9b739760b8adae9026091e2c0df85ecdc93985468c9733312d1ae3ea0030e9939e5 - languageName: node - linkType: hard - -"rollup@npm:^4.14.3": - version: 4.14.3 - resolution: "rollup@npm:4.14.3" - dependencies: - "@rollup/rollup-android-arm-eabi": "npm:4.14.3" - "@rollup/rollup-android-arm64": "npm:4.14.3" - "@rollup/rollup-darwin-arm64": "npm:4.14.3" - "@rollup/rollup-darwin-x64": "npm:4.14.3" - "@rollup/rollup-linux-arm-gnueabihf": "npm:4.14.3" - "@rollup/rollup-linux-arm-musleabihf": "npm:4.14.3" - "@rollup/rollup-linux-arm64-gnu": "npm:4.14.3" - "@rollup/rollup-linux-arm64-musl": "npm:4.14.3" - "@rollup/rollup-linux-powerpc64le-gnu": "npm:4.14.3" - "@rollup/rollup-linux-riscv64-gnu": "npm:4.14.3" - "@rollup/rollup-linux-s390x-gnu": "npm:4.14.3" - "@rollup/rollup-linux-x64-gnu": "npm:4.14.3" - "@rollup/rollup-linux-x64-musl": "npm:4.14.3" - "@rollup/rollup-win32-arm64-msvc": "npm:4.14.3" - "@rollup/rollup-win32-ia32-msvc": "npm:4.14.3" - "@rollup/rollup-win32-x64-msvc": "npm:4.14.3" - "@types/estree": "npm:1.0.5" - fsevents: "npm:~2.3.2" - dependenciesMeta: - "@rollup/rollup-android-arm-eabi": - optional: true - "@rollup/rollup-android-arm64": - optional: true - "@rollup/rollup-darwin-arm64": - optional: true - "@rollup/rollup-darwin-x64": - optional: true - "@rollup/rollup-linux-arm-gnueabihf": - optional: true - "@rollup/rollup-linux-arm-musleabihf": - optional: true - "@rollup/rollup-linux-arm64-gnu": - optional: true - "@rollup/rollup-linux-arm64-musl": - optional: true - "@rollup/rollup-linux-powerpc64le-gnu": - optional: true - "@rollup/rollup-linux-riscv64-gnu": - optional: true - "@rollup/rollup-linux-s390x-gnu": - optional: true - "@rollup/rollup-linux-x64-gnu": - optional: true - "@rollup/rollup-linux-x64-musl": - optional: true - "@rollup/rollup-win32-arm64-msvc": - optional: true - "@rollup/rollup-win32-ia32-msvc": - optional: true - "@rollup/rollup-win32-x64-msvc": - optional: true - fsevents: - optional: true +"restore-cursor@npm:^3.1.0": + version: 3.1.0 + resolution: "restore-cursor@npm:3.1.0" + dependencies: + onetime: "npm:^5.1.0" + signal-exit: "npm:^3.0.2" + checksum: 10/f877dd8741796b909f2a82454ec111afb84eb45890eb49ac947d87991379406b3b83ff9673a46012fca0d7844bb989f45cc5b788254cf1a39b6b5a9659de0630 + languageName: node + linkType: hard + +"restore-cursor@npm:^4.0.0": + version: 4.0.0 + resolution: "restore-cursor@npm:4.0.0" + dependencies: + onetime: "npm:^5.1.0" + signal-exit: "npm:^3.0.2" + checksum: 10/5b675c5a59763bf26e604289eab35711525f11388d77f409453904e1e69c0d37ae5889295706b2c81d23bd780165084d040f9b68fffc32cc921519031c4fa4af + languageName: node + linkType: hard + +"retry@npm:^0.10.0": + version: 0.10.1 + resolution: "retry@npm:0.10.1" + checksum: 10/97d165ac7d70c74754ac0855f5b1c9fc31f90aa6ecb10b0702dca3abe8b78e3c7fc18ba0a4e8da928cf7bcae1c92ba7902843127f29b630b5ac986e9b2d4e2e4 + languageName: node + linkType: hard + +"retry@npm:^0.12.0": + version: 0.12.0 + resolution: "retry@npm:0.12.0" + checksum: 10/1f914879f97e7ee931ad05fe3afa629bd55270fc6cf1c1e589b6a99fab96d15daad0fa1a52a00c729ec0078045fe3e399bd4fd0c93bcc906957bdc17f89cb8e6 + languageName: node + linkType: hard + +"reusify@npm:^1.0.4": + version: 1.0.4 + resolution: "reusify@npm:1.0.4" + checksum: 10/14222c9e1d3f9ae01480c50d96057228a8524706db79cdeb5a2ce5bb7070dd9f409a6f84a02cbef8cdc80d39aef86f2dd03d155188a1300c599b05437dcd2ffb + languageName: node + linkType: hard + +"rfdc@npm:^1.3.0": + version: 1.3.1 + resolution: "rfdc@npm:1.3.1" + checksum: 10/44cc6a82e2fe1db13b7d3c54e9ffd0b40ef070cbde69ffbfbb38dab8cee46bd68ba686784b96365ff08d04798bc121c3465663a0c91f2c421c90546c4366f4a6 + languageName: node + linkType: hard + +"rimraf@npm:2": + version: 2.7.1 + resolution: "rimraf@npm:2.7.1" + dependencies: + glob: "npm:^7.1.3" bin: - rollup: dist/bin/rollup - checksum: 10/caff654b734788cbb053886c30c3a7f733af4197b5efc47e82969e9ace1698949cc843755e4aeeb5cf3c2e754e4075022af183fde103fc5e6fdc8664a8e85a1e + rimraf: ./bin.js + checksum: 10/4586c296c736483e297da7cffd19475e4a3e41d07b1ae124aad5d687c79e4ffa716bdac8732ed1db942caf65271cee9dd39f8b639611de161a2753e2112ffe1d languageName: node linkType: hard -"rollup@npm:^4.16.3": - version: 4.16.3 - resolution: "rollup@npm:4.16.3" - dependencies: - "@rollup/rollup-android-arm-eabi": "npm:4.16.3" - "@rollup/rollup-android-arm64": "npm:4.16.3" - "@rollup/rollup-darwin-arm64": "npm:4.16.3" - "@rollup/rollup-darwin-x64": "npm:4.16.3" - "@rollup/rollup-linux-arm-gnueabihf": "npm:4.16.3" - "@rollup/rollup-linux-arm-musleabihf": "npm:4.16.3" - "@rollup/rollup-linux-arm64-gnu": "npm:4.16.3" - "@rollup/rollup-linux-arm64-musl": "npm:4.16.3" - "@rollup/rollup-linux-powerpc64le-gnu": "npm:4.16.3" - "@rollup/rollup-linux-riscv64-gnu": "npm:4.16.3" - "@rollup/rollup-linux-s390x-gnu": "npm:4.16.3" - "@rollup/rollup-linux-x64-gnu": "npm:4.16.3" - "@rollup/rollup-linux-x64-musl": "npm:4.16.3" - "@rollup/rollup-win32-arm64-msvc": "npm:4.16.3" - "@rollup/rollup-win32-ia32-msvc": "npm:4.16.3" - "@rollup/rollup-win32-x64-msvc": "npm:4.16.3" - "@types/estree": "npm:1.0.5" - fsevents: "npm:~2.3.2" - dependenciesMeta: - "@rollup/rollup-android-arm-eabi": - optional: true - "@rollup/rollup-android-arm64": - optional: true - "@rollup/rollup-darwin-arm64": - optional: true - "@rollup/rollup-darwin-x64": - optional: true - "@rollup/rollup-linux-arm-gnueabihf": - optional: true - "@rollup/rollup-linux-arm-musleabihf": - optional: true - "@rollup/rollup-linux-arm64-gnu": - optional: true - "@rollup/rollup-linux-arm64-musl": - optional: true - "@rollup/rollup-linux-powerpc64le-gnu": - optional: true - "@rollup/rollup-linux-riscv64-gnu": - optional: true - "@rollup/rollup-linux-s390x-gnu": - optional: true - "@rollup/rollup-linux-x64-gnu": - optional: true - "@rollup/rollup-linux-x64-musl": - optional: true - "@rollup/rollup-win32-arm64-msvc": - optional: true - "@rollup/rollup-win32-ia32-msvc": - optional: true - "@rollup/rollup-win32-x64-msvc": - optional: true - fsevents: - optional: true +"rimraf@npm:^3.0.0, rimraf@npm:^3.0.2": + version: 3.0.2 + resolution: "rimraf@npm:3.0.2" + dependencies: + glob: "npm:^7.1.3" bin: - rollup: dist/bin/rollup - checksum: 10/2fa17e04645d334b7d17e8f0a5d5fc73494e4eb3e9bb071a07452334097792c683d29c25de6be33fbfdf0c0d7d1eb15963b7d4274f4872b25c9c2e77000b4398 - languageName: node - linkType: hard - -"rollup@npm:^4.17.1": - version: 4.17.1 - resolution: "rollup@npm:4.17.1" - dependencies: - "@rollup/rollup-android-arm-eabi": "npm:4.17.1" - "@rollup/rollup-android-arm64": "npm:4.17.1" - "@rollup/rollup-darwin-arm64": "npm:4.17.1" - "@rollup/rollup-darwin-x64": "npm:4.17.1" - "@rollup/rollup-linux-arm-gnueabihf": "npm:4.17.1" - "@rollup/rollup-linux-arm-musleabihf": "npm:4.17.1" - "@rollup/rollup-linux-arm64-gnu": "npm:4.17.1" - "@rollup/rollup-linux-arm64-musl": "npm:4.17.1" - "@rollup/rollup-linux-powerpc64le-gnu": "npm:4.17.1" - "@rollup/rollup-linux-riscv64-gnu": "npm:4.17.1" - "@rollup/rollup-linux-s390x-gnu": "npm:4.17.1" - "@rollup/rollup-linux-x64-gnu": "npm:4.17.1" - "@rollup/rollup-linux-x64-musl": "npm:4.17.1" - "@rollup/rollup-win32-arm64-msvc": "npm:4.17.1" - "@rollup/rollup-win32-ia32-msvc": "npm:4.17.1" - "@rollup/rollup-win32-x64-msvc": "npm:4.17.1" - "@types/estree": "npm:1.0.5" - fsevents: "npm:~2.3.2" - dependenciesMeta: - "@rollup/rollup-android-arm-eabi": - optional: true - "@rollup/rollup-android-arm64": - optional: true - "@rollup/rollup-darwin-arm64": - optional: true - "@rollup/rollup-darwin-x64": - optional: true - "@rollup/rollup-linux-arm-gnueabihf": - optional: true - "@rollup/rollup-linux-arm-musleabihf": - optional: true - "@rollup/rollup-linux-arm64-gnu": - optional: true - "@rollup/rollup-linux-arm64-musl": - optional: true - "@rollup/rollup-linux-powerpc64le-gnu": - optional: true - "@rollup/rollup-linux-riscv64-gnu": - optional: true - "@rollup/rollup-linux-s390x-gnu": - optional: true - "@rollup/rollup-linux-x64-gnu": - optional: true - "@rollup/rollup-linux-x64-musl": - optional: true - "@rollup/rollup-win32-arm64-msvc": - optional: true - "@rollup/rollup-win32-ia32-msvc": - optional: true - "@rollup/rollup-win32-x64-msvc": - optional: true - fsevents: - optional: true + rimraf: bin.js + checksum: 10/063ffaccaaaca2cfd0ef3beafb12d6a03dd7ff1260d752d62a6077b5dfff6ae81bea571f655bb6b589d366930ec1bdd285d40d560c0dae9b12f125e54eb743d5 + languageName: node + linkType: hard + +"rimraf@npm:^5.0.1": + version: 5.0.5 + resolution: "rimraf@npm:5.0.5" + dependencies: + glob: "npm:^10.3.7" bin: - rollup: dist/bin/rollup - checksum: 10/4072609e246c9f481a924d053bf593d02b92ebd1e69cc2092ff202cbd6eeadf558f5e1434dd2406597b36f0dd9e3b547810748fad7727a38ea35798a553bcca5 - languageName: node - linkType: hard - -"rollup@npm:^4.17.2": - version: 4.17.2 - resolution: "rollup@npm:4.17.2" - dependencies: - "@rollup/rollup-android-arm-eabi": "npm:4.17.2" - "@rollup/rollup-android-arm64": "npm:4.17.2" - "@rollup/rollup-darwin-arm64": "npm:4.17.2" - "@rollup/rollup-darwin-x64": "npm:4.17.2" - "@rollup/rollup-linux-arm-gnueabihf": "npm:4.17.2" - "@rollup/rollup-linux-arm-musleabihf": "npm:4.17.2" - "@rollup/rollup-linux-arm64-gnu": "npm:4.17.2" - "@rollup/rollup-linux-arm64-musl": "npm:4.17.2" - "@rollup/rollup-linux-powerpc64le-gnu": "npm:4.17.2" - "@rollup/rollup-linux-riscv64-gnu": "npm:4.17.2" - "@rollup/rollup-linux-s390x-gnu": "npm:4.17.2" - "@rollup/rollup-linux-x64-gnu": "npm:4.17.2" - "@rollup/rollup-linux-x64-musl": "npm:4.17.2" - "@rollup/rollup-win32-arm64-msvc": "npm:4.17.2" - "@rollup/rollup-win32-ia32-msvc": "npm:4.17.2" - "@rollup/rollup-win32-x64-msvc": "npm:4.17.2" - "@types/estree": "npm:1.0.5" - fsevents: "npm:~2.3.2" - dependenciesMeta: - "@rollup/rollup-android-arm-eabi": - optional: true - "@rollup/rollup-android-arm64": - optional: true - "@rollup/rollup-darwin-arm64": - optional: true - "@rollup/rollup-darwin-x64": - optional: true - "@rollup/rollup-linux-arm-gnueabihf": - optional: true - "@rollup/rollup-linux-arm-musleabihf": - optional: true - "@rollup/rollup-linux-arm64-gnu": - optional: true - "@rollup/rollup-linux-arm64-musl": - optional: true - "@rollup/rollup-linux-powerpc64le-gnu": - optional: true - "@rollup/rollup-linux-riscv64-gnu": - optional: true - "@rollup/rollup-linux-s390x-gnu": - optional: true - "@rollup/rollup-linux-x64-gnu": - optional: true - "@rollup/rollup-linux-x64-musl": - optional: true - "@rollup/rollup-win32-arm64-msvc": - optional: true - "@rollup/rollup-win32-ia32-msvc": - optional: true - "@rollup/rollup-win32-x64-msvc": - optional: true - fsevents: - optional: true + rimraf: dist/esm/bin.mjs + checksum: 10/a612c7184f96258b7d1328c486b12ca7b60aa30e04229a08bbfa7e964486deb1e9a1b52d917809311bdc39a808a4055c0f950c0280fba194ba0a09e6f0d404f6 + languageName: node + linkType: hard + +"rimraf@npm:~2.4.0": + version: 2.4.5 + resolution: "rimraf@npm:2.4.5" + dependencies: + glob: "npm:^6.0.1" bin: - rollup: dist/bin/rollup - checksum: 10/a021d57f73d746340a1c2b3a03ef0b3bb7f3c837e6acd9aa78b1b1234011aa5b5271b0ef25abba2c1ed268b5e2c90c39a0f8194bcf825728be720f9f2496b248 + rimraf: ./bin.js + checksum: 10/884c45de4195e4ce5ab6d8782d073302291a50004d1d79e628cf04b0a3594c882314b0639960333211cebe4ac888755c803cd09a5151d30e88a070af16b1573d languageName: node linkType: hard @@ -12808,7 +13158,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:2 || 3 || 4 || 5": +"semver@npm:2 || 3 || 4 || 5, semver@npm:^5.6.0": version: 5.7.2 resolution: "semver@npm:5.7.2" bin: @@ -13012,6 +13362,13 @@ __metadata: languageName: node linkType: hard +"slash@npm:^2.0.0": + version: 2.0.0 + resolution: "slash@npm:2.0.0" + checksum: 10/512d4350735375bd11647233cb0e2f93beca6f53441015eea241fe784d8068281c3987fbaa93e7ef1c38df68d9c60013045c92837423c69115297d6169aa85e6 + languageName: node + linkType: hard + "slash@npm:^3.0.0": version: 3.0.0 resolution: "slash@npm:3.0.0" @@ -13300,15 +13657,6 @@ __metadata: languageName: node linkType: hard -"stream-events@npm:^1.0.5": - version: 1.0.5 - resolution: "stream-events@npm:1.0.5" - dependencies: - stubs: "npm:^3.0.0" - checksum: 10/969ce82e34bfbef5734629cc06f9d7f3705a9ceb8fcd6a526332f9159f1f8bbfdb1a453f3ced0b728083454f7706adbbe8428bceb788a0287ca48ba2642dc3fc - languageName: node - linkType: hard - "stream-length@npm:^1.0.2": version: 1.0.2 resolution: "stream-length@npm:1.0.2" @@ -13557,13 +13905,6 @@ __metadata: languageName: node linkType: hard -"stubs@npm:^3.0.0": - version: 3.0.0 - resolution: "stubs@npm:3.0.0" - checksum: 10/dec7b82186e3743317616235c59bfb53284acc312cb9f4c3e97e2205c67a5c158b0ca89db5927e52351582e90a2672822eeaec9db396e23e56893d2a8676e024 - languageName: node - linkType: hard - "supports-color@npm:8.1.1, supports-color@npm:^8.0.0, supports-color@npm:^8.1.1": version: 8.1.1 resolution: "supports-color@npm:8.1.1" @@ -13707,32 +14048,6 @@ __metadata: languageName: node linkType: hard -"teeny-request@npm:7.0.1": - version: 7.0.1 - resolution: "teeny-request@npm:7.0.1" - dependencies: - http-proxy-agent: "npm:^4.0.0" - https-proxy-agent: "npm:^5.0.0" - node-fetch: "npm:^2.6.1" - stream-events: "npm:^1.0.5" - uuid: "npm:^8.0.0" - checksum: 10/c5a53d00fdead457e7af289f0d0329925d910f516273738f62b034c98250dd06184391f260ef3f9dd7b062b6dc43e0182623b02760f83d09282fc39859f29234 - languageName: node - linkType: hard - -"teeny-request@npm:7.1.1": - version: 7.1.1 - resolution: "teeny-request@npm:7.1.1" - dependencies: - http-proxy-agent: "npm:^4.0.0" - https-proxy-agent: "npm:^5.0.0" - node-fetch: "npm:^2.6.1" - stream-events: "npm:^1.0.5" - uuid: "npm:^8.0.0" - checksum: 10/ee2cda5ba451bfa7a9c6fe328d9f4deb3db0aa4a4252d082e1a79b543e53f42d7f0b4cd0f71e5ba116fd8d7b06a476028734523d8eba43e98bd12a407867e775 - languageName: node - linkType: hard - "teleport-javascript@npm:1.0.0": version: 1.0.0 resolution: "teleport-javascript@npm:1.0.0" @@ -13920,7 +14235,19 @@ __metadata: languageName: node linkType: hard -"tough-cookie@npm:^4.1.2, tough-cookie@npm:^4.1.3": +"tough-cookie@npm:^4.1.2": + version: 4.1.4 + resolution: "tough-cookie@npm:4.1.4" + dependencies: + psl: "npm:^1.1.33" + punycode: "npm:^2.1.1" + universalify: "npm:^0.2.0" + url-parse: "npm:^1.5.3" + checksum: 10/75663f4e2cd085f16af0b217e4218772adf0617fb3227171102618a54ce0187a164e505d61f773ed7d65988f8ff8a8f935d381f87da981752c1171b076b4afac + languageName: node + linkType: hard + +"tough-cookie@npm:^4.1.3": version: 4.1.3 resolution: "tough-cookie@npm:4.1.3" dependencies: @@ -13982,39 +14309,6 @@ __metadata: languageName: node linkType: hard -"ts-jest@npm:^29.1.2": - version: 29.1.2 - resolution: "ts-jest@npm:29.1.2" - dependencies: - bs-logger: "npm:0.x" - fast-json-stable-stringify: "npm:2.x" - jest-util: "npm:^29.0.0" - json5: "npm:^2.2.3" - lodash.memoize: "npm:4.x" - make-error: "npm:1.x" - semver: "npm:^7.5.3" - yargs-parser: "npm:^21.0.1" - peerDependencies: - "@babel/core": ">=7.0.0-beta.0 <8" - "@jest/types": ^29.0.0 - babel-jest: ^29.0.0 - jest: ^29.0.0 - typescript: ">=4.3 <6" - peerDependenciesMeta: - "@babel/core": - optional: true - "@jest/types": - optional: true - babel-jest: - optional: true - esbuild: - optional: true - bin: - ts-jest: cli.js - checksum: 10/5e40e7b933a1f3aa0d304d3c53913d1a7125fc79cd44e22b332f6e25dfe13008ddc7ac647066bb4f914d76083f7e8949f0bc156d793c30f3419f4ffd8180968b - languageName: node - linkType: hard - "ts-node@npm:^10.9.1, ts-node@npm:^10.9.2": version: 10.9.2 resolution: "ts-node@npm:10.9.2" @@ -14332,6 +14626,37 @@ __metadata: languageName: node linkType: hard +"unicode-canonical-property-names-ecmascript@npm:^2.0.0": + version: 2.0.0 + resolution: "unicode-canonical-property-names-ecmascript@npm:2.0.0" + checksum: 10/39be078afd014c14dcd957a7a46a60061bc37c4508ba146517f85f60361acf4c7539552645ece25de840e17e293baa5556268d091ca6762747fdd0c705001a45 + languageName: node + linkType: hard + +"unicode-match-property-ecmascript@npm:^2.0.0": + version: 2.0.0 + resolution: "unicode-match-property-ecmascript@npm:2.0.0" + dependencies: + unicode-canonical-property-names-ecmascript: "npm:^2.0.0" + unicode-property-aliases-ecmascript: "npm:^2.0.0" + checksum: 10/1f34a7434a23df4885b5890ac36c5b2161a809887000be560f56ad4b11126d433c0c1c39baf1016bdabed4ec54829a6190ee37aa24919aa116dc1a5a8a62965a + languageName: node + linkType: hard + +"unicode-match-property-value-ecmascript@npm:^2.1.0": + version: 2.1.0 + resolution: "unicode-match-property-value-ecmascript@npm:2.1.0" + checksum: 10/06661bc8aba2a60c7733a7044f3e13085808939ad17924ffd4f5222a650f88009eb7c09481dc9c15cfc593d4ad99bd1cde8d54042733b335672591a81c52601c + 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" + checksum: 10/243524431893649b62cc674d877bd64ef292d6071dd2fd01ab4d5ad26efbc104ffcd064f93f8a06b7e4ec54c172bf03f6417921a0d8c3a9994161fe1f88f815b + languageName: node + linkType: hard + "unique-filename@npm:^3.0.0": version: 3.0.0 resolution: "unique-filename@npm:3.0.0" @@ -14438,22 +14763,6 @@ __metadata: languageName: node linkType: hard -"urlgrey@npm:0.4.4": - version: 0.4.4 - resolution: "urlgrey@npm:0.4.4" - checksum: 10/466082b15f0d02b0f993a6e9da9efb7d84b7b3139d25526a0465a4928aefe98b6ac1b098448d9477372f65e5cc08524892847d440b5a97cc34bd6390cd85961e - languageName: node - linkType: hard - -"urlgrey@npm:1.0.0": - version: 1.0.0 - resolution: "urlgrey@npm:1.0.0" - dependencies: - fast-url-parser: "npm:^1.1.3" - checksum: 10/c981808dd2e63b49c3861110b2060828b799e1ac13305da1ce64a3f36175779d1737800fdad2fbe95372d2ee89756b691943223b0a51298581ea6c8bcd4ed89f - languageName: node - linkType: hard - "userhome@npm:1.0.0": version: 1.0.0 resolution: "userhome@npm:1.0.0" @@ -14495,7 +14804,7 @@ __metadata: languageName: node linkType: hard -"uuid@npm:8.3.2, uuid@npm:^8.0.0, uuid@npm:^8.3.2": +"uuid@npm:8.3.2, uuid@npm:^8.3.2": version: 8.3.2 resolution: "uuid@npm:8.3.2" bin: @@ -15252,8 +15561,8 @@ __metadata: linkType: hard "ws@npm:^8.11.0": - version: 8.16.0 - resolution: "ws@npm:8.16.0" + version: 8.17.0 + resolution: "ws@npm:8.17.0" peerDependencies: bufferutil: ^4.0.1 utf-8-validate: ">=5.0.2" @@ -15262,7 +15571,7 @@ __metadata: optional: true utf-8-validate: optional: true - checksum: 10/7c511c59e979bd37b63c3aea4a8e4d4163204f00bd5633c053b05ed67835481995f61a523b0ad2b603566f9a89b34cb4965cb9fab9649fbfebd8f740cea57f17 + checksum: 10/5e1dcb0ae70c6e2f158f5b446e0a72a2cd335b07aba73ee1872e9bae1285382286a10e53ed479db21bdd690a5dfd05641a768611ebb236253c62fefa43ef58b4 languageName: node linkType: hard @@ -15369,7 +15678,7 @@ __metadata: languageName: node linkType: hard -"yargs-parser@npm:^21.0.1, yargs-parser@npm:^21.1.1": +"yargs-parser@npm:^21.1.1": version: 21.1.1 resolution: "yargs-parser@npm:21.1.1" checksum: 10/9dc2c217ea3bf8d858041252d43e074f7166b53f3d010a8c711275e09cd3d62a002969a39858b92bbda2a6a63a585c7127014534a560b9c69ed2d923d113406e