diff --git a/package.json b/package.json index 4ec34d43a3..681f2ce9fb 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "lwc-monorepo", - "version": "8.13.1", + "version": "8.13.2", "private": true, "description": "Lightning Web Components", "repository": { @@ -12,12 +12,12 @@ "lint": "eslint . --cache", "format": "prettier --write .", "bundlesize": "node scripts/bundlesize/bundlesize.mjs", - "build": "nx run-many --target=build --exclude=@lwc/perf-benchmarks,@lwc/perf-benchmarks-components,@lwc/integration-tests,lwc", + "build": "nx run-many --target=build --exclude=@lwc/perf-benchmarks,@lwc/perf-benchmarks-components,@lwc/integration-tests", "build:performance": "yarn build:performance:components && yarn build:performance:benchmarks", "build:performance:components": "nx build @lwc/perf-benchmarks-components", "build:performance:benchmarks": "nx build @lwc/perf-benchmarks", "copy-fork": "./scripts/tasks/unsafe-external-contributor-ci-workaround.sh", - "dev": "nx run-many --target=dev --all --parallel=999 --exclude=@lwc/perf-benchmarks,@lwc/perf-benchmarks-components,@lwc/integration-tests,lwc", + "dev": "nx run-many --target=dev --all --parallel=999 --exclude=@lwc/perf-benchmarks,@lwc/perf-benchmarks-components,@lwc/integration-tests", "test": "vitest --workspace vitest.workspace.mjs", "test:bespoke": "nx run-many --target=test", "test:debug": "vitest --workspace vitest.workspace.mjs --inspect-brk --no-file-parallelism", @@ -35,26 +35,26 @@ }, "devDependencies": { "@commitlint/cli": "^19.7.1", - "@eslint/js": "9.19.0", + "@eslint/js": "9.20.0", "@lwc/eslint-plugin-lwc-internal": "link:./scripts/eslint-plugin", "@lwc/test-utils-lwc-internals": "link:./scripts/test-utils", - "@nx/js": "20.3.3", + "@nx/js": "20.4.0", "@rollup/plugin-commonjs": "^28.0.2", "@rollup/plugin-inject": "^5.0.5", "@rollup/plugin-node-resolve": "^16.0.0", "@rollup/plugin-replace": "^6.0.2", "@rollup/plugin-typescript": "^12.1.2", "@swc-node/register": "~1.10.9", - "@swc/core": "~1.10.12", + "@swc/core": "~1.10.15", "@swc/helpers": "~0.5.15", "@types/babel__core": "^7.20.5", - "@types/node": "^22.13.0", + "@types/node": "^22.13.1", "@vitest/coverage-v8": "^3.0.5", - "@vitest/eslint-plugin": "^1.1.25", + "@vitest/eslint-plugin": "^1.1.27", "@vitest/ui": "^3.0.5", "bytes": "^3.1.2", "es-module-lexer": "^1.6.0", - "eslint": "9.19.0", + "eslint": "9.20.0", "eslint-config-flat-gitignore": "^2.0.0", "eslint-plugin-header": "^3.1.1", "eslint-plugin-import": "^2.31.0", @@ -65,13 +65,13 @@ "jsdom": "^26.0.0", "lint-staged": "^15.4.3", "magic-string": "^0.30.17", - "nx": "20.3.3", - "prettier": "^3.4.2", - "rollup": "^4.34.1", - "terser": "^5.37.0", + "nx": "20.4.0", + "prettier": "^3.5.0", + "rollup": "^4.34.6", + "terser": "^5.38.1", "tslib": "^2.8.1", "typescript": "5.7.3", - "typescript-eslint": "8.22.0", + "typescript-eslint": "8.23.0", "vitest": "^3.0.5" }, "lint-staged": { diff --git a/packages/@lwc/aria-reflection/package.json b/packages/@lwc/aria-reflection/package.json index 5e82ffc6b0..f6f566385f 100644 --- a/packages/@lwc/aria-reflection/package.json +++ b/packages/@lwc/aria-reflection/package.json @@ -4,7 +4,7 @@ "You can safely modify dependencies, devDependencies, keywords, etc., but other props will be overwritten." ], "name": "@lwc/aria-reflection", - "version": "8.13.1", + "version": "8.13.2", "description": "ARIA element reflection polyfill for strings", "keywords": [ "aom", diff --git a/packages/@lwc/babel-plugin-component/package.json b/packages/@lwc/babel-plugin-component/package.json index fb21fbdf68..808089f6e3 100644 --- a/packages/@lwc/babel-plugin-component/package.json +++ b/packages/@lwc/babel-plugin-component/package.json @@ -4,7 +4,7 @@ "You can safely modify dependencies, devDependencies, keywords, etc., but other props will be overwritten." ], "name": "@lwc/babel-plugin-component", - "version": "8.13.1", + "version": "8.13.2", "description": "Babel plugin to transform a LWC module", "keywords": [ "lwc" @@ -47,8 +47,8 @@ }, "dependencies": { "@babel/helper-module-imports": "7.25.9", - "@lwc/errors": "8.13.1", - "@lwc/shared": "8.13.1", + "@lwc/errors": "8.13.2", + "@lwc/shared": "8.13.2", "line-column": "~1.0.2" }, "devDependencies": { diff --git a/packages/@lwc/babel-plugin-component/src/constants.ts b/packages/@lwc/babel-plugin-component/src/constants.ts index f8be05db9f..0f4e07d703 100644 --- a/packages/@lwc/babel-plugin-component/src/constants.ts +++ b/packages/@lwc/babel-plugin-component/src/constants.ts @@ -5,25 +5,6 @@ * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT */ -// This set is for attributes that have a camel cased property name -// For example, div.tabIndex. -// We do not want users to define @api properties with these names -// Because the template will never call them. It'll always call the camel -// cased version. -const AMBIGUOUS_PROP_SET = new Map([ - ['bgcolor', 'bgColor'], - ['accesskey', 'accessKey'], - ['contenteditable', 'contentEditable'], - ['tabindex', 'tabIndex'], - ['maxlength', 'maxLength'], - ['maxvalue', 'maxValue'], -]); - -// This set is for attributes that can never be defined -// by users on their components. -// We throw for these. -const DISALLOWED_PROP_SET = new Set(['is', 'class', 'slot', 'style']); - const LWC_PACKAGE_ALIAS = 'lwc'; const LWC_PACKAGE_EXPORTS = { @@ -55,9 +36,7 @@ const API_VERSION_KEY = 'apiVersion'; const COMPONENT_CLASS_ID = '__lwc_component_class_internal'; export { - AMBIGUOUS_PROP_SET, DECORATOR_TYPES, - DISALLOWED_PROP_SET, LWC_PACKAGE_ALIAS, LWC_PACKAGE_EXPORTS, LWC_COMPONENT_PROPERTIES, diff --git a/packages/@lwc/babel-plugin-component/src/decorators/api/validate.ts b/packages/@lwc/babel-plugin-component/src/decorators/api/validate.ts index 7ffdff4139..a021f05d6e 100644 --- a/packages/@lwc/babel-plugin-component/src/decorators/api/validate.ts +++ b/packages/@lwc/babel-plugin-component/src/decorators/api/validate.ts @@ -5,13 +5,9 @@ * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT */ import { DecoratorErrors } from '@lwc/errors'; +import { AMBIGUOUS_PROP_SET, DISALLOWED_PROP_SET } from '@lwc/shared'; import { generateError } from '../../utils'; -import { - AMBIGUOUS_PROP_SET, - DECORATOR_TYPES, - DISALLOWED_PROP_SET, - LWC_PACKAGE_EXPORTS, -} from '../../constants'; +import { DECORATOR_TYPES, LWC_PACKAGE_EXPORTS } from '../../constants'; import { isApiDecorator } from './shared'; import type { types, NodePath } from '@babel/core'; import type { LwcBabelPluginPass } from '../../types'; diff --git a/packages/@lwc/compiler/package.json b/packages/@lwc/compiler/package.json index f301013a86..f0879ebc6a 100644 --- a/packages/@lwc/compiler/package.json +++ b/packages/@lwc/compiler/package.json @@ -4,7 +4,7 @@ "You can safely modify dependencies, devDependencies, keywords, etc., but other props will be overwritten." ], "name": "@lwc/compiler", - "version": "8.13.1", + "version": "8.13.2", "description": "LWC compiler", "keywords": [ "lwc" @@ -46,17 +46,17 @@ } }, "dependencies": { - "@babel/core": "7.26.7", - "@babel/plugin-transform-async-generator-functions": "7.25.9", + "@babel/core": "7.26.8", + "@babel/plugin-transform-async-generator-functions": "7.26.8", "@babel/plugin-transform-async-to-generator": "7.25.9", "@babel/plugin-transform-class-properties": "7.25.9", "@babel/plugin-transform-object-rest-spread": "7.25.9", "@locker/babel-plugin-transform-unforgeables": "0.22.0", - "@lwc/babel-plugin-component": "8.13.1", - "@lwc/errors": "8.13.1", - "@lwc/shared": "8.13.1", - "@lwc/ssr-compiler": "8.13.1", - "@lwc/style-compiler": "8.13.1", - "@lwc/template-compiler": "8.13.1" + "@lwc/babel-plugin-component": "8.13.2", + "@lwc/errors": "8.13.2", + "@lwc/shared": "8.13.2", + "@lwc/ssr-compiler": "8.13.2", + "@lwc/style-compiler": "8.13.2", + "@lwc/template-compiler": "8.13.2" } } diff --git a/packages/@lwc/engine-core/package.json b/packages/@lwc/engine-core/package.json index 0cbc9505b7..ce51aee942 100644 --- a/packages/@lwc/engine-core/package.json +++ b/packages/@lwc/engine-core/package.json @@ -4,7 +4,7 @@ "You can safely modify dependencies, devDependencies, keywords, etc., but other props will be overwritten." ], "name": "@lwc/engine-core", - "version": "8.13.1", + "version": "8.13.2", "description": "Core LWC engine APIs.", "keywords": [ "lwc" @@ -46,9 +46,9 @@ } }, "dependencies": { - "@lwc/features": "8.13.1", - "@lwc/shared": "8.13.1", - "@lwc/signals": "8.13.1" + "@lwc/features": "8.13.2", + "@lwc/shared": "8.13.2", + "@lwc/signals": "8.13.2" }, "devDependencies": { "observable-membrane": "2.0.0" diff --git a/packages/@lwc/engine-dom/package.json b/packages/@lwc/engine-dom/package.json index af20d8b9e8..612cf81082 100644 --- a/packages/@lwc/engine-dom/package.json +++ b/packages/@lwc/engine-dom/package.json @@ -4,7 +4,7 @@ "You can safely modify dependencies, devDependencies, keywords, etc., but other props will be overwritten." ], "name": "@lwc/engine-dom", - "version": "8.13.1", + "version": "8.13.2", "description": "Renders LWC components in a DOM environment.", "keywords": [ "lwc" @@ -46,9 +46,9 @@ } }, "devDependencies": { - "@lwc/engine-core": "8.13.1", - "@lwc/shared": "8.13.1", - "@lwc/features": "8.13.1" + "@lwc/engine-core": "8.13.2", + "@lwc/shared": "8.13.2", + "@lwc/features": "8.13.2" }, "lwc": { "modules": [ diff --git a/packages/@lwc/engine-server/package.json b/packages/@lwc/engine-server/package.json index cc9dd942ed..72d3ebb9ef 100644 --- a/packages/@lwc/engine-server/package.json +++ b/packages/@lwc/engine-server/package.json @@ -4,7 +4,7 @@ "You can safely modify dependencies, devDependencies, keywords, etc., but other props will be overwritten." ], "name": "@lwc/engine-server", - "version": "8.13.1", + "version": "8.13.2", "description": "Renders LWC components in a server environment.", "keywords": [ "lwc" @@ -46,10 +46,10 @@ } }, "devDependencies": { - "@lwc/engine-core": "8.13.1", - "@lwc/rollup-plugin": "8.13.1", - "@lwc/shared": "8.13.1", - "@lwc/features": "8.13.1", + "@lwc/engine-core": "8.13.2", + "@lwc/rollup-plugin": "8.13.2", + "@lwc/shared": "8.13.2", + "@lwc/features": "8.13.2", "@rollup/plugin-virtual": "^3.0.2", "parse5": "^7.2.1" } diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/ssr-internals/config.json b/packages/@lwc/engine-server/src/__tests__/fixtures/ssr-internals/config.json new file mode 100644 index 0000000000..59676736cb --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/ssr-internals/config.json @@ -0,0 +1,6 @@ +{ + "ssrFiles": { + "error": "error-ssr.txt", + "expected": "expected-ssr.html" + } +} diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/ssr-internals/error-ssr.txt b/packages/@lwc/engine-server/src/__tests__/fixtures/ssr-internals/error-ssr.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/ssr-internals/error.txt b/packages/@lwc/engine-server/src/__tests__/fixtures/ssr-internals/error.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/ssr-internals/expected-ssr.html b/packages/@lwc/engine-server/src/__tests__/fixtures/ssr-internals/expected-ssr.html new file mode 100644 index 0000000000..1008a98dec --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/ssr-internals/expected-ssr.html @@ -0,0 +1,16 @@ + + + \ No newline at end of file diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/ssr-internals/expected.html b/packages/@lwc/engine-server/src/__tests__/fixtures/ssr-internals/expected.html new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/ssr-internals/index.js b/packages/@lwc/engine-server/src/__tests__/fixtures/ssr-internals/index.js new file mode 100644 index 0000000000..cd34090d2c --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/ssr-internals/index.js @@ -0,0 +1,3 @@ +export const tagName = 'x-component'; +export { default } from 'x/component'; +export * from 'x/component'; diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/ssr-internals/modules/x/component/component.html b/packages/@lwc/engine-server/src/__tests__/fixtures/ssr-internals/modules/x/component/component.html new file mode 100644 index 0000000000..cb84fb081f --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/ssr-internals/modules/x/component/component.html @@ -0,0 +1,6 @@ + diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/ssr-internals/modules/x/component/component.js b/packages/@lwc/engine-server/src/__tests__/fixtures/ssr-internals/modules/x/component/component.js new file mode 100644 index 0000000000..a39cc98b8f --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/ssr-internals/modules/x/component/component.js @@ -0,0 +1,24 @@ +import { LightningElement } from 'lwc'; +import { SYMBOL__DEFAULT_TEMPLATE, SYMBOL__GENERATE_MARKUP } from '@lwc/ssr-runtime'; + +const myGenerateMarkup = () => '

hili

'; +const myPublicProperties = ['philip']; +const myTmpl = () => { + throw new Error('PHILIP'); +}; + +export default class Component extends LightningElement { + static [SYMBOL__DEFAULT_TEMPLATE] = myTmpl; + static [SYMBOL__GENERATE_MARKUP] = myGenerateMarkup; + static ['__lwcPublicProperties__'] = myPublicProperties; + + get isGenerateMarkupOverridden() { + return Component[SYMBOL__DEFAULT_TEMPLATE] === myGenerateMarkup; + } + get isTmplOverridden() { + return Component[SYMBOL__GENERATE_MARKUP] === myTmpl; + } + get isPublicPropsOverridden() { + return Component['__lwcPublicProperties__'] === myPublicProperties; + } +} diff --git a/packages/@lwc/errors/package.json b/packages/@lwc/errors/package.json index 7c5c8a58c9..e357c1d273 100644 --- a/packages/@lwc/errors/package.json +++ b/packages/@lwc/errors/package.json @@ -4,7 +4,7 @@ "You can safely modify dependencies, devDependencies, keywords, etc., but other props will be overwritten." ], "name": "@lwc/errors", - "version": "8.13.1", + "version": "8.13.2", "description": "LWC Error Utilities", "keywords": [ "lwc" diff --git a/packages/@lwc/features/package.json b/packages/@lwc/features/package.json index 64a64f02f7..1d96322d7d 100644 --- a/packages/@lwc/features/package.json +++ b/packages/@lwc/features/package.json @@ -4,7 +4,7 @@ "You can safely modify dependencies, devDependencies, keywords, etc., but other props will be overwritten." ], "name": "@lwc/features", - "version": "8.13.1", + "version": "8.13.2", "description": "LWC Features Flags", "keywords": [ "lwc" @@ -46,6 +46,6 @@ } }, "dependencies": { - "@lwc/shared": "8.13.1" + "@lwc/shared": "8.13.2" } } diff --git a/packages/@lwc/integration-karma/package.json b/packages/@lwc/integration-karma/package.json index 2be7c8d1e6..cf50cbc58c 100644 --- a/packages/@lwc/integration-karma/package.json +++ b/packages/@lwc/integration-karma/package.json @@ -1,7 +1,7 @@ { "name": "@lwc/integration-karma", "private": true, - "version": "8.13.1", + "version": "8.13.2", "scripts": { "start": "KARMA_MODE=watch karma start ./scripts/karma-configs/test/local.js", "test": "karma start ./scripts/karma-configs/test/local.js --single-run --browsers ChromeHeadless", @@ -17,11 +17,11 @@ "karma-sauce-launcher-fix-firefox": "using a fork to work around https://github.com/karma-runner/karma-sauce-launcher/issues/275" }, "devDependencies": { - "@lwc/compiler": "8.13.1", - "@lwc/engine-dom": "8.13.1", - "@lwc/engine-server": "8.13.1", - "@lwc/rollup-plugin": "8.13.1", - "@lwc/synthetic-shadow": "8.13.1", + "@lwc/compiler": "8.13.2", + "@lwc/engine-dom": "8.13.2", + "@lwc/engine-server": "8.13.2", + "@lwc/rollup-plugin": "8.13.2", + "@lwc/synthetic-shadow": "8.13.2", "@types/jasmine": "^5.1.5", "chokidar": "^4.0.3", "istanbul-lib-coverage": "^3.2.2", diff --git a/packages/@lwc/integration-tests/package.json b/packages/@lwc/integration-tests/package.json index 362c740125..db51dcf03d 100644 --- a/packages/@lwc/integration-tests/package.json +++ b/packages/@lwc/integration-tests/package.json @@ -1,7 +1,7 @@ { "name": "@lwc/integration-tests", "private": true, - "version": "8.13.1", + "version": "8.13.2", "scripts": { "build": "node scripts/build.js", "build:dev": "MODE=dev yarn build", @@ -18,16 +18,16 @@ "sauce:prod:ci": "MODE=prod yarn build:prod && MODE=prod ../../../scripts/ci/retry.sh wdio ./scripts/wdio.sauce.conf.js" }, "devDependencies": { - "@lwc/rollup-plugin": "8.13.1", - "@wdio/cli": "^9.7.2", - "@wdio/local-runner": "^9.7.2", - "@wdio/mocha-framework": "^9.7.2", - "@wdio/sauce-service": "^9.7.2", - "@wdio/spec-reporter": "^9.6.3", + "@lwc/rollup-plugin": "8.13.2", + "@wdio/cli": "^9.8.0", + "@wdio/local-runner": "^9.8.0", + "@wdio/mocha-framework": "^9.7.3", + "@wdio/sauce-service": "^9.8.0", + "@wdio/spec-reporter": "^9.8.0", "@wdio/static-server-service": "^9.6.3", "deepmerge": "^4.3.1", "dotenv": "^16.4.7", - "lwc": "8.13.1", + "lwc": "8.13.2", "minimist": "^1.2.8", "webdriverio": "^9.0.7" }, diff --git a/packages/@lwc/integration-types/package.json b/packages/@lwc/integration-types/package.json index 6433e2ce9a..4ab818e953 100644 --- a/packages/@lwc/integration-types/package.json +++ b/packages/@lwc/integration-types/package.json @@ -1,7 +1,7 @@ { "name": "@lwc/integration-types", "private": true, - "version": "8.13.1", + "version": "8.13.2", "description": "Type validation for LWC packages", "type": "module", "scripts": { @@ -9,13 +9,13 @@ "playground": "rollup -c src/playground/rollup.config.js --watch" }, "dependencies": { - "@lwc/rollup-plugin": "8.13.1", - "lwc": "8.13.1" + "@lwc/rollup-plugin": "8.13.2", + "lwc": "8.13.2" }, "devDependencies": { "@rollup/plugin-replace": "^6.0.2", "@rollup/plugin-typescript": "^12.1.2", - "rollup": "^4.34.1", + "rollup": "^4.34.6", "rollup-plugin-livereload": "^2.0.5", "rollup-plugin-serve": "^3.0.0" } diff --git a/packages/@lwc/module-resolver/package.json b/packages/@lwc/module-resolver/package.json index 5b5fac23a2..628eab9e0b 100644 --- a/packages/@lwc/module-resolver/package.json +++ b/packages/@lwc/module-resolver/package.json @@ -4,7 +4,7 @@ "You can safely modify dependencies, devDependencies, keywords, etc., but other props will be overwritten." ], "name": "@lwc/module-resolver", - "version": "8.13.1", + "version": "8.13.2", "description": "Resolves paths for LWC components", "keywords": [ "lwc" diff --git a/packages/@lwc/perf-benchmarks-components/package.json b/packages/@lwc/perf-benchmarks-components/package.json index 61a076d317..cf8bf7157c 100644 --- a/packages/@lwc/perf-benchmarks-components/package.json +++ b/packages/@lwc/perf-benchmarks-components/package.json @@ -1,12 +1,12 @@ { "name": "@lwc/perf-benchmarks-components", - "version": "8.13.1", + "version": "8.13.2", "private": true, "scripts": { "build": "rm -fr dist && rollup -c ./rollup.config.mjs" }, "devDependencies": { - "@lwc/rollup-plugin": "8.13.1" + "@lwc/rollup-plugin": "8.13.2" }, "nx": { "targets": { diff --git a/packages/@lwc/perf-benchmarks/package.json b/packages/@lwc/perf-benchmarks/package.json index 7d29f5727b..15afcd0e03 100644 --- a/packages/@lwc/perf-benchmarks/package.json +++ b/packages/@lwc/perf-benchmarks/package.json @@ -1,6 +1,6 @@ { "name": "@lwc/perf-benchmarks", - "version": "8.13.1", + "version": "8.13.2", "private": true, "scripts": { "build": "rm -fr dist && rollup -c ./rollup.config.mjs && node scripts/build.js && ./scripts/fix-deps.sh", @@ -15,11 +15,11 @@ "Don't forget to add these to fix-deps.sh as well." ], "dependencies": { - "@lwc/engine-dom": "8.13.1", - "@lwc/engine-server": "8.13.1", - "@lwc/perf-benchmarks-components": "8.13.1", - "@lwc/ssr-runtime": "8.13.1", - "@lwc/synthetic-shadow": "8.13.1" + "@lwc/engine-dom": "8.13.2", + "@lwc/engine-server": "8.13.2", + "@lwc/perf-benchmarks-components": "8.13.2", + "@lwc/ssr-runtime": "8.13.2", + "@lwc/synthetic-shadow": "8.13.2" }, "devDependencies": { "@best/cli": "^14.0.0", diff --git a/packages/@lwc/rollup-plugin/package.json b/packages/@lwc/rollup-plugin/package.json index a3cacf6669..098fb7c5db 100644 --- a/packages/@lwc/rollup-plugin/package.json +++ b/packages/@lwc/rollup-plugin/package.json @@ -4,7 +4,7 @@ "You can safely modify dependencies, devDependencies, keywords, etc., but other props will be overwritten." ], "name": "@lwc/rollup-plugin", - "version": "8.13.1", + "version": "8.13.2", "description": "Rollup plugin to compile LWC", "keywords": [ "lwc" @@ -46,13 +46,13 @@ } }, "dependencies": { - "@lwc/compiler": "8.13.1", - "@lwc/module-resolver": "8.13.1", - "@lwc/shared": "8.13.1", + "@lwc/compiler": "8.13.2", + "@lwc/module-resolver": "8.13.2", + "@lwc/shared": "8.13.2", "@rollup/pluginutils": "~5.1.4" }, "devDependencies": { - "@lwc/errors": "8.13.1" + "@lwc/errors": "8.13.2" }, "peerDependencies": { "rollup": "^1.2.0||^2.0.0||^3.0.0||^4.0.0" diff --git a/packages/@lwc/shared/package.json b/packages/@lwc/shared/package.json index f5f1801a4d..bb3b893f9e 100644 --- a/packages/@lwc/shared/package.json +++ b/packages/@lwc/shared/package.json @@ -4,7 +4,7 @@ "You can safely modify dependencies, devDependencies, keywords, etc., but other props will be overwritten." ], "name": "@lwc/shared", - "version": "8.13.1", + "version": "8.13.2", "description": "Utilities and methods that are shared across packages", "keywords": [ "lwc" diff --git a/packages/@lwc/shared/src/html-attributes.ts b/packages/@lwc/shared/src/html-attributes.ts index ac37b419fc..c35367767d 100644 --- a/packages/@lwc/shared/src/html-attributes.ts +++ b/packages/@lwc/shared/src/html-attributes.ts @@ -194,3 +194,26 @@ export function kebabCaseToCamelCase(attrName: string): string { return result; } + +/** + * This set is for attributes that have a camel cased property name + * For example, div.tabIndex. + * We do not want users to define `@api` properties with these names + * Because the template will never call them. It'll always call the camel + * cased version. + */ +export const AMBIGUOUS_PROP_SET = /*@__PURE__@*/ new Map([ + ['bgcolor', 'bgColor'], + ['accesskey', 'accessKey'], + ['contenteditable', 'contentEditable'], + ['tabindex', 'tabIndex'], + ['maxlength', 'maxLength'], + ['maxvalue', 'maxValue'], +]); + +/** + * This set is for attributes that can never be defined + * by users on their components. + * We throw for these. + */ +export const DISALLOWED_PROP_SET = /*@__PURE__@*/ new Set(['is', 'class', 'slot', 'style']); diff --git a/packages/@lwc/signals/package.json b/packages/@lwc/signals/package.json index b74c5b47ed..7198243051 100644 --- a/packages/@lwc/signals/package.json +++ b/packages/@lwc/signals/package.json @@ -4,7 +4,7 @@ "You can safely modify dependencies, devDependencies, keywords, etc., but other props will be overwritten." ], "name": "@lwc/signals", - "version": "8.13.1", + "version": "8.13.2", "description": "Provides the interface to interact with reactivity from outside the framework", "keywords": [ "lwc" @@ -46,6 +46,6 @@ } }, "devDependencies": { - "@lwc/shared": "8.13.1" + "@lwc/shared": "8.13.2" } } diff --git a/packages/@lwc/ssr-compiler/package.json b/packages/@lwc/ssr-compiler/package.json index f1505db516..ae3660e4de 100644 --- a/packages/@lwc/ssr-compiler/package.json +++ b/packages/@lwc/ssr-compiler/package.json @@ -4,7 +4,7 @@ "You can safely modify dependencies, devDependencies, keywords, etc., but other props will be overwritten." ], "name": "@lwc/ssr-compiler", - "version": "8.13.1", + "version": "8.13.2", "description": "Compile component for use during server-side rendering", "keywords": [ "compiler", @@ -48,10 +48,10 @@ } }, "dependencies": { - "@babel/types": "7.26.7", - "@lwc/shared": "8.13.1", - "@lwc/errors": "8.13.1", - "@lwc/template-compiler": "8.13.1", + "@babel/types": "7.26.8", + "@lwc/shared": "8.13.2", + "@lwc/errors": "8.13.2", + "@lwc/template-compiler": "8.13.2", "acorn": "8.14.0", "astring": "^1.9.0", "estree-toolkit": "^1.7.8", @@ -59,7 +59,7 @@ "meriyah": "^5.0.0" }, "devDependencies": { - "@lwc/babel-plugin-component": "8.13.1", + "@lwc/babel-plugin-component": "8.13.2", "@types/estree": "^1.0.6" } } diff --git a/packages/@lwc/ssr-compiler/src/__tests__/api-decorator.spec.ts b/packages/@lwc/ssr-compiler/src/__tests__/api-decorator.spec.ts new file mode 100644 index 0000000000..dc03c08f75 --- /dev/null +++ b/packages/@lwc/ssr-compiler/src/__tests__/api-decorator.spec.ts @@ -0,0 +1,168 @@ +import { describe, test, expect } from 'vitest'; +import { compileComponentForSSR } from '../index'; + +const compile = + (src: string, filename = 'test.js') => + () => { + return compileComponentForSSR(src, filename, {}); + }; + +describe('thows error', () => { + test('combined with @track', () => { + const src = /* js */ ` + import { api, track, LightningElement } from "lwc"; + export default class Test extends LightningElement { + @track + @api + apiWithTrack = "foo"; + } + `; + expect(compile(src)).toThrow(`LWC1093: @api method or property cannot be used with @track`); + }); + + describe('conflicting api properties', () => { + test.for([ + [ + 'getter/setter', + /* js */ ` + @api foo = 1; + _internal = 1; + @api + get foo() { + return "foo"; + } + set foo(val) { + this._internal = val; + }`, + ], + [ + 'method', + /* js */ ` + @api foo = 1; + @api foo() { + return "foo"; + }`, + ], + ])(`%s`, ([, body]) => { + const src = /* js */ ` + import { api, LightningElement } from "lwc"; + export default class Test extends LightningElement { + ${body} + } + `; + expect(compile(src)).toThrow(`LWC1096: Duplicate @api property "foo".`); + }); + }); + + test('default value is true', () => { + const src = /* js */ ` + import { api, LightningElement } from "lwc"; + export default class Test extends LightningElement { + @api publicProp = true; + } + `; + expect(compile(src)).toThrow(`LWC1099: Boolean public property must default to false.`); + }); + + test('computed api getters and setters', () => { + const src = /* js */ ` + import { api, LightningElement } from "lwc"; + export default class Test extends LightningElement { + @api + set [x](value) {} + get [x]() {} + } + `; + expect(compile(src)).toThrow( + `LWC1106: @api cannot be applied to a computed property, getter, setter or method.` + ); + }); + + test('property name prefixed with data', () => { + const src = /* js */ ` + import { api, LightningElement } from "lwc"; + export default class Test extends LightningElement { + @api dataFooBar; + } + `; + expect(compile(src)).toThrow( + `LWC1107: Invalid property name "dataFooBar". Properties starting with "data" are reserved attributes.` + ); + }); + + test('property name prefixed with on', () => { + const src = /* js */ ` + import { api, LightningElement } from "lwc"; + export default class Test extends LightningElement { + @api onChangeHandler; + } + `; + expect(compile(src)).toThrow( + `LWC1108: Invalid property name "onChangeHandler". Properties starting with "on" are reserved for event handlers` + ); + }); + + describe('property name is ambiguous', () => { + test.for([ + ['bgcolor', 'bgColor'], + ['accesskey', 'accessKey'], + ['contenteditable', 'contentEditable'], + ['tabindex', 'tabIndex'], + ['maxlength', 'maxLength'], + ['maxvalue', 'maxValue'], + ] as [prop: string, suggestion: string][])('%s', ([prop, suggestion]) => { + const src = /* js */ ` + import { api, LightningElement } from "lwc"; + export default class Test extends LightningElement { + @api ${prop}; + } + `; + expect(compile(src)).toThrow( + `LWC1109: Ambiguous attribute name "${prop}". "${prop}" will never be called from template because its corresponding property is camel cased. Consider renaming to "${suggestion}"` + ); + }); + }); + + describe('disallowed props', () => { + test.for(['class', 'is', 'slot', 'style'])('%s', (prop) => { + const src = /* js */ ` + import { api, LightningElement } from 'lwc' + export default class Test extends LightningElement { + @api ${prop} + } + `; + expect(compile(src)).toThrow( + `LWC1110: Invalid property name "${prop}". "${prop}" is a reserved attribute.` + ); + }); + }); + + test('property name is part', () => { + const src = /* js */ ` + import { api, LightningElement } from "lwc"; + export default class Test extends LightningElement { + @api part; + } + `; + expect(compile(src)).toThrow( + `LWC1111: Invalid property name "part". "part" is a future reserved attribute for web components.` + ); + }); + + test('both getter and a setter', () => { + const src = /* js */ ` + import { api, LightningElement } from "lwc"; + export default class Test extends LightningElement { + @api get something() { + return this.s; + } + @api set something(value) { + this.s = value; + } + } + `; + expect(compile(src)).toThrow( + `LWC1112: @api get something and @api set something detected in class declaration. Only one of the two needs to be decorated with @api.` + ); + }); +}); diff --git a/packages/@lwc/ssr-compiler/src/compile-js/decorators/api/index.ts b/packages/@lwc/ssr-compiler/src/compile-js/decorators/api/index.ts new file mode 100644 index 0000000000..bbb791b887 --- /dev/null +++ b/packages/@lwc/ssr-compiler/src/compile-js/decorators/api/index.ts @@ -0,0 +1,15 @@ +/* + * Copyright (c) 2024, Salesforce, Inc. + * All rights reserved. + * SPDX-License-Identifier: MIT + * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT + */ +import type { Decorator, Identifier } from 'estree'; + +export function isApiDecorator(decorator: Decorator | undefined): decorator is Decorator & { + expression: Identifier & { + name: 'api'; + }; +} { + return decorator?.expression.type === 'Identifier' && decorator.expression.name === 'api'; +} diff --git a/packages/@lwc/ssr-compiler/src/compile-js/decorators/api/validate.ts b/packages/@lwc/ssr-compiler/src/compile-js/decorators/api/validate.ts new file mode 100644 index 0000000000..65a905d5a3 --- /dev/null +++ b/packages/@lwc/ssr-compiler/src/compile-js/decorators/api/validate.ts @@ -0,0 +1,108 @@ +/* + * Copyright (c) 2024, Salesforce, Inc. + * All rights reserved. + * SPDX-License-Identifier: MIT + * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT + */ + +import { DecoratorErrors } from '@lwc/errors'; +import { DISALLOWED_PROP_SET, AMBIGUOUS_PROP_SET } from '@lwc/shared'; +import { is } from 'estree-toolkit'; +import { generateError } from '../../errors'; +import { type ComponentMetaState } from '../../types'; +import type { Identifier, MethodDefinition, PropertyDefinition } from 'estree'; +export type ApiMethodDefinition = MethodDefinition & { + key: Identifier; +}; +export type ApiPropertyDefinition = PropertyDefinition & { + key: Identifier; +}; + +export type ApiDefinition = ApiPropertyDefinition | ApiMethodDefinition; + +function validateName(definition: ApiDefinition) { + if (definition.computed) { + throw generateError(definition, DecoratorErrors.PROPERTY_CANNOT_BE_COMPUTED); + } + + const propertyName = definition.key.name; + + switch (true) { + case propertyName === 'part': + throw generateError( + definition, + DecoratorErrors.PROPERTY_NAME_PART_IS_RESERVED, + propertyName + ); + case propertyName.startsWith('on'): + throw generateError( + definition, + DecoratorErrors.PROPERTY_NAME_CANNOT_START_WITH_ON, + propertyName + ); + case propertyName.startsWith('data') && propertyName.length > 4: + throw generateError( + definition, + DecoratorErrors.PROPERTY_NAME_CANNOT_START_WITH_DATA, + propertyName + ); + case DISALLOWED_PROP_SET.has(propertyName): + throw generateError( + definition, + DecoratorErrors.PROPERTY_NAME_IS_RESERVED, + propertyName + ); + case AMBIGUOUS_PROP_SET.has(propertyName): + throw generateError( + definition, + DecoratorErrors.PROPERTY_NAME_IS_AMBIGUOUS, + propertyName, + AMBIGUOUS_PROP_SET.get(propertyName)! + ); + } +} + +function validatePropertyValue(property: ApiPropertyDefinition) { + if (is.literal(property.value) && property.value.value === true) { + throw generateError(property, DecoratorErrors.INVALID_BOOLEAN_PUBLIC_PROPERTY); + } +} + +function validatePropertyUnique(node: ApiPropertyDefinition, state: ComponentMetaState) { + if (state.publicProperties.has(node.key.name)) { + throw generateError(node, DecoratorErrors.DUPLICATE_API_PROPERTY, node.key.name); + } +} + +export function validateApiProperty(node: ApiPropertyDefinition, state: ComponentMetaState) { + validatePropertyUnique(node, state); + validateName(node); + validatePropertyValue(node); +} + +function validateUniqueMethod(node: ApiMethodDefinition, state: ComponentMetaState) { + const field = state.publicProperties.get(node.key.name); + + if (!field) { + return; + } + + if ( + field.type === 'MethodDefinition' && + (field.kind === 'get' || field.kind === 'set') && + (node.kind === 'get' || node.kind === 'set') + ) { + throw generateError( + node, + DecoratorErrors.SINGLE_DECORATOR_ON_SETTER_GETTER_PAIR, + node.key.name + ); + } + + throw generateError(node, DecoratorErrors.DUPLICATE_API_PROPERTY, node.key.name); +} + +export function validateApiMethod(node: ApiMethodDefinition, state: ComponentMetaState) { + validateUniqueMethod(node, state); + validateName(node); +} diff --git a/packages/@lwc/ssr-compiler/src/compile-js/decorators/index.ts b/packages/@lwc/ssr-compiler/src/compile-js/decorators/index.ts new file mode 100644 index 0000000000..d831ba661b --- /dev/null +++ b/packages/@lwc/ssr-compiler/src/compile-js/decorators/index.ts @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2024, Salesforce, Inc. + * All rights reserved. + * SPDX-License-Identifier: MIT + * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT + */ +import { DecoratorErrors } from '@lwc/errors'; +import { generateError } from '../errors'; +import { isApiDecorator } from './api'; +import { isTrackDecorator } from './track'; +import { isWireDecorator } from './wire'; +import type { Decorator as EsDecorator } from 'estree'; + +export function validateUniqueDecorator(decorators: EsDecorator[]) { + if (decorators.length < 2) { + return; + } + + const wire = decorators.find(isWireDecorator); + const api = decorators.find(isApiDecorator); + const track = decorators.find(isTrackDecorator); + + if (wire) { + if (api) { + throw generateError(wire, DecoratorErrors.CONFLICT_WITH_ANOTHER_DECORATOR, 'api'); + } + + if (track) { + throw generateError(wire, DecoratorErrors.CONFLICT_WITH_ANOTHER_DECORATOR, 'track'); + } + } + + if (api && track) { + throw generateError(api, DecoratorErrors.API_AND_TRACK_DECORATOR_CONFLICT); + } +} diff --git a/packages/@lwc/ssr-compiler/src/compile-js/decorators/track.ts b/packages/@lwc/ssr-compiler/src/compile-js/decorators/track.ts new file mode 100644 index 0000000000..d72f9f4156 --- /dev/null +++ b/packages/@lwc/ssr-compiler/src/compile-js/decorators/track.ts @@ -0,0 +1,13 @@ +/* + * Copyright (c) 2024, Salesforce, Inc. + * All rights reserved. + * SPDX-License-Identifier: MIT + * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT + */ +import type { Decorator, Identifier } from 'estree'; + +export function isTrackDecorator( + decorator: Decorator | undefined +): decorator is Decorator & { expression: Identifier & { name: 'track' } } { + return decorator?.expression.type === 'Identifier' && decorator.expression.name === 'track'; +} diff --git a/packages/@lwc/ssr-compiler/src/compile-js/wire.ts b/packages/@lwc/ssr-compiler/src/compile-js/decorators/wire.ts similarity index 93% rename from packages/@lwc/ssr-compiler/src/compile-js/wire.ts rename to packages/@lwc/ssr-compiler/src/compile-js/decorators/wire.ts index 69d68ac899..b733ace220 100644 --- a/packages/@lwc/ssr-compiler/src/compile-js/wire.ts +++ b/packages/@lwc/ssr-compiler/src/compile-js/decorators/wire.ts @@ -8,8 +8,8 @@ import { is, builders as b } from 'estree-toolkit'; import { produce } from 'immer'; import { DecoratorErrors } from '@lwc/errors'; -import { esTemplate } from '../estemplate'; -import { generateError } from './errors'; +import { esTemplate } from '../../estemplate'; +import { generateError } from '../errors'; import type { NodePath } from 'estree-toolkit'; import type { @@ -22,8 +22,10 @@ import type { MemberExpression, Property, BlockStatement, + Decorator, + CallExpression, } from 'estree'; -import type { ComponentMetaState, WireAdapter } from './types'; +import type { ComponentMetaState, WireAdapter } from '../types'; interface NoSpreadObjectExpression extends Omit { properties: Property[]; @@ -217,3 +219,13 @@ export function bWireAdaptersPlumbing(adapters: WireAdapter[]): BlockStatement[] return bWireAdapterPlumbing(adapterId, actionUponNewValue, config); }); } + +export function isWireDecorator(decorator: Decorator | undefined): decorator is Decorator & { + expression: CallExpression & { callee: Identifier & { name: 'wire' } }; +} { + return ( + is.callExpression(decorator?.expression) && + is.identifier(decorator.expression.callee) && + decorator.expression.callee.name === 'wire' + ); +} diff --git a/packages/@lwc/ssr-compiler/src/compile-js/errors.ts b/packages/@lwc/ssr-compiler/src/compile-js/errors.ts index b63846225c..b333e30f30 100644 --- a/packages/@lwc/ssr-compiler/src/compile-js/errors.ts +++ b/packages/@lwc/ssr-compiler/src/compile-js/errors.ts @@ -5,7 +5,7 @@ * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT */ import { type LWCErrorInfo, generateCompilerError } from '@lwc/errors'; -import type { Node } from 'estree'; +import type { BaseNodeWithoutComments } from 'estree'; // This type extracts the arguments in a string. Example: "Error {0} {1}" -> [string, string] type ExtractArguments< @@ -19,7 +19,7 @@ type ExtractArguments< : Args; // No `N` found, nothing more to check export function generateError( - node: Node, + node: BaseNodeWithoutComments, error: T, ...messageArgs: ExtractArguments ) { diff --git a/packages/@lwc/ssr-compiler/src/compile-js/generate-markup.ts b/packages/@lwc/ssr-compiler/src/compile-js/generate-markup.ts index f817734ae4..137fe5a589 100644 --- a/packages/@lwc/ssr-compiler/src/compile-js/generate-markup.ts +++ b/packages/@lwc/ssr-compiler/src/compile-js/generate-markup.ts @@ -9,7 +9,7 @@ import { parse as pathParse } from 'node:path'; import { is, builders as b } from 'estree-toolkit'; import { esTemplate } from '../estemplate'; import { bImportDeclaration } from '../estree/builders'; -import { bWireAdaptersPlumbing } from './wire'; +import { bWireAdaptersPlumbing } from './decorators/wire'; import type { Program, Statement, IfStatement } from 'estree'; import type { ComponentMetaState } from './types'; @@ -20,7 +20,14 @@ const bGenerateMarkup = esTemplate` const __lwcPublicProperties__ = new Set(${/*public properties*/ is.arrayExpression}.concat(__lwcSuperPublicProperties__)); const __lwcPrivateProperties__ = new Set(${/*private properties*/ is.arrayExpression}); - ${/* component class */ 0}[__SYMBOL__GENERATE_MARKUP] = async function* generateMarkup( + Object.defineProperty( + ${/* component class */ 0}, + __SYMBOL__GENERATE_MARKUP, + { + configurable: false, + enumerable: false, + writable: false, + value: async function* generateMarkup( tagName, props, attrs, @@ -30,57 +37,76 @@ const bGenerateMarkup = esTemplate` parent, scopeToken, contextfulParent - ) { - tagName = tagName ?? ${/*component tag name*/ is.literal}; - attrs = attrs ?? Object.create(null); - props = props ?? Object.create(null); - const instance = new ${/* Component class */ 0}({ - tagName: tagName.toUpperCase(), - }); + ) { + tagName = tagName ?? ${/*component tag name*/ is.literal}; + attrs = attrs ?? Object.create(null); + props = props ?? Object.create(null); + const instance = new ${/* Component class */ 0}({ + tagName: tagName.toUpperCase(), + }); - __establishContextfulRelationship(contextfulParent, instance); - ${/*connect wire*/ is.statement} + __establishContextfulRelationship(contextfulParent, instance); + ${/*connect wire*/ is.statement} - instance[__SYMBOL__SET_INTERNALS]( - props, - attrs, - __lwcPublicProperties__, - __lwcPrivateProperties__, - ); - instance.isConnected = true; - if (instance.connectedCallback) { - __mutationTracker.enable(instance); - instance.connectedCallback(); - __mutationTracker.disable(instance); - } - // If a render() function is defined on the class or any of its superclasses, then that takes priority. - // Next, if the class or any of its superclasses has an implicitly-associated template, then that takes - // second priority (e.g. a foo.html file alongside a foo.js file). Finally, there is a fallback empty template. - const tmplFn = instance.render?.() ?? ${/*component class*/ 0}[__SYMBOL__DEFAULT_TEMPLATE] ?? __fallbackTmpl; - yield \`<\${tagName}\`; + instance[__SYMBOL__SET_INTERNALS]( + props, + attrs, + __lwcPublicProperties__, + __lwcPrivateProperties__, + ); + instance.isConnected = true; + if (instance.connectedCallback) { + __mutationTracker.enable(instance); + instance.connectedCallback(); + __mutationTracker.disable(instance); + } + // If a render() function is defined on the class or any of its superclasses, then that takes priority. + // Next, if the class or any of its superclasses has an implicitly-associated template, then that takes + // second priority (e.g. a foo.html file alongside a foo.js file). Finally, there is a fallback empty template. + const tmplFn = instance.render?.() ?? ${/*component class*/ 0}[__SYMBOL__DEFAULT_TEMPLATE] ?? __fallbackTmpl; + yield \`<\${tagName}\`; - const hostHasScopedStylesheets = - tmplFn.hasScopedStylesheets || - hasScopedStaticStylesheets(${/*component class*/ 0}); - const hostScopeToken = hostHasScopedStylesheets ? tmplFn.stylesheetScopeToken + "-host" : undefined; + const hostHasScopedStylesheets = + tmplFn.hasScopedStylesheets || + hasScopedStaticStylesheets(${/*component class*/ 0}); + const hostScopeToken = hostHasScopedStylesheets ? tmplFn.stylesheetScopeToken + "-host" : undefined; - yield* __renderAttrs(instance, attrs, hostScopeToken, scopeToken); - yield '>'; - yield* tmplFn( - shadowSlottedContent, - lightSlottedContent, - scopedSlottedContent, - ${/*component class*/ 0}, - instance - ); - yield \`\`; - } - ${/* component class */ 0}.__lwcPublicProperties__ = __lwcPublicProperties__; + yield* __renderAttrs(instance, attrs, hostScopeToken, scopeToken); + yield '>'; + yield* tmplFn( + shadowSlottedContent, + lightSlottedContent, + scopedSlottedContent, + ${/*component class*/ 0}, + instance + ); + yield \`\`; + } + }); + Object.defineProperty( + ${/* component class */ 0}, + '__lwcPublicProperties__', + { + configurable: false, + enumerable: false, + writable: false, + value: __lwcPublicProperties__ + } + ); `<[Statement]>; const bExposeTemplate = esTemplate` if (${/*template*/ is.identifier}) { - ${/* component class */ is.identifier}[__SYMBOL__DEFAULT_TEMPLATE] = ${/*template*/ 0} + Object.defineProperty( + ${/* component class */ is.identifier}, + __SYMBOL__DEFAULT_TEMPLATE, + { + configurable: false, + enumerable: false, + writable: false, + value: ${/*template*/ 0} + } + ); } `; @@ -143,8 +169,8 @@ export function addGenerateMarkupFunction( program.body.push( ...bGenerateMarkup( classIdentifier, - b.arrayExpression(publicProperties.map(b.literal)), - b.arrayExpression(privateProperties.map(b.literal)), + b.arrayExpression([...publicProperties.keys()].map(b.literal)), + b.arrayExpression([...privateProperties].map(b.literal)), defaultTagName, connectWireAdapterCode ) diff --git a/packages/@lwc/ssr-compiler/src/compile-js/index.ts b/packages/@lwc/ssr-compiler/src/compile-js/index.ts index 49c42abc6d..5263e77680 100644 --- a/packages/@lwc/ssr-compiler/src/compile-js/index.ts +++ b/packages/@lwc/ssr-compiler/src/compile-js/index.ts @@ -9,7 +9,6 @@ import { generate } from 'astring'; import { traverse, builders as b, is } from 'estree-toolkit'; import { parseModule } from 'meriyah'; -import { DecoratorErrors } from '@lwc/errors'; import { LWC_VERSION_COMMENT, type CompilationMode } from '@lwc/shared'; import { transmogrify } from '../transmogrify'; import { ImportManager } from '../imports'; @@ -17,18 +16,23 @@ import { replaceLwcImport, replaceNamedLwcExport, replaceAllLwcExport } from './ import { catalogTmplImport } from './catalog-tmpls'; import { catalogStaticStylesheets, catalogAndReplaceStyleImports } from './stylesheets'; import { addGenerateMarkupFunction } from './generate-markup'; -import { catalogWireAdapters } from './wire'; +import { catalogWireAdapters, isWireDecorator } from './decorators/wire'; +import { validateApiProperty, validateApiMethod } from './decorators/api/validate'; +import { isApiDecorator } from './decorators/api'; import { removeDecoratorImport } from './remove-decorator-import'; -import { generateError } from './errors'; + +import { type Visitors, type ComponentMetaState } from './types'; +import { validateUniqueDecorator } from './decorators'; import type { ComponentTransformOptions } from '../shared'; import type { Identifier as EsIdentifier, Program as EsProgram, - Decorator as EsDecorator, + PropertyDefinition as EsPropertyDefinition, + MethodDefinition as EsMethodDefinition, + Identifier, Comment as EsComment, } from 'estree'; -import type { Visitors, ComponentMetaState } from './types'; const visitors: Visitors = { $: { scope: true }, @@ -112,28 +116,20 @@ const visitors: Visitors = { // Seems to occur for `@wire() [symbol];` -- not sure why throw new Error('Unknown state: property definition has no key'); } - if (!is.identifier(node.key)) { + if (!isKeyIdentifier(node)) { return; } const { decorators } = node; validateUniqueDecorator(decorators); - const decoratedExpression = decorators?.[0]?.expression; - if (is.identifier(decoratedExpression) && decoratedExpression.name === 'api') { - state.publicProperties.push(node.key.name); - } else if ( - is.callExpression(decoratedExpression) && - is.identifier(decoratedExpression.callee) && - decoratedExpression.callee.name === 'wire' - ) { - if (node.computed) { - // TODO [#5032]: Harmonize errors thrown in `@lwc/ssr-compiler` - throw new Error('@wire cannot be used on computed properties in SSR context.'); - } + if (isApiDecorator(decorators[0])) { + validateApiProperty(node, state); + state.publicProperties.set(node.key.name, node); + } else if (isWireDecorator(decorators[0])) { catalogWireAdapters(path, state); - state.privateProperties.push(node.key.name); + state.privateProperties.add(node.key.name); } else { - state.privateProperties.push(node.key.name); + state.privateProperties.add(node.key.name); } if ( @@ -150,10 +146,9 @@ const visitors: Visitors = { }, MethodDefinition(path, state) { const node = path.node; - if (!is.identifier(node?.key)) { + if (!isKeyIdentifier(node)) { return; } - // If we mutate any class-methods that are piped through this compiler, then we'll be // inadvertently mutating things like Wire adapters. if (!state.isLWC) { @@ -162,21 +157,15 @@ const visitors: Visitors = { const { decorators } = node; validateUniqueDecorator(decorators); - // The real type is a subset of `Expression`, which doesn't work with the `is` validators - const decoratedExpression = decorators?.[0]?.expression; - if ( - is.callExpression(decoratedExpression) && - is.identifier(decoratedExpression.callee) && - decoratedExpression.callee.name === 'wire' - ) { - // not a getter/setter - const isRealMethod = node.kind === 'method'; + if (isApiDecorator(decorators[0])) { + validateApiMethod(node, state); + state.publicProperties.set(node.key.name, node); + } else if (isWireDecorator(decorators[0])) { if (node.computed) { // TODO [#5032]: Harmonize errors thrown in `@lwc/ssr-compiler` - throw new Error( - `@wire cannot be used on computed ${isRealMethod ? 'method' : 'properties'} in SSR context.` - ); + throw new Error('@wire cannot be used on computed properties in SSR context.'); } + const isRealMethod = node.kind === 'method'; // Getters and setters are methods in the AST, but treated as properties by @wire // Note that this means that their implementations are ignored! if (!isRealMethod) { @@ -195,14 +184,6 @@ const visitors: Visitors = { } else { catalogWireAdapters(path, state); } - } else if (is.identifier(decoratedExpression) && decoratedExpression.name === 'api') { - if (state.publicProperties.includes(node.key.name)) { - // TODO [#5032]: Harmonize errors thrown in `@lwc/ssr-compiler` - throw new Error( - `LWC1112: @api get ${node.key.name} and @api set ${node.key.name} detected in class declaration. Only one of the two needs to be decorated with @api.` - ); - } - state.publicProperties.push(node.key.name); } switch (node.key.name) { @@ -270,30 +251,6 @@ const visitors: Visitors = { }, }; -function validateUniqueDecorator(decorators: EsDecorator[]) { - if (decorators.length < 2) { - return; - } - - const expressions = decorators.map(({ expression }) => expression); - - const wire = expressions.find( - (expr) => is.callExpression(expr) && is.identifier(expr.callee, { name: 'wire' }) - ); - - const api = expressions.find((expr) => is.identifier(expr, { name: 'api' })); - - if (wire && api) { - throw generateError(wire, DecoratorErrors.CONFLICT_WITH_ANOTHER_DECORATOR, 'api'); - } - - const track = expressions.find((expr) => is.identifier(expr, { name: 'track' })); - - if (wire && track) { - throw generateError(wire, DecoratorErrors.CONFLICT_WITH_ANOTHER_DECORATOR, 'track'); - } -} - export default function compileJS( src: string, filename: string, @@ -321,8 +278,8 @@ export default function compileJS( tmplExplicitImports: null, cssExplicitImports: null, staticStylesheetIds: null, - publicProperties: [], - privateProperties: [], + publicProperties: new Map(), + privateProperties: new Set(), wireAdapters: [], experimentalDynamicComponent: options.experimentalDynamicComponent, importManager: new ImportManager(), @@ -353,3 +310,9 @@ export default function compileJS( }), }; } + +function isKeyIdentifier( + node: T | undefined | null +): node is T & { key: Identifier } { + return is.identifier(node?.key); +} diff --git a/packages/@lwc/ssr-compiler/src/compile-js/types.ts b/packages/@lwc/ssr-compiler/src/compile-js/types.ts index 3690338a52..eb2c2e2d97 100644 --- a/packages/@lwc/ssr-compiler/src/compile-js/types.ts +++ b/packages/@lwc/ssr-compiler/src/compile-js/types.ts @@ -5,9 +5,9 @@ * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT */ +import { type traverse } from 'estree-toolkit'; import type { ImportManager } from '../imports'; import type { ComponentTransformOptions } from '../shared'; -import type { traverse } from 'estree-toolkit'; import type { Identifier, MemberExpression, @@ -49,9 +49,9 @@ export interface ComponentMetaState { // the set of variable names associated with explicitly imported CSS files staticStylesheetIds: Set | null; // the public (`@api`-annotated) properties of the component class - publicProperties: Array; + publicProperties: Map; // the private properties of the component class - privateProperties: Array; + privateProperties: Set; // indicates whether the LightningElement has any wired props wireAdapters: WireAdapter[]; // dynamic imports configuration diff --git a/packages/@lwc/ssr-runtime/package.json b/packages/@lwc/ssr-runtime/package.json index d9bd0714ec..6bab4fa4e4 100644 --- a/packages/@lwc/ssr-runtime/package.json +++ b/packages/@lwc/ssr-runtime/package.json @@ -4,7 +4,7 @@ "You can safely modify dependencies, devDependencies, keywords, etc., but other props will be overwritten." ], "name": "@lwc/ssr-runtime", - "version": "8.13.1", + "version": "8.13.2", "description": "Runtime complement to @lwc/ssr-compiler", "keywords": [ "lwc", @@ -48,8 +48,8 @@ } }, "devDependencies": { - "@lwc/shared": "8.13.1", - "@lwc/engine-core": "8.13.1", + "@lwc/shared": "8.13.2", + "@lwc/engine-core": "8.13.2", "observable-membrane": "2.0.0" } } diff --git a/packages/@lwc/ssr-runtime/src/lightning-element.ts b/packages/@lwc/ssr-runtime/src/lightning-element.ts index 464830d247..207f920288 100644 --- a/packages/@lwc/ssr-runtime/src/lightning-element.ts +++ b/packages/@lwc/ssr-runtime/src/lightning-element.ts @@ -162,6 +162,12 @@ export class LightningElement implements PropsAvailableAtConstruction { // noop } + get template() { + return { + synthetic: false, + }; + } + // ----------------------------------------------------------- // // Props/methods explicitly not available in this environment // // Getters are named "get*" for parity with @lwc/engine-server // diff --git a/packages/@lwc/style-compiler/package.json b/packages/@lwc/style-compiler/package.json index e5696bfbb2..f044431d10 100644 --- a/packages/@lwc/style-compiler/package.json +++ b/packages/@lwc/style-compiler/package.json @@ -4,7 +4,7 @@ "You can safely modify dependencies, devDependencies, keywords, etc., but other props will be overwritten." ], "name": "@lwc/style-compiler", - "version": "8.13.1", + "version": "8.13.2", "description": "Transform style sheet to be consumed by the LWC engine", "keywords": [ "lwc" @@ -46,9 +46,9 @@ } }, "dependencies": { - "@lwc/shared": "8.13.1", + "@lwc/shared": "8.13.2", "postcss": "~8.5.1", - "postcss-selector-parser": "~7.0.0", + "postcss-selector-parser": "~7.1.0", "postcss-value-parser": "~4.2.0" } } diff --git a/packages/@lwc/synthetic-shadow/package.json b/packages/@lwc/synthetic-shadow/package.json index b114243003..eac7f03cb0 100644 --- a/packages/@lwc/synthetic-shadow/package.json +++ b/packages/@lwc/synthetic-shadow/package.json @@ -4,7 +4,7 @@ "You can safely modify dependencies, devDependencies, keywords, etc., but other props will be overwritten." ], "name": "@lwc/synthetic-shadow", - "version": "8.13.1", + "version": "8.13.2", "description": "Synthetic Shadow Root for LWC", "keywords": [ "lwc" @@ -46,8 +46,8 @@ } }, "devDependencies": { - "@lwc/features": "8.13.1", - "@lwc/shared": "8.13.1" + "@lwc/features": "8.13.2", + "@lwc/shared": "8.13.2" }, "lwc": { "modules": [ diff --git a/packages/@lwc/template-compiler/package.json b/packages/@lwc/template-compiler/package.json index 7f16a5726b..5857481578 100644 --- a/packages/@lwc/template-compiler/package.json +++ b/packages/@lwc/template-compiler/package.json @@ -4,7 +4,7 @@ "You can safely modify dependencies, devDependencies, keywords, etc., but other props will be overwritten." ], "name": "@lwc/template-compiler", - "version": "8.13.1", + "version": "8.13.2", "description": "Template compiler package", "keywords": [ "lwc" @@ -46,8 +46,8 @@ } }, "dependencies": { - "@lwc/errors": "8.13.1", - "@lwc/shared": "8.13.1", + "@lwc/errors": "8.13.2", + "@lwc/shared": "8.13.2", "acorn": "~8.14.0", "astring": "~1.9.0", "he": "~1.2.0" diff --git a/packages/@lwc/types/package.json b/packages/@lwc/types/package.json index 9254762612..e2fda47563 100644 --- a/packages/@lwc/types/package.json +++ b/packages/@lwc/types/package.json @@ -4,7 +4,7 @@ "You can safely modify dependencies, devDependencies, keywords, etc., but other props will be overwritten." ], "name": "@lwc/types", - "version": "8.13.1", + "version": "8.13.2", "keywords": [ "lwc", "types", @@ -32,6 +32,6 @@ "*.d.ts" ], "dependencies": { - "@lwc/engine-core": "8.13.1" + "@lwc/engine-core": "8.13.2" } } diff --git a/packages/@lwc/wire-service/package.json b/packages/@lwc/wire-service/package.json index aa60cef462..ff6478c101 100644 --- a/packages/@lwc/wire-service/package.json +++ b/packages/@lwc/wire-service/package.json @@ -4,7 +4,7 @@ "You can safely modify dependencies, devDependencies, keywords, etc., but other props will be overwritten." ], "name": "@lwc/wire-service", - "version": "8.13.1", + "version": "8.13.2", "description": "@wire service", "keywords": [ "lwc" @@ -46,8 +46,8 @@ } }, "devDependencies": { - "@lwc/engine-core": "8.13.1", - "@lwc/shared": "8.13.1" + "@lwc/engine-core": "8.13.2", + "@lwc/shared": "8.13.2" }, "lwc": { "modules": [ diff --git a/packages/lwc/package.json b/packages/lwc/package.json index 6f148eb39d..8ff389b20c 100644 --- a/packages/lwc/package.json +++ b/packages/lwc/package.json @@ -1,6 +1,6 @@ { "name": "lwc", - "version": "8.13.1", + "version": "8.13.2", "description": "Lightning Web Components (LWC)", "homepage": "https://lwc.dev/", "repository": { @@ -21,24 +21,24 @@ "!vitest.config.*" ], "dependencies": { - "@lwc/aria-reflection": "8.13.1", - "@lwc/babel-plugin-component": "8.13.1", - "@lwc/compiler": "8.13.1", - "@lwc/engine-core": "8.13.1", - "@lwc/engine-dom": "8.13.1", - "@lwc/engine-server": "8.13.1", - "@lwc/errors": "8.13.1", - "@lwc/features": "8.13.1", - "@lwc/module-resolver": "8.13.1", - "@lwc/rollup-plugin": "8.13.1", - "@lwc/shared": "8.13.1", - "@lwc/ssr-compiler": "8.13.1", - "@lwc/ssr-runtime": "8.13.1", - "@lwc/style-compiler": "8.13.1", - "@lwc/synthetic-shadow": "8.13.1", - "@lwc/template-compiler": "8.13.1", - "@lwc/types": "8.13.1", - "@lwc/wire-service": "8.13.1" + "@lwc/aria-reflection": "8.13.2", + "@lwc/babel-plugin-component": "8.13.2", + "@lwc/compiler": "8.13.2", + "@lwc/engine-core": "8.13.2", + "@lwc/engine-dom": "8.13.2", + "@lwc/engine-server": "8.13.2", + "@lwc/errors": "8.13.2", + "@lwc/features": "8.13.2", + "@lwc/module-resolver": "8.13.2", + "@lwc/rollup-plugin": "8.13.2", + "@lwc/shared": "8.13.2", + "@lwc/ssr-compiler": "8.13.2", + "@lwc/ssr-runtime": "8.13.2", + "@lwc/style-compiler": "8.13.2", + "@lwc/synthetic-shadow": "8.13.2", + "@lwc/template-compiler": "8.13.2", + "@lwc/types": "8.13.2", + "@lwc/wire-service": "8.13.2" }, "lwc": { "modules": [ diff --git a/playground/package.json b/playground/package.json index c171494404..742debaf82 100644 --- a/playground/package.json +++ b/playground/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "@lwc/playground", - "version": "8.13.1", + "version": "8.13.2", "type": "module", "description": "Playground project to experiment with LWC.", "scripts": { @@ -9,10 +9,10 @@ "build": "NODE_ENV=production rollup -c" }, "devDependencies": { - "@lwc/rollup-plugin": "8.13.1", + "@lwc/rollup-plugin": "8.13.2", "@rollup/plugin-replace": "^6.0.2", - "lwc": "8.13.1", - "rollup": "^4.34.1", + "lwc": "8.13.2", + "rollup": "^4.34.6", "rollup-plugin-livereload": "^2.0.5", "rollup-plugin-serve": "^3.0.0" }, diff --git a/yarn.lock b/yarn.lock index 934227c0a0..83196366b6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -21,7 +21,7 @@ "@csstools/css-tokenizer" "^3.0.3" lru-cache "^10.4.3" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.21.4", "@babel/code-frame@^7.25.9", "@babel/code-frame@^7.26.2": +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.21.4", "@babel/code-frame@^7.26.2": version "7.26.2" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.26.2.tgz#4b5fab97d33338eff916235055f0ebc21e573a85" integrity sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ== @@ -35,21 +35,22 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.26.5.tgz#df93ac37f4417854130e21d72c66ff3d4b897fc7" integrity sha512-XvcZi1KWf88RVbF9wn8MN6tYFloU5qX8KjuF3E1PVBmJ9eypXfs4GRiJwLuTZL0iSnJUKn1BFPa5BPZZJyFzPg== -"@babel/core@7.26.7", "@babel/core@^7.12.3", "@babel/core@^7.23.2": - version "7.26.7" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.26.7.tgz#0439347a183b97534d52811144d763a17f9d2b24" - integrity sha512-SRijHmF0PSPgLIBYlWnG0hyeJLwXE2CgpsXaMOrtt2yp9/86ALw6oUlj9KYuZ0JN07T4eBMVIW4li/9S1j2BGA== +"@babel/core@7.26.8", "@babel/core@^7.12.3", "@babel/core@^7.23.2": + version "7.26.8" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.26.8.tgz#7742f11c75acea6b08a8e24c5c0c8c89e89bf53e" + integrity sha512-l+lkXCHS6tQEc5oUpK28xBOZ6+HwaH7YwoYQbLFiYb4nS2/l1tKnZEtEWkD0GuiYdvArf9qBS0XlQGXzPMsNqQ== dependencies: "@ampproject/remapping" "^2.2.0" "@babel/code-frame" "^7.26.2" - "@babel/generator" "^7.26.5" + "@babel/generator" "^7.26.8" "@babel/helper-compilation-targets" "^7.26.5" "@babel/helper-module-transforms" "^7.26.0" "@babel/helpers" "^7.26.7" - "@babel/parser" "^7.26.7" - "@babel/template" "^7.25.9" - "@babel/traverse" "^7.26.7" - "@babel/types" "^7.26.7" + "@babel/parser" "^7.26.8" + "@babel/template" "^7.26.8" + "@babel/traverse" "^7.26.8" + "@babel/types" "^7.26.8" + "@types/gensync" "^1.0.0" convert-source-map "^2.0.0" debug "^4.1.0" gensync "^1.0.0-beta.2" @@ -66,13 +67,13 @@ "@jridgewell/trace-mapping" "^0.3.17" jsesc "^2.5.1" -"@babel/generator@^7.26.5", "@babel/generator@^7.4.4": - version "7.26.5" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.26.5.tgz#e44d4ab3176bbcaf78a5725da5f1dc28802a9458" - integrity sha512-2caSP6fN9I7HOe6nqhtft7V4g7/V/gfDsC3Ag4W7kEzzvRGKqiv0pu0HogPiZ3KaVSoNDhUws6IJjDjpfmYIXw== +"@babel/generator@^7.26.8", "@babel/generator@^7.4.4": + version "7.26.8" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.26.8.tgz#f9c5e770309e12e3099ad8271e52f6caa15442ab" + integrity sha512-ef383X5++iZHWAXX0SXQR6ZyQhw/0KtTkrTz61WXRhFM6dhpHulO/RJz79L8S6ugZHJkOOkUrUdxgdF2YiPFnA== dependencies: - "@babel/parser" "^7.26.5" - "@babel/types" "^7.26.5" + "@babel/parser" "^7.26.8" + "@babel/types" "^7.26.8" "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.25" jsesc "^3.0.2" @@ -223,19 +224,12 @@ "@babel/template" "^7.25.9" "@babel/types" "^7.26.7" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.25.4", "@babel/parser@^7.25.9", "@babel/parser@^7.26.5", "@babel/parser@^7.4.5": - version "7.26.5" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.26.5.tgz#6fec9aebddef25ca57a935c86dbb915ae2da3e1f" - integrity sha512-SRJ4jYmXRqV1/Xc+TIVG84WjHBXKlxO9sHQnA2Pf12QQEAp1LOh6kDzNHXcUnbH1QI0FDoPPVOt+vyUDucxpaw== +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.25.4", "@babel/parser@^7.26.8", "@babel/parser@^7.4.5": + version "7.26.8" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.26.8.tgz#deca2b4d99e5e1b1553843b99823f118da6107c2" + integrity sha512-TZIQ25pkSoaKEYYaHbbxkfL36GNsQ6iFiBbeuzAkLnXayKR1yP1zFe+NxuZWWsUyvt8icPU9CCq0sgWGXR1GEw== dependencies: - "@babel/types" "^7.26.5" - -"@babel/parser@^7.26.7": - version "7.26.7" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.26.7.tgz#e114cd099e5f7d17b05368678da0fb9f69b3385c" - integrity sha512-kEvgGGgEjRUutvdVvZhbn/BxVt+5VSpwXz1j3WYXQbXDo8KzFOPNG2GQbdAiNq8g6wn1yKk7C/qrke03a84V+w== - dependencies: - "@babel/types" "^7.26.7" + "@babel/types" "^7.26.8" "@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.25.9": version "7.25.9" @@ -340,14 +334,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-async-generator-functions@7.25.9", "@babel/plugin-transform-async-generator-functions@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.9.tgz#1b18530b077d18a407c494eb3d1d72da505283a2" - integrity sha512-RXV6QAzTBbhDMO9fWwOmwwTuYaiPbggWQ9INdZqAYeSHyG7FzQ+nOZaUUjNwKv9pV3aE4WFqFm1Hnbci5tBCAw== +"@babel/plugin-transform-async-generator-functions@7.26.8", "@babel/plugin-transform-async-generator-functions@^7.25.9": + version "7.26.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.26.8.tgz#5e3991135e3b9c6eaaf5eff56d1ae5a11df45ff8" + integrity sha512-He9Ej2X7tNf2zdKMAGOsmg2MrFc+hfoAhd3po4cWfo/NWjzEAKa0oQruj1ROVUdl0e6fb6/kE/G3SSxE0lRJOg== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.26.5" "@babel/helper-remap-async-to-generator" "^7.25.9" - "@babel/traverse" "^7.25.9" + "@babel/traverse" "^7.26.8" "@babel/plugin-transform-async-to-generator@7.25.9", "@babel/plugin-transform-async-to-generator@^7.25.9": version "7.25.9" @@ -838,60 +832,39 @@ "@babel/plugin-transform-modules-commonjs" "^7.25.9" "@babel/plugin-transform-typescript" "^7.25.9" -"@babel/runtime@^7.22.6", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4": +"@babel/runtime@^7.12.5", "@babel/runtime@^7.22.6", "@babel/runtime@^7.8.4": version "7.26.7" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.26.7.tgz#f4e7fe527cd710f8dc0618610b61b4b060c3c341" integrity sha512-AOPI3D+a8dXnja+iwsUqGRjr1BbZIe771sXdapOtYI531gSqpi92vXivKcq2asu/DFpdl1ceFAKZyRzK2PCVcQ== dependencies: regenerator-runtime "^0.14.0" -"@babel/template@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.25.9.tgz#ecb62d81a8a6f5dc5fe8abfc3901fc52ddf15016" - integrity sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg== - dependencies: - "@babel/code-frame" "^7.25.9" - "@babel/parser" "^7.25.9" - "@babel/types" "^7.25.9" - -"@babel/traverse@^7.16.0", "@babel/traverse@^7.25.9", "@babel/traverse@^7.26.5", "@babel/traverse@^7.4.5": - version "7.26.5" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.26.5.tgz#6d0be3e772ff786456c1a37538208286f6e79021" - integrity sha512-rkOSPOw+AXbgtwUga3U4u8RpoK9FEFWBNAlTpcnkLFjL5CT+oyHNuUUC/xx6XefEJ16r38r8Bc/lfp6rYuHeJQ== +"@babel/template@^7.25.9", "@babel/template@^7.26.8": + version "7.26.8" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.26.8.tgz#db3898f47a17bab2f4c78ec1d0de38527c2ffe19" + integrity sha512-iNKaX3ZebKIsCvJ+0jd6embf+Aulaa3vNBqZ41kM7iTWjx5qzWKXGHiJUW3+nTpQ18SG11hdF8OAzKrpXkb96Q== dependencies: "@babel/code-frame" "^7.26.2" - "@babel/generator" "^7.26.5" - "@babel/parser" "^7.26.5" - "@babel/template" "^7.25.9" - "@babel/types" "^7.26.5" - debug "^4.3.1" - globals "^11.1.0" + "@babel/parser" "^7.26.8" + "@babel/types" "^7.26.8" -"@babel/traverse@^7.26.7": - version "7.26.7" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.26.7.tgz#99a0a136f6a75e7fb8b0a1ace421e0b25994b8bb" - integrity sha512-1x1sgeyRLC3r5fQOM0/xtQKsYjyxmFjaOrLJNtZ81inNjyJHGIolTULPiSc/2qe1/qfpFLisLQYFnnZl7QoedA== +"@babel/traverse@^7.16.0", "@babel/traverse@^7.25.9", "@babel/traverse@^7.26.5", "@babel/traverse@^7.26.8", "@babel/traverse@^7.4.5": + version "7.26.8" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.26.8.tgz#0a8a9c2b7cc9519eed14275f4fd2278ad46e8cc9" + integrity sha512-nic9tRkjYH0oB2dzr/JoGIm+4Q6SuYeLEiIiZDwBscRMYFJ+tMAz98fuel9ZnbXViA2I0HVSSRRK8DW5fjXStA== dependencies: "@babel/code-frame" "^7.26.2" - "@babel/generator" "^7.26.5" - "@babel/parser" "^7.26.7" - "@babel/template" "^7.25.9" - "@babel/types" "^7.26.7" + "@babel/generator" "^7.26.8" + "@babel/parser" "^7.26.8" + "@babel/template" "^7.26.8" + "@babel/types" "^7.26.8" debug "^4.3.1" globals "^11.1.0" -"@babel/types@7.26.7", "@babel/types@^7.26.7": - version "7.26.7" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.26.7.tgz#5e2b89c0768e874d4d061961f3a5a153d71dc17a" - integrity sha512-t8kDRGrKXyp6+tjUh7hw2RLyclsW4TRoRvRHtSyAX9Bb5ldlFh+90YAYY6awRXrlB4G5G2izNeGySpATlFzmOg== - dependencies: - "@babel/helper-string-parser" "^7.25.9" - "@babel/helper-validator-identifier" "^7.25.9" - -"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.22.10", "@babel/types@^7.25.4", "@babel/types@^7.25.9", "@babel/types@^7.26.5", "@babel/types@^7.4.4": - version "7.26.5" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.26.5.tgz#7a1e1c01d28e26d1fe7f8ec9567b3b92b9d07747" - integrity sha512-L6mZmwFDK6Cjh1nRCLXpa6no13ZIioJDz7mdkzHv399pThrTa/k0nUlNaenOeh2kWu/iaOQYElEpKPUswUa9Vg== +"@babel/types@7.26.8", "@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.22.10", "@babel/types@^7.25.4", "@babel/types@^7.25.9", "@babel/types@^7.26.7", "@babel/types@^7.26.8", "@babel/types@^7.4.4": + version "7.26.8" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.26.8.tgz#97dcdc190fab45be7f3dc073e3c11160d677c127" + integrity sha512-eUuWapzEGWFEpHFxgEaBG8e3n6S8L3MSu0oda755rOfabWPnh0Our1AozNFVUxGFIhbKgd1ksprsoDGMinTOTA== dependencies: "@babel/helper-string-parser" "^7.25.9" "@babel/helper-validator-identifier" "^7.25.9" @@ -1601,6 +1574,13 @@ dependencies: "@types/json-schema" "^7.0.15" +"@eslint/core@^0.11.0": + version "0.11.0" + resolved "https://registry.yarnpkg.com/@eslint/core/-/core-0.11.0.tgz#7a9226e850922e42cbd2ba71361eacbe74352a12" + integrity sha512-DWUB2pksgNEb6Bz2fggIy1wh6fGgZP4Xyy/Mt0QZPiloKKXerbqq9D3SBQTlCRYOrcRPu4vuz+CGjwdfqxnoWA== + dependencies: + "@types/json-schema" "^7.0.15" + "@eslint/eslintrc@^3.2.0": version "3.2.0" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-3.2.0.tgz#57470ac4e2e283a6bf76044d63281196e370542c" @@ -1616,10 +1596,10 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@9.19.0": - version "9.19.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.19.0.tgz#51dbb140ed6b49d05adc0b171c41e1a8713b7789" - integrity sha512-rbq9/g38qjfqFLOVPvwjIvFFdNziEC5S65jmjPw5r6A//QH+W91akh9irMwjDN8zKUTak6W9EsAv4m/7Wnw0UQ== +"@eslint/js@9.20.0": + version "9.20.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.20.0.tgz#7421bcbe74889fcd65d1be59f00130c289856eb4" + integrity sha512-iZA07H9io9Wn836aVTytRaNqh00Sad+EamwOVJT12GTLw1VGMFV/4JaME+JjLtr9fiGaoWgYnS54wrfWsSs4oQ== "@eslint/object-schema@^2.1.5": version "2.1.5" @@ -1991,10 +1971,10 @@ mkdirp "^1.0.4" rimraf "^3.0.2" -"@nx/devkit@20.3.3": - version "20.3.3" - resolved "https://registry.yarnpkg.com/@nx/devkit/-/devkit-20.3.3.tgz#fe499feb617bc4b69ced629fec4bd94d4f14dae3" - integrity sha512-YwVQQpyeMpQeXzu4/Yv6Ng3ZZxJ45RGbGqbb+VWQfDKkZIHcyR7iLLQDaLpyl34HkrLYdZez9BB8wnyn3IaxqA== +"@nx/devkit@20.4.0": + version "20.4.0" + resolved "https://registry.yarnpkg.com/@nx/devkit/-/devkit-20.4.0.tgz#0f3a7659b8d92074f0f2fee74f18f72e2f08e9ac" + integrity sha512-qog9oGbuz7DDoXH5k+19tTI3WtaR1p9G5NobiDPfcWmsr1BTK2WH2V2/vVYFAfAcM/DEFgK3ITC5L3PSaJvMmw== dependencies: ejs "^3.1.7" enquirer "~2.3.6" @@ -2005,10 +1985,10 @@ tslib "^2.3.0" yargs-parser "21.1.1" -"@nx/js@20.3.3": - version "20.3.3" - resolved "https://registry.yarnpkg.com/@nx/js/-/js-20.3.3.tgz#ffc00ddc27cd4bebd2aee1b2af674a6cc85f5086" - integrity sha512-IVECDcjUv3mzM4uIR/BhWs1IbmvGAw2EkGoISsaiXqffFlQpQBOqypZmKORTjQr7Qyn4kHzEJ7EyuQM9w/MYpA== +"@nx/js@20.4.0": + version "20.4.0" + resolved "https://registry.yarnpkg.com/@nx/js/-/js-20.4.0.tgz#698c4e99920dca1e11371724c02fe4a70770787e" + integrity sha512-7ly4gdJlP+yLA2FSANv86qrdiQSf64zTLVZj7Xu9KrSsrHr3OCX1DfzzcLgUVisumRkLxqvUrz7pzspooWdS/Q== dependencies: "@babel/core" "^7.23.2" "@babel/plugin-proposal-decorators" "^7.22.7" @@ -2017,11 +1997,11 @@ "@babel/preset-env" "^7.23.2" "@babel/preset-typescript" "^7.22.5" "@babel/runtime" "^7.22.6" - "@nx/devkit" "20.3.3" - "@nx/workspace" "20.3.3" + "@nx/devkit" "20.4.0" + "@nx/workspace" "20.4.0" "@zkochan/js-yaml" "0.0.7" babel-plugin-const-enum "^1.0.1" - babel-plugin-macros "^2.8.0" + babel-plugin-macros "^3.1.0" babel-plugin-transform-typescript-metadata "^0.3.1" chalk "^4.1.0" columnify "^1.6.0" @@ -2041,65 +2021,65 @@ tsconfig-paths "^4.1.2" tslib "^2.3.0" -"@nx/nx-darwin-arm64@20.3.3": - version "20.3.3" - resolved "https://registry.yarnpkg.com/@nx/nx-darwin-arm64/-/nx-darwin-arm64-20.3.3.tgz#ca71ec90a7f4c87053cd8d0a1c440942fecb2233" - integrity sha512-4C7ShMrqp1vbH1ZgvSlkt0f35hJcqKtRcf8n/tCck46rnMkj4egXi3K1dE6uQcOorwiD1ttAr0DHcI1TTqcNXw== - -"@nx/nx-darwin-x64@20.3.3": - version "20.3.3" - resolved "https://registry.yarnpkg.com/@nx/nx-darwin-x64/-/nx-darwin-x64-20.3.3.tgz#d2ec9855359a14cb6dd6904eafde57c4e3fcabf4" - integrity sha512-OUtJ7gA09pJC+a+RcZf1bGbMM4T7a/IcPb97z1xOoxr5Wm2s8BGBQUW2CKJ5gCp5iI1pGo44F12u0G9gbYClow== - -"@nx/nx-freebsd-x64@20.3.3": - version "20.3.3" - resolved "https://registry.yarnpkg.com/@nx/nx-freebsd-x64/-/nx-freebsd-x64-20.3.3.tgz#7b812c484d4a5be2c188414a57063d32a9bbb42c" - integrity sha512-q4SABgKYWPGOcdfRZne6n8HF4CzltRL5nJ3q093jQAUO93yPXtWzhQBaKZIZr6aPoqq0/NuH6xY4gNo4w9F8Bg== - -"@nx/nx-linux-arm-gnueabihf@20.3.3": - version "20.3.3" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-20.3.3.tgz#847455666dd40ada56849061109d6f4b6ba42b99" - integrity sha512-e07PJcVsBT/Aelo/Vj6hLplDZamGCZ3zOJpW3XVBhdG4DC4sn+jodsdrIASoEpmF70VB89lzQsm9GrAgQPaWOA== - -"@nx/nx-linux-arm64-gnu@20.3.3": - version "20.3.3" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-20.3.3.tgz#17fe1e0df21cfbbe859eef0a449397666be4749a" - integrity sha512-1Z9chlN0/hWzliMer7TvdLT8cb6BKpGjZ15a+rQuUbO/CyLhY21Ct+lXtnaBERnNPYJpNOJlrbBDuF/9wpZ4CQ== - -"@nx/nx-linux-arm64-musl@20.3.3": - version "20.3.3" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-20.3.3.tgz#4cf4927c2039df48b2d718e3bd61f3891384e3b5" - integrity sha512-RrLgujPU5NfDrsDRa7Y2isxGb8XkoQeJkTMUl1xmBK2Qnf4jAUn0PH0ULWrRMNgChi4nYUTn/Sf+2m6Uyoqcfw== - -"@nx/nx-linux-x64-gnu@20.3.3": - version "20.3.3" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-20.3.3.tgz#82df37eaaca1af8b6949ca0babddc5b9f28dfd94" - integrity sha512-/WmCnPxv1eR8tyYiFp4XoMbcXrJ8a/OIw1rpZZ5ceMKgH8lPaF2/KFf04JZZygrCKletEdqqIojBXz4AHoaueQ== - -"@nx/nx-linux-x64-musl@20.3.3": - version "20.3.3" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-20.3.3.tgz#109f5fb546ae4f191f214b4cf06620d480222f1c" - integrity sha512-y4BJsR0fgJrXY3P7GkWfUZAeQEHMTXvaRHvzJfBSBPmnVcVZDYNTfEQYnslp8m8ahKdlJwtflxzykJ4Bwf55fw== - -"@nx/nx-win32-arm64-msvc@20.3.3": - version "20.3.3" - resolved "https://registry.yarnpkg.com/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-20.3.3.tgz#8397db80440dbe5150c01f73c93e59393a7c37d2" - integrity sha512-BHqZitBaGT9ybv386B5QKxP5N66+xpTiYlKClzQ44o6Ca8QxnkugI64exBdcQyj+DRiL6HJhN14kaPJ1KrsKRA== - -"@nx/nx-win32-x64-msvc@20.3.3": - version "20.3.3" - resolved "https://registry.yarnpkg.com/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-20.3.3.tgz#82d2a1df984d8220882d9df38c92a8e1060bbebc" - integrity sha512-6HcbAKghEypt4aMAoDjPn2sa6FG0MyiDabpV/cVLKokK09ngyy6qQDa5vSCUSDwI542XBxqtcv0AcZi7Ez+XUQ== - -"@nx/workspace@20.3.3": - version "20.3.3" - resolved "https://registry.yarnpkg.com/@nx/workspace/-/workspace-20.3.3.tgz#62e8c74f77e2b8d8322c70d28f949c8abfcad931" - integrity sha512-eN7W9H2yLDZ4ZWegdS+pChdFETMUgjsLgvGijRpZONIguo6wR+aU2LhSfj2ww8JKNJ4rcSnOw4soaaHg2W3dTQ== - dependencies: - "@nx/devkit" "20.3.3" +"@nx/nx-darwin-arm64@20.4.0": + version "20.4.0" + resolved "https://registry.yarnpkg.com/@nx/nx-darwin-arm64/-/nx-darwin-arm64-20.4.0.tgz#64da294c402a73376171c5b467fcd7ac7c13f619" + integrity sha512-w07StYKNUIiH1koqBZY9Ew57d0wACyNdKpX96og4oiuSFYTTb+QhL4+vX2GOIYyEDfX7A97mA4lXcYUvN6R4zQ== + +"@nx/nx-darwin-x64@20.4.0": + version "20.4.0" + resolved "https://registry.yarnpkg.com/@nx/nx-darwin-x64/-/nx-darwin-x64-20.4.0.tgz#45ba804963673f772bf945fd4ea00bab74778d9b" + integrity sha512-HS9SfQs9BKZm3mXnOggmDrsVPTdJOr4RYa0k8zhXd0GKOdAOmgvWYsCAFxHB1BV4FGq7wfc4YskXRYHra4Ornw== + +"@nx/nx-freebsd-x64@20.4.0": + version "20.4.0" + resolved "https://registry.yarnpkg.com/@nx/nx-freebsd-x64/-/nx-freebsd-x64-20.4.0.tgz#ca8fe61fdac028441d556945a60f3d54a0bdd5db" + integrity sha512-5Ex4dV9YKbmO+4ZNI7qXOPvVD7A0t/guPUMcye/Rk/vJVx3Ixr/PZlc2SpBDXDLXye4quiTqICV92VrOrVBj8Q== + +"@nx/nx-linux-arm-gnueabihf@20.4.0": + version "20.4.0" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-20.4.0.tgz#60421d69123eac34f4b725db754dbc445eae22fe" + integrity sha512-mWu0QPZ4WQS39NuFOhbKy6Dwiytgn4SCzadZs/raXs/Sl9A1JtXIojMe5vy49rZocjhbpDuXCuKzHeFOi24TpA== + +"@nx/nx-linux-arm64-gnu@20.4.0": + version "20.4.0" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-20.4.0.tgz#1b2b5aa2adfbd829f36d5e2adb96ec5208f1dab2" + integrity sha512-5ZOMKtEPoAQfSXgWYgQvMt+8JreWfnHC1rHBhQznb/66DyimKlPFv5TprzKCTqg2ElrYMe5NT5usU5fO94NDnA== + +"@nx/nx-linux-arm64-musl@20.4.0": + version "20.4.0" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-20.4.0.tgz#f7f58667bea3d5122198414e864481a0e55fc1bd" + integrity sha512-RBF3KoBYEs0q9YZ1yBidKhcszI8x4znAfcZI+RQ1zWa/kT/GlnQKamdxinri4ov8/bEo9E4YTx4ITLg4RuVHLg== + +"@nx/nx-linux-x64-gnu@20.4.0": + version "20.4.0" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-20.4.0.tgz#f87bed0925745b3e040c0d998d8180abae910f93" + integrity sha512-RSYAfAmulCatDIKXXbWDhLU/fm03YrAMTD5FtS5IeEvMGEHkQ3scmXEXTxkOF4q5LuqSrutjdb3s8wHkbFRVqw== + +"@nx/nx-linux-x64-musl@20.4.0": + version "20.4.0" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-20.4.0.tgz#7c1e795d856bffb4f951fc42f3cc086f6a5de6ec" + integrity sha512-0eup79jxSzHoYEGl6OU3wb02wWQbEt4ZfOA58fiZ7c5mvCpKXQV9kg7Tu38zIA8nkcEXGb8JaR1R9TgMiAIZsw== + +"@nx/nx-win32-arm64-msvc@20.4.0": + version "20.4.0" + resolved "https://registry.yarnpkg.com/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-20.4.0.tgz#b88c830fa9ae5ea98700a65ac8105554712c0f10" + integrity sha512-EeHJL9YPVqi3ad9hXVCr1xDM2/PNgZIJvOlJ/ND6r9dVZ+UWw2Kk7G2r13zz4j4QAhrhQJ+kzrvXYkQlhiSH6g== + +"@nx/nx-win32-x64-msvc@20.4.0": + version "20.4.0" + resolved "https://registry.yarnpkg.com/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-20.4.0.tgz#8abfb3cc062aea2d8525a13614dc7d8a9c449e4a" + integrity sha512-IUeCeLdehVocLML6Wub7OZVM96Sk97AshiWmeNnozI6/OYdS34hQ2+thH7ETUZas9nkC2nNkJ5jLwuAHm+5/vw== + +"@nx/workspace@20.4.0": + version "20.4.0" + resolved "https://registry.yarnpkg.com/@nx/workspace/-/workspace-20.4.0.tgz#a42d2ca3ae7d91f2af0e99d6fde681e73bf04561" + integrity sha512-UFSCl2ZXGW96er+VC8xpytzxmZ4mBHASIeQwk1RpIgB3h/Iif2T7OnnIFFg32Ag667TfXZhAPZ4P0pBNGdBeSA== + dependencies: + "@nx/devkit" "20.4.0" chalk "^4.1.0" enquirer "~2.3.6" - nx "20.3.3" + nx "20.4.0" tslib "^2.3.0" yargs-parser "21.1.1" @@ -2382,100 +2362,100 @@ estree-walker "^2.0.2" picomatch "^4.0.2" -"@rollup/rollup-android-arm-eabi@4.34.1": - version "4.34.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.34.1.tgz#a09cb0718297a2f0cc7f9b4dfca4d08753ea5c9b" - integrity sha512-kwctwVlswSEsr4ljpmxKrRKp1eG1v2NAhlzFzDf1x1OdYaMjBYjDCbHkzWm57ZXzTwqn8stMXgROrnMw8dJK3w== - -"@rollup/rollup-android-arm64@4.34.1": - version "4.34.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.34.1.tgz#cbb3cad15748794b8dfec7f1e427e633f8f06d61" - integrity sha512-4H5ZtZitBPlbPsTv6HBB8zh1g5d0T8TzCmpndQdqq20Ugle/nroOyDMf9p7f88Gsu8vBLU78/cuh8FYHZqdXxw== - -"@rollup/rollup-darwin-arm64@4.34.1": - version "4.34.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.34.1.tgz#7f5127bca8892d0287a53fb17be9c7af32748234" - integrity sha512-f2AJ7Qwx9z25hikXvg+asco8Sfuc5NCLg8rmqQBIOUoWys5sb/ZX9RkMZDPdnnDevXAMJA5AWLnRBmgdXGEUiA== - -"@rollup/rollup-darwin-x64@4.34.1": - version "4.34.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.34.1.tgz#bbf8aa9fe655d75b5fb858b5bdbb1c790c36a3cd" - integrity sha512-+/2JBrRfISCsWE4aEFXxd+7k9nWGXA8+wh7ZUHn/u8UDXOU9LN+QYKKhd57sIn6WRcorOnlqPMYFIwie/OHXWw== - -"@rollup/rollup-freebsd-arm64@4.34.1": - version "4.34.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.34.1.tgz#43f75cb686a23fc0aef3ce6bfe44501bf934e412" - integrity sha512-SUeB0pYjIXwT2vfAMQ7E4ERPq9VGRrPR7Z+S4AMssah5EHIilYqjWQoTn5dkDtuIJUSTs8H+C9dwoEcg3b0sCA== - -"@rollup/rollup-freebsd-x64@4.34.1": - version "4.34.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.34.1.tgz#1d0377ef7a06bb3a6543bbbf18b6d65b55074802" - integrity sha512-L3T66wAZiB/ooiPbxz0s6JEX6Sr2+HfgPSK+LMuZkaGZFAFCQAHiP3dbyqovYdNaiUXcl9TlgnIbcsIicAnOZg== - -"@rollup/rollup-linux-arm-gnueabihf@4.34.1": - version "4.34.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.34.1.tgz#1ca88b1244678e74984efe89b1e39b9ae74671c7" - integrity sha512-UBXdQ4+ATARuFgsFrQ+tAsKvBi/Hly99aSVdeCUiHV9dRTTpMU7OrM3WXGys1l40wKVNiOl0QYY6cZQJ2xhKlQ== - -"@rollup/rollup-linux-arm-musleabihf@4.34.1": - version "4.34.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.34.1.tgz#33cdcac1befc32d7217b94b78c56fa5c194660cc" - integrity sha512-m/yfZ25HGdcCSwmopEJm00GP7xAUyVcBPjttGLRAqZ60X/bB4Qn6gP7XTwCIU6bITeKmIhhwZ4AMh2XLro+4+w== - -"@rollup/rollup-linux-arm64-gnu@4.34.1": - version "4.34.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.34.1.tgz#4de1e8ade39d0da1e981ab05f94a69f3de72725a" - integrity sha512-Wy+cUmFuvziNL9qWRRzboNprqSQ/n38orbjRvd6byYWridp5TJ3CD+0+HUsbcWVSNz9bxkDUkyASGP0zS7GAvg== - -"@rollup/rollup-linux-arm64-musl@4.34.1": - version "4.34.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.34.1.tgz#314f56ea347323d94107b8eb0dc6cb60ba4e0a35" - integrity sha512-CQ3MAGgiFmQW5XJX5W3wnxOBxKwFlUAgSXFA2SwgVRjrIiVt5LHfcQLeNSHKq5OEZwv+VCBwlD1+YKCjDG8cpg== - -"@rollup/rollup-linux-loongarch64-gnu@4.34.1": - version "4.34.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.34.1.tgz#64f7871f5718a086786485b9c4d22fd263a37b44" - integrity sha512-rSzb1TsY4lSwH811cYC3OC2O2mzNMhM13vcnA7/0T6Mtreqr3/qs6WMDriMRs8yvHDI54qxHgOk8EV5YRAHFbw== - -"@rollup/rollup-linux-powerpc64le-gnu@4.34.1": - version "4.34.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.34.1.tgz#ad5902358a0d91bda75b3cbd45d61d1f6698b6f5" - integrity sha512-fwr0n6NS0pG3QxxlqVYpfiY64Fd1Dqd8Cecje4ILAV01ROMp4aEdCj5ssHjRY3UwU7RJmeWd5fi89DBqMaTawg== - -"@rollup/rollup-linux-riscv64-gnu@4.34.1": - version "4.34.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.34.1.tgz#1d917841458ccc34dcc34be32ea0a4b33437370f" - integrity sha512-4uJb9qz7+Z/yUp5RPxDGGGUcoh0PnKF33QyWgEZ3X/GocpWb6Mb+skDh59FEt5d8+Skxqs9mng6Swa6B2AmQZg== - -"@rollup/rollup-linux-s390x-gnu@4.34.1": - version "4.34.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.34.1.tgz#0c224baa3e1823f2b7b0e45dfaf43a99a18e8248" - integrity sha512-QlIo8ndocWBEnfmkYqj8vVtIUpIqJjfqKggjy7IdUncnt8BGixte1wDON7NJEvLg3Kzvqxtbo8tk+U1acYEBlw== - -"@rollup/rollup-linux-x64-gnu@4.34.1": - version "4.34.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.34.1.tgz#f5fba18eda523cbe04f82cbf3e0685e461e71613" - integrity sha512-hzpleiKtq14GWjz3ahWvJXgU1DQC9DteiwcsY4HgqUJUGxZThlL66MotdUEK9zEo0PK/2ADeZGM9LIondE302A== - -"@rollup/rollup-linux-x64-musl@4.34.1": - version "4.34.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.34.1.tgz#7439d15ffe62ac0468ef2d539d4c39b4686e1276" - integrity sha512-jqtKrO715hDlvUcEsPn55tZt2TEiBvBtCMkUuU0R6fO/WPT7lO9AONjPbd8II7/asSiNVQHCMn4OLGigSuxVQA== - -"@rollup/rollup-win32-arm64-msvc@4.34.1": - version "4.34.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.34.1.tgz#125f09f40719ea7a02a76607428a0366ff9dca4d" - integrity sha512-RnHy7yFf2Wz8Jj1+h8klB93N0NHNHXFhNwAmiy9zJdpY7DE01VbEVtPdrK1kkILeIbHGRJjvfBDBhnxBr8kD4g== - -"@rollup/rollup-win32-ia32-msvc@4.34.1": - version "4.34.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.34.1.tgz#04e36410a55fa36278a627ed769a60576c882d1d" - integrity sha512-i7aT5HdiZIcd7quhzvwQ2oAuX7zPYrYfkrd1QFfs28Po/i0q6kas/oRrzGlDhAEyug+1UfUtkWdmoVlLJj5x9Q== - -"@rollup/rollup-win32-x64-msvc@4.34.1": - version "4.34.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.34.1.tgz#37cddc33f8cd961a615f5f854d2b1994c90fe547" - integrity sha512-k3MVFD9Oq+laHkw2N2v7ILgoa9017ZMF/inTtHzyTVZjYs9cSH18sdyAf6spBAJIGwJ5UaC7et2ZH1WCdlhkMw== +"@rollup/rollup-android-arm-eabi@4.34.6": + version "4.34.6" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.34.6.tgz#9b726b4dcafb9332991e9ca49d54bafc71d9d87f" + integrity sha512-+GcCXtOQoWuC7hhX1P00LqjjIiS/iOouHXhMdiDSnq/1DGTox4SpUvO52Xm+div6+106r+TcvOeo/cxvyEyTgg== + +"@rollup/rollup-android-arm64@4.34.6": + version "4.34.6" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.34.6.tgz#88326ff46168a47851077ca0bf0c442689ec088f" + integrity sha512-E8+2qCIjciYUnCa1AiVF1BkRgqIGW9KzJeesQqVfyRITGQN+dFuoivO0hnro1DjT74wXLRZ7QF8MIbz+luGaJA== + +"@rollup/rollup-darwin-arm64@4.34.6": + version "4.34.6" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.34.6.tgz#b8fbcc9389bc6fad3334a1d16dbeaaa5637c5772" + integrity sha512-z9Ib+OzqN3DZEjX7PDQMHEhtF+t6Mi2z/ueChQPLS/qUMKY7Ybn5A2ggFoKRNRh1q1T03YTQfBTQCJZiepESAg== + +"@rollup/rollup-darwin-x64@4.34.6": + version "4.34.6" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.34.6.tgz#1aa2bcad84c0fb5902e945d88822e17a4f661d51" + integrity sha512-PShKVY4u0FDAR7jskyFIYVyHEPCPnIQY8s5OcXkdU8mz3Y7eXDJPdyM/ZWjkYdR2m0izD9HHWA8sGcXn+Qrsyg== + +"@rollup/rollup-freebsd-arm64@4.34.6": + version "4.34.6" + resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.34.6.tgz#29c54617e0929264dcb6416597d6d7481696e49f" + integrity sha512-YSwyOqlDAdKqs0iKuqvRHLN4SrD2TiswfoLfvYXseKbL47ht1grQpq46MSiQAx6rQEN8o8URtpXARCpqabqxGQ== + +"@rollup/rollup-freebsd-x64@4.34.6": + version "4.34.6" + resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.34.6.tgz#a8b58ab7d31882559d93f2d1b5863d9e4b4b2678" + integrity sha512-HEP4CgPAY1RxXwwL5sPFv6BBM3tVeLnshF03HMhJYCNc6kvSqBgTMmsEjb72RkZBAWIqiPUyF1JpEBv5XT9wKQ== + +"@rollup/rollup-linux-arm-gnueabihf@4.34.6": + version "4.34.6" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.34.6.tgz#a844e1978c8b9766b169ecb1cb5cc0d8a3f05930" + integrity sha512-88fSzjC5xeH9S2Vg3rPgXJULkHcLYMkh8faix8DX4h4TIAL65ekwuQMA/g2CXq8W+NJC43V6fUpYZNjaX3+IIg== + +"@rollup/rollup-linux-arm-musleabihf@4.34.6": + version "4.34.6" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.34.6.tgz#6b44c3b7257985d71b087fcb4ef01325e2fff201" + integrity sha512-wM4ztnutBqYFyvNeR7Av+reWI/enK9tDOTKNF+6Kk2Q96k9bwhDDOlnCUNRPvromlVXo04riSliMBs/Z7RteEg== + +"@rollup/rollup-linux-arm64-gnu@4.34.6": + version "4.34.6" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.34.6.tgz#ebb499cf1720115256d0c9ae7598c90cc2251bc5" + integrity sha512-9RyprECbRa9zEjXLtvvshhw4CMrRa3K+0wcp3KME0zmBe1ILmvcVHnypZ/aIDXpRyfhSYSuN4EPdCCj5Du8FIA== + +"@rollup/rollup-linux-arm64-musl@4.34.6": + version "4.34.6" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.34.6.tgz#9658221b59d9e5643348f9a52fa5ef35b4dc07b1" + integrity sha512-qTmklhCTyaJSB05S+iSovfo++EwnIEZxHkzv5dep4qoszUMX5Ca4WM4zAVUMbfdviLgCSQOu5oU8YoGk1s6M9Q== + +"@rollup/rollup-linux-loongarch64-gnu@4.34.6": + version "4.34.6" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.34.6.tgz#19418cc57579a5655af2d850a89d74b3f7e9aa92" + integrity sha512-4Qmkaps9yqmpjY5pvpkfOerYgKNUGzQpFxV6rnS7c/JfYbDSU0y6WpbbredB5cCpLFGJEqYX40WUmxMkwhWCjw== + +"@rollup/rollup-linux-powerpc64le-gnu@4.34.6": + version "4.34.6" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.34.6.tgz#fe0bce7778cb6ce86898c781f3f11369d1a4952c" + integrity sha512-Zsrtux3PuaxuBTX/zHdLaFmcofWGzaWW1scwLU3ZbW/X+hSsFbz9wDIp6XvnT7pzYRl9MezWqEqKy7ssmDEnuQ== + +"@rollup/rollup-linux-riscv64-gnu@4.34.6": + version "4.34.6" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.34.6.tgz#9c158360abf6e6f7794285642ba0898c580291f6" + integrity sha512-aK+Zp+CRM55iPrlyKiU3/zyhgzWBxLVrw2mwiQSYJRobCURb781+XstzvA8Gkjg/hbdQFuDw44aUOxVQFycrAg== + +"@rollup/rollup-linux-s390x-gnu@4.34.6": + version "4.34.6" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.34.6.tgz#f9113498d22962baacdda008b5587d568b05aa34" + integrity sha512-WoKLVrY9ogmaYPXwTH326+ErlCIgMmsoRSx6bO+l68YgJnlOXhygDYSZe/qbUJCSiCiZAQ+tKm88NcWuUXqOzw== + +"@rollup/rollup-linux-x64-gnu@4.34.6": + version "4.34.6" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.34.6.tgz#aec8d4cdf911cd869a72b8bd00833cb426664e0c" + integrity sha512-Sht4aFvmA4ToHd2vFzwMFaQCiYm2lDFho5rPcvPBT5pCdC+GwHG6CMch4GQfmWTQ1SwRKS0dhDYb54khSrjDWw== + +"@rollup/rollup-linux-x64-musl@4.34.6": + version "4.34.6" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.34.6.tgz#61c0a146bdd1b5e0dcda33690dd909b321d8f20f" + integrity sha512-zmmpOQh8vXc2QITsnCiODCDGXFC8LMi64+/oPpPx5qz3pqv0s6x46ps4xoycfUiVZps5PFn1gksZzo4RGTKT+A== + +"@rollup/rollup-win32-arm64-msvc@4.34.6": + version "4.34.6" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.34.6.tgz#c6c5bf290a3a459c18871110bc2e7009ce35b15a" + integrity sha512-3/q1qUsO/tLqGBaD4uXsB6coVGB3usxw3qyeVb59aArCgedSF66MPdgRStUd7vbZOsko/CgVaY5fo2vkvPLWiA== + +"@rollup/rollup-win32-ia32-msvc@4.34.6": + version "4.34.6" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.34.6.tgz#16ca6bdadc9e054818b9c51f8dac82f6b8afab81" + integrity sha512-oLHxuyywc6efdKVTxvc0135zPrRdtYVjtVD5GUm55I3ODxhU/PwkQFD97z16Xzxa1Fz0AEe4W/2hzRtd+IfpOA== + +"@rollup/rollup-win32-x64-msvc@4.34.6": + version "4.34.6" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.34.6.tgz#f3d03ce2d82723eb089188ea1494a719b09e1561" + integrity sha512-0PVwmgzZ8+TZ9oGBmdZoQVXflbvuwzN/HRclujpl4N/q3i+y0lqLw8n1bXA8ru3sApDjlmONaNAuYr38y1Kr9w== "@rtsao/scc@^1.1.0": version "1.1.0" @@ -2548,74 +2528,74 @@ source-map-support "^0.5.21" tslib "^2.6.3" -"@swc/core-darwin-arm64@1.10.12": - version "1.10.12" - resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.10.12.tgz#ed317cd6aac5a66f529c0cbd8385761e2eccecc6" - integrity sha512-pOANQegUTAriW7jq3SSMZGM5l89yLVMs48R0F2UG6UZsH04SiViCnDctOGlA/Sa++25C+rL9MGMYM1jDLylBbg== - -"@swc/core-darwin-x64@1.10.12": - version "1.10.12" - resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.10.12.tgz#59e249f40852231232b80f6a4caea2a223e9682e" - integrity sha512-m4kbpIDDsN1FrwfNQMU+FTrss356xsXvatLbearwR+V0lqOkjLBP0VmRvQfHEg+uy13VPyrT9gj4HLoztlci7w== - -"@swc/core-linux-arm-gnueabihf@1.10.12": - version "1.10.12" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.10.12.tgz#5c2066a6ad8b768adc473e300995f909ce96cbbd" - integrity sha512-OY9LcupgqEu8zVK+rJPes6LDJJwPDmwaShU96beTaxX2K6VrXbpwm5WbPS/8FfQTsmpnuA7dCcMPUKhNgmzTrQ== - -"@swc/core-linux-arm64-gnu@1.10.12": - version "1.10.12" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.10.12.tgz#7a8e6212617365c41a7b6e015cd2749d222c1ebe" - integrity sha512-nJD587rO0N4y4VZszz3xzVr7JIiCzSMhEMWnPjuh+xmPxDBz0Qccpr8xCr1cSxpl1uY7ERkqAGlKr6CwoV5kVg== - -"@swc/core-linux-arm64-musl@1.10.12": - version "1.10.12" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.10.12.tgz#c939d554ecb32df65b4a784fc586f30c8ae7be0a" - integrity sha512-oqhSmV+XauSf0C//MoQnVErNUB/5OzmSiUzuazyLsD5pwqKNN+leC3JtRQ/QVzaCpr65jv9bKexT9+I2Tt3xDw== - -"@swc/core-linux-x64-gnu@1.10.12": - version "1.10.12" - resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.10.12.tgz#745bc25de364bbde3b6240ed84d063379dc52c6c" - integrity sha512-XldSIHyjD7m1Gh+/8rxV3Ok711ENLI420CU2EGEqSe3VSGZ7pHJvJn9ZFbYpWhsLxPqBYMFjp3Qw+J6OXCPXCA== - -"@swc/core-linux-x64-musl@1.10.12": - version "1.10.12" - resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.10.12.tgz#188855ee612a482eb8c298b2237e0b36962182a7" - integrity sha512-wvPXzJxzPgTqhyp1UskOx1hRTtdWxlyFD1cGWOxgLsMik0V9xKRgqKnMPv16Nk7L9xl6quQ6DuUHj9ID7L3oVw== - -"@swc/core-win32-arm64-msvc@1.10.12": - version "1.10.12" - resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.10.12.tgz#3f8271b8a42ef29b53574705a6cd0427345cc616" - integrity sha512-TUYzWuu1O7uyIcRfxdm6Wh1u+gNnrW5M1DUgDOGZLsyQzgc2Zjwfh2llLhuAIilvCVg5QiGbJlpibRYJ/8QGsg== - -"@swc/core-win32-ia32-msvc@1.10.12": - version "1.10.12" - resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.10.12.tgz#b7f59376870039f6a7ecc5331b4287f0fa82b182" - integrity sha512-4Qrw+0Xt+Fe2rz4OJ/dEPMeUf/rtuFWWAj/e0vL7J5laUHirzxawLRE5DCJLQTarOiYR6mWnmadt9o3EKzV6Xg== - -"@swc/core-win32-x64-msvc@1.10.12": - version "1.10.12" - resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.10.12.tgz#e053b1efc2bf24b0da1a1fa6a5ea6e1bda36df76" - integrity sha512-YiloZXLW7rUxJpALwHXaGjVaAEn+ChoblG7/3esque+Y7QCyheoBUJp2DVM1EeVA43jBfZ8tvYF0liWd9Tpz1A== - -"@swc/core@~1.10.12": - version "1.10.12" - resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.10.12.tgz#6d002050814888ec72a8d439ca7194a4631ce199" - integrity sha512-+iUL0PYpPm6N9AdV1wvafakvCqFegQus1aoEDxgFsv3/uNVNIyRaupf/v/Zkp5hbep2EzhtoJR0aiJIzDbXWHg== +"@swc/core-darwin-arm64@1.10.15": + version "1.10.15" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.10.15.tgz#1703ee8e98ea859965bfc7a912db4c452dc4ca36" + integrity sha512-zFdZ6/yHqMCPk7OhLFqHy/MQ1EqJhcZMpNHd1gXYT7VRU3FaqvvKETrUlG3VYl65McPC7AhMRfXPyJ0JO/jARQ== + +"@swc/core-darwin-x64@1.10.15": + version "1.10.15" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.10.15.tgz#e8d60fc04ca56b1e5644b25f0032093a5bef70a0" + integrity sha512-8g4yiQwbr8fxOOjKXdot0dEkE5zgE8uNZudLy/ZyAhiwiZ8pbJ8/wVrDOu6dqbX7FBXAoDnvZ7fwN1jk4C8jdA== + +"@swc/core-linux-arm-gnueabihf@1.10.15": + version "1.10.15" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.10.15.tgz#1ec6d2caf1a8a099e13dcd459f45be2fb4febde8" + integrity sha512-rl+eVOltl2+7WXOnvmWBpMgh6aO13G5x0U0g8hjwlmD6ku3Y9iRcThpOhm7IytMEarUp5pQxItNoPq+VUGjVHg== + +"@swc/core-linux-arm64-gnu@1.10.15": + version "1.10.15" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.10.15.tgz#dfcf6a63e9d6cb75779411e637c86ff7a04d352b" + integrity sha512-qxWEQeyAJMWJqjaN4hi58WMpPdt3Tn0biSK9CYRegQtvZWCbewr6v2agtSu5AZ2rudeH6OfCWAMDQQeSgn6PJQ== + +"@swc/core-linux-arm64-musl@1.10.15": + version "1.10.15" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.10.15.tgz#a629b47066f83730b757743145e2c8354a42164f" + integrity sha512-QcELd9/+HjZx0WCxRrKcyKGWTiQ0485kFb5w8waxcSNd0d9Lgk4EFfWWVyvIb5gIHpDQmhrgzI/yRaWQX4YSZQ== + +"@swc/core-linux-x64-gnu@1.10.15": + version "1.10.15" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.10.15.tgz#2a5ec7ed21b38d6f07524ec6af6ae90c10ad3f63" + integrity sha512-S1+ZEEn3+a/MiMeQqQypbwTGoBG8/sPoCvpNbk+uValyygT+jSn3U0xVr45FbukpmMB+NhBMqfedMLqKA0QnJA== + +"@swc/core-linux-x64-musl@1.10.15": + version "1.10.15" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.10.15.tgz#64bf2a9d4b3858a002a4879833245c25e742149b" + integrity sha512-qW+H9g/2zTJ4jP7NDw4VAALY0ZlNEKzYsEoSj/HKi7k3tYEHjMzsxjfsY9I8WZCft23bBdV3RTCPoxCshaj1CQ== + +"@swc/core-win32-arm64-msvc@1.10.15": + version "1.10.15" + resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.10.15.tgz#1c703c90873991b37a49df056af0f71bd632db5b" + integrity sha512-AhRB11aA6LxjIqut+mg7qsu/7soQDmbK6MKR9nP3hgBszpqtXbRba58lr24xIbBCMr+dpo6kgEapWt+t5Po6Zg== + +"@swc/core-win32-ia32-msvc@1.10.15": + version "1.10.15" + resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.10.15.tgz#09f86d172b08913aaf0b96aa1596505cd95447af" + integrity sha512-UGdh430TQwbDn6KjgvRTg1fO022sbQ4yCCHUev0+5B8uoBwi9a89qAz3emy2m56C8TXxUoihW9Y9OMfaRwPXUw== + +"@swc/core-win32-x64-msvc@1.10.15": + version "1.10.15" + resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.10.15.tgz#70bcf83837d331e5cebaf2195a1e696549fdfef3" + integrity sha512-XJzBCqO1m929qbJsOG7FZXQWX26TnEoMctS3QjuCoyBmkHxxQmZsy78KjMes1aomTcKHCyFYgrRGWgVmk7tT4Q== + +"@swc/core@~1.10.15": + version "1.10.15" + resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.10.15.tgz#41568ec332765d2798f56753fd56d7aeece48510" + integrity sha512-/iFeQuNaGdK7mfJbQcObhAhsMqLT7qgMYl7jX2GEIO+VDTejESpzAyKwaMeYXExN8D6e5BRHBCe7M5YlsuzjDA== dependencies: "@swc/counter" "^0.1.3" "@swc/types" "^0.1.17" optionalDependencies: - "@swc/core-darwin-arm64" "1.10.12" - "@swc/core-darwin-x64" "1.10.12" - "@swc/core-linux-arm-gnueabihf" "1.10.12" - "@swc/core-linux-arm64-gnu" "1.10.12" - "@swc/core-linux-arm64-musl" "1.10.12" - "@swc/core-linux-x64-gnu" "1.10.12" - "@swc/core-linux-x64-musl" "1.10.12" - "@swc/core-win32-arm64-msvc" "1.10.12" - "@swc/core-win32-ia32-msvc" "1.10.12" - "@swc/core-win32-x64-msvc" "1.10.12" + "@swc/core-darwin-arm64" "1.10.15" + "@swc/core-darwin-x64" "1.10.15" + "@swc/core-linux-arm-gnueabihf" "1.10.15" + "@swc/core-linux-arm64-gnu" "1.10.15" + "@swc/core-linux-arm64-musl" "1.10.15" + "@swc/core-linux-x64-gnu" "1.10.15" + "@swc/core-linux-x64-musl" "1.10.15" + "@swc/core-win32-arm64-msvc" "1.10.15" + "@swc/core-win32-ia32-msvc" "1.10.15" + "@swc/core-win32-x64-msvc" "1.10.15" "@swc/counter@^0.1.3": version "0.1.3" @@ -2781,6 +2761,11 @@ dependencies: "@types/node" "*" +"@types/gensync@^1.0.0": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@types/gensync/-/gensync-1.0.4.tgz#7122d8f0cd3bf437f9725cc95b180197190cf50b" + integrity sha512-C3YYeRQWp2fmq9OryX+FoDy8nXS6scQ7dPptD8LnFDAUNcKWJjXQKDNJD3HVm+kOUsXhTOkpi69vI4EuAr95bA== + "@types/he@^1.2.3": version "1.2.3" resolved "https://registry.yarnpkg.com/@types/he/-/he-1.2.3.tgz#c33ca3096f30cbd5d68d78211572de3f9adff75a" @@ -2849,10 +2834,10 @@ dependencies: "@types/node" "*" -"@types/node@*", "@types/node@>= 8", "@types/node@>=10.0.0", "@types/node@^22.13.0", "@types/node@^22.5.5": - version "22.13.0" - resolved "https://registry.yarnpkg.com/@types/node/-/node-22.13.0.tgz#d376dd9a0ee2f9382d86c2d5d7beb4d198b4ea8c" - integrity sha512-ClIbNe36lawluuvq3+YYhnIN2CELi+6q8NpnM7PYp4hBn/TatfboPgVSm2rwKRfnV2M+Ty9GWDFI64KEe+kysA== +"@types/node@*", "@types/node@>= 8", "@types/node@>=10.0.0", "@types/node@^22.13.1", "@types/node@^22.5.5": + version "22.13.1" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.13.1.tgz#a2a3fefbdeb7ba6b89f40371842162fac0934f33" + integrity sha512-jK8uzQlrvXqEU91UxiK5J7pKHyzgnI1Qnl0QDHIgVGuolJhRb9EEl28Cj9b3rGR8B2lhFCtvIm5os8lFnO/1Ew== dependencies: undici-types "~6.20.0" @@ -2961,85 +2946,85 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@8.22.0": - version "8.22.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.22.0.tgz#63a1b0d24d85a971949f8d71d693019f58d2e861" - integrity sha512-4Uta6REnz/xEJMvwf72wdUnC3rr4jAQf5jnTkeRQ9b6soxLxhDEbS/pfMPoJLDfFPNVRdryqWUIV/2GZzDJFZw== +"@typescript-eslint/eslint-plugin@8.23.0": + version "8.23.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.23.0.tgz#7745f4e3e4a7ae5f6f73fefcd856fd6a074189b7" + integrity sha512-vBz65tJgRrA1Q5gWlRfvoH+w943dq9K1p1yDBY2pc+a1nbBLZp7fB9+Hk8DaALUbzjqlMfgaqlVPT1REJdkt/w== dependencies: "@eslint-community/regexpp" "^4.10.0" - "@typescript-eslint/scope-manager" "8.22.0" - "@typescript-eslint/type-utils" "8.22.0" - "@typescript-eslint/utils" "8.22.0" - "@typescript-eslint/visitor-keys" "8.22.0" + "@typescript-eslint/scope-manager" "8.23.0" + "@typescript-eslint/type-utils" "8.23.0" + "@typescript-eslint/utils" "8.23.0" + "@typescript-eslint/visitor-keys" "8.23.0" graphemer "^1.4.0" ignore "^5.3.1" natural-compare "^1.4.0" - ts-api-utils "^2.0.0" + ts-api-utils "^2.0.1" -"@typescript-eslint/parser@8.22.0": - version "8.22.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.22.0.tgz#f21c5db24271f182ebbb4ba8c7ad3eb76e5f5f3a" - integrity sha512-MqtmbdNEdoNxTPzpWiWnqNac54h8JDAmkWtJExBVVnSrSmi9z+sZUt0LfKqk9rjqmKOIeRhO4fHHJ1nQIjduIQ== +"@typescript-eslint/parser@8.23.0": + version "8.23.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.23.0.tgz#57acb3b65fce48d12b70d119436e145842a30081" + integrity sha512-h2lUByouOXFAlMec2mILeELUbME5SZRN/7R9Cw2RD2lRQQY08MWMM+PmVVKKJNK1aIwqTo9t/0CvOxwPbRIE2Q== dependencies: - "@typescript-eslint/scope-manager" "8.22.0" - "@typescript-eslint/types" "8.22.0" - "@typescript-eslint/typescript-estree" "8.22.0" - "@typescript-eslint/visitor-keys" "8.22.0" + "@typescript-eslint/scope-manager" "8.23.0" + "@typescript-eslint/types" "8.23.0" + "@typescript-eslint/typescript-estree" "8.23.0" + "@typescript-eslint/visitor-keys" "8.23.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@8.22.0": - version "8.22.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.22.0.tgz#e85836ddeb8eae715f870628bcc32fe96aaf4d0e" - integrity sha512-/lwVV0UYgkj7wPSw0o8URy6YI64QmcOdwHuGuxWIYznO6d45ER0wXUbksr9pYdViAofpUCNJx/tAzNukgvaaiQ== +"@typescript-eslint/scope-manager@8.23.0": + version "8.23.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.23.0.tgz#ee3bb7546421ca924b9b7a8b62a77d388193ddec" + integrity sha512-OGqo7+dXHqI7Hfm+WqkZjKjsiRtFUQHPdGMXzk5mYXhJUedO7e/Y7i8AK3MyLMgZR93TX4bIzYrfyVjLC+0VSw== dependencies: - "@typescript-eslint/types" "8.22.0" - "@typescript-eslint/visitor-keys" "8.22.0" + "@typescript-eslint/types" "8.23.0" + "@typescript-eslint/visitor-keys" "8.23.0" -"@typescript-eslint/type-utils@8.22.0": - version "8.22.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.22.0.tgz#cd9f23c23f021357ef0baa3490d4d96edcc97509" - integrity sha512-NzE3aB62fDEaGjaAYZE4LH7I1MUwHooQ98Byq0G0y3kkibPJQIXVUspzlFOmOfHhiDLwKzMlWxaNv+/qcZurJA== +"@typescript-eslint/type-utils@8.23.0": + version "8.23.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.23.0.tgz#271e1eecece072d92679dfda5ccfceac3faa9f76" + integrity sha512-iIuLdYpQWZKbiH+RkCGc6iu+VwscP5rCtQ1lyQ7TYuKLrcZoeJVpcLiG8DliXVkUxirW/PWlmS+d6yD51L9jvA== dependencies: - "@typescript-eslint/typescript-estree" "8.22.0" - "@typescript-eslint/utils" "8.22.0" + "@typescript-eslint/typescript-estree" "8.23.0" + "@typescript-eslint/utils" "8.23.0" debug "^4.3.4" - ts-api-utils "^2.0.0" + ts-api-utils "^2.0.1" -"@typescript-eslint/types@8.22.0": - version "8.22.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.22.0.tgz#d9dec7116479ad03aeb6c8ac9c5223c4c79cf360" - integrity sha512-0S4M4baNzp612zwpD4YOieP3VowOARgK2EkN/GBn95hpyF8E2fbMT55sRHWBq+Huaqk3b3XK+rxxlM8sPgGM6A== +"@typescript-eslint/types@8.23.0": + version "8.23.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.23.0.tgz#3355f6bcc5ebab77ef6dcbbd1113ec0a683a234a" + integrity sha512-1sK4ILJbCmZOTt9k4vkoulT6/y5CHJ1qUYxqpF1K/DBAd8+ZUL4LlSCxOssuH5m4rUaaN0uS0HlVPvd45zjduQ== -"@typescript-eslint/typescript-estree@8.22.0": - version "8.22.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.22.0.tgz#c188c3e19529d5b3145577c0bd967e2683b114df" - integrity sha512-SJX99NAS2ugGOzpyhMza/tX+zDwjvwAtQFLsBo3GQxiGcvaKlqGBkmZ+Y1IdiSi9h4Q0Lr5ey+Cp9CGWNY/F/w== +"@typescript-eslint/typescript-estree@8.23.0": + version "8.23.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.23.0.tgz#f633ef08efa656e386bc44b045ffcf9537cc6924" + integrity sha512-LcqzfipsB8RTvH8FX24W4UUFk1bl+0yTOf9ZA08XngFwMg4Kj8A+9hwz8Cr/ZS4KwHrmo9PJiLZkOt49vPnuvQ== dependencies: - "@typescript-eslint/types" "8.22.0" - "@typescript-eslint/visitor-keys" "8.22.0" + "@typescript-eslint/types" "8.23.0" + "@typescript-eslint/visitor-keys" "8.23.0" debug "^4.3.4" fast-glob "^3.3.2" is-glob "^4.0.3" minimatch "^9.0.4" semver "^7.6.0" - ts-api-utils "^2.0.0" + ts-api-utils "^2.0.1" -"@typescript-eslint/utils@8.22.0": - version "8.22.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.22.0.tgz#c8cc4e52a9c711af8a741a82dc5d7242b7a8dd44" - integrity sha512-T8oc1MbF8L+Bk2msAvCUzjxVB2Z2f+vXYfcucE2wOmYs7ZUwco5Ep0fYZw8quNwOiw9K8GYVL+Kgc2pETNTLOg== +"@typescript-eslint/utils@8.23.0": + version "8.23.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.23.0.tgz#b269cbdc77129fd6e0e600b168b5ef740a625554" + integrity sha512-uB/+PSo6Exu02b5ZEiVtmY6RVYO7YU5xqgzTIVZwTHvvK3HsL8tZZHFaTLFtRG3CsV4A5mhOv+NZx5BlhXPyIA== dependencies: "@eslint-community/eslint-utils" "^4.4.0" - "@typescript-eslint/scope-manager" "8.22.0" - "@typescript-eslint/types" "8.22.0" - "@typescript-eslint/typescript-estree" "8.22.0" + "@typescript-eslint/scope-manager" "8.23.0" + "@typescript-eslint/types" "8.23.0" + "@typescript-eslint/typescript-estree" "8.23.0" -"@typescript-eslint/visitor-keys@8.22.0": - version "8.22.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.22.0.tgz#02cc005014c372033eb9171e2275b76cba722a3f" - integrity sha512-AWpYAXnUgvLNabGTy3uBylkgZoosva/miNd1I8Bz3SjotmQPbVqhO4Cczo8AsZ44XVErEBPr/CRSgaj8sG7g0w== +"@typescript-eslint/visitor-keys@8.23.0": + version "8.23.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.23.0.tgz#40405fd26a61d23f5f4c2ed0f016a47074781df8" + integrity sha512-oWWhcWDLwDfu++BGTZcmXWqpwtkwb5o7fxUIGksMQQDSdPW9prsSnfIOZMlsj4vBOSrcnjIUZMiIjODgGosFhQ== dependencies: - "@typescript-eslint/types" "8.22.0" + "@typescript-eslint/types" "8.23.0" eslint-visitor-keys "^4.2.0" "@vitest/coverage-v8@^3.0.5": @@ -3060,10 +3045,10 @@ test-exclude "^7.0.1" tinyrainbow "^2.0.0" -"@vitest/eslint-plugin@^1.1.25": - version "1.1.25" - resolved "https://registry.yarnpkg.com/@vitest/eslint-plugin/-/eslint-plugin-1.1.25.tgz#0e2ed719844b52edc88a0467f11f80162ebbebf0" - integrity sha512-u8DpDnMbPcqBmJOB4PeEtn6q7vKmLVTLFMpzoxSAo0hjYdl4iYSHRleqwPQo0ywc7UV0S6RKIahYRQ3BnZdMVw== +"@vitest/eslint-plugin@^1.1.27": + version "1.1.27" + resolved "https://registry.yarnpkg.com/@vitest/eslint-plugin/-/eslint-plugin-1.1.27.tgz#54dd7bf9d20dcab9a12e3dd13a205cdec8bebd51" + integrity sha512-aGPTmeaNiUDo2OIMPj1HKiF5q4fu2IIA9lMc0AwOk0nOvL2kLmQBY8AbFmYj895ApzamN46UtQYmxlRSjbTZqQ== "@vitest/expect@3.0.5": version "3.0.5" @@ -3153,19 +3138,19 @@ loupe "^3.1.2" tinyrainbow "^2.0.0" -"@wdio/cli@^9.7.2": - version "9.7.2" - resolved "https://registry.yarnpkg.com/@wdio/cli/-/cli-9.7.2.tgz#154f0b79db499ba361a7c1e06e12ca8355a6ffa2" - integrity sha512-DH89Szyegx6C2zY7y6Z9Q3Fsc4YV8wwEw3mbXHjQQF2XJN6/yaHUvKTmZvb2btELmzxbkOjcbLT13BPUjw/5/w== +"@wdio/cli@^9.8.0": + version "9.8.0" + resolved "https://registry.yarnpkg.com/@wdio/cli/-/cli-9.8.0.tgz#dbea7cf4c92da633a315d8d1249aa84293b46308" + integrity sha512-q9Kw7kciffTG6shnvcs08cVLD6RWhSl22B0iCAOZHd7D1kk2LG2TdqqELSSQF5/sVblSq99XtMoaDm3L2Iy9qw== dependencies: "@types/node" "^20.1.1" "@vitest/snapshot" "^2.1.1" - "@wdio/config" "9.7.2" - "@wdio/globals" "9.7.2" + "@wdio/config" "9.7.3" + "@wdio/globals" "9.8.0" "@wdio/logger" "9.4.4" "@wdio/protocols" "9.7.0" "@wdio/types" "9.6.3" - "@wdio/utils" "9.7.2" + "@wdio/utils" "9.7.3" async-exit-hook "^2.0.1" chalk "^5.2.0" chokidar "^4.0.0" @@ -3180,7 +3165,7 @@ read-pkg-up "^10.0.0" recursive-readdir "^2.2.3" tsx "^4.7.2" - webdriverio "9.7.2" + webdriverio "9.8.0" yargs "^17.7.2" "@wdio/config@7.19.5": @@ -3193,14 +3178,14 @@ deepmerge "^4.0.0" glob "^7.1.2" -"@wdio/config@9.7.2": - version "9.7.2" - resolved "https://registry.yarnpkg.com/@wdio/config/-/config-9.7.2.tgz#0a36a836d7bfc2dca961fa4c5eb8dbc228850df9" - integrity sha512-8C4X1gizLLjYJAbrxVOwbudkXNZYD033RPEQAHG4T6CqiqGCMB7Tb3mYUnbHuvjAHj7oJ8FTECkT1a90ZhLMgw== +"@wdio/config@9.7.3": + version "9.7.3" + resolved "https://registry.yarnpkg.com/@wdio/config/-/config-9.7.3.tgz#fb612cdee5acba250f536f90d25bc4e2910080e8" + integrity sha512-rWiGR0WMcUpGTTMn3XP9OzNW3WH64AcNK93b9kSwq9WzVGVIzMBCZK8LPXpdQ+pFwizq/ExIXTx/Z39kc0LCyw== dependencies: "@wdio/logger" "9.4.4" "@wdio/types" "9.6.3" - "@wdio/utils" "9.7.2" + "@wdio/utils" "9.7.3" deepmerge-ts "^7.0.3" glob "^10.2.2" import-meta-resolve "^4.0.0" @@ -3214,23 +3199,23 @@ "@wdio/types" "9.6.3" chalk "^5.0.1" -"@wdio/globals@9.7.2": - version "9.7.2" - resolved "https://registry.yarnpkg.com/@wdio/globals/-/globals-9.7.2.tgz#68d8399da2d39a1d8fcd05d9092bdbc9448c04ae" - integrity sha512-fn8wwCsMTOID6mZ8ZtNYrdY+/30n6XQ8VVFU1OkrSCyEJ0pin/tIORMIx+ZWTiufzTdWtsHjoXlE+4Zv10G3KA== +"@wdio/globals@9.8.0": + version "9.8.0" + resolved "https://registry.yarnpkg.com/@wdio/globals/-/globals-9.8.0.tgz#70c03b148d21676c6ef1b26d176753e493c4e6e9" + integrity sha512-W8XbOzTGQG1J1k9yAMSYtxWEGrxMQi++xdD62MsnbDU++RHiBD9ZDm8yRVPo9HoPL3Y+xovtsWbKbZ0eC4xFDQ== optionalDependencies: expect-webdriverio "^5.0.1" - webdriverio "9.7.2" + webdriverio "9.8.0" -"@wdio/local-runner@^9.7.2": - version "9.7.2" - resolved "https://registry.yarnpkg.com/@wdio/local-runner/-/local-runner-9.7.2.tgz#ac98387cd37ae68ef80ec0a986d7f1cc4f446443" - integrity sha512-KhgPT70+d4scRnNmnI547kUWh+84IHR9EjkBqk0xs4G1fpH1AGwdBMQ4xK6170LckvTOWVCZbHaIlLRywck0Pg== +"@wdio/local-runner@^9.8.0": + version "9.8.0" + resolved "https://registry.yarnpkg.com/@wdio/local-runner/-/local-runner-9.8.0.tgz#66bb2bc568a53c531f7feccf79ac80bb97a1788e" + integrity sha512-nK5LFUJqAW0bNMcc2uuboRHL2aUR2GxDS2fAkSqCN1aKAl/kzwDW88TgyWz3RgOSE9Iyi+6OFUIXN/4XSJ4CRQ== dependencies: "@types/node" "^20.1.0" "@wdio/logger" "9.4.4" "@wdio/repl" "9.4.4" - "@wdio/runner" "9.7.2" + "@wdio/runner" "9.8.0" "@wdio/types" "9.6.3" async-exit-hook "^2.0.1" split2 "^4.1.0" @@ -3256,16 +3241,16 @@ loglevel-plugin-prefix "^0.8.4" strip-ansi "^7.1.0" -"@wdio/mocha-framework@^9.7.2": - version "9.7.2" - resolved "https://registry.yarnpkg.com/@wdio/mocha-framework/-/mocha-framework-9.7.2.tgz#bf7e10f4dc5298f7da8b051352d379d73bcdff9b" - integrity sha512-5vzfM36vf7IY0y4TGjKka+DWxX6jcylE/TASpRyqipBtSxTYgGt7pr7+0F7ZpXzh6kjQ6FKEuXIqpvUfXxjc9Q== +"@wdio/mocha-framework@^9.7.3": + version "9.7.3" + resolved "https://registry.yarnpkg.com/@wdio/mocha-framework/-/mocha-framework-9.7.3.tgz#533dacb4e346259912d14ab322303b4ce5844c29" + integrity sha512-DG2TVjjP9n1lESfB0p0pmhl/tVFIRhKVtJaEuSwIOy3YDc3S6iJtGIeoy4jtqxBm/c6srbx5j3d5yMIHP4/wRA== dependencies: "@types/mocha" "^10.0.6" "@types/node" "^20.11.28" "@wdio/logger" "9.4.4" "@wdio/types" "9.6.3" - "@wdio/utils" "9.7.2" + "@wdio/utils" "9.7.3" mocha "^10.3.0" "@wdio/protocols@7.19.0": @@ -3303,38 +3288,38 @@ diff "^7.0.0" object-inspect "^1.12.0" -"@wdio/runner@9.7.2": - version "9.7.2" - resolved "https://registry.yarnpkg.com/@wdio/runner/-/runner-9.7.2.tgz#de22d038826ba8b2668c19d71cf76c551431c511" - integrity sha512-J5jV5HnROtonYRDqVRAhj6CjlXgvprhIDjysZmNF3MnRWVMurFqE+PL1q4Lx8dB3s8wSepy3Bb3qvvycPtpt1Q== +"@wdio/runner@9.8.0": + version "9.8.0" + resolved "https://registry.yarnpkg.com/@wdio/runner/-/runner-9.8.0.tgz#581f1deda66c56e14738a202458a4f355a39cf43" + integrity sha512-Qak3SzdC48HZ7NHK/Ilh/x6s95mAx8Fy/iovntjpphyGQ9k3Ra/cIqzzpiMkV/3+X4Gdo1lQ5AGa5KakkQJHeg== dependencies: "@types/node" "^20.11.28" - "@wdio/config" "9.7.2" + "@wdio/config" "9.7.3" "@wdio/dot-reporter" "9.6.3" - "@wdio/globals" "9.7.2" + "@wdio/globals" "9.8.0" "@wdio/logger" "9.4.4" "@wdio/types" "9.6.3" - "@wdio/utils" "9.7.2" + "@wdio/utils" "9.7.3" deepmerge-ts "^7.0.3" expect-webdriverio "^5.0.1" - webdriver "9.7.2" - webdriverio "9.7.2" + webdriver "9.7.3" + webdriverio "9.8.0" -"@wdio/sauce-service@^9.7.2": - version "9.7.2" - resolved "https://registry.yarnpkg.com/@wdio/sauce-service/-/sauce-service-9.7.2.tgz#eee430dbb2732320887e03aefcfb7516c3129590" - integrity sha512-Niud+HdywM1Jz6IIrCZ0Jf9vVMeUjTAjsRXyIuLSYoS1ZkHmlZADTcnnd6UQ8f37sd/t4gxWbiR1eNBPyNkehQ== +"@wdio/sauce-service@^9.8.0": + version "9.8.0" + resolved "https://registry.yarnpkg.com/@wdio/sauce-service/-/sauce-service-9.8.0.tgz#5a9d7292848d43608e29f34adec4a772d54cf4d1" + integrity sha512-Vx5cEpG3o66Q34qgP3RVkSgr61jH2vxB/rPj8+SN2h4AIAu0KbNnJ+BWva6EUNTYQyGC6ftA6R1GveamcjgofA== dependencies: "@wdio/logger" "9.4.4" "@wdio/types" "9.6.3" - "@wdio/utils" "9.7.2" - saucelabs "8.0.0" - webdriverio "9.7.2" + "@wdio/utils" "9.7.3" + saucelabs "^9.0.1" + webdriverio "9.8.0" -"@wdio/spec-reporter@^9.6.3": - version "9.6.3" - resolved "https://registry.yarnpkg.com/@wdio/spec-reporter/-/spec-reporter-9.6.3.tgz#7e96390a9d5280a97dcc5db01b3191edaf853251" - integrity sha512-P9zi8PfdhUWGnwb1tcl7EyLGKHFiCOkS04I7nBnVRAkTTfeQ+jpuDIlefW8DkW91yHHOpoAOOVeMqVBGRc8OoQ== +"@wdio/spec-reporter@^9.8.0": + version "9.8.0" + resolved "https://registry.yarnpkg.com/@wdio/spec-reporter/-/spec-reporter-9.8.0.tgz#bdc44735d78843307211e464d32027f5d1fb726f" + integrity sha512-iOt+JSC0fsD67VUTny/WuZlKaLb0cvIA7wE3bgVBS5OkatFW5E4Z7Ls+jXsJxBBqXWxAkfHdttLJ/GeI0fMP3g== dependencies: "@wdio/reporter" "9.6.3" "@wdio/types" "9.6.3" @@ -3376,10 +3361,10 @@ "@wdio/types" "7.19.5" p-iteration "^1.1.8" -"@wdio/utils@9.7.2": - version "9.7.2" - resolved "https://registry.yarnpkg.com/@wdio/utils/-/utils-9.7.2.tgz#1091ad64606e180fc120dc24056b9d9a6e907eaa" - integrity sha512-DlUY5Gn5wE3Iurlh+LdtzpzNRPIKCAU286NxaxtWjsqD6QSXXALMj5S95k9JDvw6iCXA4XrQa9T5/GBuIuyO2A== +"@wdio/utils@9.7.3": + version "9.7.3" + resolved "https://registry.yarnpkg.com/@wdio/utils/-/utils-9.7.3.tgz#9b1d59e3cfb8e14cb541d28a0f790fee0e2e32aa" + integrity sha512-gScYudyuq/aOmiPTz7vTvEhWtmiUMdrrzkOSQqGCQk0AMy7WpAzKM19NESPe9iPTN96i11jLJnpLOXwm2j+6LQ== dependencies: "@puppeteer/browsers" "^2.2.0" "@wdio/logger" "9.4.4" @@ -3870,14 +3855,14 @@ babel-plugin-const-enum@^1.0.1: "@babel/plugin-syntax-typescript" "^7.3.3" "@babel/traverse" "^7.16.0" -babel-plugin-macros@^2.8.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz#0f958a7cc6556b1e65344465d99111a1e5e10138" - integrity sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg== +babel-plugin-macros@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz#9ef6dc74deb934b4db344dc973ee851d148c50c1" + integrity sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg== dependencies: - "@babel/runtime" "^7.7.2" - cosmiconfig "^6.0.0" - resolve "^1.12.0" + "@babel/runtime" "^7.12.5" + cosmiconfig "^7.0.0" + resolve "^1.19.0" babel-plugin-polyfill-corejs2@^0.4.10: version "0.4.12" @@ -4877,16 +4862,16 @@ cosmiconfig-typescript-loader@^6.1.0: dependencies: jiti "^2.4.1" -cosmiconfig@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982" - integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg== +cosmiconfig@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" + integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== dependencies: "@types/parse-json" "^4.0.0" - import-fresh "^3.1.0" + import-fresh "^3.2.1" parse-json "^5.0.0" path-type "^4.0.0" - yaml "^1.7.2" + yaml "^1.10.0" cosmiconfig@^9.0.0: version "9.0.0" @@ -5955,17 +5940,17 @@ eslint-visitor-keys@^4.2.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz#687bacb2af884fcdda8a6e7d65c606f46a14cd45" integrity sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw== -eslint@9.19.0: - version "9.19.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.19.0.tgz#ffa1d265fc4205e0f8464330d35f09e1d548b1bf" - integrity sha512-ug92j0LepKlbbEv6hD911THhoRHmbdXt2gX+VDABAW/Ir7D3nqKdv5Pf5vtlyY6HQMTEP2skXY43ueqTCWssEA== +eslint@9.20.0: + version "9.20.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.20.0.tgz#6244c46c1640cd5e577a31ebc460fca87838c0b7" + integrity sha512-aL4F8167Hg4IvsW89ejnpTwx+B/UQRzJPGgbIOl+4XqffWsahVVsLEWoZvnrVuwpWmnRd7XeXmQI1zlKcFDteA== dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@eslint-community/regexpp" "^4.12.1" "@eslint/config-array" "^0.19.0" - "@eslint/core" "^0.10.0" + "@eslint/core" "^0.11.0" "@eslint/eslintrc" "^3.2.0" - "@eslint/js" "9.19.0" + "@eslint/js" "9.20.0" "@eslint/plugin-kit" "^0.2.5" "@humanfs/node" "^0.16.6" "@humanwhocodes/module-importer" "^1.0.1" @@ -7337,14 +7322,6 @@ immer@^10.1.1: resolved "https://registry.yarnpkg.com/immer/-/immer-10.1.1.tgz#206f344ea372d8ea176891545ee53ccc062db7bc" integrity sha512-s2MPrmjovJcoMaHtx6K11Ra7oD05NT97w1IC5zpMkT6Atjr7H8LjaDd81iIxUYpMKSRRNMJE703M1Fhr/TctHw== -import-fresh@^3.1.0: - version "3.3.1" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.1.tgz#9cecb56503c0ada1f2741dbbd6546e4b13b57ccf" - integrity sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - import-fresh@^3.2.1, import-fresh@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" @@ -9400,10 +9377,10 @@ nwsapi@^2.2.16: resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.16.tgz#177760bba02c351df1d2644e220c31dfec8cdb43" integrity sha512-F1I/bimDpj3ncaNDhfyMWuFqmQDBwDB0Fogc2qpL3BWvkQteFD/8BzWuIRl83rq0DXfm8SGt/HFhLXZyljTXcQ== -nx@20.3.3: - version "20.3.3" - resolved "https://registry.yarnpkg.com/nx/-/nx-20.3.3.tgz#fd1bc64a88c77a1c1a1059db9b9fb939461a31bc" - integrity sha512-IUu2D8/bVa7aSr3ViRcrmpTGO2FKqzJoio6gjeq/YbyUHyjrrq5HUmHFx30Wm2vmC1BGm0MeyakTNUJzQvfAog== +nx@20.4.0: + version "20.4.0" + resolved "https://registry.yarnpkg.com/nx/-/nx-20.4.0.tgz#eb2f41f147859ff4828792ce0657a56803d5ba70" + integrity sha512-barpwhq8noc30U0d5j2bSp9x/HDL33TCYsP2fl6FvpssbL64PwLOSBqIdZ9ATxVxAE/xAc/s+z72cYDkaYouPA== dependencies: "@napi-rs/wasm-runtime" "0.2.4" "@yarnpkg/lockfile" "^1.1.0" @@ -9440,16 +9417,16 @@ nx@20.3.3: yargs "^17.6.2" yargs-parser "21.1.1" optionalDependencies: - "@nx/nx-darwin-arm64" "20.3.3" - "@nx/nx-darwin-x64" "20.3.3" - "@nx/nx-freebsd-x64" "20.3.3" - "@nx/nx-linux-arm-gnueabihf" "20.3.3" - "@nx/nx-linux-arm64-gnu" "20.3.3" - "@nx/nx-linux-arm64-musl" "20.3.3" - "@nx/nx-linux-x64-gnu" "20.3.3" - "@nx/nx-linux-x64-musl" "20.3.3" - "@nx/nx-win32-arm64-msvc" "20.3.3" - "@nx/nx-win32-x64-msvc" "20.3.3" + "@nx/nx-darwin-arm64" "20.4.0" + "@nx/nx-darwin-x64" "20.4.0" + "@nx/nx-freebsd-x64" "20.4.0" + "@nx/nx-linux-arm-gnueabihf" "20.4.0" + "@nx/nx-linux-arm64-gnu" "20.4.0" + "@nx/nx-linux-arm64-musl" "20.4.0" + "@nx/nx-linux-x64-gnu" "20.4.0" + "@nx/nx-linux-x64-musl" "20.4.0" + "@nx/nx-win32-arm64-msvc" "20.4.0" + "@nx/nx-win32-x64-msvc" "20.4.0" object-assign@^4, object-assign@^4.0.1, object-assign@^4.1.0: version "4.1.1" @@ -10113,10 +10090,10 @@ possible-typed-array-names@^1.0.0: resolved "https://registry.yarnpkg.com/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz#89bb63c6fada2c3e90adc4a647beeeb39cc7bf8f" integrity sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q== -postcss-selector-parser@~7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz#41bd8b56f177c093ca49435f65731befe25d6b9c" - integrity sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ== +postcss-selector-parser@~7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz#4d6af97eba65d73bc4d84bcb343e865d7dd16262" + integrity sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA== dependencies: cssesc "^3.0.0" util-deprecate "^1.0.2" @@ -10185,10 +10162,10 @@ prepend-http@^2.0.0: resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" integrity sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA== -prettier@^3.4.2: - version "3.4.2" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.4.2.tgz#a5ce1fb522a588bf2b78ca44c6e6fe5aa5a2b13f" - integrity sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ== +prettier@^3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.5.0.tgz#50325a28887c6dfdf2ca3f8eaba02b66a8429ca7" + integrity sha512-quyMrVt6svPS7CjQ9gKb3GLEX/rl3BCL2oa/QkNcXv4YNVBC9olt3s+H7ukto06q7B1Qz46PbrKLO34PR6vXcA== pretty-format@^29.7.0: version "29.7.0" @@ -10641,7 +10618,7 @@ resolve.exports@2.0.3: resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.3.tgz#41955e6f1b4013b7586f873749a635dea07ebe3f" integrity sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A== -resolve@^1.11.0, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.22.1, resolve@^1.22.4, resolve@~1.22.10: +resolve@^1.11.0, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.22.1, resolve@^1.22.4, resolve@~1.22.10: version "1.22.10" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.10.tgz#b663e83ffb09bbf2386944736baae803029b8b39" integrity sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w== @@ -10763,32 +10740,32 @@ rollup-plugin-serve@^3.0.0: mime "^4" opener "1" -rollup@^4.23.0, rollup@^4.28.0, rollup@^4.34.1: - version "4.34.1" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.34.1.tgz#dcc318abee12e23dae4003af733c1987d7baca8e" - integrity sha512-iYZ/+PcdLYSGfH3S+dGahlW/RWmsqDhLgj1BT9DH/xXJ0ggZN7xkdP9wipPNjjNLczI+fmMLmTB9pye+d2r4GQ== +rollup@^4.23.0, rollup@^4.28.0, rollup@^4.34.6: + version "4.34.6" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.34.6.tgz#a07e4d2621759e29034d909655e7a32eee9195c9" + integrity sha512-wc2cBWqJgkU3Iz5oztRkQbfVkbxoz5EhnCGOrnJvnLnQ7O0WhQUYyv18qQI79O8L7DdHrrlJNeCHd4VGpnaXKQ== dependencies: "@types/estree" "1.0.6" optionalDependencies: - "@rollup/rollup-android-arm-eabi" "4.34.1" - "@rollup/rollup-android-arm64" "4.34.1" - "@rollup/rollup-darwin-arm64" "4.34.1" - "@rollup/rollup-darwin-x64" "4.34.1" - "@rollup/rollup-freebsd-arm64" "4.34.1" - "@rollup/rollup-freebsd-x64" "4.34.1" - "@rollup/rollup-linux-arm-gnueabihf" "4.34.1" - "@rollup/rollup-linux-arm-musleabihf" "4.34.1" - "@rollup/rollup-linux-arm64-gnu" "4.34.1" - "@rollup/rollup-linux-arm64-musl" "4.34.1" - "@rollup/rollup-linux-loongarch64-gnu" "4.34.1" - "@rollup/rollup-linux-powerpc64le-gnu" "4.34.1" - "@rollup/rollup-linux-riscv64-gnu" "4.34.1" - "@rollup/rollup-linux-s390x-gnu" "4.34.1" - "@rollup/rollup-linux-x64-gnu" "4.34.1" - "@rollup/rollup-linux-x64-musl" "4.34.1" - "@rollup/rollup-win32-arm64-msvc" "4.34.1" - "@rollup/rollup-win32-ia32-msvc" "4.34.1" - "@rollup/rollup-win32-x64-msvc" "4.34.1" + "@rollup/rollup-android-arm-eabi" "4.34.6" + "@rollup/rollup-android-arm64" "4.34.6" + "@rollup/rollup-darwin-arm64" "4.34.6" + "@rollup/rollup-darwin-x64" "4.34.6" + "@rollup/rollup-freebsd-arm64" "4.34.6" + "@rollup/rollup-freebsd-x64" "4.34.6" + "@rollup/rollup-linux-arm-gnueabihf" "4.34.6" + "@rollup/rollup-linux-arm-musleabihf" "4.34.6" + "@rollup/rollup-linux-arm64-gnu" "4.34.6" + "@rollup/rollup-linux-arm64-musl" "4.34.6" + "@rollup/rollup-linux-loongarch64-gnu" "4.34.6" + "@rollup/rollup-linux-powerpc64le-gnu" "4.34.6" + "@rollup/rollup-linux-riscv64-gnu" "4.34.6" + "@rollup/rollup-linux-s390x-gnu" "4.34.6" + "@rollup/rollup-linux-x64-gnu" "4.34.6" + "@rollup/rollup-linux-x64-musl" "4.34.6" + "@rollup/rollup-win32-arm64-msvc" "4.34.6" + "@rollup/rollup-win32-ia32-msvc" "4.34.6" + "@rollup/rollup-win32-x64-msvc" "4.34.6" fsevents "~2.3.2" rrweb-cssom@^0.8.0: @@ -10888,10 +10865,10 @@ saucelabs@6.2.2: tunnel "0.0.6" yargs "^17.0.1" -saucelabs@8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/saucelabs/-/saucelabs-8.0.0.tgz#63084768ce5950107db988797e4db8d52297d725" - integrity sha512-Rj9m4OCniYk+c4MFuZGqvz64RPX6oRzMqt0bTr9T27IXGnA7Ic7Ms/VHgPtRcJFP6H3sQ169WOzazPZcW4BIAg== +saucelabs@^9.0.1: + version "9.0.2" + resolved "https://registry.yarnpkg.com/saucelabs/-/saucelabs-9.0.2.tgz#99f6170f3d789fcb0be2f270f7d37a9d7cdf5187" + integrity sha512-37QGEOgp9BP1re6S06qpNcBZ0Hw+ZSkZkDepbXHT9VjYoRQwRzUoLtKqE4yyVeK7dzcQXQapmTGF1kp1jO2VDw== dependencies: change-case "^4.1.2" compressing "^1.10.0" @@ -11832,10 +11809,10 @@ tar@^7.4.3: mkdirp "^3.0.1" yallist "^5.0.0" -terser@^5.37.0: - version "5.37.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.37.0.tgz#38aa66d1cfc43d0638fab54e43ff8a4f72a21ba3" - integrity sha512-B8wRRkmre4ERucLM/uXx4MOV5cbnOlVAqUst+1+iLKPI0dOgFO28f84ptoQt9HEI537PMzfYa/d+GEPKTRXmYA== +terser@^5.38.1: + version "5.38.1" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.38.1.tgz#a18d83c8acf3175e847ab0b66839f3c318167c58" + integrity sha512-GWANVlPM/ZfYzuPHjq0nxT+EbOEDDN3Jwhwdg1D8TU8oSkktp8w64Uq4auuGLxFSoNTRDncTq2hQHX1Ld9KHkA== dependencies: "@jridgewell/source-map" "^0.3.3" acorn "^8.8.2" @@ -12000,10 +11977,10 @@ truncate-utf8-bytes@^1.0.0: dependencies: utf8-byte-length "^1.0.1" -ts-api-utils@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-2.0.0.tgz#b9d7d5f7ec9f736f4d0f09758b8607979044a900" - integrity sha512-xCt/TOAc+EOHS1XPnijD3/yzpH6qg2xppZO1YDqGoVsNXfQfzHpOdNuXwrwOU8u4ITXJyDCTyt8w5g1sZv9ynQ== +ts-api-utils@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-2.0.1.tgz#660729385b625b939aaa58054f45c058f33f10cd" + integrity sha512-dnlgjFSVetynI8nzgJ+qF62efpglpWRk8isUEWZGWlJYySCTD6aKvbUDu+zbPeDakk3bg5H4XpitHukgfL1m9w== ts-node@10.9.1: version "10.9.1" @@ -12175,14 +12152,14 @@ typed-query-selector@^2.12.0: resolved "https://registry.yarnpkg.com/typed-query-selector/-/typed-query-selector-2.12.0.tgz#92b65dbc0a42655fccf4aeb1a08b1dddce8af5f2" integrity sha512-SbklCd1F0EiZOyPiW192rrHZzZ5sBijB6xM+cpmrwDqObvdtunOHHIk9fCGsoK5JVIYXoyEp4iEdE3upFH3PAg== -typescript-eslint@8.22.0: - version "8.22.0" - resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.22.0.tgz#1d4becf1d65385e57e9271fbd557ccc22f6c0f53" - integrity sha512-Y2rj210FW1Wb6TWXzQc5+P+EWI9/zdS57hLEc0gnyuvdzWo8+Y8brKlbj0muejonhMI/xAZCnZZwjbIfv1CkOw== +typescript-eslint@8.23.0: + version "8.23.0" + resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.23.0.tgz#796deb48f040146b68fcc8cb07db68b87219a8d2" + integrity sha512-/LBRo3HrXr5LxmrdYSOCvoAMm7p2jNizNfbIpCgvG4HMsnoprRUOce/+8VJ9BDYWW68rqIENE/haVLWPeFZBVQ== dependencies: - "@typescript-eslint/eslint-plugin" "8.22.0" - "@typescript-eslint/parser" "8.22.0" - "@typescript-eslint/utils" "8.22.0" + "@typescript-eslint/eslint-plugin" "8.23.0" + "@typescript-eslint/parser" "8.23.0" + "@typescript-eslint/utils" "8.23.0" typescript@5.7.3: version "5.7.3" @@ -12506,18 +12483,18 @@ webdriver@7.19.5: ky "^0.30.0" lodash.merge "^4.6.1" -webdriver@9.7.2: - version "9.7.2" - resolved "https://registry.yarnpkg.com/webdriver/-/webdriver-9.7.2.tgz#6c8b92eebb8ef79543f740dc5eb8a870f2d58e5c" - integrity sha512-FcPokssrgzwCHL0sQRiiX8H6he30q+W/jy1TvzcUdbQRgpTqnxUPT+hopd6xVhuZecUeHo/KSVXZ1hhcwwJKmQ== +webdriver@9.7.3: + version "9.7.3" + resolved "https://registry.yarnpkg.com/webdriver/-/webdriver-9.7.3.tgz#faaa212b891a29cf15c2102d8c9daa5c518540d2" + integrity sha512-Mpi277WKw37Yg5xZ0MT2BcG/Q/5Y5reYA0wDXOMldVI1nLxA7eOzAvsBA8NpjPbi/+yZijZhNMrXRAtQ5Eu8NQ== dependencies: "@types/node" "^20.1.0" "@types/ws" "^8.5.3" - "@wdio/config" "9.7.2" + "@wdio/config" "9.7.3" "@wdio/logger" "9.4.4" "@wdio/protocols" "9.7.0" "@wdio/types" "9.6.3" - "@wdio/utils" "9.7.2" + "@wdio/utils" "9.7.3" deepmerge-ts "^7.0.3" undici "^6.20.1" ws "^8.8.0" @@ -12555,19 +12532,19 @@ webdriverio@7.19.5: serialize-error "^8.0.0" webdriver "7.19.5" -webdriverio@9.7.2, webdriverio@^9.0.7: - version "9.7.2" - resolved "https://registry.yarnpkg.com/webdriverio/-/webdriverio-9.7.2.tgz#aafa6b631e32bc29220d6d6f9380558505cadf9a" - integrity sha512-zpGCn+pb63w9ZltCzIeGfEUSLLFwEsr0N4R25BdDFlBPQ5467VugPdSw/hWGTwgx7BzeKSdUgbKHqZMxb77nbQ== +webdriverio@9.8.0, webdriverio@^9.0.7: + version "9.8.0" + resolved "https://registry.yarnpkg.com/webdriverio/-/webdriverio-9.8.0.tgz#c9f1e46f99f52260876fa109c308bee19959c414" + integrity sha512-30qTo27eNrqQTFGjzPYarAXD1aJ2fD5J+r+TUfLM3Ozlai6AuqbicLv4ysM8StfvN44jwyN+av/R3ul4SGaFjg== dependencies: "@types/node" "^20.11.30" "@types/sinonjs__fake-timers" "^8.1.5" - "@wdio/config" "9.7.2" + "@wdio/config" "9.7.3" "@wdio/logger" "9.4.4" "@wdio/protocols" "9.7.0" "@wdio/repl" "9.4.4" "@wdio/types" "9.6.3" - "@wdio/utils" "9.7.2" + "@wdio/utils" "9.7.3" archiver "^7.0.1" aria-query "^5.3.0" cheerio "^1.0.0-rc.12" @@ -12586,7 +12563,7 @@ webdriverio@9.7.2, webdriverio@^9.0.7: rgb2hex "0.2.5" serialize-error "^11.0.3" urlpattern-polyfill "^10.0.0" - webdriver "9.7.2" + webdriver "9.7.3" webidl-conversions@^3.0.0: version "3.0.1" @@ -12887,7 +12864,7 @@ yallist@^5.0.0: resolved "https://registry.yarnpkg.com/yallist/-/yallist-5.0.0.tgz#00e2de443639ed0d78fd87de0d27469fbcffb533" integrity sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw== -yaml@^1.7.2: +yaml@^1.10.0: version "1.10.2" resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==