From 9c1eb60c849003174d8b5d4c2fd0f9feeb85eb70 Mon Sep 17 00:00:00 2001 From: Nolan Lawson Date: Fri, 24 Jan 2025 15:39:20 -0500 Subject: [PATCH 01/12] test(ssr): remove env var, test coverage (#5139) * test(ssr): remove SSR tests env var * test: add code coverage --- .github/workflows/unit.yml | 3 --- .../src/__tests__/fixtures.spec.ts | 4 +--- vitest.config.mjs | 21 ++++++++++++------- 3 files changed, 15 insertions(+), 13 deletions(-) diff --git a/.github/workflows/unit.yml b/.github/workflows/unit.yml index a7ba841f04..7bda4671fe 100644 --- a/.github/workflows/unit.yml +++ b/.github/workflows/unit.yml @@ -66,9 +66,6 @@ jobs: run: yarn test:types - name: Run unit tests run: yarn test:ci - # TODO [#4815]: enable all SSR v2 tests - - name: Run experimental SSR fixture tests - run: TEST_SSR_COMPILER=1 yarn test packages/@lwc/ssr-compiler/src/__tests__/fixtures.spec.ts - name: Upload unit test coverage report uses: actions/upload-artifact@v4 with: diff --git a/packages/@lwc/ssr-compiler/src/__tests__/fixtures.spec.ts b/packages/@lwc/ssr-compiler/src/__tests__/fixtures.spec.ts index 6e5cb3bcf9..bc8aa372ad 100644 --- a/packages/@lwc/ssr-compiler/src/__tests__/fixtures.spec.ts +++ b/packages/@lwc/ssr-compiler/src/__tests__/fixtures.spec.ts @@ -77,9 +77,7 @@ async function compileFixture({ input, dirname }: { input: string; dirname: stri return outputFile; } -// We will enable this for realsies once all the tests are passing, but for now having the env var avoids -// running these tests in CI while still allowing for local testing. -describe.runIf(process.env.TEST_SSR_COMPILER).concurrent('fixtures', () => { +describe.concurrent('fixtures', () => { testFixtureDir( { root: path.resolve(__dirname, '../../../engine-server/src/__tests__/fixtures'), diff --git a/vitest.config.mjs b/vitest.config.mjs index 70cd0f0057..eb11f9cb21 100644 --- a/vitest.config.mjs +++ b/vitest.config.mjs @@ -29,17 +29,24 @@ export default defineConfig({ '**/packages/@lwc/perf-benchmarks-components/**', '**/packages/@lwc/perf-benchmarks/**', '**/playground/**', - // These are not production-ready yet - '**/packages/@lwc/ssr-compiler/**', - '**/packages/@lwc/ssr-runtime/**', // This just re-exports other packages '**/packages/lwc/**', ], thresholds: { - branches: 95, - functions: 95, - lines: 95, - statements: 95, + // SSR compiler/runtime is relatively newer, so has lower thresholds for now + '**/packages/@lwc/ssr-*/**': { + branches: 90, + functions: 60, + lines: 85, + statements: 85, + }, + + '!**/packages/@lwc/ssr-*/**': { + branches: 95, + functions: 95, + lines: 95, + statements: 95, + }, }, reporter: [ 'clover', From 52ad456fa7b7f869754972ebb79e0bac7175fb6f Mon Sep 17 00:00:00 2001 From: Jason Ye <40873183+jye-sf@users.noreply.github.com> Date: Fri, 24 Jan 2025 16:32:53 -0800 Subject: [PATCH 02/12] chore: update dependencies (#5169) * chore: update dependencies - patch versions * chore: update rollup and eslint * fix: remove unneeded eslint config values * fix: bad merge --- eslint.config.mjs | 9 +- package.json | 26 +- packages/@lwc/compiler/package.json | 2 +- packages/@lwc/ssr-compiler/package.json | 2 +- yarn.lock | 850 ++++++++++++++---------- 5 files changed, 532 insertions(+), 357 deletions(-) diff --git a/eslint.config.mjs b/eslint.config.mjs index ee53dd3eea..62a8942fe8 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -48,14 +48,7 @@ export default tseslint.config( }, parserOptions: { - projectService: { - allowDefaultProject: [ - // I'm not sure why these files aren't picked up... :\ - 'packages/@lwc/module-resolver/scripts/test/matchers/to-throw-error-with-code.ts', - 'packages/@lwc/module-resolver/scripts/test/matchers/to-throw-error-with-type.ts', - 'packages/@lwc/module-resolver/scripts/test/setup-test.ts', - ], - }, + projectService: {}, }, }, diff --git a/package.json b/package.json index 720a13f95e..fdbbc78a72 100644 --- a/package.json +++ b/package.json @@ -35,26 +35,26 @@ }, "devDependencies": { "@commitlint/cli": "^19.6.1", - "@eslint/js": "9.18.0", + "@eslint/js": "9.19.0", "@lwc/eslint-plugin-lwc-internal": "link:./scripts/eslint-plugin", "@lwc/test-utils-lwc-internals": "link:./scripts/test-utils", - "@nx/js": "20.3.2", + "@nx/js": "20.3.3", "@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.8", + "@swc/core": "~1.10.9", "@swc/helpers": "~0.5.15", "@types/babel__core": "^7.20.5", - "@types/node": "^22.10.7", - "@vitest/coverage-v8": "^3.0.3", + "@types/node": "^22.10.10", + "@vitest/coverage-v8": "^3.0.4", "@vitest/eslint-plugin": "^1.1.25", - "@vitest/ui": "^3.0.3", + "@vitest/ui": "^3.0.4", "bytes": "^3.1.2", "es-module-lexer": "^1.6.0", - "eslint": "9.18.0", + "eslint": "9.19.0", "eslint-config-flat-gitignore": "^1.0.0", "eslint-plugin-header": "^3.1.1", "eslint-plugin-import": "^2.31.0", @@ -63,16 +63,16 @@ "husky": "^9.1.7", "isbinaryfile": "^5.0.4", "jsdom": "^26.0.0", - "lint-staged": "^15.4.1", + "lint-staged": "^15.4.2", "magic-string": "^0.30.17", - "nx": "20.3.2", + "nx": "20.3.3", "prettier": "^3.4.2", - "rollup": "^4.31.0", + "rollup": "^4.32.0", "terser": "^5.37.0", "tslib": "^2.8.1", - "typescript": "5.4.5", - "typescript-eslint": "8.20.0", - "vitest": "^3.0.3" + "typescript": "5.7.3", + "typescript-eslint": "8.21.0", + "vitest": "^3.0.4" }, "lint-staged": { "*.{js,mjs,ts}": "eslint --cache", diff --git a/packages/@lwc/compiler/package.json b/packages/@lwc/compiler/package.json index 5699e1d0c4..4601b2c997 100644 --- a/packages/@lwc/compiler/package.json +++ b/packages/@lwc/compiler/package.json @@ -46,7 +46,7 @@ } }, "dependencies": { - "@babel/core": "7.26.0", + "@babel/core": "7.26.7", "@babel/plugin-transform-async-generator-functions": "7.25.9", "@babel/plugin-transform-async-to-generator": "7.25.9", "@babel/plugin-transform-class-properties": "7.25.9", diff --git a/packages/@lwc/ssr-compiler/package.json b/packages/@lwc/ssr-compiler/package.json index 34fd66fd9a..ac45352148 100644 --- a/packages/@lwc/ssr-compiler/package.json +++ b/packages/@lwc/ssr-compiler/package.json @@ -48,7 +48,7 @@ } }, "dependencies": { - "@babel/types": "7.26.5", + "@babel/types": "7.26.7", "@lwc/shared": "8.12.6", "@lwc/errors": "8.12.6", "@lwc/template-compiler": "8.12.6", diff --git a/yarn.lock b/yarn.lock index df389be172..cad01f0c77 100644 --- a/yarn.lock +++ b/yarn.lock @@ -35,7 +35,28 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.26.5.tgz#df93ac37f4417854130e21d72c66ff3d4b897fc7" integrity sha512-XvcZi1KWf88RVbF9wn8MN6tYFloU5qX8KjuF3E1PVBmJ9eypXfs4GRiJwLuTZL0iSnJUKn1BFPa5BPZZJyFzPg== -"@babel/core@7.26.0", "@babel/core@^7.12.3", "@babel/core@^7.23.2": +"@babel/core@7.26.7": + version "7.26.7" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.26.7.tgz#0439347a183b97534d52811144d763a17f9d2b24" + integrity sha512-SRijHmF0PSPgLIBYlWnG0hyeJLwXE2CgpsXaMOrtt2yp9/86ALw6oUlj9KYuZ0JN07T4eBMVIW4li/9S1j2BGA== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.26.2" + "@babel/generator" "^7.26.5" + "@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" + convert-source-map "^2.0.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.3" + semver "^6.3.1" + +"@babel/core@^7.12.3", "@babel/core@^7.23.2": version "7.26.0" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.26.0.tgz#d78b6023cc8f3114ccf049eb219613f74a747b40" integrity sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg== @@ -84,7 +105,7 @@ dependencies: "@babel/types" "^7.25.9" -"@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.25.9": +"@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.25.9", "@babel/helper-compilation-targets@^7.26.5": version "7.26.5" resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.26.5.tgz#75d92bb8d8d51301c0d49e52a65c9a7fe94514d8" integrity sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA== @@ -223,6 +244,14 @@ "@babel/template" "^7.25.9" "@babel/types" "^7.26.0" +"@babel/helpers@^7.26.7": + version "7.26.7" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.26.7.tgz#fd1d2a7c431b6e39290277aacfd8367857c576a4" + integrity sha512-8NHiL98vsi0mbPQmYAGWwfcFaOy4j2HY49fXJCfuDcdE7fMIsH9a7GdaeXpIBsbT7307WU8KCMp5pUVDNL4f9A== + dependencies: + "@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.0", "@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" @@ -230,6 +259,13 @@ 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/plugin-bugfix-firefox-class-in-computed-class-key@^7.25.9": version "7.25.9" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.9.tgz#cc2e53ebf0a0340777fff5ed521943e253b4d8fe" @@ -860,7 +896,28 @@ debug "^4.3.1" globals "^11.1.0" -"@babel/types@7.26.5", "@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.0", "@babel/types@^7.26.5", "@babel/types@^7.4.4": +"@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== + 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" + 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.0", "@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== @@ -1588,10 +1645,10 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@9.18.0": - version "9.18.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.18.0.tgz#3356f85d18ed3627ab107790b53caf7e1e3d1e84" - integrity sha512-fK6L7rxcq6/z+AaQMtiFTkvbHkBLNlwyRxHpKawP0x3u9+NC6MQTnFW+AdpwC6gfHTW0051cokQgtTN2FqlxQA== +"@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/object-schema@^2.1.5": version "2.1.5" @@ -1963,10 +2020,10 @@ mkdirp "^1.0.4" rimraf "^3.0.2" -"@nx/devkit@20.3.2": - version "20.3.2" - resolved "https://registry.yarnpkg.com/@nx/devkit/-/devkit-20.3.2.tgz#b16e66771dd7dd24670eafa060c01f8af1191645" - integrity sha512-VhbxEsSTCZlOVgjuQC+6HQmb9Oz9VoHUeo4001Pw6BFBcSXZUi5q37C/lxbAgQPnMKLkFcLva3WKZ+fOLwhGIg== +"@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== dependencies: ejs "^3.1.7" enquirer "~2.3.6" @@ -1977,10 +2034,10 @@ tslib "^2.3.0" yargs-parser "21.1.1" -"@nx/js@20.3.2": - version "20.3.2" - resolved "https://registry.yarnpkg.com/@nx/js/-/js-20.3.2.tgz#9fb7a056fda4a6e95b73aba447e49117000c8c44" - integrity sha512-t2mLCogVc/DWpkJ1SW4pFgeyWAmuy7EI4IPyShtF4s9mhqyIDfd29fGYsocuv84skX6y4JMOw3O+c+LXdQ9QWw== +"@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== dependencies: "@babel/core" "^7.23.2" "@babel/plugin-proposal-decorators" "^7.22.7" @@ -1989,8 +2046,8 @@ "@babel/preset-env" "^7.23.2" "@babel/preset-typescript" "^7.22.5" "@babel/runtime" "^7.22.6" - "@nx/devkit" "20.3.2" - "@nx/workspace" "20.3.2" + "@nx/devkit" "20.3.3" + "@nx/workspace" "20.3.3" "@zkochan/js-yaml" "0.0.7" babel-plugin-const-enum "^1.0.1" babel-plugin-macros "^2.8.0" @@ -2013,65 +2070,65 @@ tsconfig-paths "^4.1.2" tslib "^2.3.0" -"@nx/nx-darwin-arm64@20.3.2": - version "20.3.2" - resolved "https://registry.yarnpkg.com/@nx/nx-darwin-arm64/-/nx-darwin-arm64-20.3.2.tgz#bc212fdee150b49cdfe72697c7e3234bcbc07caa" - integrity sha512-lQOXMIPmE9o36TuZ+SX6iq7PPWa3s1fjNRqCujlviExX69245NNCMxd754gXlLrsxC1onrx/zmJciKmmEWDIiw== - -"@nx/nx-darwin-x64@20.3.2": - version "20.3.2" - resolved "https://registry.yarnpkg.com/@nx/nx-darwin-x64/-/nx-darwin-x64-20.3.2.tgz#198d4d985e14954fe4d7b00075f9b2a95eed5161" - integrity sha512-RvvSz4QYVOYOfC8sUE63b6dy8iHk2AEI0r1FF5FCQuqE1DdTeTjPETY2sY35tRqF+mO/6oLGp2+m9ti/ysRoTg== - -"@nx/nx-freebsd-x64@20.3.2": - version "20.3.2" - resolved "https://registry.yarnpkg.com/@nx/nx-freebsd-x64/-/nx-freebsd-x64-20.3.2.tgz#42b5a8c045d60d69e9540aeb74b62f8208e41b73" - integrity sha512-KBDTyGn1evlZ17pupwRUDh2wrCMuHhP2j8cOCdgF5cl7vRki8BOK9yyL6jD11d/d/6DgXzy1jmQEX4Xx+AGCug== - -"@nx/nx-linux-arm-gnueabihf@20.3.2": - version "20.3.2" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-20.3.2.tgz#a56e2fca7f56efef9f04c91c93ae4065a4a1c46c" - integrity sha512-mW+OcOnJEMvs7zD3aSwEG3z5M9bI4CuUU5Q/ePmnNzWIucRHpoAMNt/Sd+yu6L4+QttvoUf967uwcMsX8l4nrw== - -"@nx/nx-linux-arm64-gnu@20.3.2": - version "20.3.2" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-20.3.2.tgz#1468b2b3425f8398f17b797703e153d7e66cca2c" - integrity sha512-hbXpZqUvGY5aeEWvh0SNsiYjP1ytSM30XOT6qN6faLO2CL/7j9D2UB69SKOqF3TJOvuNU6cweFgZCxyGfXBYIQ== - -"@nx/nx-linux-arm64-musl@20.3.2": - version "20.3.2" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-20.3.2.tgz#4c139a23f321d9115f9e2c3ef7f55bc0363c2d39" - integrity sha512-HXthtN7adXCNVWs2F4wIqq2f7BcKTjsEnqg2LWV5lm4hRYvMfEvPftb0tECsEhcSQQYcvIJnLfv3vtu9HZSfVA== - -"@nx/nx-linux-x64-gnu@20.3.2": - version "20.3.2" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-20.3.2.tgz#5935d5b71029284be63a9106b8bd50df1804c9e3" - integrity sha512-HhgHqOUT05H45zuQL+XPywQbRNFttd7Rkkr7dZnpCRdp4W8GDjfyKCoCS5qVyowAyNh9Vc7VEq9qmiLMlvf6Zg== - -"@nx/nx-linux-x64-musl@20.3.2": - version "20.3.2" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-20.3.2.tgz#4d4ff695efaa1207de5b3354d8fe08341f4d004f" - integrity sha512-NrZ8L9of2GmYEM8GMJX6QRrLJlAwM+ds2rhdY1bxwpiyCNcD3IO/gzJlBs+kG4ly05F1u/X4k/FI5dXPpjUSgw== - -"@nx/nx-win32-arm64-msvc@20.3.2": - version "20.3.2" - resolved "https://registry.yarnpkg.com/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-20.3.2.tgz#992ce1f483a96075cdfd4b2b9c8ccb6c5e6144b2" - integrity sha512-yLjacZND7C1XmsC0jfRLSgeLWZUw2Oz+u3nXNvj5JX6YHtYTVLFnRbTAcI+pG2Y6v0Otf2GKb3VT5d1mQb8JvA== - -"@nx/nx-win32-x64-msvc@20.3.2": - version "20.3.2" - resolved "https://registry.yarnpkg.com/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-20.3.2.tgz#0508f0ea8ee0727f34dcadfecf6b7b4921484776" - integrity sha512-oDhcctfk0UB1V+Otp1161VKNMobzkFQxGyiEIjp0CjCBa2eRHC1r35L695F1Hj0bvLQPSni9XIe9evh2taeAkg== - -"@nx/workspace@20.3.2": - version "20.3.2" - resolved "https://registry.yarnpkg.com/@nx/workspace/-/workspace-20.3.2.tgz#b61b6c849cacd0f6ff8bd38819e2ee4d7545d8a6" - integrity sha512-Dj2AbG9X8Uo6k3XhcuNOblDgR/U8u5+x41hMNKHSG9Pi3CyAJ24didtn1SMf78GElzPOV94KJZmioGHw3rKyCg== - dependencies: - "@nx/devkit" "20.3.2" +"@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" chalk "^4.1.0" enquirer "~2.3.6" - nx "20.3.2" + nx "20.3.3" tslib "^2.3.0" yargs-parser "21.1.1" @@ -2359,96 +2416,191 @@ resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.31.0.tgz#d4dd60da0075a6ce9a6c76d71b8204f3e1822285" integrity sha512-9NrR4033uCbUBRgvLcBrJofa2KY9DzxL2UKZ1/4xA/mnTNyhZCWBuD8X3tPm1n4KxcgaraOYgrFKSgwjASfmlA== +"@rollup/rollup-android-arm-eabi@4.32.0": + version "4.32.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.32.0.tgz#42a8e897c7b656adb4edebda3a8b83a57526452f" + integrity sha512-G2fUQQANtBPsNwiVFg4zKiPQyjVKZCUdQUol53R8E71J7AsheRMV/Yv/nB8giOcOVqP7//eB5xPqieBYZe9bGg== + "@rollup/rollup-android-arm64@4.31.0": version "4.31.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.31.0.tgz#25c4d33259a7a2ccd2f52a5ffcc0bb3ab3f0729d" integrity sha512-iBbODqT86YBFHajxxF8ebj2hwKm1k8PTBQSojSt3d1FFt1gN+xf4CowE47iN0vOSdnd+5ierMHBbu/rHc7nq5g== +"@rollup/rollup-android-arm64@4.32.0": + version "4.32.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.32.0.tgz#846a73eef25b18ff94bac1e52acab6a7c7ac22fa" + integrity sha512-qhFwQ+ljoymC+j5lXRv8DlaJYY/+8vyvYmVx074zrLsu5ZGWYsJNLjPPVJJjhZQpyAKUGPydOq9hRLLNvh1s3A== + "@rollup/rollup-darwin-arm64@4.31.0": version "4.31.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.31.0.tgz#d137dff254b19163a6b52ac083a71cd055dae844" integrity sha512-WHIZfXgVBX30SWuTMhlHPXTyN20AXrLH4TEeH/D0Bolvx9PjgZnn4H677PlSGvU6MKNsjCQJYczkpvBbrBnG6g== +"@rollup/rollup-darwin-arm64@4.32.0": + version "4.32.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.32.0.tgz#014ed37f1f7809fdf3442a6b689d3a074a844058" + integrity sha512-44n/X3lAlWsEY6vF8CzgCx+LQaoqWGN7TzUfbJDiTIOjJm4+L2Yq+r5a8ytQRGyPqgJDs3Rgyo8eVL7n9iW6AQ== + "@rollup/rollup-darwin-x64@4.31.0": version "4.31.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.31.0.tgz#58ff20b5dacb797d3adca19f02a21c532f9d55bf" integrity sha512-hrWL7uQacTEF8gdrQAqcDy9xllQ0w0zuL1wk1HV8wKGSGbKPVjVUv/DEwT2+Asabf8Dh/As+IvfdU+H8hhzrQQ== +"@rollup/rollup-darwin-x64@4.32.0": + version "4.32.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.32.0.tgz#dde6ed3e56d0b34477fa56c4a199abe5d4b9846b" + integrity sha512-F9ct0+ZX5Np6+ZDztxiGCIvlCaW87HBdHcozUfsHnj1WCUTBUubAoanhHUfnUHZABlElyRikI0mgcw/qdEm2VQ== + "@rollup/rollup-freebsd-arm64@4.31.0": version "4.31.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.31.0.tgz#96ce1a241c591ec3e068f4af765d94eddb24e60c" integrity sha512-S2oCsZ4hJviG1QjPY1h6sVJLBI6ekBeAEssYKad1soRFv3SocsQCzX6cwnk6fID6UQQACTjeIMB+hyYrFacRew== +"@rollup/rollup-freebsd-arm64@4.32.0": + version "4.32.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.32.0.tgz#8ad634f462a6b7e338257cf64c7baff99618a08e" + integrity sha512-JpsGxLBB2EFXBsTLHfkZDsXSpSmKD3VxXCgBQtlPcuAqB8TlqtLcbeMhxXQkCDv1avgwNjF8uEIbq5p+Cee0PA== + "@rollup/rollup-freebsd-x64@4.31.0": version "4.31.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.31.0.tgz#e59e7ede505be41f0b4311b0b943f8eb44938467" integrity sha512-pCANqpynRS4Jirn4IKZH4tnm2+2CqCNLKD7gAdEjzdLGbH1iO0zouHz4mxqg0uEMpO030ejJ0aA6e1PJo2xrPA== +"@rollup/rollup-freebsd-x64@4.32.0": + version "4.32.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.32.0.tgz#9d4d1dbbafcb0354d52ba6515a43c7511dba8052" + integrity sha512-wegiyBT6rawdpvnD9lmbOpx5Sph+yVZKHbhnSP9MqUEDX08G4UzMU+D87jrazGE7lRSyTRs6NEYHtzfkJ3FjjQ== + "@rollup/rollup-linux-arm-gnueabihf@4.31.0": version "4.31.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.31.0.tgz#e455ca6e4ff35bd46d62201c153352e717000a7b" integrity sha512-0O8ViX+QcBd3ZmGlcFTnYXZKGbFu09EhgD27tgTdGnkcYXLat4KIsBBQeKLR2xZDCXdIBAlWLkiXE1+rJpCxFw== +"@rollup/rollup-linux-arm-gnueabihf@4.32.0": + version "4.32.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.32.0.tgz#3bd5fcbab92a66e032faef1078915d1dbf27de7a" + integrity sha512-3pA7xecItbgOs1A5H58dDvOUEboG5UfpTq3WzAdF54acBbUM+olDJAPkgj1GRJ4ZqE12DZ9/hNS2QZk166v92A== + "@rollup/rollup-linux-arm-musleabihf@4.31.0": version "4.31.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.31.0.tgz#bc1a93d807d19e70b1e343a5bfea43723bcd6327" integrity sha512-w5IzG0wTVv7B0/SwDnMYmbr2uERQp999q8FMkKG1I+j8hpPX2BYFjWe69xbhbP6J9h2gId/7ogesl9hwblFwwg== +"@rollup/rollup-linux-arm-musleabihf@4.32.0": + version "4.32.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.32.0.tgz#a77838b9779931ce4fa01326b585eee130f51e60" + integrity sha512-Y7XUZEVISGyge51QbYyYAEHwpGgmRrAxQXO3siyYo2kmaj72USSG8LtlQQgAtlGfxYiOwu+2BdbPjzEpcOpRmQ== + "@rollup/rollup-linux-arm64-gnu@4.31.0": version "4.31.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.31.0.tgz#f38bf843f1dc3d5de680caf31084008846e3efae" integrity sha512-JyFFshbN5xwy6fulZ8B/8qOqENRmDdEkcIMF0Zz+RsfamEW+Zabl5jAb0IozP/8UKnJ7g2FtZZPEUIAlUSX8cA== +"@rollup/rollup-linux-arm64-gnu@4.32.0": + version "4.32.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.32.0.tgz#ec1b1901b82d57a20184adb61c725dd8991a0bf0" + integrity sha512-r7/OTF5MqeBrZo5omPXcTnjvv1GsrdH8a8RerARvDFiDwFpDVDnJyByYM/nX+mvks8XXsgPUxkwe/ltaX2VH7w== + "@rollup/rollup-linux-arm64-musl@4.31.0": version "4.31.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.31.0.tgz#b3987a96c18b7287129cf735be2dbf83e94d9d05" integrity sha512-kpQXQ0UPFeMPmPYksiBL9WS/BDiQEjRGMfklVIsA0Sng347H8W2iexch+IEwaR7OVSKtr2ZFxggt11zVIlZ25g== +"@rollup/rollup-linux-arm64-musl@4.32.0": + version "4.32.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.32.0.tgz#7aa23b45bf489b7204b5a542e857e134742141de" + integrity sha512-HJbifC9vex9NqnlodV2BHVFNuzKL5OnsV2dvTw6e1dpZKkNjPG6WUq+nhEYV6Hv2Bv++BXkwcyoGlXnPrjAKXw== + "@rollup/rollup-linux-loongarch64-gnu@4.31.0": version "4.31.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.31.0.tgz#0f0324044e71c4f02e9f49e7ec4e347b655b34ee" integrity sha512-pMlxLjt60iQTzt9iBb3jZphFIl55a70wexvo8p+vVFK+7ifTRookdoXX3bOsRdmfD+OKnMozKO6XM4zR0sHRrQ== +"@rollup/rollup-linux-loongarch64-gnu@4.32.0": + version "4.32.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.32.0.tgz#7bf0ebd8c5ad08719c3b4786be561d67f95654a7" + integrity sha512-VAEzZTD63YglFlWwRj3taofmkV1V3xhebDXffon7msNz4b14xKsz7utO6F8F4cqt8K/ktTl9rm88yryvDpsfOw== + "@rollup/rollup-linux-powerpc64le-gnu@4.31.0": version "4.31.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.31.0.tgz#809479f27f1fd5b4eecd2aa732132ad952d454ba" integrity sha512-D7TXT7I/uKEuWiRkEFbed1UUYZwcJDU4vZQdPTcepK7ecPhzKOYk4Er2YR4uHKme4qDeIh6N3XrLfpuM7vzRWQ== +"@rollup/rollup-linux-powerpc64le-gnu@4.32.0": + version "4.32.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.32.0.tgz#e687dfcaf08124aafaaebecef0cc3986675cb9b6" + integrity sha512-Sts5DST1jXAc9YH/iik1C9QRsLcCoOScf3dfbY5i4kH9RJpKxiTBXqm7qU5O6zTXBTEZry69bGszr3SMgYmMcQ== + "@rollup/rollup-linux-riscv64-gnu@4.31.0": version "4.31.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.31.0.tgz#7bc75c4f22db04d3c972f83431739cfa41c6a36e" integrity sha512-wal2Tc8O5lMBtoePLBYRKj2CImUCJ4UNGJlLwspx7QApYny7K1cUYlzQ/4IGQBLmm+y0RS7dwc3TDO/pmcneTw== +"@rollup/rollup-linux-riscv64-gnu@4.32.0": + version "4.32.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.32.0.tgz#19fce2594f9ce73d1cb0748baf8cd90a7bedc237" + integrity sha512-qhlXeV9AqxIyY9/R1h1hBD6eMvQCO34ZmdYvry/K+/MBs6d1nRFLm6BOiITLVI+nFAAB9kUB6sdJRKyVHXnqZw== + "@rollup/rollup-linux-s390x-gnu@4.31.0": version "4.31.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.31.0.tgz#cfe8052345c55864d83ae343362cf1912480170e" integrity sha512-O1o5EUI0+RRMkK9wiTVpk2tyzXdXefHtRTIjBbmFREmNMy7pFeYXCFGbhKFwISA3UOExlo5GGUuuj3oMKdK6JQ== +"@rollup/rollup-linux-s390x-gnu@4.32.0": + version "4.32.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.32.0.tgz#fd99b335bb65c59beb7d15ae82be0aafa9883c19" + integrity sha512-8ZGN7ExnV0qjXa155Rsfi6H8M4iBBwNLBM9lcVS+4NcSzOFaNqmt7djlox8pN1lWrRPMRRQ8NeDlozIGx3Omsw== + "@rollup/rollup-linux-x64-gnu@4.31.0": version "4.31.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.31.0.tgz#c6b048f1e25f3fea5b4bd246232f4d07a159c5a0" integrity sha512-zSoHl356vKnNxwOWnLd60ixHNPRBglxpv2g7q0Cd3Pmr561gf0HiAcUBRL3S1vPqRC17Zo2CX/9cPkqTIiai1g== +"@rollup/rollup-linux-x64-gnu@4.32.0": + version "4.32.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.32.0.tgz#4e8c697bbaa2e2d7212bd42086746c8275721166" + integrity sha512-VDzNHtLLI5s7xd/VubyS10mq6TxvZBp+4NRWoW+Hi3tgV05RtVm4qK99+dClwTN1McA6PHwob6DEJ6PlXbY83A== + "@rollup/rollup-linux-x64-musl@4.31.0": version "4.31.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.31.0.tgz#615273ac52d1a201f4de191cbd3389016a9d7d80" integrity sha512-ypB/HMtcSGhKUQNiFwqgdclWNRrAYDH8iMYH4etw/ZlGwiTVxBz2tDrGRrPlfZu6QjXwtd+C3Zib5pFqID97ZA== +"@rollup/rollup-linux-x64-musl@4.32.0": + version "4.32.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.32.0.tgz#0d2f74bd9cfe0553f20f056760a95b293e849ab2" + integrity sha512-qcb9qYDlkxz9DxJo7SDhWxTWV1gFuwznjbTiov289pASxlfGbaOD54mgbs9+z94VwrXtKTu+2RqwlSTbiOqxGg== + "@rollup/rollup-win32-arm64-msvc@4.31.0": version "4.31.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.31.0.tgz#32ed85810c1b831c648eca999d68f01255b30691" integrity sha512-JuhN2xdI/m8Hr+aVO3vspO7OQfUFO6bKLIRTAy0U15vmWjnZDLrEgCZ2s6+scAYaQVpYSh9tZtRijApw9IXyMw== +"@rollup/rollup-win32-arm64-msvc@4.32.0": + version "4.32.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.32.0.tgz#6534a09fcdd43103645155cedb5bfa65fbf2c23f" + integrity sha512-pFDdotFDMXW2AXVbfdUEfidPAk/OtwE/Hd4eYMTNVVaCQ6Yl8et0meDaKNL63L44Haxv4UExpv9ydSf3aSayDg== + "@rollup/rollup-win32-ia32-msvc@4.31.0": version "4.31.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.31.0.tgz#d47effada68bcbfdccd30c4a788d42e4542ff4d3" integrity sha512-U1xZZXYkvdf5MIWmftU8wrM5PPXzyaY1nGCI4KI4BFfoZxHamsIe+BtnPLIvvPykvQWlVbqUXdLa4aJUuilwLQ== +"@rollup/rollup-win32-ia32-msvc@4.32.0": + version "4.32.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.32.0.tgz#8222ccfecffd63a6b0ddbe417d8d959e4f2b11b3" + integrity sha512-/TG7WfrCAjeRNDvI4+0AAMoHxea/USWhAzf9PVDFHbcqrQ7hMMKp4jZIy4VEjk72AAfN5k4TiSMRXRKf/0akSw== + "@rollup/rollup-win32-x64-msvc@4.31.0": version "4.31.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.31.0.tgz#7a2d89a82cf0388d60304964217dd7beac6de645" integrity sha512-ul8rnCsUumNln5YWwz0ted2ZHFhzhRRnkpBZ+YRuHoRAlUji9KChpOUOndY7uykrPEPXVbHLlsdo6v5yXo/TXw== +"@rollup/rollup-win32-x64-msvc@4.32.0": + version "4.32.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.32.0.tgz#1a40b4792c08094b6479c48c90fe7f4b10ec2f54" + integrity sha512-5hqO5S3PTEO2E5VjCePxv40gIgyS2KvO7E7/vvC/NbIW4SIRamkMr1hqj+5Y67fbBWv/bQLB6KelBQmXlyCjWA== + "@rtsao/scc@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@rtsao/scc/-/scc-1.1.0.tgz#927dd2fae9bc3361403ac2c7a00c32ddce9ad7e8" @@ -2520,74 +2672,74 @@ source-map-support "^0.5.21" tslib "^2.6.3" -"@swc/core-darwin-arm64@1.10.8": - version "1.10.8" - resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.10.8.tgz#5d897f83c91e1d7ac66442a80e8270cf3a3d7297" - integrity sha512-FtacTu9zS5YuepujQqujveNw8BQ8ESJ+pN1Z7C+WrKCHlCl+5dh0n6gMAlEj+3iRvY6UAYqkzTVeiX/bOMoJKA== - -"@swc/core-darwin-x64@1.10.8": - version "1.10.8" - resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.10.8.tgz#e59fa374fbf086068e1bdd516b1e436c5d34d8b1" - integrity sha512-nfk+iq7EKQwADaCERzZLSi9ovzjJcqDWaO4e2ztyCNaLFi6fP1m6+ij21aki5KAd8AXoY4fue4Mo2fuYbesX9Q== - -"@swc/core-linux-arm-gnueabihf@1.10.8": - version "1.10.8" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.10.8.tgz#2b8c9bdc539d96ef18e78e05803aca97d53a8278" - integrity sha512-CL2zfbnrEc6nIiWbgshOz0mjn/zY8JcYqO12vGcTxmZOrh0n+mmHN2ejX91pYWQnQDtbhCmFTaEndExFpA7Gww== - -"@swc/core-linux-arm64-gnu@1.10.8": - version "1.10.8" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.10.8.tgz#63529299e95ef00fb5a8deb090c9cf7a00b9122d" - integrity sha512-quS8F18DDScW3B7qnbWkz95abZ5p0xp/W8N498NAAls/YQj4jQIlf8WlAWoxVVjY/SmSus5kN5tuwhHD8t0NPw== - -"@swc/core-linux-arm64-musl@1.10.8": - version "1.10.8" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.10.8.tgz#53f07e06d82ca14c060f8683a9eff03d9bce0bd0" - integrity sha512-wI0Hny8fHbBK/OjJ7eFYP0uDKiCMMMr5OBWGKMRRUvWs2zlGeJQZbwUeCnWuLLXzDfL+feMfh5TieYlqKTTtRw== - -"@swc/core-linux-x64-gnu@1.10.8": - version "1.10.8" - resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.10.8.tgz#3509eccae36a919492233815e04f53b5dc012139" - integrity sha512-24FCRUFO8gzPP2eu3soHTm3lk+ktcsIhdM2DTOlXGA+2TBYFWgAZX/yZV+eeRrtIZYSr4OcOWsNWnQ5Ma4budA== - -"@swc/core-linux-x64-musl@1.10.8": - version "1.10.8" - resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.10.8.tgz#8ecb569841261ed3eab643f95dc2963fd617a871" - integrity sha512-mBo7M/FmUhoWpUG17MLbS98iRA7t6ThxQBWDJZd322whkN1GqrvumYm2wvvjmoMTeDOPwAL3hIIa5H+Q4vb1zA== - -"@swc/core-win32-arm64-msvc@1.10.8": - version "1.10.8" - resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.10.8.tgz#797b5f5f56b5193a379742061f277d8f592e4b6d" - integrity sha512-rXJ9y77JZZXoZkgFR0mObKa3TethRBJ6Exs/pwhScl9pz4qsfxhj/bQbEu1g1i/ihmd0l+IKZwGSC7Ibh3HA2Q== - -"@swc/core-win32-ia32-msvc@1.10.8": - version "1.10.8" - resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.10.8.tgz#582b836ae81e385e8a942207b4e91d49e8de8db2" - integrity sha512-n6ekYFJEBPvTpRIqJiu6EHXVzVnuCtDTpFnn/0KVGJI1yQHriGVEovnb/+qyLh8Rwx2AZM9qgZVgMhVtfcFQJg== - -"@swc/core-win32-x64-msvc@1.10.8": - version "1.10.8" - resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.10.8.tgz#4f9cb14f53362c4f026a1b8e385e4901f9e64005" - integrity sha512-vplXxtH/lFc/epELnAyvdCvqlDJrM+OKtkphYcbPqq50g/dEZYZ8FYHU5Df9Uo19UooWSo1LaxPk4R7n6i1Axw== - -"@swc/core@~1.10.8": - version "1.10.8" - resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.10.8.tgz#7495a96313a8d3a96398015fa0affa268ff6736b" - integrity sha512-I3G+n9qbHNu6KNraaAG1+Z1S1x5S7MGRA6OEppT8Pt3Z9uD5a/kYAGU33eXy7zY+BoKuKA2X1H0r4vSimAgU8w== +"@swc/core-darwin-arm64@1.10.9": + version "1.10.9" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.10.9.tgz#df853508584c08250831059fcb3f695f84169143" + integrity sha512-XTHLtijFervv2B+i1ngM993umhSj9K1IeMomvU/Db84Asjur2XmD4KXt9QPnGDRFgv2kLSjZ+DDL25Qk0f4r+w== + +"@swc/core-darwin-x64@1.10.9": + version "1.10.9" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.10.9.tgz#0f637d84efe028d50e26944dae133a1c137dfec5" + integrity sha512-bi3el9/FV/la8HIsolSjeDar+tM7m9AmSF1w7X6ZByW2qgc4Z1tmq0A4M4H9aH3TfHesZbfq8hgaNtc2/VtzzQ== + +"@swc/core-linux-arm-gnueabihf@1.10.9": + version "1.10.9" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.10.9.tgz#0aa4fbb03a3d15698d8753b3f99a172befee3060" + integrity sha512-xsLHV02S+RTDuI+UJBkA2muNk/s0ETRpoc1K/gNt0i8BqTurPYkrvGDDALN9+leiUPydHvZi9P1qdExbgUJnXw== + +"@swc/core-linux-arm64-gnu@1.10.9": + version "1.10.9" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.10.9.tgz#f705c474dd5eabb3e55d7787cd07fa6056e13bdd" + integrity sha512-41hJgPoGhIa12U6Tud+yLF/m64YA3mGut3TmBEkj2R7rdJdE0mljdtR0tf4J2RoQaWZPPi0DBSqGdROiAEx9dg== + +"@swc/core-linux-arm64-musl@1.10.9": + version "1.10.9" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.10.9.tgz#3171eb32ced18f672af6ad2167419af0d73e05ee" + integrity sha512-DUMRhl49b9r7bLg9oNzCdW4lLcDJKrRBn87Iq5APPvixsm1auGnsVQycGkQcDDKvVllxIFSbmCYzjagx3l8Hnw== + +"@swc/core-linux-x64-gnu@1.10.9": + version "1.10.9" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.10.9.tgz#d64ab76e76294ffe3371551c7fb40b52553e6894" + integrity sha512-xW0y88vQvmzYo3Gn7yFnY03TfHMwuca4aFH3ZmhwDNOYHmTOi6fmhAkg/13F/NrwjMYO+GnF5uJTjdjb3B6tdQ== + +"@swc/core-linux-x64-musl@1.10.9": + version "1.10.9" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.10.9.tgz#bfdd09d1815697219c0fde4490c2480b30f127ba" + integrity sha512-jYs32BEx+CPVuxN6NdsWEpdehjnmAag25jyJzwjQx+NCGYwHEV3bT5y8TX4eFhaVB1rafmqJOlYQPs4+MSyGCg== + +"@swc/core-win32-arm64-msvc@1.10.9": + version "1.10.9" + resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.10.9.tgz#e235985783dc610816fa999f91720ecc09eefe62" + integrity sha512-Uhh5T3Fq3Nyom96Bm3ACBNASH3iqNc76in7ewZz8PooUqeTIO8aZpsghnncjctRNE9T819/8btpiFIhHo3sKtg== + +"@swc/core-win32-ia32-msvc@1.10.9": + version "1.10.9" + resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.10.9.tgz#590044d528a96ccdb3f50ee843626d1effd17ca4" + integrity sha512-bD5BpbojEsDfrAvT+1qjQPf5RCKLg4UL+3Uwm019+ZR02hd8qO538BlOnQdOqRqccu+75DF6aRglQ7AJ24Cs0Q== + +"@swc/core-win32-x64-msvc@1.10.9": + version "1.10.9" + resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.10.9.tgz#9da4fe1da4ad0e74bc8bfff7362a6bcaca284f20" + integrity sha512-NwkuUNeBBQnAaXVvcGw8Zr6RR8kylyjFUnlYZZ3G0QkQZ4rYLXYTafAmiRjrfzgVb0LcMF/sBzJvGOk7SwtIDg== + +"@swc/core@~1.10.9": + version "1.10.9" + resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.10.9.tgz#64e46d26ba7aba7382694a99f6986e5d2dbd1b04" + integrity sha512-MQ97YSXu2oibzm7wi4GNa7hhndjLuVt/lmO2sq53+P37oZmyg/JQ/IYYtSiC6UGK3+cHoiVAykrK+glxLjJbag== dependencies: "@swc/counter" "^0.1.3" "@swc/types" "^0.1.17" optionalDependencies: - "@swc/core-darwin-arm64" "1.10.8" - "@swc/core-darwin-x64" "1.10.8" - "@swc/core-linux-arm-gnueabihf" "1.10.8" - "@swc/core-linux-arm64-gnu" "1.10.8" - "@swc/core-linux-arm64-musl" "1.10.8" - "@swc/core-linux-x64-gnu" "1.10.8" - "@swc/core-linux-x64-musl" "1.10.8" - "@swc/core-win32-arm64-msvc" "1.10.8" - "@swc/core-win32-ia32-msvc" "1.10.8" - "@swc/core-win32-x64-msvc" "1.10.8" + "@swc/core-darwin-arm64" "1.10.9" + "@swc/core-darwin-x64" "1.10.9" + "@swc/core-linux-arm-gnueabihf" "1.10.9" + "@swc/core-linux-arm64-gnu" "1.10.9" + "@swc/core-linux-arm64-musl" "1.10.9" + "@swc/core-linux-x64-gnu" "1.10.9" + "@swc/core-linux-x64-musl" "1.10.9" + "@swc/core-win32-arm64-msvc" "1.10.9" + "@swc/core-win32-ia32-msvc" "1.10.9" + "@swc/core-win32-x64-msvc" "1.10.9" "@swc/counter@^0.1.3": version "0.1.3" @@ -2821,7 +2973,7 @@ dependencies: "@types/node" "*" -"@types/node@*", "@types/node@>= 8", "@types/node@>=10.0.0", "@types/node@^22.10.7", "@types/node@^22.5.5": +"@types/node@*", "@types/node@>= 8", "@types/node@>=10.0.0", "@types/node@^22.5.5": version "22.10.7" resolved "https://registry.yarnpkg.com/@types/node/-/node-22.10.7.tgz#14a1ca33fd0ebdd9d63593ed8d3fbc882a6d28d7" integrity sha512-V09KvXxFiutGp6B7XkpaDXlNadZxrzajcY50EuoLIpQ6WWYCSvf19lVIazzfIzQvhUN2HjX12spLojTnhuKlGg== @@ -2845,6 +2997,13 @@ dependencies: undici-types "~6.19.2" +"@types/node@^22.10.10": + version "22.10.10" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.10.10.tgz#85fe89f8bf459dc57dfef1689bd5b52ad1af07e6" + integrity sha512-X47y/mPNzxviAGY5TcYPtYL8JsY3kAq2n8fMmKoRCxq/c4v4pyGNCzM2R6+M5/umG4ZfHuT+sgqDYqWc9rJ6ww== + dependencies: + undici-types "~6.20.0" + "@types/normalize-package-data@^2.4.1": version "2.4.4" resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz#56e2cc26c397c038fab0e3a917a12d5c5909e901" @@ -2933,62 +3092,62 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@8.20.0": - version "8.20.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.20.0.tgz#b47a398e0e551cb008c60190b804394e6852c863" - integrity sha512-naduuphVw5StFfqp4Gq4WhIBE2gN1GEmMUExpJYknZJdRnc+2gDzB8Z3+5+/Kv33hPQRDGzQO/0opHE72lZZ6A== +"@typescript-eslint/eslint-plugin@8.21.0": + version "8.21.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.21.0.tgz#395014a75112ecdb81142b866ab6bb62e3be0f2a" + integrity sha512-eTH+UOR4I7WbdQnG4Z48ebIA6Bgi7WO8HvFEneeYBxG8qCOYgTOFPSg6ek9ITIDvGjDQzWHcoWHCDO2biByNzA== dependencies: "@eslint-community/regexpp" "^4.10.0" - "@typescript-eslint/scope-manager" "8.20.0" - "@typescript-eslint/type-utils" "8.20.0" - "@typescript-eslint/utils" "8.20.0" - "@typescript-eslint/visitor-keys" "8.20.0" + "@typescript-eslint/scope-manager" "8.21.0" + "@typescript-eslint/type-utils" "8.21.0" + "@typescript-eslint/utils" "8.21.0" + "@typescript-eslint/visitor-keys" "8.21.0" graphemer "^1.4.0" ignore "^5.3.1" natural-compare "^1.4.0" ts-api-utils "^2.0.0" -"@typescript-eslint/parser@8.20.0": - version "8.20.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.20.0.tgz#5caf2230a37094dc0e671cf836b96dd39b587ced" - integrity sha512-gKXG7A5HMyjDIedBi6bUrDcun8GIjnI8qOwVLiY3rx6T/sHP/19XLJOnIq/FgQvWLHja5JN/LSE7eklNBr612g== +"@typescript-eslint/parser@8.21.0": + version "8.21.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.21.0.tgz#312c638aaba4f640d45bfde7c6795a9d75deb088" + integrity sha512-Wy+/sdEH9kI3w9civgACwabHbKl+qIOu0uFZ9IMKzX3Jpv9og0ZBJrZExGrPpFAY7rWsXuxs5e7CPPP17A4eYA== dependencies: - "@typescript-eslint/scope-manager" "8.20.0" - "@typescript-eslint/types" "8.20.0" - "@typescript-eslint/typescript-estree" "8.20.0" - "@typescript-eslint/visitor-keys" "8.20.0" + "@typescript-eslint/scope-manager" "8.21.0" + "@typescript-eslint/types" "8.21.0" + "@typescript-eslint/typescript-estree" "8.21.0" + "@typescript-eslint/visitor-keys" "8.21.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@8.20.0": - version "8.20.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.20.0.tgz#aaf4198b509fb87a6527c02cfbfaf8901179e75c" - integrity sha512-J7+VkpeGzhOt3FeG1+SzhiMj9NzGD/M6KoGn9f4dbz3YzK9hvbhVTmLj/HiTp9DazIzJ8B4XcM80LrR9Dm1rJw== +"@typescript-eslint/scope-manager@8.21.0": + version "8.21.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.21.0.tgz#d08d94e2a34b4ccdcc975543c25bb62917437500" + integrity sha512-G3IBKz0/0IPfdeGRMbp+4rbjfSSdnGkXsM/pFZA8zM9t9klXDnB/YnKOBQ0GoPmoROa4bCq2NeHgJa5ydsQ4mA== dependencies: - "@typescript-eslint/types" "8.20.0" - "@typescript-eslint/visitor-keys" "8.20.0" + "@typescript-eslint/types" "8.21.0" + "@typescript-eslint/visitor-keys" "8.21.0" -"@typescript-eslint/type-utils@8.20.0": - version "8.20.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.20.0.tgz#958171d86b213a3f32b5b16b91db267968a4ef19" - integrity sha512-bPC+j71GGvA7rVNAHAtOjbVXbLN5PkwqMvy1cwGeaxUoRQXVuKCebRoLzm+IPW/NtFFpstn1ummSIasD5t60GA== +"@typescript-eslint/type-utils@8.21.0": + version "8.21.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.21.0.tgz#2e69d1a93cdbedc73fe694cd6ae4dfedd00430a0" + integrity sha512-95OsL6J2BtzoBxHicoXHxgk3z+9P3BEcQTpBKriqiYzLKnM2DeSqs+sndMKdamU8FosiadQFT3D+BSL9EKnAJQ== dependencies: - "@typescript-eslint/typescript-estree" "8.20.0" - "@typescript-eslint/utils" "8.20.0" + "@typescript-eslint/typescript-estree" "8.21.0" + "@typescript-eslint/utils" "8.21.0" debug "^4.3.4" ts-api-utils "^2.0.0" -"@typescript-eslint/types@8.20.0": - version "8.20.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.20.0.tgz#487de5314b5415dee075e95568b87a75a3e730cf" - integrity sha512-cqaMiY72CkP+2xZRrFt3ExRBu0WmVitN/rYPZErA80mHjHx/Svgp8yfbzkJmDoQ/whcytOPO9/IZXnOc+wigRA== +"@typescript-eslint/types@8.21.0": + version "8.21.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.21.0.tgz#58f30aec8db8212fd886835dc5969cdf47cb29f5" + integrity sha512-PAL6LUuQwotLW2a8VsySDBwYMm129vFm4tMVlylzdoTybTHaAi0oBp7Ac6LhSrHHOdLM3efH+nAR6hAWoMF89A== -"@typescript-eslint/typescript-estree@8.20.0": - version "8.20.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.20.0.tgz#658cea07b7e5981f19bce5cf1662cb70ad59f26b" - integrity sha512-Y7ncuy78bJqHI35NwzWol8E0X7XkRVS4K4P4TCyzWkOJih5NDvtoRDW4Ba9YJJoB2igm9yXDdYI/+fkiiAxPzA== +"@typescript-eslint/typescript-estree@8.21.0": + version "8.21.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.21.0.tgz#5ce71acdbed3b97b959f6168afba5a03c88f69a9" + integrity sha512-x+aeKh/AjAArSauz0GiQZsjT8ciadNMHdkUSwBB9Z6PrKc/4knM4g3UfHml6oDJmKC88a6//cdxnO/+P2LkMcg== dependencies: - "@typescript-eslint/types" "8.20.0" - "@typescript-eslint/visitor-keys" "8.20.0" + "@typescript-eslint/types" "8.21.0" + "@typescript-eslint/visitor-keys" "8.21.0" debug "^4.3.4" fast-glob "^3.3.2" is-glob "^4.0.3" @@ -2996,28 +3155,28 @@ semver "^7.6.0" ts-api-utils "^2.0.0" -"@typescript-eslint/utils@8.20.0": - version "8.20.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.20.0.tgz#53127ecd314b3b08836b4498b71cdb86f4ef3aa2" - integrity sha512-dq70RUw6UK9ei7vxc4KQtBRk7qkHZv447OUZ6RPQMQl71I3NZxQJX/f32Smr+iqWrB02pHKn2yAdHBb0KNrRMA== +"@typescript-eslint/utils@8.21.0": + version "8.21.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.21.0.tgz#bc4874fbc30feb3298b926e3b03d94570b3999c5" + integrity sha512-xcXBfcq0Kaxgj7dwejMbFyq7IOHgpNMtVuDveK7w3ZGwG9owKzhALVwKpTF2yrZmEwl9SWdetf3fxNzJQaVuxw== dependencies: "@eslint-community/eslint-utils" "^4.4.0" - "@typescript-eslint/scope-manager" "8.20.0" - "@typescript-eslint/types" "8.20.0" - "@typescript-eslint/typescript-estree" "8.20.0" + "@typescript-eslint/scope-manager" "8.21.0" + "@typescript-eslint/types" "8.21.0" + "@typescript-eslint/typescript-estree" "8.21.0" -"@typescript-eslint/visitor-keys@8.20.0": - version "8.20.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.20.0.tgz#2df6e24bc69084b81f06aaaa48d198b10d382bed" - integrity sha512-v/BpkeeYAsPkKCkR8BDwcno0llhzWVqPOamQrAEMdpZav2Y9OVjd9dwJyBLJWwf335B5DmlifECIkZRJCaGaHA== +"@typescript-eslint/visitor-keys@8.21.0": + version "8.21.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.21.0.tgz#a89744c4cdc83b5c761eb5878befe6c33d1481b2" + integrity sha512-BkLMNpdV6prozk8LlyK/SOoWLmUFi+ZD+pcqti9ILCbVvHGk1ui1g4jJOc2WDLaeExz2qWwojxlPce5PljcT3w== dependencies: - "@typescript-eslint/types" "8.20.0" + "@typescript-eslint/types" "8.21.0" eslint-visitor-keys "^4.2.0" -"@vitest/coverage-v8@^3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@vitest/coverage-v8/-/coverage-v8-3.0.3.tgz#8e7339b0b2ec36b0d1facd43f73d96ce185301bf" - integrity sha512-uVbJ/xhImdNtzPnLyxCZJMTeTIYdgcC2nWtBBBpR1H6z0w8m7D+9/zrDIx2nNxgMg9r+X8+RY2qVpUDeW2b3nw== +"@vitest/coverage-v8@^3.0.4": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@vitest/coverage-v8/-/coverage-v8-3.0.4.tgz#01b2d295cf664be9545228f364fa6495bc066a45" + integrity sha512-f0twgRCHgbs24Dp8cLWagzcObXMcuKtAwgxjJV/nnysPAJJk1JiKu/W0gIehZLmkljhJXU/E0/dmuQzsA/4jhA== dependencies: "@ampproject/remapping" "^2.3.0" "@bcoe/v8-coverage" "^1.0.2" @@ -3037,22 +3196,22 @@ resolved "https://registry.yarnpkg.com/@vitest/eslint-plugin/-/eslint-plugin-1.1.25.tgz#0e2ed719844b52edc88a0467f11f80162ebbebf0" integrity sha512-u8DpDnMbPcqBmJOB4PeEtn6q7vKmLVTLFMpzoxSAo0hjYdl4iYSHRleqwPQo0ywc7UV0S6RKIahYRQ3BnZdMVw== -"@vitest/expect@3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@vitest/expect/-/expect-3.0.3.tgz#a83af04a68e70a9af8aa6f68442a696b4bc599c5" - integrity sha512-SbRCHU4qr91xguu+dH3RUdI5dC86zm8aZWydbp961aIR7G8OYNN6ZiayFuf9WAngRbFOfdrLHCGgXTj3GtoMRQ== +"@vitest/expect@3.0.4": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@vitest/expect/-/expect-3.0.4.tgz#95c0a73980e99a30d3994c35b4468c4bb257d093" + integrity sha512-Nm5kJmYw6P2BxhJPkO3eKKhGYKRsnqJqf+r0yOGRKpEP+bSCBDsjXgiu1/5QFrnPMEgzfC38ZEjvCFgaNBC0Eg== dependencies: - "@vitest/spy" "3.0.3" - "@vitest/utils" "3.0.3" + "@vitest/spy" "3.0.4" + "@vitest/utils" "3.0.4" chai "^5.1.2" tinyrainbow "^2.0.0" -"@vitest/mocker@3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@vitest/mocker/-/mocker-3.0.3.tgz#f63a7e2e93fecaab1046038f3a9f60ea6b369173" - integrity sha512-XT2XBc4AN9UdaxJAeIlcSZ0ILi/GzmG5G8XSly4gaiqIvPV3HMTSIDZWJVX6QRJ0PX1m+W8Cy0K9ByXNb/bPIA== +"@vitest/mocker@3.0.4": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@vitest/mocker/-/mocker-3.0.4.tgz#91eba38f720d47aa708d1bcc5e4c7d885b1fc435" + integrity sha512-gEef35vKafJlfQbnyOXZ0Gcr9IBUsMTyTLXsEQwuyYAerpHqvXhzdBnDFuHLpFqth3F7b6BaFr4qV/Cs1ULx5A== dependencies: - "@vitest/spy" "3.0.3" + "@vitest/spy" "3.0.4" estree-walker "^3.0.3" magic-string "^0.30.17" @@ -3063,29 +3222,29 @@ dependencies: tinyrainbow "^1.2.0" -"@vitest/pretty-format@3.0.3", "@vitest/pretty-format@^3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@vitest/pretty-format/-/pretty-format-3.0.3.tgz#4bd59463d1c944c22287c3da2060785269098183" - integrity sha512-gCrM9F7STYdsDoNjGgYXKPq4SkSxwwIU5nkaQvdUxiQ0EcNlez+PdKOVIsUJvh9P9IeIFmjn4IIREWblOBpP2Q== +"@vitest/pretty-format@3.0.4", "@vitest/pretty-format@^3.0.4": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@vitest/pretty-format/-/pretty-format-3.0.4.tgz#18d5da3bad9a0eebf49f5c5daa84d0d5f7d2bbfa" + integrity sha512-ts0fba+dEhK2aC9PFuZ9LTpULHpY/nd6jhAQ5IMU7Gaj7crPCTdCFfgvXxruRBLFS+MLraicCuFXxISEq8C93g== dependencies: tinyrainbow "^2.0.0" -"@vitest/runner@3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@vitest/runner/-/runner-3.0.3.tgz#c123e3225ccdd52c5a8e45edb59340ec8dcb6df2" - integrity sha512-Rgi2kOAk5ZxWZlwPguRJFOBmWs6uvvyAAR9k3MvjRvYrG7xYvKChZcmnnpJCS98311CBDMqsW9MzzRFsj2gX3g== +"@vitest/runner@3.0.4": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@vitest/runner/-/runner-3.0.4.tgz#5bdc965c32721c7cf025481124f73589deea313a" + integrity sha512-dKHzTQ7n9sExAcWH/0sh1elVgwc7OJ2lMOBrAm73J7AH6Pf9T12Zh3lNE1TETZaqrWFXtLlx3NVrLRb5hCK+iw== dependencies: - "@vitest/utils" "3.0.3" - pathe "^2.0.1" + "@vitest/utils" "3.0.4" + pathe "^2.0.2" -"@vitest/snapshot@3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@vitest/snapshot/-/snapshot-3.0.3.tgz#a20a8cfa0e7434ef94f4dff40d946a57922119de" - integrity sha512-kNRcHlI4txBGztuJfPEJ68VezlPAXLRT1u5UCx219TU3kOG2DplNxhWLwDf2h6emwmTPogzLnGVwP6epDaJN6Q== +"@vitest/snapshot@3.0.4": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@vitest/snapshot/-/snapshot-3.0.4.tgz#7e64c19ca1ab9abb2f01fd246817b5f0404798fd" + integrity sha512-+p5knMLwIk7lTQkM3NonZ9zBewzVp9EVkVpvNta0/PlFWpiqLaRcF4+33L1it3uRUCh0BGLOaXPPGEjNKfWb4w== dependencies: - "@vitest/pretty-format" "3.0.3" + "@vitest/pretty-format" "3.0.4" magic-string "^0.30.17" - pathe "^2.0.1" + pathe "^2.0.2" "@vitest/snapshot@^2.0.5", "@vitest/snapshot@^2.1.1": version "2.1.8" @@ -3096,32 +3255,32 @@ magic-string "^0.30.12" pathe "^1.1.2" -"@vitest/spy@3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@vitest/spy/-/spy-3.0.3.tgz#ea4e5f7f8b3513e3ac0e556557e4ed339edc82e8" - integrity sha512-7/dgux8ZBbF7lEIKNnEqQlyRaER9nkAL9eTmdKJkDO3hS8p59ATGwKOCUDHcBLKr7h/oi/6hP+7djQk8049T2A== +"@vitest/spy@3.0.4": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@vitest/spy/-/spy-3.0.4.tgz#966fd3422ba093568a6a33c437751a91061f8622" + integrity sha512-sXIMF0oauYyUy2hN49VFTYodzEAu744MmGcPR3ZBsPM20G+1/cSW/n1U+3Yu/zHxX2bIDe1oJASOkml+osTU6Q== dependencies: tinyspy "^3.0.2" -"@vitest/ui@^3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@vitest/ui/-/ui-3.0.3.tgz#5dd455981935172eda4a9a4979f589b33bbcbd09" - integrity sha512-kGavHxFA3dETa61mgzdvxc3u/JSCiHR2o/0Z99IE8EAwtFxSLZeb2MofPKNVCPY3IAIcTx4blH57BJ1GuiRAUA== +"@vitest/ui@^3.0.4": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@vitest/ui/-/ui-3.0.4.tgz#751e5ec7e00201adeb0a75a07e57f34c9c9b6eb4" + integrity sha512-e+s2F9e9FUURkZ5aFIe1Fi3Y8M7UF6gEuShcaV/ur7y/Ldri+1tzWQ1TJq9Vas42NXnXvCAIrU39Z4U2RyET6g== dependencies: - "@vitest/utils" "3.0.3" + "@vitest/utils" "3.0.4" fflate "^0.8.2" flatted "^3.3.2" - pathe "^2.0.1" + pathe "^2.0.2" sirv "^3.0.0" tinyglobby "^0.2.10" tinyrainbow "^2.0.0" -"@vitest/utils@3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@vitest/utils/-/utils-3.0.3.tgz#25d5a2e0cd0b5529132b76482fd48139ca56c197" - integrity sha512-f+s8CvyzPtMFY1eZKkIHGhPsQgYo5qCm6O8KZoim9qm1/jT64qBgGpO5tHscNH6BzRHM+edLNOP+3vO8+8pE/A== +"@vitest/utils@3.0.4": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@vitest/utils/-/utils-3.0.4.tgz#9dd2336170097b20a6e5b778bb5ea7786cc56008" + integrity sha512-8BqC1ksYsHtbWH+DfpOAKrFw3jl3Uf9J7yeFh85Pz52IWuh1hBBtyfEbRNNZNjl8H8A5yMLH9/t+k7HIKzQcZQ== dependencies: - "@vitest/pretty-format" "3.0.3" + "@vitest/pretty-format" "3.0.4" loupe "^3.1.2" tinyrainbow "^2.0.0" @@ -4319,7 +4478,7 @@ chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.2: ansi-styles "^4.1.0" supports-color "^7.1.0" -chalk@^5.1.2, chalk@^5.2.0, chalk@^5.3.0, chalk@~5.4.1: +chalk@^5.1.2, chalk@^5.2.0, chalk@^5.3.0, chalk@^5.4.1: version "5.4.1" resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.4.1.tgz#1b48bf0963ec158dce2aacf69c093ae2dd2092d8" integrity sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w== @@ -4644,6 +4803,11 @@ command-line-usage@^6.1.0: table-layout "^1.0.2" typical "^5.2.0" +commander@^13.1.0: + version "13.1.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-13.1.0.tgz#776167db68c78f38dcce1f9b8d7b8b9a488abf46" + integrity sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw== + commander@^2.20.0, commander@^2.8.1: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" @@ -4654,11 +4818,6 @@ commander@^9.3.0: resolved "https://registry.yarnpkg.com/commander/-/commander-9.5.0.tgz#bc08d1eb5cedf7ccb797a96199d41c7bc3e60d30" integrity sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ== -commander@~12.1.0: - version "12.1.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-12.1.0.tgz#01423b36f501259fdaac4d0e4d60c96c991585d3" - integrity sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA== - commondir@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" @@ -5033,7 +5192,7 @@ debug@2.6.9, debug@^2.6.9: dependencies: ms "2.0.0" -debug@4, debug@4.4.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4, debug@^4.3.5, debug@^4.4.0, debug@~4.4.0: +debug@4, debug@4.4.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4, debug@^4.3.5, debug@^4.4.0: version "4.4.0" resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.0.tgz#2b3f2aea2ffeb776477460267377dc8710faba8a" integrity sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA== @@ -5918,17 +6077,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.18.0: - version "9.18.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.18.0.tgz#c95b24de1183e865de19f607fda6518b54827850" - integrity sha512-+waTfRWQlSbpt3KWE+CjrPPYnbq9kfZIYUqapc0uBXyjTp8aYXZDsUH16m39Ryq3NjAVP4tjuF7KaukeqoCoaA== +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== 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/eslintrc" "^3.2.0" - "@eslint/js" "9.18.0" + "@eslint/js" "9.19.0" "@eslint/plugin-kit" "^0.2.5" "@humanfs/node" "^0.16.6" "@humanwhocodes/module-importer" "^1.0.1" @@ -6067,6 +6226,21 @@ execa@^1.0.0: signal-exit "^3.0.0" strip-eof "^1.0.0" +execa@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-8.0.1.tgz#51f6a5943b580f963c3ca9c6321796db8cc39b8c" + integrity sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg== + dependencies: + cross-spawn "^7.0.3" + get-stream "^8.0.1" + human-signals "^5.0.0" + is-stream "^3.0.0" + merge-stream "^2.0.0" + npm-run-path "^5.1.0" + onetime "^6.0.0" + signal-exit "^4.1.0" + strip-final-newline "^3.0.0" + execa@^9.2.0: version "9.5.2" resolved "https://registry.yarnpkg.com/execa/-/execa-9.5.2.tgz#a4551034ee0795e241025d2f987dab3f4242dff2" @@ -6085,21 +6259,6 @@ execa@^9.2.0: strip-final-newline "^4.0.0" yoctocolors "^2.0.0" -execa@~8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/execa/-/execa-8.0.1.tgz#51f6a5943b580f963c3ca9c6321796db8cc39b8c" - integrity sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg== - dependencies: - cross-spawn "^7.0.3" - get-stream "^8.0.1" - human-signals "^5.0.0" - is-stream "^3.0.0" - merge-stream "^2.0.0" - npm-run-path "^5.1.0" - onetime "^6.0.0" - signal-exit "^4.1.0" - strip-final-newline "^3.0.0" - executable@^4.1.0: version "4.1.1" resolved "https://registry.yarnpkg.com/executable/-/executable-4.1.1.tgz#41532bff361d3e57af4d763b70582db18f5d133c" @@ -8358,7 +8517,7 @@ lighthouse-logger@^1.0.0: debug "^2.6.9" marky "^1.2.2" -lilconfig@~3.1.3: +lilconfig@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.1.3.tgz#a1bcfd6257f9585bf5ae14ceeebb7b559025e4c4" integrity sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw== @@ -8386,23 +8545,23 @@ lines-and-columns@^2.0.3: resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-2.0.4.tgz#d00318855905d2660d8c0822e3f5a4715855fc42" integrity sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A== -lint-staged@^15.4.1: - version "15.4.1" - resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-15.4.1.tgz#b34e3297ae13fdb2d99b3456e2dbd8e20798bced" - integrity sha512-P8yJuVRyLrm5KxCtFx+gjI5Bil+wO7wnTl7C3bXhvtTaAFGirzeB24++D0wGoUwxrUKecNiehemgCob9YL39NA== - dependencies: - chalk "~5.4.1" - commander "~12.1.0" - debug "~4.4.0" - execa "~8.0.1" - lilconfig "~3.1.3" - listr2 "~8.2.5" - micromatch "~4.0.8" - pidtree "~0.6.0" - string-argv "~0.3.2" - yaml "~2.6.1" - -listr2@~8.2.5: +lint-staged@^15.4.2: + version "15.4.2" + resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-15.4.2.tgz#f986bcb6b03822a996c600447c692c69640c7607" + integrity sha512-gCqzB/Li281uZJgReNci+oXXqUEdrFAQAzTE/LwoxxiEuP41vozNe4BATS+4ehdqkWn+Z6bGc3EDcBja3npBVw== + dependencies: + chalk "^5.4.1" + commander "^13.1.0" + debug "^4.4.0" + execa "^8.0.1" + lilconfig "^3.1.3" + listr2 "^8.2.5" + micromatch "^4.0.8" + pidtree "^0.6.0" + string-argv "^0.3.2" + yaml "^2.7.0" + +listr2@^8.2.5: version "8.2.5" resolved "https://registry.yarnpkg.com/listr2/-/listr2-8.2.5.tgz#5c9db996e1afeb05db0448196d3d5f64fec2593d" integrity sha512-iyAZCeyD+c1gPyE9qpFu8af0Y+MRtmKOncdGoA2S5EY8iFq99dmmvkNnHiWo+pj0s7yH7l3KPIgee77tKpXPWQ== @@ -8854,7 +9013,7 @@ methods@~1.1.2: resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== -micromatch@4.0.8, micromatch@^4.0.4, micromatch@^4.0.8, micromatch@~4.0.8: +micromatch@4.0.8, micromatch@^4.0.4, micromatch@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== @@ -9360,10 +9519,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.2: - version "20.3.2" - resolved "https://registry.yarnpkg.com/nx/-/nx-20.3.2.tgz#32db1c3d339db9f456610f84732eff012ae12749" - integrity sha512-VWUHX0uCn8ACFbpBTpgucDzwe4q/a/UU3AYOhzKCvTzb3kQiyvoxLjORSze93ZNEqgor0PMkCQgcoMBUjxJfzQ== +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== dependencies: "@napi-rs/wasm-runtime" "0.2.4" "@yarnpkg/lockfile" "^1.1.0" @@ -9400,16 +9559,16 @@ nx@20.3.2: yargs "^17.6.2" yargs-parser "21.1.1" optionalDependencies: - "@nx/nx-darwin-arm64" "20.3.2" - "@nx/nx-darwin-x64" "20.3.2" - "@nx/nx-freebsd-x64" "20.3.2" - "@nx/nx-linux-arm-gnueabihf" "20.3.2" - "@nx/nx-linux-arm64-gnu" "20.3.2" - "@nx/nx-linux-arm64-musl" "20.3.2" - "@nx/nx-linux-x64-gnu" "20.3.2" - "@nx/nx-linux-x64-musl" "20.3.2" - "@nx/nx-win32-arm64-msvc" "20.3.2" - "@nx/nx-win32-x64-msvc" "20.3.2" + "@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" object-assign@^4, object-assign@^4.0.1, object-assign@^4.1.0: version "4.1.1" @@ -9922,7 +10081,7 @@ pathe@^1.1.2: resolved "https://registry.yarnpkg.com/pathe/-/pathe-1.1.2.tgz#6c4cb47a945692e48a1ddd6e4094d170516437ec" integrity sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ== -pathe@^2.0.1: +pathe@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/pathe/-/pathe-2.0.2.tgz#5ed86644376915b3c7ee4d00ac8c348d671da3a5" integrity sha512-15Ztpk+nov8DR524R4BF7uEuzESgzUEAV4Ah7CUMNGXdE5ELuvxElxGXndBl32vMSsWa1jpNf22Z+Er3sKwq+w== @@ -10008,7 +10167,7 @@ picomatch@^4.0.2: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.2.tgz#77c742931e8f3b8820946c76cd0c1f13730d1dab" integrity sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg== -pidtree@~0.6.0: +pidtree@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.6.0.tgz#90ad7b6d42d5841e69e0a2419ef38f8883aa057c" integrity sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g== @@ -10751,6 +10910,34 @@ rollup@^4.23.0, rollup@^4.28.0, rollup@^4.31.0: "@rollup/rollup-win32-x64-msvc" "4.31.0" fsevents "~2.3.2" +rollup@^4.32.0: + version "4.32.0" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.32.0.tgz#c405bf6fca494d1999d9088f7736d7f03e5cac5a" + integrity sha512-JmrhfQR31Q4AuNBjjAX4s+a/Pu/Q8Q9iwjWBsjRH1q52SPFE2NqRMK6fUZKKnvKO6id+h7JIRf0oYsph53eATg== + dependencies: + "@types/estree" "1.0.6" + optionalDependencies: + "@rollup/rollup-android-arm-eabi" "4.32.0" + "@rollup/rollup-android-arm64" "4.32.0" + "@rollup/rollup-darwin-arm64" "4.32.0" + "@rollup/rollup-darwin-x64" "4.32.0" + "@rollup/rollup-freebsd-arm64" "4.32.0" + "@rollup/rollup-freebsd-x64" "4.32.0" + "@rollup/rollup-linux-arm-gnueabihf" "4.32.0" + "@rollup/rollup-linux-arm-musleabihf" "4.32.0" + "@rollup/rollup-linux-arm64-gnu" "4.32.0" + "@rollup/rollup-linux-arm64-musl" "4.32.0" + "@rollup/rollup-linux-loongarch64-gnu" "4.32.0" + "@rollup/rollup-linux-powerpc64le-gnu" "4.32.0" + "@rollup/rollup-linux-riscv64-gnu" "4.32.0" + "@rollup/rollup-linux-s390x-gnu" "4.32.0" + "@rollup/rollup-linux-x64-gnu" "4.32.0" + "@rollup/rollup-linux-x64-musl" "4.32.0" + "@rollup/rollup-win32-arm64-msvc" "4.32.0" + "@rollup/rollup-win32-ia32-msvc" "4.32.0" + "@rollup/rollup-win32-x64-msvc" "4.32.0" + fsevents "~2.3.2" + rrweb-cssom@^0.8.0: version "0.8.0" resolved "https://registry.yarnpkg.com/rrweb-cssom/-/rrweb-cssom-0.8.0.tgz#3021d1b4352fbf3b614aaeed0bc0d5739abe0bc2" @@ -11457,7 +11644,7 @@ strict-uri-encode@^2.0.0: resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546" integrity sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ== -string-argv@~0.3.2: +string-argv@^0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.2.tgz#2b6d0ef24b656274d957d54e0a4bbf6153dc02b6" integrity sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q== @@ -12135,19 +12322,19 @@ 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.20.0: - version "8.20.0" - resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.20.0.tgz#76d4ea6a483fd49830a7e8baccaed10f76d1e57b" - integrity sha512-Kxz2QRFsgbWj6Xcftlw3Dd154b3cEPFqQC+qMZrMypSijPd4UanKKvoKDrJ4o8AIfZFKAF+7sMaEIR8mTElozA== +typescript-eslint@8.21.0: + version "8.21.0" + resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.21.0.tgz#78bdb83a6d771f0312b128297d84a3111885fd08" + integrity sha512-txEKYY4XMKwPXxNkN8+AxAdX6iIJAPiJbHE/FpQccs/sxw8Lf26kqwC3cn0xkHlW8kEbLhkhCsjWuMveaY9Rxw== dependencies: - "@typescript-eslint/eslint-plugin" "8.20.0" - "@typescript-eslint/parser" "8.20.0" - "@typescript-eslint/utils" "8.20.0" + "@typescript-eslint/eslint-plugin" "8.21.0" + "@typescript-eslint/parser" "8.21.0" + "@typescript-eslint/utils" "8.21.0" -typescript@5.4.5: - version "5.4.5" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.4.5.tgz#42ccef2c571fdbd0f6718b1d1f5e6e5ef006f611" - integrity sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ== +typescript@5.7.3: + version "5.7.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.7.3.tgz#919b44a7dbb8583a9b856d162be24a54bf80073e" + integrity sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw== typical@^4.0.0: version "4.0.0" @@ -12370,15 +12557,15 @@ vary@^1, vary@^1.1.2, vary@~1.1.2: resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== -vite-node@3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/vite-node/-/vite-node-3.0.3.tgz#2127458eae8c78b92f609f4c84d613599cd14317" - integrity sha512-0sQcwhwAEw/UJGojbhOrnq3HtiZ3tC7BzpAa0lx3QaTX0S3YX70iGcik25UBdB96pmdwjyY2uyKNYruxCDmiEg== +vite-node@3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/vite-node/-/vite-node-3.0.4.tgz#6db5bc4c182baf04986265d46bc3193c5491f41f" + integrity sha512-7JZKEzcYV2Nx3u6rlvN8qdo3QV7Fxyt6hx+CCKz9fbWxdX5IvUOmTWEAxMrWxaiSf7CKGLJQ5rFu8prb/jBjOA== dependencies: cac "^6.7.14" debug "^4.4.0" es-module-lexer "^1.6.0" - pathe "^2.0.1" + pathe "^2.0.2" vite "^5.0.0 || ^6.0.0" "vite@^5.0.0 || ^6.0.0": @@ -12392,30 +12579,30 @@ vite-node@3.0.3: optionalDependencies: fsevents "~2.3.3" -vitest@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/vitest/-/vitest-3.0.3.tgz#e7bcf3ba82e4a18f1f2c5083b3d989cd344cb78c" - integrity sha512-dWdwTFUW9rcnL0LyF2F+IfvNQWB0w9DERySCk8VMG75F8k25C7LsZoh6XfCjPvcR8Nb+Lqi9JKr6vnzH7HSrpQ== - dependencies: - "@vitest/expect" "3.0.3" - "@vitest/mocker" "3.0.3" - "@vitest/pretty-format" "^3.0.3" - "@vitest/runner" "3.0.3" - "@vitest/snapshot" "3.0.3" - "@vitest/spy" "3.0.3" - "@vitest/utils" "3.0.3" +vitest@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/vitest/-/vitest-3.0.4.tgz#c1d1c7ed1b21308906cd06d9cdee28b2eefddf97" + integrity sha512-6XG8oTKy2gnJIFTHP6LD7ExFeNLxiTkK3CfMvT7IfR8IN+BYICCf0lXUQmX7i7JoxUP8QmeP4mTnWXgflu4yjw== + dependencies: + "@vitest/expect" "3.0.4" + "@vitest/mocker" "3.0.4" + "@vitest/pretty-format" "^3.0.4" + "@vitest/runner" "3.0.4" + "@vitest/snapshot" "3.0.4" + "@vitest/spy" "3.0.4" + "@vitest/utils" "3.0.4" chai "^5.1.2" debug "^4.4.0" expect-type "^1.1.0" magic-string "^0.30.17" - pathe "^2.0.1" + pathe "^2.0.2" std-env "^3.8.0" tinybench "^2.9.0" tinyexec "^0.3.2" tinypool "^1.0.2" tinyrainbow "^2.0.0" vite "^5.0.0 || ^6.0.0" - vite-node "3.0.3" + vite-node "3.0.4" why-is-node-running "^2.3.0" void-elements@^2.0.0: @@ -12852,16 +13039,11 @@ yaml@^1.7.2: resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== -yaml@^2.6.0: +yaml@^2.6.0, yaml@^2.7.0: version "2.7.0" resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.7.0.tgz#aef9bb617a64c937a9a748803786ad8d3ffe1e98" integrity sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA== -yaml@~2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.6.1.tgz#42f2b1ba89203f374609572d5349fb8686500773" - integrity sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg== - yargs-parser@21.1.1, yargs-parser@^21.1.1: version "21.1.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" From 22691195785a40e685aae705ed124b345dcd3dc7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 27 Jan 2025 15:01:45 -0500 Subject: [PATCH 03/12] build(deps-dev): bump the theoretically-non-breaking group with 10 updates (#5170) Bumps the theoretically-non-breaking group with 10 updates: | Package | From | To | | --- | --- | --- | | [@swc/core](https://github.com/swc-project/swc) | `1.10.9` | `1.10.11` | | [lint-staged](https://github.com/lint-staged/lint-staged) | `15.4.2` | `15.4.3` | | [rollup](https://github.com/rollup/rollup) | `4.31.0` | `4.32.0` | | [@wdio/cli](https://github.com/webdriverio/webdriverio/tree/HEAD/packages/wdio-cli) | `9.5.7` | `9.7.1` | | [@wdio/local-runner](https://github.com/webdriverio/webdriverio/tree/HEAD/packages/wdio-local-runner) | `9.5.7` | `9.7.1` | | [@wdio/mocha-framework](https://github.com/webdriverio/webdriverio/tree/HEAD/packages/wdio-mocha-framework) | `9.5.0` | `9.6.4` | | [@wdio/sauce-service](https://github.com/webdriverio/webdriverio/tree/HEAD/packages/wdio-sauce-service) | `9.5.7` | `9.7.1` | | [@wdio/spec-reporter](https://github.com/webdriverio/webdriverio/tree/HEAD/packages/wdio-spec-reporter) | `9.5.0` | `9.6.3` | | [@wdio/static-server-service](https://github.com/webdriverio/webdriverio/tree/HEAD/packages/wdio-static-server-service) | `9.5.0` | `9.6.3` | | [webdriverio](https://github.com/webdriverio/webdriverio/tree/HEAD/packages/webdriverio) | `9.5.7` | `9.7.1` | Updates `@swc/core` from 1.10.9 to 1.10.11 - [Release notes](https://github.com/swc-project/swc/releases) - [Changelog](https://github.com/swc-project/swc/blob/main/CHANGELOG.md) - [Commits](https://github.com/swc-project/swc/compare/v1.10.9...v1.10.11) Updates `lint-staged` from 15.4.2 to 15.4.3 - [Release notes](https://github.com/lint-staged/lint-staged/releases) - [Changelog](https://github.com/lint-staged/lint-staged/blob/master/CHANGELOG.md) - [Commits](https://github.com/lint-staged/lint-staged/compare/v15.4.2...v15.4.3) Updates `rollup` from 4.31.0 to 4.32.0 - [Release notes](https://github.com/rollup/rollup/releases) - [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md) - [Commits](https://github.com/rollup/rollup/compare/v4.31.0...v4.32.0) Updates `@wdio/cli` from 9.5.7 to 9.7.1 - [Release notes](https://github.com/webdriverio/webdriverio/releases) - [Changelog](https://github.com/webdriverio/webdriverio/blob/main/CHANGELOG.md) - [Commits](https://github.com/webdriverio/webdriverio/commits/v9.7.1/packages/wdio-cli) Updates `@wdio/local-runner` from 9.5.7 to 9.7.1 - [Release notes](https://github.com/webdriverio/webdriverio/releases) - [Changelog](https://github.com/webdriverio/webdriverio/blob/main/CHANGELOG.md) - [Commits](https://github.com/webdriverio/webdriverio/commits/v9.7.1/packages/wdio-local-runner) Updates `@wdio/mocha-framework` from 9.5.0 to 9.6.4 - [Release notes](https://github.com/webdriverio/webdriverio/releases) - [Changelog](https://github.com/webdriverio/webdriverio/blob/main/CHANGELOG.md) - [Commits](https://github.com/webdriverio/webdriverio/commits/v9.6.4/packages/wdio-mocha-framework) Updates `@wdio/sauce-service` from 9.5.7 to 9.7.1 - [Release notes](https://github.com/webdriverio/webdriverio/releases) - [Changelog](https://github.com/webdriverio/webdriverio/blob/main/CHANGELOG.md) - [Commits](https://github.com/webdriverio/webdriverio/commits/v9.7.1/packages/wdio-sauce-service) Updates `@wdio/spec-reporter` from 9.5.0 to 9.6.3 - [Release notes](https://github.com/webdriverio/webdriverio/releases) - [Changelog](https://github.com/webdriverio/webdriverio/blob/main/CHANGELOG.md) - [Commits](https://github.com/webdriverio/webdriverio/commits/v9.6.3/packages/wdio-spec-reporter) Updates `@wdio/static-server-service` from 9.5.0 to 9.6.3 - [Release notes](https://github.com/webdriverio/webdriverio/releases) - [Changelog](https://github.com/webdriverio/webdriverio/blob/main/CHANGELOG.md) - [Commits](https://github.com/webdriverio/webdriverio/commits/v9.6.3/packages/wdio-static-server-service) Updates `webdriverio` from 9.5.7 to 9.7.1 - [Release notes](https://github.com/webdriverio/webdriverio/releases) - [Changelog](https://github.com/webdriverio/webdriverio/blob/main/CHANGELOG.md) - [Commits](https://github.com/webdriverio/webdriverio/commits/v9.7.1/packages/webdriverio) --- updated-dependencies: - dependency-name: "@swc/core" dependency-type: direct:development update-type: version-update:semver-patch dependency-group: theoretically-non-breaking - dependency-name: lint-staged dependency-type: direct:development update-type: version-update:semver-patch dependency-group: theoretically-non-breaking - dependency-name: rollup dependency-type: direct:development update-type: version-update:semver-minor dependency-group: theoretically-non-breaking - dependency-name: "@wdio/cli" dependency-type: direct:development update-type: version-update:semver-minor dependency-group: theoretically-non-breaking - dependency-name: "@wdio/local-runner" dependency-type: direct:development update-type: version-update:semver-minor dependency-group: theoretically-non-breaking - dependency-name: "@wdio/mocha-framework" dependency-type: direct:development update-type: version-update:semver-minor dependency-group: theoretically-non-breaking - dependency-name: "@wdio/sauce-service" dependency-type: direct:development update-type: version-update:semver-minor dependency-group: theoretically-non-breaking - dependency-name: "@wdio/spec-reporter" dependency-type: direct:development update-type: version-update:semver-minor dependency-group: theoretically-non-breaking - dependency-name: "@wdio/static-server-service" dependency-type: direct:development update-type: version-update:semver-minor dependency-group: theoretically-non-breaking - dependency-name: webdriverio dependency-type: direct:development update-type: version-update:semver-minor dependency-group: theoretically-non-breaking ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 4 +- packages/@lwc/integration-tests/package.json | 12 +- packages/@lwc/integration-types/package.json | 2 +- playground/package.json | 2 +- yarn.lock | 482 +++++++------------ 5 files changed, 190 insertions(+), 312 deletions(-) diff --git a/package.json b/package.json index fdbbc78a72..6b0d7198c3 100644 --- a/package.json +++ b/package.json @@ -45,7 +45,7 @@ "@rollup/plugin-replace": "^6.0.2", "@rollup/plugin-typescript": "^12.1.2", "@swc-node/register": "~1.10.9", - "@swc/core": "~1.10.9", + "@swc/core": "~1.10.11", "@swc/helpers": "~0.5.15", "@types/babel__core": "^7.20.5", "@types/node": "^22.10.10", @@ -63,7 +63,7 @@ "husky": "^9.1.7", "isbinaryfile": "^5.0.4", "jsdom": "^26.0.0", - "lint-staged": "^15.4.2", + "lint-staged": "^15.4.3", "magic-string": "^0.30.17", "nx": "20.3.3", "prettier": "^3.4.2", diff --git a/packages/@lwc/integration-tests/package.json b/packages/@lwc/integration-tests/package.json index 469f2ee36d..5d424e9a6d 100644 --- a/packages/@lwc/integration-tests/package.json +++ b/packages/@lwc/integration-tests/package.json @@ -19,12 +19,12 @@ }, "devDependencies": { "@lwc/rollup-plugin": "8.12.6", - "@wdio/cli": "^9.5.7", - "@wdio/local-runner": "^9.5.7", - "@wdio/mocha-framework": "^9.5.0", - "@wdio/sauce-service": "^9.5.7", - "@wdio/spec-reporter": "^9.5.0", - "@wdio/static-server-service": "^9.5.0", + "@wdio/cli": "^9.7.1", + "@wdio/local-runner": "^9.7.1", + "@wdio/mocha-framework": "^9.6.4", + "@wdio/sauce-service": "^9.7.1", + "@wdio/spec-reporter": "^9.6.3", + "@wdio/static-server-service": "^9.6.3", "deepmerge": "^4.3.1", "dotenv": "^16.4.7", "lwc": "8.12.6", diff --git a/packages/@lwc/integration-types/package.json b/packages/@lwc/integration-types/package.json index 54dc831926..239e8c815c 100644 --- a/packages/@lwc/integration-types/package.json +++ b/packages/@lwc/integration-types/package.json @@ -15,7 +15,7 @@ "devDependencies": { "@rollup/plugin-replace": "^6.0.2", "@rollup/plugin-typescript": "^12.1.2", - "rollup": "^4.31.0", + "rollup": "^4.32.0", "rollup-plugin-livereload": "^2.0.5", "rollup-plugin-serve": "^3.0.0" } diff --git a/playground/package.json b/playground/package.json index 1de51026c3..0cee379c9f 100644 --- a/playground/package.json +++ b/playground/package.json @@ -12,7 +12,7 @@ "@lwc/rollup-plugin": "8.12.6", "@rollup/plugin-replace": "^6.0.2", "lwc": "8.12.6", - "rollup": "^4.31.0", + "rollup": "^4.32.0", "rollup-plugin-livereload": "^2.0.5", "rollup-plugin-serve": "^3.0.0" }, diff --git a/yarn.lock b/yarn.lock index cad01f0c77..70bffebd6b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1959,11 +1959,9 @@ "@lwc/eslint-plugin-lwc-internal@link:./scripts/eslint-plugin": version "0.0.0" - uid "" "@lwc/test-utils-lwc-internals@link:./scripts/test-utils": version "0.0.0" - uid "" "@napi-rs/wasm-runtime@0.2.4": version "0.2.4" @@ -2411,191 +2409,96 @@ estree-walker "^2.0.2" picomatch "^4.0.2" -"@rollup/rollup-android-arm-eabi@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.31.0.tgz#d4dd60da0075a6ce9a6c76d71b8204f3e1822285" - integrity sha512-9NrR4033uCbUBRgvLcBrJofa2KY9DzxL2UKZ1/4xA/mnTNyhZCWBuD8X3tPm1n4KxcgaraOYgrFKSgwjASfmlA== - "@rollup/rollup-android-arm-eabi@4.32.0": version "4.32.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.32.0.tgz#42a8e897c7b656adb4edebda3a8b83a57526452f" integrity sha512-G2fUQQANtBPsNwiVFg4zKiPQyjVKZCUdQUol53R8E71J7AsheRMV/Yv/nB8giOcOVqP7//eB5xPqieBYZe9bGg== -"@rollup/rollup-android-arm64@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.31.0.tgz#25c4d33259a7a2ccd2f52a5ffcc0bb3ab3f0729d" - integrity sha512-iBbODqT86YBFHajxxF8ebj2hwKm1k8PTBQSojSt3d1FFt1gN+xf4CowE47iN0vOSdnd+5ierMHBbu/rHc7nq5g== - "@rollup/rollup-android-arm64@4.32.0": version "4.32.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.32.0.tgz#846a73eef25b18ff94bac1e52acab6a7c7ac22fa" integrity sha512-qhFwQ+ljoymC+j5lXRv8DlaJYY/+8vyvYmVx074zrLsu5ZGWYsJNLjPPVJJjhZQpyAKUGPydOq9hRLLNvh1s3A== -"@rollup/rollup-darwin-arm64@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.31.0.tgz#d137dff254b19163a6b52ac083a71cd055dae844" - integrity sha512-WHIZfXgVBX30SWuTMhlHPXTyN20AXrLH4TEeH/D0Bolvx9PjgZnn4H677PlSGvU6MKNsjCQJYczkpvBbrBnG6g== - "@rollup/rollup-darwin-arm64@4.32.0": version "4.32.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.32.0.tgz#014ed37f1f7809fdf3442a6b689d3a074a844058" integrity sha512-44n/X3lAlWsEY6vF8CzgCx+LQaoqWGN7TzUfbJDiTIOjJm4+L2Yq+r5a8ytQRGyPqgJDs3Rgyo8eVL7n9iW6AQ== -"@rollup/rollup-darwin-x64@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.31.0.tgz#58ff20b5dacb797d3adca19f02a21c532f9d55bf" - integrity sha512-hrWL7uQacTEF8gdrQAqcDy9xllQ0w0zuL1wk1HV8wKGSGbKPVjVUv/DEwT2+Asabf8Dh/As+IvfdU+H8hhzrQQ== - "@rollup/rollup-darwin-x64@4.32.0": version "4.32.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.32.0.tgz#dde6ed3e56d0b34477fa56c4a199abe5d4b9846b" integrity sha512-F9ct0+ZX5Np6+ZDztxiGCIvlCaW87HBdHcozUfsHnj1WCUTBUubAoanhHUfnUHZABlElyRikI0mgcw/qdEm2VQ== -"@rollup/rollup-freebsd-arm64@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.31.0.tgz#96ce1a241c591ec3e068f4af765d94eddb24e60c" - integrity sha512-S2oCsZ4hJviG1QjPY1h6sVJLBI6ekBeAEssYKad1soRFv3SocsQCzX6cwnk6fID6UQQACTjeIMB+hyYrFacRew== - "@rollup/rollup-freebsd-arm64@4.32.0": version "4.32.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.32.0.tgz#8ad634f462a6b7e338257cf64c7baff99618a08e" integrity sha512-JpsGxLBB2EFXBsTLHfkZDsXSpSmKD3VxXCgBQtlPcuAqB8TlqtLcbeMhxXQkCDv1avgwNjF8uEIbq5p+Cee0PA== -"@rollup/rollup-freebsd-x64@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.31.0.tgz#e59e7ede505be41f0b4311b0b943f8eb44938467" - integrity sha512-pCANqpynRS4Jirn4IKZH4tnm2+2CqCNLKD7gAdEjzdLGbH1iO0zouHz4mxqg0uEMpO030ejJ0aA6e1PJo2xrPA== - "@rollup/rollup-freebsd-x64@4.32.0": version "4.32.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.32.0.tgz#9d4d1dbbafcb0354d52ba6515a43c7511dba8052" integrity sha512-wegiyBT6rawdpvnD9lmbOpx5Sph+yVZKHbhnSP9MqUEDX08G4UzMU+D87jrazGE7lRSyTRs6NEYHtzfkJ3FjjQ== -"@rollup/rollup-linux-arm-gnueabihf@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.31.0.tgz#e455ca6e4ff35bd46d62201c153352e717000a7b" - integrity sha512-0O8ViX+QcBd3ZmGlcFTnYXZKGbFu09EhgD27tgTdGnkcYXLat4KIsBBQeKLR2xZDCXdIBAlWLkiXE1+rJpCxFw== - "@rollup/rollup-linux-arm-gnueabihf@4.32.0": version "4.32.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.32.0.tgz#3bd5fcbab92a66e032faef1078915d1dbf27de7a" integrity sha512-3pA7xecItbgOs1A5H58dDvOUEboG5UfpTq3WzAdF54acBbUM+olDJAPkgj1GRJ4ZqE12DZ9/hNS2QZk166v92A== -"@rollup/rollup-linux-arm-musleabihf@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.31.0.tgz#bc1a93d807d19e70b1e343a5bfea43723bcd6327" - integrity sha512-w5IzG0wTVv7B0/SwDnMYmbr2uERQp999q8FMkKG1I+j8hpPX2BYFjWe69xbhbP6J9h2gId/7ogesl9hwblFwwg== - "@rollup/rollup-linux-arm-musleabihf@4.32.0": version "4.32.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.32.0.tgz#a77838b9779931ce4fa01326b585eee130f51e60" integrity sha512-Y7XUZEVISGyge51QbYyYAEHwpGgmRrAxQXO3siyYo2kmaj72USSG8LtlQQgAtlGfxYiOwu+2BdbPjzEpcOpRmQ== -"@rollup/rollup-linux-arm64-gnu@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.31.0.tgz#f38bf843f1dc3d5de680caf31084008846e3efae" - integrity sha512-JyFFshbN5xwy6fulZ8B/8qOqENRmDdEkcIMF0Zz+RsfamEW+Zabl5jAb0IozP/8UKnJ7g2FtZZPEUIAlUSX8cA== - "@rollup/rollup-linux-arm64-gnu@4.32.0": version "4.32.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.32.0.tgz#ec1b1901b82d57a20184adb61c725dd8991a0bf0" integrity sha512-r7/OTF5MqeBrZo5omPXcTnjvv1GsrdH8a8RerARvDFiDwFpDVDnJyByYM/nX+mvks8XXsgPUxkwe/ltaX2VH7w== -"@rollup/rollup-linux-arm64-musl@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.31.0.tgz#b3987a96c18b7287129cf735be2dbf83e94d9d05" - integrity sha512-kpQXQ0UPFeMPmPYksiBL9WS/BDiQEjRGMfklVIsA0Sng347H8W2iexch+IEwaR7OVSKtr2ZFxggt11zVIlZ25g== - "@rollup/rollup-linux-arm64-musl@4.32.0": version "4.32.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.32.0.tgz#7aa23b45bf489b7204b5a542e857e134742141de" integrity sha512-HJbifC9vex9NqnlodV2BHVFNuzKL5OnsV2dvTw6e1dpZKkNjPG6WUq+nhEYV6Hv2Bv++BXkwcyoGlXnPrjAKXw== -"@rollup/rollup-linux-loongarch64-gnu@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.31.0.tgz#0f0324044e71c4f02e9f49e7ec4e347b655b34ee" - integrity sha512-pMlxLjt60iQTzt9iBb3jZphFIl55a70wexvo8p+vVFK+7ifTRookdoXX3bOsRdmfD+OKnMozKO6XM4zR0sHRrQ== - "@rollup/rollup-linux-loongarch64-gnu@4.32.0": version "4.32.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.32.0.tgz#7bf0ebd8c5ad08719c3b4786be561d67f95654a7" integrity sha512-VAEzZTD63YglFlWwRj3taofmkV1V3xhebDXffon7msNz4b14xKsz7utO6F8F4cqt8K/ktTl9rm88yryvDpsfOw== -"@rollup/rollup-linux-powerpc64le-gnu@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.31.0.tgz#809479f27f1fd5b4eecd2aa732132ad952d454ba" - integrity sha512-D7TXT7I/uKEuWiRkEFbed1UUYZwcJDU4vZQdPTcepK7ecPhzKOYk4Er2YR4uHKme4qDeIh6N3XrLfpuM7vzRWQ== - "@rollup/rollup-linux-powerpc64le-gnu@4.32.0": version "4.32.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.32.0.tgz#e687dfcaf08124aafaaebecef0cc3986675cb9b6" integrity sha512-Sts5DST1jXAc9YH/iik1C9QRsLcCoOScf3dfbY5i4kH9RJpKxiTBXqm7qU5O6zTXBTEZry69bGszr3SMgYmMcQ== -"@rollup/rollup-linux-riscv64-gnu@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.31.0.tgz#7bc75c4f22db04d3c972f83431739cfa41c6a36e" - integrity sha512-wal2Tc8O5lMBtoePLBYRKj2CImUCJ4UNGJlLwspx7QApYny7K1cUYlzQ/4IGQBLmm+y0RS7dwc3TDO/pmcneTw== - "@rollup/rollup-linux-riscv64-gnu@4.32.0": version "4.32.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.32.0.tgz#19fce2594f9ce73d1cb0748baf8cd90a7bedc237" integrity sha512-qhlXeV9AqxIyY9/R1h1hBD6eMvQCO34ZmdYvry/K+/MBs6d1nRFLm6BOiITLVI+nFAAB9kUB6sdJRKyVHXnqZw== -"@rollup/rollup-linux-s390x-gnu@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.31.0.tgz#cfe8052345c55864d83ae343362cf1912480170e" - integrity sha512-O1o5EUI0+RRMkK9wiTVpk2tyzXdXefHtRTIjBbmFREmNMy7pFeYXCFGbhKFwISA3UOExlo5GGUuuj3oMKdK6JQ== - "@rollup/rollup-linux-s390x-gnu@4.32.0": version "4.32.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.32.0.tgz#fd99b335bb65c59beb7d15ae82be0aafa9883c19" integrity sha512-8ZGN7ExnV0qjXa155Rsfi6H8M4iBBwNLBM9lcVS+4NcSzOFaNqmt7djlox8pN1lWrRPMRRQ8NeDlozIGx3Omsw== -"@rollup/rollup-linux-x64-gnu@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.31.0.tgz#c6b048f1e25f3fea5b4bd246232f4d07a159c5a0" - integrity sha512-zSoHl356vKnNxwOWnLd60ixHNPRBglxpv2g7q0Cd3Pmr561gf0HiAcUBRL3S1vPqRC17Zo2CX/9cPkqTIiai1g== - "@rollup/rollup-linux-x64-gnu@4.32.0": version "4.32.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.32.0.tgz#4e8c697bbaa2e2d7212bd42086746c8275721166" integrity sha512-VDzNHtLLI5s7xd/VubyS10mq6TxvZBp+4NRWoW+Hi3tgV05RtVm4qK99+dClwTN1McA6PHwob6DEJ6PlXbY83A== -"@rollup/rollup-linux-x64-musl@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.31.0.tgz#615273ac52d1a201f4de191cbd3389016a9d7d80" - integrity sha512-ypB/HMtcSGhKUQNiFwqgdclWNRrAYDH8iMYH4etw/ZlGwiTVxBz2tDrGRrPlfZu6QjXwtd+C3Zib5pFqID97ZA== - "@rollup/rollup-linux-x64-musl@4.32.0": version "4.32.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.32.0.tgz#0d2f74bd9cfe0553f20f056760a95b293e849ab2" integrity sha512-qcb9qYDlkxz9DxJo7SDhWxTWV1gFuwznjbTiov289pASxlfGbaOD54mgbs9+z94VwrXtKTu+2RqwlSTbiOqxGg== -"@rollup/rollup-win32-arm64-msvc@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.31.0.tgz#32ed85810c1b831c648eca999d68f01255b30691" - integrity sha512-JuhN2xdI/m8Hr+aVO3vspO7OQfUFO6bKLIRTAy0U15vmWjnZDLrEgCZ2s6+scAYaQVpYSh9tZtRijApw9IXyMw== - "@rollup/rollup-win32-arm64-msvc@4.32.0": version "4.32.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.32.0.tgz#6534a09fcdd43103645155cedb5bfa65fbf2c23f" integrity sha512-pFDdotFDMXW2AXVbfdUEfidPAk/OtwE/Hd4eYMTNVVaCQ6Yl8et0meDaKNL63L44Haxv4UExpv9ydSf3aSayDg== -"@rollup/rollup-win32-ia32-msvc@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.31.0.tgz#d47effada68bcbfdccd30c4a788d42e4542ff4d3" - integrity sha512-U1xZZXYkvdf5MIWmftU8wrM5PPXzyaY1nGCI4KI4BFfoZxHamsIe+BtnPLIvvPykvQWlVbqUXdLa4aJUuilwLQ== - "@rollup/rollup-win32-ia32-msvc@4.32.0": version "4.32.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.32.0.tgz#8222ccfecffd63a6b0ddbe417d8d959e4f2b11b3" integrity sha512-/TG7WfrCAjeRNDvI4+0AAMoHxea/USWhAzf9PVDFHbcqrQ7hMMKp4jZIy4VEjk72AAfN5k4TiSMRXRKf/0akSw== -"@rollup/rollup-win32-x64-msvc@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.31.0.tgz#7a2d89a82cf0388d60304964217dd7beac6de645" - integrity sha512-ul8rnCsUumNln5YWwz0ted2ZHFhzhRRnkpBZ+YRuHoRAlUji9KChpOUOndY7uykrPEPXVbHLlsdo6v5yXo/TXw== - "@rollup/rollup-win32-x64-msvc@4.32.0": version "4.32.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.32.0.tgz#1a40b4792c08094b6479c48c90fe7f4b10ec2f54" @@ -2672,74 +2575,74 @@ source-map-support "^0.5.21" tslib "^2.6.3" -"@swc/core-darwin-arm64@1.10.9": - version "1.10.9" - resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.10.9.tgz#df853508584c08250831059fcb3f695f84169143" - integrity sha512-XTHLtijFervv2B+i1ngM993umhSj9K1IeMomvU/Db84Asjur2XmD4KXt9QPnGDRFgv2kLSjZ+DDL25Qk0f4r+w== - -"@swc/core-darwin-x64@1.10.9": - version "1.10.9" - resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.10.9.tgz#0f637d84efe028d50e26944dae133a1c137dfec5" - integrity sha512-bi3el9/FV/la8HIsolSjeDar+tM7m9AmSF1w7X6ZByW2qgc4Z1tmq0A4M4H9aH3TfHesZbfq8hgaNtc2/VtzzQ== - -"@swc/core-linux-arm-gnueabihf@1.10.9": - version "1.10.9" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.10.9.tgz#0aa4fbb03a3d15698d8753b3f99a172befee3060" - integrity sha512-xsLHV02S+RTDuI+UJBkA2muNk/s0ETRpoc1K/gNt0i8BqTurPYkrvGDDALN9+leiUPydHvZi9P1qdExbgUJnXw== - -"@swc/core-linux-arm64-gnu@1.10.9": - version "1.10.9" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.10.9.tgz#f705c474dd5eabb3e55d7787cd07fa6056e13bdd" - integrity sha512-41hJgPoGhIa12U6Tud+yLF/m64YA3mGut3TmBEkj2R7rdJdE0mljdtR0tf4J2RoQaWZPPi0DBSqGdROiAEx9dg== - -"@swc/core-linux-arm64-musl@1.10.9": - version "1.10.9" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.10.9.tgz#3171eb32ced18f672af6ad2167419af0d73e05ee" - integrity sha512-DUMRhl49b9r7bLg9oNzCdW4lLcDJKrRBn87Iq5APPvixsm1auGnsVQycGkQcDDKvVllxIFSbmCYzjagx3l8Hnw== - -"@swc/core-linux-x64-gnu@1.10.9": - version "1.10.9" - resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.10.9.tgz#d64ab76e76294ffe3371551c7fb40b52553e6894" - integrity sha512-xW0y88vQvmzYo3Gn7yFnY03TfHMwuca4aFH3ZmhwDNOYHmTOi6fmhAkg/13F/NrwjMYO+GnF5uJTjdjb3B6tdQ== - -"@swc/core-linux-x64-musl@1.10.9": - version "1.10.9" - resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.10.9.tgz#bfdd09d1815697219c0fde4490c2480b30f127ba" - integrity sha512-jYs32BEx+CPVuxN6NdsWEpdehjnmAag25jyJzwjQx+NCGYwHEV3bT5y8TX4eFhaVB1rafmqJOlYQPs4+MSyGCg== - -"@swc/core-win32-arm64-msvc@1.10.9": - version "1.10.9" - resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.10.9.tgz#e235985783dc610816fa999f91720ecc09eefe62" - integrity sha512-Uhh5T3Fq3Nyom96Bm3ACBNASH3iqNc76in7ewZz8PooUqeTIO8aZpsghnncjctRNE9T819/8btpiFIhHo3sKtg== - -"@swc/core-win32-ia32-msvc@1.10.9": - version "1.10.9" - resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.10.9.tgz#590044d528a96ccdb3f50ee843626d1effd17ca4" - integrity sha512-bD5BpbojEsDfrAvT+1qjQPf5RCKLg4UL+3Uwm019+ZR02hd8qO538BlOnQdOqRqccu+75DF6aRglQ7AJ24Cs0Q== - -"@swc/core-win32-x64-msvc@1.10.9": - version "1.10.9" - resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.10.9.tgz#9da4fe1da4ad0e74bc8bfff7362a6bcaca284f20" - integrity sha512-NwkuUNeBBQnAaXVvcGw8Zr6RR8kylyjFUnlYZZ3G0QkQZ4rYLXYTafAmiRjrfzgVb0LcMF/sBzJvGOk7SwtIDg== - -"@swc/core@~1.10.9": - version "1.10.9" - resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.10.9.tgz#64e46d26ba7aba7382694a99f6986e5d2dbd1b04" - integrity sha512-MQ97YSXu2oibzm7wi4GNa7hhndjLuVt/lmO2sq53+P37oZmyg/JQ/IYYtSiC6UGK3+cHoiVAykrK+glxLjJbag== +"@swc/core-darwin-arm64@1.10.11": + version "1.10.11" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.10.11.tgz#37e79f35f1d0226465d4b5fe8e1c957e35661bd5" + integrity sha512-ZpgEaNcx2e5D+Pd0yZGVbpSrEDOEubn7r2JXoNBf0O85lPjUm3HDzGRfLlV/MwxRPAkwm93eLP4l7gYnc50l3g== + +"@swc/core-darwin-x64@1.10.11": + version "1.10.11" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.10.11.tgz#da0354121088d73808634efb213a264400587c8f" + integrity sha512-szObinnq2o7spXMDU5pdunmUeLrfV67Q77rV+DyojAiGJI1RSbEQotLOk+ONOLpoapwGUxOijFG4IuX1xiwQ2g== + +"@swc/core-linux-arm-gnueabihf@1.10.11": + version "1.10.11" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.10.11.tgz#4357c4f8fd1a4d53020c2e5caf048ff5ca134eec" + integrity sha512-tVE8aXQwd8JUB9fOGLawFJa76nrpvp3dvErjozMmWSKWqtoeO7HV83aOrVtc8G66cj4Vq7FjTE9pOJeV1FbKRw== + +"@swc/core-linux-arm64-gnu@1.10.11": + version "1.10.11" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.10.11.tgz#2b92ddb2500c1292a999fc617044bed8318ac0dc" + integrity sha512-geFkENU5GMEKO7FqHOaw9HVlpQEW10nICoM6ubFc0hXBv8dwRXU4vQbh9s/isLSFRftw1m4jEEWixAnXSw8bxQ== + +"@swc/core-linux-arm64-musl@1.10.11": + version "1.10.11" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.10.11.tgz#8545fd335bd5234522bc23a8a11582ff549e26eb" + integrity sha512-2mMscXe/ivq8c4tO3eQSbQDFBvagMJGlalXCspn0DgDImLYTEnt/8KHMUMGVfh0gMJTZ9q4FlGLo7mlnbx99MQ== + +"@swc/core-linux-x64-gnu@1.10.11": + version "1.10.11" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.10.11.tgz#79e94f3d59e29016c8294d401d8b35bc13d6586a" + integrity sha512-eu2apgDbC4xwsigpl6LS+iyw6a3mL6kB4I+6PZMbFF2nIb1Dh7RGnu70Ai6mMn1o80fTmRSKsCT3CKMfVdeNFg== + +"@swc/core-linux-x64-musl@1.10.11": + version "1.10.11" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.10.11.tgz#edceb8cf38ad00d82db56349b919d4482bc5ba96" + integrity sha512-0n+wPWpDigwqRay4IL2JIvAqSKCXv6nKxPig9M7+epAlEQlqX+8Oq/Ap3yHtuhjNPb7HmnqNJLCXT1Wx+BZo0w== + +"@swc/core-win32-arm64-msvc@1.10.11": + version "1.10.11" + resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.10.11.tgz#000e82ccd079a7eab382b9124b216e2310d7d013" + integrity sha512-7+bMSIoqcbXKosIVd314YjckDRPneA4OpG1cb3/GrkQTEDXmWT3pFBBlJf82hzJfw7b6lfv6rDVEFBX7/PJoLA== + +"@swc/core-win32-ia32-msvc@1.10.11": + version "1.10.11" + resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.10.11.tgz#6138bdf97a221d2194f4181bf87255063520210d" + integrity sha512-6hkLl4+3KjP/OFTryWxpW7YFN+w4R689TSPwiII4fFgsFNupyEmLWWakKfkGgV2JVA59L4Oi02elHy/O1sbgtw== + +"@swc/core-win32-x64-msvc@1.10.11": + version "1.10.11" + resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.10.11.tgz#d1571d46a5c0efe17ef12898bc605e301d266b2d" + integrity sha512-kKNE2BGu/La2k2WFHovenqZvGQAHRIU+rd2/6a7D6EiQ6EyimtbhUqjCCZ+N1f5fIAnvM+sMdLiQJq4jdd/oOQ== + +"@swc/core@~1.10.11": + version "1.10.11" + resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.10.11.tgz#cbc72a940b127dd6313b5c6c5ab67a746cd39751" + integrity sha512-3zGU5y3S20cAwot9ZcsxVFNsSVaptG+dKdmAxORSE3EX7ixe1Xn5kUwLlgIsM4qrwTUWCJDLNhRS+2HLFivcDg== dependencies: "@swc/counter" "^0.1.3" "@swc/types" "^0.1.17" optionalDependencies: - "@swc/core-darwin-arm64" "1.10.9" - "@swc/core-darwin-x64" "1.10.9" - "@swc/core-linux-arm-gnueabihf" "1.10.9" - "@swc/core-linux-arm64-gnu" "1.10.9" - "@swc/core-linux-arm64-musl" "1.10.9" - "@swc/core-linux-x64-gnu" "1.10.9" - "@swc/core-linux-x64-musl" "1.10.9" - "@swc/core-win32-arm64-msvc" "1.10.9" - "@swc/core-win32-ia32-msvc" "1.10.9" - "@swc/core-win32-x64-msvc" "1.10.9" + "@swc/core-darwin-arm64" "1.10.11" + "@swc/core-darwin-x64" "1.10.11" + "@swc/core-linux-arm-gnueabihf" "1.10.11" + "@swc/core-linux-arm64-gnu" "1.10.11" + "@swc/core-linux-arm64-musl" "1.10.11" + "@swc/core-linux-x64-gnu" "1.10.11" + "@swc/core-linux-x64-musl" "1.10.11" + "@swc/core-win32-arm64-msvc" "1.10.11" + "@swc/core-win32-ia32-msvc" "1.10.11" + "@swc/core-win32-x64-msvc" "1.10.11" "@swc/counter@^0.1.3": version "0.1.3" @@ -2973,10 +2876,10 @@ dependencies: "@types/node" "*" -"@types/node@*", "@types/node@>= 8", "@types/node@>=10.0.0", "@types/node@^22.5.5": - version "22.10.7" - resolved "https://registry.yarnpkg.com/@types/node/-/node-22.10.7.tgz#14a1ca33fd0ebdd9d63593ed8d3fbc882a6d28d7" - integrity sha512-V09KvXxFiutGp6B7XkpaDXlNadZxrzajcY50EuoLIpQ6WWYCSvf19lVIazzfIzQvhUN2HjX12spLojTnhuKlGg== +"@types/node@*", "@types/node@>= 8", "@types/node@>=10.0.0", "@types/node@^22.10.10", "@types/node@^22.5.5": + version "22.10.10" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.10.10.tgz#85fe89f8bf459dc57dfef1689bd5b52ad1af07e6" + integrity sha512-X47y/mPNzxviAGY5TcYPtYL8JsY3kAq2n8fMmKoRCxq/c4v4pyGNCzM2R6+M5/umG4ZfHuT+sgqDYqWc9rJ6ww== dependencies: undici-types "~6.20.0" @@ -2997,13 +2900,6 @@ dependencies: undici-types "~6.19.2" -"@types/node@^22.10.10": - version "22.10.10" - resolved "https://registry.yarnpkg.com/@types/node/-/node-22.10.10.tgz#85fe89f8bf459dc57dfef1689bd5b52ad1af07e6" - integrity sha512-X47y/mPNzxviAGY5TcYPtYL8JsY3kAq2n8fMmKoRCxq/c4v4pyGNCzM2R6+M5/umG4ZfHuT+sgqDYqWc9rJ6ww== - dependencies: - undici-types "~6.20.0" - "@types/normalize-package-data@^2.4.1": version "2.4.4" resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz#56e2cc26c397c038fab0e3a917a12d5c5909e901" @@ -3284,19 +3180,19 @@ loupe "^3.1.2" tinyrainbow "^2.0.0" -"@wdio/cli@^9.5.7": - version "9.5.7" - resolved "https://registry.yarnpkg.com/@wdio/cli/-/cli-9.5.7.tgz#599a4f4da38e6184aff12f790be99dc0328ddb9e" - integrity sha512-Wn2Njfl7Te01JXcBkcyn5bV2V4NXUzzyaezpIAISqf4mIRUSy9OO/tdXS/qpRjK3U3hQSsLrXs9JeTGrL5/5+Q== +"@wdio/cli@^9.7.1": + version "9.7.1" + resolved "https://registry.yarnpkg.com/@wdio/cli/-/cli-9.7.1.tgz#afe3d9d0e3985bee022e1bd4d738008cfcdd9f2b" + integrity sha512-oPCmjle4+UEFs2WAql3HQNfRgTu3orwb139jt79cS9XtNtGku4iiAgD/lND+c555TnVJin2BWdu1D4kZdCTVBw== dependencies: "@types/node" "^20.1.1" "@vitest/snapshot" "^2.1.1" - "@wdio/config" "9.5.0" - "@wdio/globals" "9.5.7" + "@wdio/config" "9.6.4" + "@wdio/globals" "9.7.1" "@wdio/logger" "9.4.4" - "@wdio/protocols" "9.4.4" - "@wdio/types" "9.5.0" - "@wdio/utils" "9.5.0" + "@wdio/protocols" "9.7.0" + "@wdio/types" "9.6.3" + "@wdio/utils" "9.6.4" async-exit-hook "^2.0.1" chalk "^5.2.0" chokidar "^4.0.0" @@ -3311,7 +3207,7 @@ read-pkg-up "^10.0.0" recursive-readdir "^2.2.3" tsx "^4.7.2" - webdriverio "9.5.7" + webdriverio "9.7.1" yargs "^17.7.2" "@wdio/config@7.19.5": @@ -3324,36 +3220,45 @@ deepmerge "^4.0.0" glob "^7.1.2" -"@wdio/config@9.5.0": - version "9.5.0" - resolved "https://registry.yarnpkg.com/@wdio/config/-/config-9.5.0.tgz#cb40bd5cff20d57104e627663d31481c00891d28" - integrity sha512-ty0laZy9J6pYpPd9BzNS4/P9RcRFCQfiacQuJFCkaM0NXjOtkWnyMnrqLP09nyUEQYhOGwANwShbsS+EaUkmSQ== +"@wdio/config@9.6.4": + version "9.6.4" + resolved "https://registry.yarnpkg.com/@wdio/config/-/config-9.6.4.tgz#9765ea4e959532865e8dcbc09ea5af295b480a9b" + integrity sha512-oTNXVVzaZ0qaM7oX8tyS3YBr4A3ij2py3Umew3ez0IS2vHpRs1LvLfVWoHRSqrhJIVnfjV3+zqcl9BWALNVD/g== dependencies: "@wdio/logger" "9.4.4" - "@wdio/types" "9.5.0" - "@wdio/utils" "9.5.0" + "@wdio/types" "9.6.3" + "@wdio/utils" "9.6.4" deepmerge-ts "^7.0.3" glob "^10.2.2" import-meta-resolve "^4.0.0" -"@wdio/globals@9.5.7": - version "9.5.7" - resolved "https://registry.yarnpkg.com/@wdio/globals/-/globals-9.5.7.tgz#1848bbffe91fcc1eadaaee30a0c832bd7f3b7bdd" - integrity sha512-Ipl7GR/8RzRqPehOe4ngCFvMzDaVi9vuBcVa/LDbPP8/UUcjGWHbNH2J8pMdu/z3eF3U5MIHnOa9YNSs1jKJ0g== +"@wdio/dot-reporter@9.6.3": + version "9.6.3" + resolved "https://registry.yarnpkg.com/@wdio/dot-reporter/-/dot-reporter-9.6.3.tgz#b492f7c2c4bd564686ba465d60411229ad1d1724" + integrity sha512-/54vTrG08Q66QFFvw96SrdKpqhFknucdKZZj5rN8h5/e5zT+nl7BXUvCkXy6eEP9CCR+DOYLvA2sXZjoArG6xw== + dependencies: + "@wdio/reporter" "9.6.3" + "@wdio/types" "9.6.3" + chalk "^5.0.1" + +"@wdio/globals@9.7.1": + version "9.7.1" + resolved "https://registry.yarnpkg.com/@wdio/globals/-/globals-9.7.1.tgz#a0bbaa82aa49dc2616e20436e236d7e63779dbb8" + integrity sha512-o3Zaiyi/amH3VF+D2+lB+UXcaksWx44SIIVZjkgYgHsKAnmrv04JfkneQo+x05J/vNc+BM6jwTgTAtmkfF/t5w== optionalDependencies: expect-webdriverio "^5.0.1" - webdriverio "9.5.7" + webdriverio "9.7.1" -"@wdio/local-runner@^9.5.7": - version "9.5.7" - resolved "https://registry.yarnpkg.com/@wdio/local-runner/-/local-runner-9.5.7.tgz#7db1d0fdf365fbd95e6470baa3e45d9b80dc63bb" - integrity sha512-d69dDBEOH2aPKy7ADiKsWDAlH1LAjXyl8NI6FO/GyBS2zmEHs3tCMZDr1MlHkime7gCqCPNJnZgFEVMrmqM2Zg== +"@wdio/local-runner@^9.7.1": + version "9.7.1" + resolved "https://registry.yarnpkg.com/@wdio/local-runner/-/local-runner-9.7.1.tgz#118d5882c68099ca4a8a585e6da4f58ef8d18db0" + integrity sha512-VgSEo9/Z7byTdtjQyUryr4nCIY/1/Du8VkSoyW641+2+QQR5XvhcbU5TIdOfaplj7Bvearfl8S3h8E7swN0L/Q== dependencies: "@types/node" "^20.1.0" "@wdio/logger" "9.4.4" "@wdio/repl" "9.4.4" - "@wdio/runner" "9.5.7" - "@wdio/types" "9.5.0" + "@wdio/runner" "9.7.1" + "@wdio/types" "9.6.3" async-exit-hook "^2.0.1" split2 "^4.1.0" stream-buffers "^3.0.2" @@ -3378,16 +3283,16 @@ loglevel-plugin-prefix "^0.8.4" strip-ansi "^7.1.0" -"@wdio/mocha-framework@^9.5.0": - version "9.5.0" - resolved "https://registry.yarnpkg.com/@wdio/mocha-framework/-/mocha-framework-9.5.0.tgz#7cdd15babcbff19bae788bdc9d949cb58a007c64" - integrity sha512-bHzgPJeik9z4OBZ4LGLPouzE5KiQflx/EvNJL6iIZkvmoBbWAeSROzjNok6y+PWN4SykHwtTuRs+vXUBINKulg== +"@wdio/mocha-framework@^9.6.4": + version "9.6.4" + resolved "https://registry.yarnpkg.com/@wdio/mocha-framework/-/mocha-framework-9.6.4.tgz#f92a6c282ba636facf21c468fa8d8e0556e37c2f" + integrity sha512-8TqCIKGz5CkA2uSJSLXLLjINCeZ/UGvegZiB82Fr9hO3RvirPXbYVV+P6vqB9jqSACZ5kxX22cTUhqXgFxUjyQ== dependencies: "@types/mocha" "^10.0.6" "@types/node" "^20.11.28" "@wdio/logger" "9.4.4" - "@wdio/types" "9.5.0" - "@wdio/utils" "9.5.0" + "@wdio/types" "9.6.3" + "@wdio/utils" "9.6.4" mocha "^10.3.0" "@wdio/protocols@7.19.0": @@ -3395,10 +3300,10 @@ resolved "https://registry.yarnpkg.com/@wdio/protocols/-/protocols-7.19.0.tgz#cd753752c64b9c1dd7ace05398c1d11c46af41ab" integrity sha512-ji74rQag6v+INSNd0J8eAh2rpH5vOXgeiP5Qr32K6PWU6HzYWuAFH2x4srXsH0JawHCdTK2OQAOYrLmMb44hug== -"@wdio/protocols@9.4.4": - version "9.4.4" - resolved "https://registry.yarnpkg.com/@wdio/protocols/-/protocols-9.4.4.tgz#f8144e671b581478374abfebea6c5ad19c4edb20" - integrity sha512-IqbAWe5feY3xOwjbiW/2iwcbDU+nm5CX5Om835mxaNWqEoQiaZuTin4YgtgsPeSEBcSFtQ+2ooswr/6vIZdxSw== +"@wdio/protocols@9.7.0": + version "9.7.0" + resolved "https://registry.yarnpkg.com/@wdio/protocols/-/protocols-9.7.0.tgz#2f2c0a7e371d65305e0d64980f63caa98ba5a4de" + integrity sha512-5DI8cqJqT9K6oQn8UpaSTmcGAl4ufkUWC5FoPT3oXdLjILfxvweZDf/2XNBCbGMk4+VOMKqB2ofOqKhDIB2nAg== "@wdio/repl@7.19.5": version "7.19.5" @@ -3414,62 +3319,63 @@ dependencies: "@types/node" "^20.1.0" -"@wdio/reporter@9.5.0": - version "9.5.0" - resolved "https://registry.yarnpkg.com/@wdio/reporter/-/reporter-9.5.0.tgz#f7577d31a1b38f70d4dc3414c1831c6e78b8f5eb" - integrity sha512-ycdbU97tDT7RCgutM+fSwbd0FIab821BAc0hYopCkB0FIooHUjIjvXmh0QichasS5a21tGe0UXfCcnn1S6V6Fw== +"@wdio/reporter@9.6.3": + version "9.6.3" + resolved "https://registry.yarnpkg.com/@wdio/reporter/-/reporter-9.6.3.tgz#c9693893fd980211f849fd9a1c578d149f919e69" + integrity sha512-OwuwhRtqDZDPU8/6TBSMg+bvw9DKgUVfGu160zamBt8jPg8LZ5VU2VoZlRBNZMAHl3OnSwj+ih2/meEoLf3DUg== dependencies: "@types/node" "^20.1.0" "@wdio/logger" "9.4.4" - "@wdio/types" "9.5.0" + "@wdio/types" "9.6.3" diff "^7.0.0" object-inspect "^1.12.0" -"@wdio/runner@9.5.7": - version "9.5.7" - resolved "https://registry.yarnpkg.com/@wdio/runner/-/runner-9.5.7.tgz#cbc1c37a05bf7cfb9d5399857c9a811870cd245e" - integrity sha512-yl6p9VgCoPRYyd5JGroWS14wm01aM97T6Ona42unUXnkhR0YM7GH2PSycguT4yBOAIry/y2tH7JwObh3hXCjGQ== +"@wdio/runner@9.7.1": + version "9.7.1" + resolved "https://registry.yarnpkg.com/@wdio/runner/-/runner-9.7.1.tgz#078bad6d7b60c372f532a599c24d599ea0187812" + integrity sha512-S3MFpAS9LtMCLYH2Vt+AGmRjakGH5DVn96GGo0AeqeUcx3JZPGqj03QYbm6QUFgsXf6HqqTdTW1GcPc8PpMXJQ== dependencies: "@types/node" "^20.11.28" - "@wdio/config" "9.5.0" - "@wdio/globals" "9.5.7" + "@wdio/config" "9.6.4" + "@wdio/dot-reporter" "9.6.3" + "@wdio/globals" "9.7.1" "@wdio/logger" "9.4.4" - "@wdio/types" "9.5.0" - "@wdio/utils" "9.5.0" + "@wdio/types" "9.6.3" + "@wdio/utils" "9.6.4" deepmerge-ts "^7.0.3" expect-webdriverio "^5.0.1" - webdriver "9.5.4" - webdriverio "9.5.7" + webdriver "9.7.0" + webdriverio "9.7.1" -"@wdio/sauce-service@^9.5.7": - version "9.5.7" - resolved "https://registry.yarnpkg.com/@wdio/sauce-service/-/sauce-service-9.5.7.tgz#504e4922619bfa5a1646130cbddad9a7a7732123" - integrity sha512-Sw9+Px++2RZ++26wpMojbpGEOHzn4/F4F8AjOcG3cgW5uxR0sNJIPaIRkgtykL2jr/H5Il71Oqp9mMmidhaSpg== +"@wdio/sauce-service@^9.7.1": + version "9.7.1" + resolved "https://registry.yarnpkg.com/@wdio/sauce-service/-/sauce-service-9.7.1.tgz#ff91a61dfd23986dbdf287f93e63ade9f472ef85" + integrity sha512-xpZIeXiTK3GvfbOWTnP5kuKXTHmjdX8kN4IGoQJk5+StjtTcfnXZKXoeZUAPYdNL0X+gG2MDo2zdqIyafoMa4A== dependencies: "@wdio/logger" "9.4.4" - "@wdio/types" "9.5.0" - "@wdio/utils" "9.5.0" + "@wdio/types" "9.6.3" + "@wdio/utils" "9.6.4" saucelabs "8.0.0" - webdriverio "9.5.7" + webdriverio "9.7.1" -"@wdio/spec-reporter@^9.5.0": - version "9.5.0" - resolved "https://registry.yarnpkg.com/@wdio/spec-reporter/-/spec-reporter-9.5.0.tgz#b8a746fd3c6d2a19328f1df9403365028ccd0b55" - integrity sha512-xapzWIPZE8E5IHQdhIESJ9u10fZMWi91D0Hu3EiyDvZ6ClJR6LIS/eeGChXVx3+x/OeU6yiOwhmkV4mCUyFeNA== +"@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== dependencies: - "@wdio/reporter" "9.5.0" - "@wdio/types" "9.5.0" + "@wdio/reporter" "9.6.3" + "@wdio/types" "9.6.3" chalk "^5.1.2" easy-table "^1.2.0" pretty-ms "^9.0.0" -"@wdio/static-server-service@^9.5.0": - version "9.5.0" - resolved "https://registry.yarnpkg.com/@wdio/static-server-service/-/static-server-service-9.5.0.tgz#7ccfc6f1d735e21b97988d8c85dc8726376ddd1c" - integrity sha512-srTTomP+kjjieWSmYFxKdfIj0P7TorrngehO1djpWMk3xyuTaR1fyehNuwsmZHnRk7Zbrim1HFCZwwX5WnaBSw== +"@wdio/static-server-service@^9.6.3": + version "9.6.3" + resolved "https://registry.yarnpkg.com/@wdio/static-server-service/-/static-server-service-9.6.3.tgz#01b536a530bbbd9d91d06576659eb815f3db22b2" + integrity sha512-wAAS3S1y7mm3iATyeWkCKHfJrP7ZmW2FkPSALoDcea2jQIeMXe6pQlGTkBPMw9CRnt8Rdu8Fy5ImtL5Uwr1wHQ== dependencies: "@wdio/logger" "9.4.4" - "@wdio/types" "9.5.0" + "@wdio/types" "9.6.3" express "^4.14.0" morgan "^1.7.0" @@ -3481,10 +3387,10 @@ "@types/node" "^17.0.4" got "^11.8.1" -"@wdio/types@9.5.0": - version "9.5.0" - resolved "https://registry.yarnpkg.com/@wdio/types/-/types-9.5.0.tgz#260dd40f3bd26519adc0e1102a0c909a4faa402c" - integrity sha512-sX1vH6VebVHvgdpySTOXzKNazHBu+yFr5bMvveJ2T4vKjJTJOAwO6nPftjKcgGDfhyYxM3xOCvboKICdQKFgEg== +"@wdio/types@9.6.3": + version "9.6.3" + resolved "https://registry.yarnpkg.com/@wdio/types/-/types-9.6.3.tgz#2fbbb5fcdec32f9d9953ee9d73c659052c0fb6b1" + integrity sha512-K3Lu7K5g5bsUcQV6/95XaS3jMwcGUn2pDdryYibKZafklhHjVt3o/xnw6Vgd/JzoSneCKHdwj941n+yDpTJHAw== dependencies: "@types/node" "^20.1.0" @@ -3497,14 +3403,14 @@ "@wdio/types" "7.19.5" p-iteration "^1.1.8" -"@wdio/utils@9.5.0": - version "9.5.0" - resolved "https://registry.yarnpkg.com/@wdio/utils/-/utils-9.5.0.tgz#7f9450f60685a8900a6e3b6c3a9388f742b6d2d4" - integrity sha512-Lrom21pIdp60IiKznecJT6Za0GGeXxKikPyWHH5z9SY5TmuSoIhuG/bq40lfUjeSW7doiL1JEsFHbRbzt0bHYA== +"@wdio/utils@9.6.4": + version "9.6.4" + resolved "https://registry.yarnpkg.com/@wdio/utils/-/utils-9.6.4.tgz#534fd67e0b0c4be85b8c5379a9e79e64aa05bc1d" + integrity sha512-FMI/F5ju0h0HKC4RRQKW/H9So2cgtK6dd0JCmVdBzQ+/LMluEzlZmQva14HYmNd2t2ZmejYRqAJPV3aAsMAMZA== dependencies: "@puppeteer/browsers" "^2.2.0" "@wdio/logger" "9.4.4" - "@wdio/types" "9.5.0" + "@wdio/types" "9.6.3" decamelize "^6.0.0" deepmerge-ts "^7.0.3" edgedriver "^6.1.1" @@ -4478,7 +4384,7 @@ chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.2: ansi-styles "^4.1.0" supports-color "^7.1.0" -chalk@^5.1.2, chalk@^5.2.0, chalk@^5.3.0, chalk@^5.4.1: +chalk@^5.0.1, chalk@^5.1.2, chalk@^5.2.0, chalk@^5.3.0, chalk@^5.4.1: version "5.4.1" resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.4.1.tgz#1b48bf0963ec158dce2aacf69c093ae2dd2092d8" integrity sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w== @@ -8545,10 +8451,10 @@ lines-and-columns@^2.0.3: resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-2.0.4.tgz#d00318855905d2660d8c0822e3f5a4715855fc42" integrity sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A== -lint-staged@^15.4.2: - version "15.4.2" - resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-15.4.2.tgz#f986bcb6b03822a996c600447c692c69640c7607" - integrity sha512-gCqzB/Li281uZJgReNci+oXXqUEdrFAQAzTE/LwoxxiEuP41vozNe4BATS+4ehdqkWn+Z6bGc3EDcBja3npBVw== +lint-staged@^15.4.3: + version "15.4.3" + resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-15.4.3.tgz#e73587cc857f580c99f907abefe9ac8d8d5e74c1" + integrity sha512-FoH1vOeouNh1pw+90S+cnuoFwRfUD9ijY2GKy5h7HS3OR7JVir2N2xrsa0+Twc1B7cW72L+88geG5cW4wIhn7g== dependencies: chalk "^5.4.1" commander "^13.1.0" @@ -10882,35 +10788,7 @@ rollup-plugin-serve@^3.0.0: mime "^4" opener "1" -rollup@^4.23.0, rollup@^4.28.0, rollup@^4.31.0: - version "4.31.0" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.31.0.tgz#b84af969a0292cb047dce2c0ec5413a9457597a4" - integrity sha512-9cCE8P4rZLx9+PjoyqHLs31V9a9Vpvfo4qNcs6JCiGWYhw2gijSetFbH6SSy1whnkgcefnUwr8sad7tgqsGvnw== - dependencies: - "@types/estree" "1.0.6" - optionalDependencies: - "@rollup/rollup-android-arm-eabi" "4.31.0" - "@rollup/rollup-android-arm64" "4.31.0" - "@rollup/rollup-darwin-arm64" "4.31.0" - "@rollup/rollup-darwin-x64" "4.31.0" - "@rollup/rollup-freebsd-arm64" "4.31.0" - "@rollup/rollup-freebsd-x64" "4.31.0" - "@rollup/rollup-linux-arm-gnueabihf" "4.31.0" - "@rollup/rollup-linux-arm-musleabihf" "4.31.0" - "@rollup/rollup-linux-arm64-gnu" "4.31.0" - "@rollup/rollup-linux-arm64-musl" "4.31.0" - "@rollup/rollup-linux-loongarch64-gnu" "4.31.0" - "@rollup/rollup-linux-powerpc64le-gnu" "4.31.0" - "@rollup/rollup-linux-riscv64-gnu" "4.31.0" - "@rollup/rollup-linux-s390x-gnu" "4.31.0" - "@rollup/rollup-linux-x64-gnu" "4.31.0" - "@rollup/rollup-linux-x64-musl" "4.31.0" - "@rollup/rollup-win32-arm64-msvc" "4.31.0" - "@rollup/rollup-win32-ia32-msvc" "4.31.0" - "@rollup/rollup-win32-x64-msvc" "4.31.0" - fsevents "~2.3.2" - -rollup@^4.32.0: +rollup@^4.23.0, rollup@^4.28.0, rollup@^4.32.0: version "4.32.0" resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.32.0.tgz#c405bf6fca494d1999d9088f7736d7f03e5cac5a" integrity sha512-JmrhfQR31Q4AuNBjjAX4s+a/Pu/Q8Q9iwjWBsjRH1q52SPFE2NqRMK6fUZKKnvKO6id+h7JIRf0oYsph53eATg== @@ -12653,18 +12531,18 @@ webdriver@7.19.5: ky "^0.30.0" lodash.merge "^4.6.1" -webdriver@9.5.4: - version "9.5.4" - resolved "https://registry.yarnpkg.com/webdriver/-/webdriver-9.5.4.tgz#45c640064da72cbf1e5e65389de8951f12716d4f" - integrity sha512-wmuIL8XMLUUjmpXuQTqH1fhvWnh+8PA4TemYbXfLP/U1gdAowgxy3+rWMc+LGHkDOZLBIB4tHcdxkj7xbSOvLQ== +webdriver@9.7.0: + version "9.7.0" + resolved "https://registry.yarnpkg.com/webdriver/-/webdriver-9.7.0.tgz#2cc6b0e2c057cb65888bdbf32e5eb221c420a754" + integrity sha512-O/Ce4I7HcsqlP3kx9L0F14olOsarKkXUz+hSunOTC9YxsiVoOu5yIcRrHyWUQziYgA4K5gobZSKrTuAr+edA4Q== dependencies: "@types/node" "^20.1.0" "@types/ws" "^8.5.3" - "@wdio/config" "9.5.0" + "@wdio/config" "9.6.4" "@wdio/logger" "9.4.4" - "@wdio/protocols" "9.4.4" - "@wdio/types" "9.5.0" - "@wdio/utils" "9.5.0" + "@wdio/protocols" "9.7.0" + "@wdio/types" "9.6.3" + "@wdio/utils" "9.6.4" deepmerge-ts "^7.0.3" undici "^6.20.1" ws "^8.8.0" @@ -12702,19 +12580,19 @@ webdriverio@7.19.5: serialize-error "^8.0.0" webdriver "7.19.5" -webdriverio@9.5.7, webdriverio@^9.0.7: - version "9.5.7" - resolved "https://registry.yarnpkg.com/webdriverio/-/webdriverio-9.5.7.tgz#85705b35606556b06e6f5d9e9c762c23d4c87844" - integrity sha512-Uvro6y9AvDzlrEzoEM+J/C8/foQVKisvTFXdr+XF63BYsPBKZAhL2cKiHuwwj0FaSVC/VIhd0IVj+oGdkDKs/Q== +webdriverio@9.7.1, webdriverio@^9.0.7: + version "9.7.1" + resolved "https://registry.yarnpkg.com/webdriverio/-/webdriverio-9.7.1.tgz#110c87b44e892c9583dbd95792a1e0d661895e81" + integrity sha512-P1roVTpXwtzSgNKl9j92LF4+5i2eGd0n9EMvMRdLNnI0v1ws7dNJOHNgsEAepZqMikYPgh2m+5DyXR1Ygoa+nQ== dependencies: "@types/node" "^20.11.30" "@types/sinonjs__fake-timers" "^8.1.5" - "@wdio/config" "9.5.0" + "@wdio/config" "9.6.4" "@wdio/logger" "9.4.4" - "@wdio/protocols" "9.4.4" + "@wdio/protocols" "9.7.0" "@wdio/repl" "9.4.4" - "@wdio/types" "9.5.0" - "@wdio/utils" "9.5.0" + "@wdio/types" "9.6.3" + "@wdio/utils" "9.6.4" archiver "^7.0.1" aria-query "^5.3.0" cheerio "^1.0.0-rc.12" @@ -12733,7 +12611,7 @@ webdriverio@9.5.7, webdriverio@^9.0.7: rgb2hex "0.2.5" serialize-error "^11.0.3" urlpattern-polyfill "^10.0.0" - webdriver "9.5.4" + webdriver "9.7.0" webidl-conversions@^3.0.0: version "3.0.1" From 7556d0c20a8b5f4885368f17622fa7d64b163336 Mon Sep 17 00:00:00 2001 From: jhefferman-sfdc <83669775+jhefferman-sfdc@users.noreply.github.com> Date: Mon, 27 Jan 2025 13:24:24 -0700 Subject: [PATCH 04/12] fix forwarded dangling slots (#5164) * fix: add dangling slot definition * fix: scoped slot case, nested cases * fix: review comments * fix: additional test * fix: clarified dangling slot explanation --- .../slots/dangling-component/error.txt | 0 .../slots/dangling-component/expected.html | 16 +++++++++++++ .../slots/dangling-component/index.js | 4 ++++ .../modules/x/component/component.html | 3 +++ .../modules/x/component/component.js | 5 ++++ .../modules/x/container/container.html | 6 +++++ .../modules/x/container/container.js | 5 ++++ .../modules/x/leaf/leaf.html | 4 ++++ .../dangling-component/modules/x/leaf/leaf.js | 5 ++++ .../modules/x/slot/slot.html | 6 +++++ .../dangling-component/modules/x/slot/slot.js | 5 ++++ .../slots/dangling/expected.html | 10 ++++---- .../modules/x/container/container.html | 2 +- .../slots/dangling/modules/x/leaf/leaf.html | 4 ++-- .../slots/dangling/modules/x/slot/slot.html | 4 ++-- .../src/__tests__/utils/expected-failures.ts | 2 -- .../src/compile-template/index.ts | 3 +++ .../transformers/component/component.ts | 7 ++++++ .../transformers/component/lwc-component.ts | 7 ++++++ .../transformers/component/slotted-content.ts | 2 +- .../compile-template/transformers/element.ts | 11 +++++++++ .../src/compile-template/transformers/slot.ts | 23 ++++++++++++++++--- 22 files changed, 118 insertions(+), 16 deletions(-) create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/slot-forwarding/slots/dangling-component/error.txt create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/slot-forwarding/slots/dangling-component/expected.html create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/slot-forwarding/slots/dangling-component/index.js create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/slot-forwarding/slots/dangling-component/modules/x/component/component.html create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/slot-forwarding/slots/dangling-component/modules/x/component/component.js create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/slot-forwarding/slots/dangling-component/modules/x/container/container.html create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/slot-forwarding/slots/dangling-component/modules/x/container/container.js create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/slot-forwarding/slots/dangling-component/modules/x/leaf/leaf.html create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/slot-forwarding/slots/dangling-component/modules/x/leaf/leaf.js create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/slot-forwarding/slots/dangling-component/modules/x/slot/slot.html create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/slot-forwarding/slots/dangling-component/modules/x/slot/slot.js diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/slot-forwarding/slots/dangling-component/error.txt b/packages/@lwc/engine-server/src/__tests__/fixtures/slot-forwarding/slots/dangling-component/error.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/slot-forwarding/slots/dangling-component/expected.html b/packages/@lwc/engine-server/src/__tests__/fixtures/slot-forwarding/slots/dangling-component/expected.html new file mode 100644 index 0000000000..63ea1759fe --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/slot-forwarding/slots/dangling-component/expected.html @@ -0,0 +1,16 @@ + + + + + + Component content + + + + + Component content + + + + + \ No newline at end of file diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/slot-forwarding/slots/dangling-component/index.js b/packages/@lwc/engine-server/src/__tests__/fixtures/slot-forwarding/slots/dangling-component/index.js new file mode 100644 index 0000000000..b202a15a0a --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/slot-forwarding/slots/dangling-component/index.js @@ -0,0 +1,4 @@ +export const tagName = 'x-dangling-container'; +export { default } from 'x/container'; +export * from 'x/container'; +export const features = []; diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/slot-forwarding/slots/dangling-component/modules/x/component/component.html b/packages/@lwc/engine-server/src/__tests__/fixtures/slot-forwarding/slots/dangling-component/modules/x/component/component.html new file mode 100644 index 0000000000..17ad53e7e1 --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/slot-forwarding/slots/dangling-component/modules/x/component/component.html @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/slot-forwarding/slots/dangling-component/modules/x/component/component.js b/packages/@lwc/engine-server/src/__tests__/fixtures/slot-forwarding/slots/dangling-component/modules/x/component/component.js new file mode 100644 index 0000000000..0679d2bc10 --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/slot-forwarding/slots/dangling-component/modules/x/component/component.js @@ -0,0 +1,5 @@ +import { LightningElement } from 'lwc'; + +export default class extends LightningElement { + static renderMode = 'light'; +} diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/slot-forwarding/slots/dangling-component/modules/x/container/container.html b/packages/@lwc/engine-server/src/__tests__/fixtures/slot-forwarding/slots/dangling-component/modules/x/container/container.html new file mode 100644 index 0000000000..685193646f --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/slot-forwarding/slots/dangling-component/modules/x/container/container.html @@ -0,0 +1,6 @@ + \ No newline at end of file diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/slot-forwarding/slots/dangling-component/modules/x/container/container.js b/packages/@lwc/engine-server/src/__tests__/fixtures/slot-forwarding/slots/dangling-component/modules/x/container/container.js new file mode 100644 index 0000000000..0679d2bc10 --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/slot-forwarding/slots/dangling-component/modules/x/container/container.js @@ -0,0 +1,5 @@ +import { LightningElement } from 'lwc'; + +export default class extends LightningElement { + static renderMode = 'light'; +} diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/slot-forwarding/slots/dangling-component/modules/x/leaf/leaf.html b/packages/@lwc/engine-server/src/__tests__/fixtures/slot-forwarding/slots/dangling-component/modules/x/leaf/leaf.html new file mode 100644 index 0000000000..dc9ac68111 --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/slot-forwarding/slots/dangling-component/modules/x/leaf/leaf.html @@ -0,0 +1,4 @@ + \ No newline at end of file diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/slot-forwarding/slots/dangling-component/modules/x/leaf/leaf.js b/packages/@lwc/engine-server/src/__tests__/fixtures/slot-forwarding/slots/dangling-component/modules/x/leaf/leaf.js new file mode 100644 index 0000000000..0679d2bc10 --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/slot-forwarding/slots/dangling-component/modules/x/leaf/leaf.js @@ -0,0 +1,5 @@ +import { LightningElement } from 'lwc'; + +export default class extends LightningElement { + static renderMode = 'light'; +} diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/slot-forwarding/slots/dangling-component/modules/x/slot/slot.html b/packages/@lwc/engine-server/src/__tests__/fixtures/slot-forwarding/slots/dangling-component/modules/x/slot/slot.html new file mode 100644 index 0000000000..963a3fceca --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/slot-forwarding/slots/dangling-component/modules/x/slot/slot.html @@ -0,0 +1,6 @@ + \ No newline at end of file diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/slot-forwarding/slots/dangling-component/modules/x/slot/slot.js b/packages/@lwc/engine-server/src/__tests__/fixtures/slot-forwarding/slots/dangling-component/modules/x/slot/slot.js new file mode 100644 index 0000000000..0679d2bc10 --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/slot-forwarding/slots/dangling-component/modules/x/slot/slot.js @@ -0,0 +1,5 @@ +import { LightningElement } from 'lwc'; + +export default class extends LightningElement { + static renderMode = 'light'; +} diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/slot-forwarding/slots/dangling/expected.html b/packages/@lwc/engine-server/src/__tests__/fixtures/slot-forwarding/slots/dangling/expected.html index aa23e8774b..adfb2329a5 100644 --- a/packages/@lwc/engine-server/src/__tests__/fixtures/slot-forwarding/slots/dangling/expected.html +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/slot-forwarding/slots/dangling/expected.html @@ -2,14 +2,14 @@ -

- bottom content +

+ top content

-

- top content -

+

+ bottom content +

diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/slot-forwarding/slots/dangling/modules/x/container/container.html b/packages/@lwc/engine-server/src/__tests__/fixtures/slot-forwarding/slots/dangling/modules/x/container/container.html index d6153f7e58..616c5495b8 100644 --- a/packages/@lwc/engine-server/src/__tests__/fixtures/slot-forwarding/slots/dangling/modules/x/container/container.html +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/slot-forwarding/slots/dangling/modules/x/container/container.html @@ -1,6 +1,6 @@ \ No newline at end of file diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/slot-forwarding/slots/dangling/modules/x/leaf/leaf.html b/packages/@lwc/engine-server/src/__tests__/fixtures/slot-forwarding/slots/dangling/modules/x/leaf/leaf.html index 039365a7a7..dc9ac68111 100644 --- a/packages/@lwc/engine-server/src/__tests__/fixtures/slot-forwarding/slots/dangling/modules/x/leaf/leaf.html +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/slot-forwarding/slots/dangling/modules/x/leaf/leaf.html @@ -1,4 +1,4 @@ \ No newline at end of file diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/slot-forwarding/slots/dangling/modules/x/slot/slot.html b/packages/@lwc/engine-server/src/__tests__/fixtures/slot-forwarding/slots/dangling/modules/x/slot/slot.html index e641874967..963a3fceca 100644 --- a/packages/@lwc/engine-server/src/__tests__/fixtures/slot-forwarding/slots/dangling/modules/x/slot/slot.html +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/slot-forwarding/slots/dangling/modules/x/slot/slot.html @@ -1,6 +1,6 @@ \ No newline at end of file diff --git a/packages/@lwc/ssr-compiler/src/__tests__/utils/expected-failures.ts b/packages/@lwc/ssr-compiler/src/__tests__/utils/expected-failures.ts index b2f8518054..4d02bf9f22 100644 --- a/packages/@lwc/ssr-compiler/src/__tests__/utils/expected-failures.ts +++ b/packages/@lwc/ssr-compiler/src/__tests__/utils/expected-failures.ts @@ -13,8 +13,6 @@ export const expectedFailures = new Set([ 'exports/component-as-default/index.js', 'known-boolean-attributes/default-def-html-attributes/static-on-component/index.js', 'render-dynamic-value/index.js', - 'slot-forwarding/slots/mixed/index.js', - 'slot-forwarding/slots/dangling/index.js', 'wire/errors/throws-on-computed-key/index.js', 'wire/errors/throws-when-colliding-prop-then-method/index.js', ]); diff --git a/packages/@lwc/ssr-compiler/src/compile-template/index.ts b/packages/@lwc/ssr-compiler/src/compile-template/index.ts index 037d51299f..041ef68f94 100644 --- a/packages/@lwc/ssr-compiler/src/compile-template/index.ts +++ b/packages/@lwc/ssr-compiler/src/compile-template/index.ts @@ -32,6 +32,9 @@ const bExportTemplate = esTemplate` let textContentBuffer = ''; let didBufferTextContent = false; + // This will get overridden but requires initialization. + const slotAttributeValue = null; + // Establishes a contextual relationship between two components for ContextProviders. // This variable will typically get overridden (shadowed) within slotted content. const contextfulParent = instance; diff --git a/packages/@lwc/ssr-compiler/src/compile-template/transformers/component/component.ts b/packages/@lwc/ssr-compiler/src/compile-template/transformers/component/component.ts index 305878fdd4..c02ffe8bf8 100644 --- a/packages/@lwc/ssr-compiler/src/compile-template/transformers/component/component.ts +++ b/packages/@lwc/ssr-compiler/src/compile-template/transformers/component/component.ts @@ -19,6 +19,13 @@ const bYieldFromChildGenerator = esTemplateWithYield` { const childProps = ${/* child props */ is.objectExpression}; const childAttrs = ${/* child attrs */ is.objectExpression}; + /* + If 'slotAttributeValue' is set, it references a slot that does not exist, and the 'slot' attribute should be set in the DOM. This behavior aligns with engine-server and engine-dom. + See: engine-server/src/__tests__/fixtures/slot-forwarding/slots/dangling/ for example case. + */ + if (slotAttributeValue) { + childAttrs.slot = slotAttributeValue; + } ${ /* Slotted content is inserted here. diff --git a/packages/@lwc/ssr-compiler/src/compile-template/transformers/component/lwc-component.ts b/packages/@lwc/ssr-compiler/src/compile-template/transformers/component/lwc-component.ts index b7076424c9..b6b7a518be 100644 --- a/packages/@lwc/ssr-compiler/src/compile-template/transformers/component/lwc-component.ts +++ b/packages/@lwc/ssr-compiler/src/compile-template/transformers/component/lwc-component.ts @@ -25,6 +25,13 @@ const bYieldFromDynamicComponentConstructorGenerator = esTemplateWithYield` } const childProps = ${/* child props */ is.objectExpression}; const childAttrs = ${/* child attrs */ is.objectExpression}; + /* + If 'slotAttributeValue' is set, it references a slot that does not exist, and the 'slot' attribute should be set in the DOM. This behavior aligns with engine-server and engine-dom. + See: engine-server/src/__tests__/fixtures/slot-forwarding/slots/dangling/ for example case. + */ + if (slotAttributeValue) { + childAttrs.slot = slotAttributeValue; + } ${ /* Slotted content is inserted here. diff --git a/packages/@lwc/ssr-compiler/src/compile-template/transformers/component/slotted-content.ts b/packages/@lwc/ssr-compiler/src/compile-template/transformers/component/slotted-content.ts index 6fa1660203..8ad46d5d5e 100644 --- a/packages/@lwc/ssr-compiler/src/compile-template/transformers/component/slotted-content.ts +++ b/packages/@lwc/ssr-compiler/src/compile-template/transformers/component/slotted-content.ts @@ -78,7 +78,7 @@ const bGenerateSlottedContent = esTemplateWithYield` const bAddSlottedContent = esTemplate` addSlottedContent(${/* slot name */ is.expression} ?? "", async function* generateSlottedContent(contextfulParent, ${ /* scoped slot data variable */ isNullableOf(is.identifier) - }) { + }, slotAttributeValue) { // FIXME: make validation work again ${/* slot content */ false} }, ${/* content map */ is.identifier}); diff --git a/packages/@lwc/ssr-compiler/src/compile-template/transformers/element.ts b/packages/@lwc/ssr-compiler/src/compile-template/transformers/element.ts index 66341e2355..32c673fe7c 100644 --- a/packages/@lwc/ssr-compiler/src/compile-template/transformers/element.ts +++ b/packages/@lwc/ssr-compiler/src/compile-template/transformers/element.ts @@ -120,6 +120,16 @@ const bConditionallyYieldScopeTokenClass = esTemplateWithYield` } `; +/* + If `slotAttributeValue` is set, it references a slot that does not exist, and the `slot` attribute should be set in the DOM. This behavior aligns with engine-server and engine-dom. + See: engine-server/src/__tests__/fixtures/slot-forwarding/slots/dangling/ for example case. +*/ +const bConditionallyYieldDanglingSlotName = esTemplateWithYield` + if (slotAttributeValue) { + yield \` slot="\${slotAttributeValue}"\`; + } +`; + const bYieldSanitizedHtml = esTemplateWithYield` yield sanitizeHtmlContent(${/* lwc:inner-html content */ is.expression}) `; @@ -263,6 +273,7 @@ export const Element: Transformer = fu return [ bYield(b.literal(`<${node.name}`)), + bConditionallyYieldDanglingSlotName(), // If we haven't already prefixed the scope token to an existing class, add an explicit class here ...(hasClassAttribute ? [] : [bConditionallyYieldScopeTokenClass()]), ...yieldAttrsAndProps, diff --git a/packages/@lwc/ssr-compiler/src/compile-template/transformers/slot.ts b/packages/@lwc/ssr-compiler/src/compile-template/transformers/slot.ts index 3dcdea4adc..952619235d 100644 --- a/packages/@lwc/ssr-compiler/src/compile-template/transformers/slot.ts +++ b/packages/@lwc/ssr-compiler/src/compile-template/transformers/slot.ts @@ -30,7 +30,13 @@ const bConditionalSlot = esTemplateWithYield` const scopedGenerators = scopedSlottedContent?.[slotName ?? ""]; const mismatchedSlots = isScopedSlot ? lightGenerators : scopedGenerators; const generators = isScopedSlot ? scopedGenerators : lightGenerators; - + /* + If a slotAttributeValue is present, it should be provided for assignment to any slotted content. This behavior aligns with v1 and engine-dom. + See: engine-server/src/__tests__/fixtures/slot-forwarding/slots/dangling/ for example. + Note the slot mapping does not work for scoped slots, so the slot name is not rendered in this case. + See: engine-server/src/__tests__/fixtures/slot-forwarding/scoped-slots for example. + */ + const danglingSlotName = !isScopedSlot ? ${/* slotAttributeValue */ is.expression} || slotAttributeValue : null; // start bookend HTML comment for light DOM slot vfragment if (!isSlotted) { yield ''; @@ -43,7 +49,7 @@ const bConditionalSlot = esTemplateWithYield` if (generators) { for (let i = 0; i < generators.length; i++) { - yield* generators[i](contextfulParent, ${/* scoped slot data */ isNullableOf(is.expression)}); + yield* generators[i](contextfulParent, ${/* scoped slot data */ isNullableOf(is.expression)}, danglingSlotName); // Scoped slotted data is separated by bookends. Final bookends are added outside of the loop below. if (isScopedSlot && i < generators.length - 1) { yield ''; @@ -90,5 +96,16 @@ export const Slot: Transformer = function Slot(node, ctx): EsStatement[] const slotChildren = irChildrenToEs(node.children, ctx); const isScopedSlot = b.literal(Boolean(slotBound)); const isSlotted = b.literal(Boolean(ctx.isSlotted)); - return [bConditionalSlot(isScopedSlot, isSlotted, slotName, slotBound, slotChildren, slotAst)]; + const slotAttributeValue = bAttributeValue(node, 'slot'); + return [ + bConditionalSlot( + isScopedSlot, + isSlotted, + slotName, + slotAttributeValue, + slotBound, + slotChildren, + slotAst + ), + ]; }; From bb51f84297a4c314314ca8f058aa5c9f0e8c8438 Mon Sep 17 00:00:00 2001 From: Heber Date: Mon, 27 Jan 2025 14:16:25 -0700 Subject: [PATCH 05/12] feat(engine): support imperative wire adapters (#5132) * feat(engine): support imperative wire adapters * feat(engine): correct ts errors in tests --- .../src/framework/decorators/wire.ts | 10 +- .../integration-types/src/decorators/wire.ts | 264 +++++++++++++++++- 2 files changed, 267 insertions(+), 7 deletions(-) diff --git a/packages/@lwc/engine-core/src/framework/decorators/wire.ts b/packages/@lwc/engine-core/src/framework/decorators/wire.ts index 7abb57b1f3..f737421427 100644 --- a/packages/@lwc/engine-core/src/framework/decorators/wire.ts +++ b/packages/@lwc/engine-core/src/framework/decorators/wire.ts @@ -65,7 +65,15 @@ export default function wire< Class = LightningElement, >( // eslint-disable-next-line @typescript-eslint/no-unused-vars - adapter: WireAdapterConstructor, Value, Context>, + adapter: + | WireAdapterConstructor, Value, Context> + | { + adapter: WireAdapterConstructor< + ReplaceReactiveValues, + Value, + Context + >; + }, // eslint-disable-next-line @typescript-eslint/no-unused-vars config?: ReactiveConfig ): WireDecorator { diff --git a/packages/@lwc/integration-types/src/decorators/wire.ts b/packages/@lwc/integration-types/src/decorators/wire.ts index 6be62c1ab2..686d578540 100644 --- a/packages/@lwc/integration-types/src/decorators/wire.ts +++ b/packages/@lwc/integration-types/src/decorators/wire.ts @@ -15,6 +15,10 @@ type DeepConfig = { deep: { config: number } }; declare const testConfig: TestConfig; declare const testValue: TestValue; declare const TestAdapter: WireAdapterConstructor; +declare const TestAdapterWithImperative: { + (config: TestConfig): TestValue; + adapter: WireAdapterConstructor; +}; declare const AnyAdapter: any; declare const InvalidAdapter: object; declare const DeepConfigAdapter: WireAdapterConstructor; @@ -39,7 +43,7 @@ export class PropertyDecorators extends LightningElement { // Valid - basic @wire(TestAdapter, { config: 'config' }) basic?: TestValue; - @wire(TestAdapter, { config: '$config' }) + @wire(TestAdapter, { config: '$configProp' }) simpleReactive?: TestValue; @wire(TestAdapter, { config: '$nested.prop' }) nestedReactive?: TestValue; @@ -126,6 +130,72 @@ export class PropertyDecorators extends LightningElement { never?: never; } +/** Validations for decorated properties/fields */ +export class PropertyDecoratorsWithImperative extends LightningElement { + // Helper props + configProp = 'config' as const; + nested = { prop: 'config', invalid: 123 } as const; + // 'nested.prop' is not directly used, but helps validate that the reactive config resolution + // uses the object above, rather than a weird prop name + 'nested.prop' = false; + number = 123; + // --- VALID --- // + // Valid - basic + @wire(TestAdapterWithImperative, { config: 'config' }) + basic?: TestValue; + @wire(TestAdapterWithImperative, { config: '$configProp' }) + simpleReactive?: TestValue; + @wire(TestAdapterWithImperative, { config: '$nested.prop' }) + nestedReactive?: TestValue; + // Valid - as const + @wire(TestAdapterWithImperative, { config: 'config' } as const) + basicAsConst?: TestValue; + @wire(TestAdapterWithImperative, { config: '$configProp' } as const) + simpleReactiveAsConst?: TestValue; + // Valid - using `any` + @wire(TestAdapterWithImperative, {} as any) + configAsAny?: TestValue; + @wire(TestAdapterWithImperative, { config: 'config' }) + propAsAny?: any; + // Valid - prop assignment + @wire(TestAdapterWithImperative, { config: 'config' }) + nonNullAssertion!: TestValue; + @wire(TestAdapterWithImperative, { config: 'config' }) + explicitDefaultType: TestValue = testValue; + @wire(TestAdapterWithImperative, { config: 'config' }) + implicitDefaultType = testValue; + + // --- INVALID --- // + // @ts-expect-error Too many wire parameters + @wire(TestAdapterWithImperative, { config: 'config' }, {}) + tooManyWireParams?: TestValue; + // @ts-expect-error Bad config type + @wire(TestAdapterWithImperative, { bad: 'value' }) + badConfig?: TestValue; + // @ts-expect-error Bad prop type + @wire(TestAdapterWithImperative, { config: 'config' }) + badPropType?: { bad: 'value' }; + // @ts-expect-error Referenced reactive prop does not exist + @wire(TestAdapterWithImperative, { config: '$nonexistentProp' } as const) + nonExistentReactiveProp?: TestValue; + + // --- AMBIGUOUS --- // + // Passing a config is optional because adapters don't strictly need to use it. + // Can we be smarter about the type and require a config, but only if the adapter does? + @wire(TestAdapterWithImperative) + noConfig?: TestValue; + // Because the basic type `string` could be _any_ string, we can't narrow it and compare against + // the component's props, so we must accept all string props, even if they're incorrect. + // We could technically be strict, and enforce that all configs objects use `as const`, but very + // few projects currently use it (there is no need) and the error reported is not simple to + // understand. + @wire(TestAdapterWithImperative, { config: 'incorrect' }) + wrongConfigButInferredAsString?: TestValue; + // People shouldn't do this, and they probably never (heh) will. TypeScript allows it, though. + @wire(TestAdapterWithImperative, { config: 'config' }) + never?: never; +} + /** Validations for decorated methods */ export class MethodDecorators extends LightningElement { // Helper props @@ -141,13 +211,13 @@ export class MethodDecorators extends LightningElement { basic(_: TestValue) {} @wire(TestAdapter, { config: 'config' }) async asyncMethod(_: TestValue) {} - @wire(TestAdapter, { config: '$config' }) + @wire(TestAdapter, { config: '$configProp' }) simpleReactive(_: TestValue) {} @wire(TestAdapter, { config: '$nested.prop' }) nestedReactive(_: TestValue) {} - @wire(TestAdapter, { config: '$config' }) + @wire(TestAdapter, { config: '$configProp' }) optionalParam(_?: TestValue) {} - @wire(TestAdapter, { config: '$config' }) + @wire(TestAdapter, { config: '$configProp' }) noParam() {} // Valid - as const @wire(TestAdapter, { config: 'config' } as const) @@ -222,6 +292,67 @@ export class MethodDecorators extends LightningElement { implicitDefaultType(_ = testValue) {} } +/** Validations for decorated methods */ +export class MethodDecoratorsWithImperative extends LightningElement { + // Helper props + configProp = 'config' as const; + nested = { prop: 'config', invalid: 123 } as const; + // 'nested.prop' is not directly used, but helps validate that the reactive config resolution + // uses the object above, rather than a weird prop name + 'nested.prop' = false; + number = 123; + // --- VALID --- // + // Valid - basic + @wire(TestAdapterWithImperative, { config: 'config' }) + basic(_: TestValue) {} + @wire(TestAdapterWithImperative, { config: 'config' }) + async asyncMethod(_: TestValue) {} + @wire(TestAdapterWithImperative, { config: '$configProp' }) + simpleReactive(_: TestValue) {} + @wire(TestAdapterWithImperative, { config: '$nested.prop' }) + nestedReactive(_: TestValue) {} + @wire(TestAdapterWithImperative, { config: '$configProp' }) + optionalParam(_?: TestValue) {} + @wire(TestAdapterWithImperative, { config: '$configProp' }) + noParam() {} + // Valid - as const + @wire(TestAdapterWithImperative, { config: 'config' } as const) + basicAsConst(_: TestValue) {} + @wire(TestAdapterWithImperative, { config: '$configProp' } as const) + simpleReactiveAsConst(_: TestValue) {} + @wire(TestAdapterWithImperative, { config: '$nested.prop' } as const) + nestedReactiveAsConst(_: TestValue) {} + // Valid - using `any` + @wire(TestAdapterWithImperative, {} as any) + configAsAny(_: TestValue) {} + @wire(TestAdapterWithImperative, { config: 'config' }) + paramAsAny(_: any) {} + + // --- INVALID --- // + // @ts-expect-error Too many wire parameters + @wire(TestAdapterWithImperative, { config: 'config' }, {}) + tooManyWireParams(_: TestValue) {} + // @ts-expect-error Too many method parameters + @wire(TestAdapterWithImperative, { config: 'config' }) + tooManyParameters(_a: TestValue, _b: TestValue) {} + + // --- AMBIGUOUS --- // + // Passing a config is optional because adapters don't strictly need to use it. + // Can we be smarter about the type and require a config, but only if the adapter does? + @wire(TestAdapterWithImperative) + noConfig(_: TestValue): void {} + // Because the basic type `string` could be _any_ string, we can't narrow it and compare against + // the component's props, so we must accept all string props, even if they're incorrect. + // We could technically be strict, and enforce that all configs objects use `as const`, but very + // few projects currently use it (there is no need) and the error reported is not simple to + // understand. + @wire(TestAdapterWithImperative, { config: 'incorrect' }) + wrongConfigButInferredAsString(_: TestValue): void {} + // Wire adapters shouldn't use default params, but the type system doesn't know the difference + @wire(TestAdapterWithImperative, { config: 'config' }) + implicitDefaultType(_ = testValue) {} +} + /** Validations for decorated getters */ export class GetterDecorators extends LightningElement { // Helper props @@ -244,7 +375,7 @@ export class GetterDecorators extends LightningElement { // we must return something. Since we don't have any data to return, we return `undefined` return undefined; } - @wire(TestAdapter, { config: '$config' }) + @wire(TestAdapter, { config: '$configProp' }) get simpleReactive() { return testValue; } @@ -341,6 +472,69 @@ export class GetterDecorators extends LightningElement { } } +/** Validations for decorated getters */ +export class GetterDecoratorsWithImperative extends LightningElement { + // Helper props + configProp = 'config' as const; + nested = { prop: 'config', invalid: 123 } as const; + // 'nested.prop' is not directly used, but helps validate that the reactive config resolution + // uses the object above, rather than a weird prop name + 'nested.prop' = false; + number = 123; + // --- VALID --- // + + // Valid - basic + @wire(TestAdapterWithImperative, { config: 'config' }) + get basic() { + return testValue; + } + @wire(TestAdapterWithImperative, { config: 'config' }) + get undefined() { + // The function implementation of a wired getter is ignored, but TypeScript enforces that + // we must return something. Since we don't have any data to return, we return `undefined` + return undefined; + } + @wire(TestAdapterWithImperative, { config: '$configProp' }) + get simpleReactive() { + return testValue; + } + @wire(TestAdapterWithImperative, { config: '$nested.prop' }) + get nestedReactive() { + return testValue; + } + // Valid - using `any` + @wire(TestAdapterWithImperative, {} as any) + get configAsAny() { + return testValue; + } + @wire(TestAdapterWithImperative, { config: 'config' }) + get valueAsAny() { + return null as any; + } + + // --- INVALID --- // + // @ts-expect-error Too many wire parameters + @wire(TestAdapterWithImperative, { config: 'config' }, {}) + get tooManyWireParams() { + return testValue; + } + // @ts-expect-error Bad config type + @wire(TestAdapterWithImperative, { bad: 'value' }) + get badConfig() { + return testValue; + } + // @ts-expect-error Bad value type + @wire(TestAdapterWithImperative, { config: 'config' }) + get badValueType() { + return { bad: 'value' }; + } + // @ts-expect-error Referenced reactive prop does not exist + @wire(TestAdapterWithImperative, { config: '$nonexistentProp' } as const) + get nonExistentReactiveProp() { + return testValue; + } +} + /** Validations for decorated setters */ export class Setter extends LightningElement { // Helper props @@ -355,7 +549,7 @@ export class Setter extends LightningElement { // Valid - basic @wire(TestAdapter, { config: 'config' }) set basic(_: TestValue) {} - @wire(TestAdapter, { config: '$config' }) + @wire(TestAdapter, { config: '$configProp' }) set simpleReactive(_: TestValue) {} @wire(TestAdapter, { config: '$nested.prop' }) set nestedReactive(_: TestValue) {} @@ -411,3 +605,61 @@ export class Setter extends LightningElement { @wire(DeepConfigAdapter, { deep: { config: '$number' } } as const) set deepReactive(_: TestValue) {} } + +/** Validations for decorated setters */ +export class SetterWithImperative extends LightningElement { + // Helper props + configProp = 'config' as const; + nested = { prop: 'config', invalid: 123 } as const; + // 'nested.prop' is not directly used, but helps validate that the reactive config resolution + // uses the object above, rather than a weird prop name + 'nested.prop' = false; + number = 123; + // --- VALID --- // + + // Valid - basic + @wire(TestAdapterWithImperative, { config: 'config' }) + set basic(_: TestValue) {} + @wire(TestAdapterWithImperative, { config: '$configProp' }) + set simpleReactive(_: TestValue) {} + @wire(TestAdapterWithImperative, { config: '$nested.prop' }) + set nestedReactive(_: TestValue) {} + // Valid - as const + @wire(TestAdapterWithImperative, { config: 'config' } as const) + set basicAsConst(_: TestValue) {} + @wire(TestAdapterWithImperative, { config: '$configProp' } as const) + set simpleReactiveAsConst(_: TestValue) {} + @wire(TestAdapterWithImperative, { config: '$nested.prop' } as const) + set nestedReactiveAsConst(_: TestValue) {} + // Valid - using `any` + @wire(TestAdapterWithImperative, {} as any) + set configAsAny(_: TestValue) {} + @wire(TestAdapterWithImperative, { config: 'config' }) + set valueAsAny(_: any) {} + + // --- INVALID --- // + // @ts-expect-error Too many wire parameters + @wire(TestAdapterWithImperative, { config: 'config' }, {}) + set tooManyWireParams(_: TestValue) {} + // @ts-expect-error Bad config type + @wire(TestAdapterWithImperative, { bad: 'value' }) + set badConfig(_: TestValue) {} + // @ts-expect-error Bad value type + @wire(TestAdapterWithImperative, { config: 'config' }) + set badValueType(_: { bad: 'value' }) {} + // @ts-expect-error Referenced reactive prop does not exist + @wire(TestAdapterWithImperative, { config: '$nonexistentProp' } as const) + set nonExistentReactiveProp(_: TestValue) {} + // @ts-expect-error Referenced reactive prop is the wrong type + @wire(TestAdapterWithImperative, { config: '$number' } as const) + set numberReactiveProp(_: TestValue) {} + // @ts-expect-error Referenced nested reactive prop does not exist + @wire(TestAdapterWithImperative, { config: '$nested.nonexistent' } as const) + set nonexistentNestedReactiveProp(_: TestValue) {} + // @ts-expect-error Referenced nested reactive prop does not exist + @wire(TestAdapterWithImperative, { config: '$nested.invalid' } as const) + set invalidNestedReactiveProp(_: TestValue) {} + // @ts-expect-error Incorrect non-reactive string literal type + @wire(TestAdapterWithImperative, { config: 'not reactive' } as const) + set nonReactiveStringLiteral(_: TestValue) {} +} From d4872a2baaa82db0fed5f29013755ef42c7bc8c8 Mon Sep 17 00:00:00 2001 From: jhefferman-sfdc <83669775+jhefferman-sfdc@users.noreply.github.com> Date: Tue, 28 Jan 2025 10:20:01 -0700 Subject: [PATCH 06/12] fix: obscure dynamic value test case triggering v2 failure (#5172) * fix: unlikely test triggering v2 failure * fix: remove expected failre entry * fix: remove consumption of function * fix: updated expected file --- .../__tests__/fixtures/render-dynamic-value/expected.html | 7 ------- .../modules/x/component/component.html | 1 - .../render-dynamic-value/modules/x/component/component.js | 3 --- .../ssr-compiler/src/__tests__/utils/expected-failures.ts | 1 - 4 files changed, 12 deletions(-) diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/render-dynamic-value/expected.html b/packages/@lwc/engine-server/src/__tests__/fixtures/render-dynamic-value/expected.html index 5e0db2fe74..a6d0a48fdf 100644 --- a/packages/@lwc/engine-server/src/__tests__/fixtures/render-dynamic-value/expected.html +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/render-dynamic-value/expected.html @@ -39,13 +39,6 @@
[object Object]
-
- function whoWouldDoThis() { - return 'somebody, probably!'; - } -
ooo eee, ooo ah ah, ting tang, walla walla, bing bang
diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/render-dynamic-value/modules/x/component/component.html b/packages/@lwc/engine-server/src/__tests__/fixtures/render-dynamic-value/modules/x/component/component.html index e1ef429add..59a7684a90 100644 --- a/packages/@lwc/engine-server/src/__tests__/fixtures/render-dynamic-value/modules/x/component/component.html +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/render-dynamic-value/modules/x/component/component.html @@ -12,7 +12,6 @@
{isSymbol}
{isArray}
{isObject}
-
{isFunction}
{isString}
{isNumber}
diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/render-dynamic-value/modules/x/component/component.js b/packages/@lwc/engine-server/src/__tests__/fixtures/render-dynamic-value/modules/x/component/component.js index 9c43516e2b..c4c512dc01 100644 --- a/packages/@lwc/engine-server/src/__tests__/fixtures/render-dynamic-value/modules/x/component/component.js +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/render-dynamic-value/modules/x/component/component.js @@ -14,9 +14,6 @@ export default class extends LightningElement { isSymbol = Symbol('yolo'); isArray = ['foo', 'bar']; isObject = { foo: 'bar', baz: 'quux' }; - isFunction = function whoWouldDoThis() { - return 'somebody, probably!'; - }; isString = 'ooo eee, ooo ah ah, ting tang, walla walla, bing bang'; isNumber = 6.02214076e23; } diff --git a/packages/@lwc/ssr-compiler/src/__tests__/utils/expected-failures.ts b/packages/@lwc/ssr-compiler/src/__tests__/utils/expected-failures.ts index 4d02bf9f22..e43d801e9a 100644 --- a/packages/@lwc/ssr-compiler/src/__tests__/utils/expected-failures.ts +++ b/packages/@lwc/ssr-compiler/src/__tests__/utils/expected-failures.ts @@ -12,7 +12,6 @@ export const expectedFailures = new Set([ 'attribute-global-html/as-component-prop/without-@api/index.js', 'exports/component-as-default/index.js', 'known-boolean-attributes/default-def-html-attributes/static-on-component/index.js', - 'render-dynamic-value/index.js', 'wire/errors/throws-on-computed-key/index.js', 'wire/errors/throws-when-colliding-prop-then-method/index.js', ]); From 4334dc2ab5dfd28a3336dd1857b3971bc30e152c Mon Sep 17 00:00:00 2001 From: jhefferman-sfdc <83669775+jhefferman-sfdc@users.noreply.github.com> Date: Thu, 30 Jan 2025 12:36:29 -0700 Subject: [PATCH 07/12] fix: duplicate behavior for slotted content when no template is present (#5174) * fix: add dangling slot definition * fix: scoped slot case, nested cases * fix: review comments * fix: additional test * fix: default slotted content * fix: render shadow slotted content for no template case * fix: update types * fix: instance naming --- .../implicit-no-template/light/error.txt | 0 .../implicit-no-template/light/expected.html | 4 ++++ .../implicit-no-template/light/index.js | 3 +++ .../light/modules/x/inner/inner.js | 5 +++++ .../light/modules/x/outer/outer.html | 6 ++++++ .../light/modules/x/outer/outer.js | 5 +++++ .../implicit-no-template/shadow/error.txt | 0 .../implicit-no-template/shadow/expected.html | 12 ++++++++++++ .../implicit-no-template/shadow/index.js | 3 +++ .../shadow/modules/x/inner/inner.js | 3 +++ .../shadow/modules/x/outer/outer.html | 6 ++++++ .../shadow/modules/x/outer/outer.js | 3 +++ packages/@lwc/ssr-runtime/src/render.ts | 18 ++++++++++++------ 13 files changed, 62 insertions(+), 6 deletions(-) create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/slots-basic/implicit-no-template/light/error.txt create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/slots-basic/implicit-no-template/light/expected.html create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/slots-basic/implicit-no-template/light/index.js create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/slots-basic/implicit-no-template/light/modules/x/inner/inner.js create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/slots-basic/implicit-no-template/light/modules/x/outer/outer.html create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/slots-basic/implicit-no-template/light/modules/x/outer/outer.js create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/slots-basic/implicit-no-template/shadow/error.txt create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/slots-basic/implicit-no-template/shadow/expected.html create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/slots-basic/implicit-no-template/shadow/index.js create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/slots-basic/implicit-no-template/shadow/modules/x/inner/inner.js create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/slots-basic/implicit-no-template/shadow/modules/x/outer/outer.html create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/slots-basic/implicit-no-template/shadow/modules/x/outer/outer.js diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/slots-basic/implicit-no-template/light/error.txt b/packages/@lwc/engine-server/src/__tests__/fixtures/slots-basic/implicit-no-template/light/error.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/slots-basic/implicit-no-template/light/expected.html b/packages/@lwc/engine-server/src/__tests__/fixtures/slots-basic/implicit-no-template/light/expected.html new file mode 100644 index 0000000000..ada6887b85 --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/slots-basic/implicit-no-template/light/expected.html @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/slots-basic/implicit-no-template/light/index.js b/packages/@lwc/engine-server/src/__tests__/fixtures/slots-basic/implicit-no-template/light/index.js new file mode 100644 index 0000000000..17a015b5ea --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/slots-basic/implicit-no-template/light/index.js @@ -0,0 +1,3 @@ +export const tagName = 'x-outer'; +export { default } from 'x/outer'; +export * from 'x/outer'; diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/slots-basic/implicit-no-template/light/modules/x/inner/inner.js b/packages/@lwc/engine-server/src/__tests__/fixtures/slots-basic/implicit-no-template/light/modules/x/inner/inner.js new file mode 100644 index 0000000000..0679d2bc10 --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/slots-basic/implicit-no-template/light/modules/x/inner/inner.js @@ -0,0 +1,5 @@ +import { LightningElement } from 'lwc'; + +export default class extends LightningElement { + static renderMode = 'light'; +} diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/slots-basic/implicit-no-template/light/modules/x/outer/outer.html b/packages/@lwc/engine-server/src/__tests__/fixtures/slots-basic/implicit-no-template/light/modules/x/outer/outer.html new file mode 100644 index 0000000000..e6479b1b01 --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/slots-basic/implicit-no-template/light/modules/x/outer/outer.html @@ -0,0 +1,6 @@ + diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/slots-basic/implicit-no-template/light/modules/x/outer/outer.js b/packages/@lwc/engine-server/src/__tests__/fixtures/slots-basic/implicit-no-template/light/modules/x/outer/outer.js new file mode 100644 index 0000000000..0679d2bc10 --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/slots-basic/implicit-no-template/light/modules/x/outer/outer.js @@ -0,0 +1,5 @@ +import { LightningElement } from 'lwc'; + +export default class extends LightningElement { + static renderMode = 'light'; +} diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/slots-basic/implicit-no-template/shadow/error.txt b/packages/@lwc/engine-server/src/__tests__/fixtures/slots-basic/implicit-no-template/shadow/error.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/slots-basic/implicit-no-template/shadow/expected.html b/packages/@lwc/engine-server/src/__tests__/fixtures/slots-basic/implicit-no-template/shadow/expected.html new file mode 100644 index 0000000000..bc3c9ecc25 --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/slots-basic/implicit-no-template/shadow/expected.html @@ -0,0 +1,12 @@ + + + \ No newline at end of file diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/slots-basic/implicit-no-template/shadow/index.js b/packages/@lwc/engine-server/src/__tests__/fixtures/slots-basic/implicit-no-template/shadow/index.js new file mode 100644 index 0000000000..17a015b5ea --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/slots-basic/implicit-no-template/shadow/index.js @@ -0,0 +1,3 @@ +export const tagName = 'x-outer'; +export { default } from 'x/outer'; +export * from 'x/outer'; diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/slots-basic/implicit-no-template/shadow/modules/x/inner/inner.js b/packages/@lwc/engine-server/src/__tests__/fixtures/slots-basic/implicit-no-template/shadow/modules/x/inner/inner.js new file mode 100644 index 0000000000..ca8dce94e0 --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/slots-basic/implicit-no-template/shadow/modules/x/inner/inner.js @@ -0,0 +1,3 @@ +import { LightningElement } from 'lwc'; + +export default class extends LightningElement {} diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/slots-basic/implicit-no-template/shadow/modules/x/outer/outer.html b/packages/@lwc/engine-server/src/__tests__/fixtures/slots-basic/implicit-no-template/shadow/modules/x/outer/outer.html new file mode 100644 index 0000000000..03c77e467f --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/slots-basic/implicit-no-template/shadow/modules/x/outer/outer.html @@ -0,0 +1,6 @@ + diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/slots-basic/implicit-no-template/shadow/modules/x/outer/outer.js b/packages/@lwc/engine-server/src/__tests__/fixtures/slots-basic/implicit-no-template/shadow/modules/x/outer/outer.js new file mode 100644 index 0000000000..ca8dce94e0 --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/slots-basic/implicit-no-template/shadow/modules/x/outer/outer.js @@ -0,0 +1,3 @@ +import { LightningElement } from 'lwc'; + +export default class extends LightningElement {} diff --git a/packages/@lwc/ssr-runtime/src/render.ts b/packages/@lwc/ssr-runtime/src/render.ts index 188c169ba7..4a635df8e2 100644 --- a/packages/@lwc/ssr-runtime/src/render.ts +++ b/packages/@lwc/ssr-runtime/src/render.ts @@ -101,27 +101,33 @@ export function renderAttrsNoYield( } export function* fallbackTmpl( - _shadowSlottedContent: unknown, + shadowSlottedContent: AsyncGeneratorFunction, _lightSlottedContent: unknown, _scopedSlottedContent: unknown, Cmp: LightningElementConstructor, - _instance: unknown + instance: unknown ) { if (Cmp.renderMode !== 'light') { - yield ''; + yield ``; + if (shadowSlottedContent) { + yield shadowSlottedContent(instance); + } } } export function fallbackTmplNoYield( emit: (segment: string) => void, - _shadowSlottedContent: unknown, + shadowSlottedContent: AsyncGeneratorFunction, _lightSlottedContent: unknown, _scopedSlottedContent: unknown, Cmp: LightningElementConstructor, - _instance: unknown + instance: unknown ) { if (Cmp.renderMode !== 'light') { - emit(''); + emit(``); + if (shadowSlottedContent) { + shadowSlottedContent(emit, instance); + } } } From 1c546b14f426b72d5747eec808971712e5611358 Mon Sep 17 00:00:00 2001 From: Will Harney <62956339+wjhsf@users.noreply.github.com> Date: Thu, 30 Jan 2025 14:58:13 -0500 Subject: [PATCH 08/12] chore: rename test fixtures (#5177) some of the directory names are too sentence-y --- .../actual.js | 0 .../error.json | 0 .../expected.js | 0 .../actual.js | 0 .../error.json | 0 .../expected.js | 0 .../{transforms-wired-field => basic-field}/actual.js | 0 .../error.json | 0 .../{transforms-wired-field => basic-field}/expected.js | 0 .../{transforms-wired-method => basic-method}/actual.js | 0 .../error.json | 0 .../{transforms-wired-method => basic-method}/expected.js | 0 .../{ignores-object-method => config-ignores-method}/actual.js | 0 .../error.json | 0 .../{ignores-object-method => config-ignores-method}/expected.js | 0 .../{ignores-spread-element => config-ignores-spread}/actual.js | 0 .../error.json | 0 .../{ignores-spread-element => config-ignores-spread}/expected.js | 0 .../actual.js | 0 .../error.json | 0 .../expected.js | 0 .../actual.js | 0 .../error.json | 0 .../expected.js | 0 .../actual.js | 0 .../{decorator-on-setter => config-not-provided-works}/error.json | 0 .../expected.js | 0 .../actual.js | 0 .../error.json | 0 .../expected.js | 0 .../actual.js | 0 .../error.json | 0 .../expected.js | 0 .../actual.js | 0 .../error.json | 0 .../expected.js | 0 .../actual.js | 0 .../error.json | 0 .../expected.js | 0 .../{decorator-on-getter => decorator-on-getter-works}/actual.js | 0 .../error.json | 0 .../expected.js | 0 .../actual.js | 0 .../error.json | 0 .../expected.js | 0 .../{decorator-on-setter => decorator-on-setter-works}/actual.js | 0 .../error.json | 0 .../expected.js | 0 .../actual.js | 0 .../error.json | 0 .../expected.js | 0 .../actual.js | 0 .../error.json | 0 .../expected.js | 0 .../actual.js | 0 .../error.json | 0 .../expected.js | 0 .../actual.js | 0 .../error.json | 0 .../expected.js | 0 .../actual.js | 0 .../error.json | 0 .../expected.js | 0 .../actual.js | 0 .../error.json | 0 .../expected.js | 0 .../actual.js | 0 .../error.json | 0 .../expected.js | 0 .../actual.js | 0 .../error.json | 0 .../expected.js | 0 .../actual.js | 0 .../error.json | 0 .../expected.js | 0 .../actual.js | 0 .../error.json | 0 .../expected.js | 0 .../actual.js | 0 .../error.json | 0 .../expected.js | 0 .../actual.js | 0 .../error.json | 0 .../expected.js | 0 .../actual.js | 0 .../error.json | 0 .../expected.js | 0 .../actual.js | 0 .../error.json | 0 .../expected.js | 0 .../actual.js | 0 .../error.json | 0 .../expected.js | 0 93 files changed, 0 insertions(+), 0 deletions(-) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{decorator-accepts-a-function-identifier-as-first-parameter => adapter-function-identifier-works}/actual.js (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{config-function-should-use-bracket-notation-for-param-when-its-definition-has-invalid-identifier-as-segment => adapter-function-identifier-works}/error.json (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{decorator-accepts-a-function-identifier-as-first-parameter => adapter-function-identifier-works}/expected.js (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{decorator-accepts-a-member-expression => adapter-member-expression-works}/actual.js (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{config-function-should-use-bracket-notation-when-param-definition-has-empty-segment => adapter-member-expression-works}/error.json (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{decorator-accepts-a-member-expression => adapter-member-expression-works}/expected.js (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{transforms-wired-field => basic-field}/actual.js (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{decorator-accepts-a-function-identifier-as-first-parameter => basic-field}/error.json (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{transforms-wired-field => basic-field}/expected.js (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{transforms-wired-method => basic-method}/actual.js (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{decorator-accepts-a-member-expression => basic-method}/error.json (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{transforms-wired-method => basic-method}/expected.js (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{ignores-object-method => config-ignores-method}/actual.js (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{decorator-accepts-an-optional-config-object-as-second-parameter => config-ignores-method}/error.json (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{ignores-object-method => config-ignores-method}/expected.js (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{ignores-spread-element => config-ignores-spread}/actual.js (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{decorator-on-getter-alone => config-ignores-spread}/error.json (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{ignores-spread-element => config-ignores-spread}/expected.js (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{transforms-named-imports-from-static-imports => config-imported-values-works}/actual.js (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{decorator-on-getter => config-imported-values-works}/error.json (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{transforms-named-imports-from-static-imports => config-imported-values-works}/expected.js (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{transforms-multiple-dynamic-params => config-multiple-dynamic-params-works}/actual.js (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{decorator-on-setter-alone => config-multiple-dynamic-params-works}/error.json (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{transforms-multiple-dynamic-params => config-multiple-dynamic-params-works}/expected.js (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{decorator-accepts-an-optional-config-object-as-second-parameter => config-not-provided-works}/actual.js (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{decorator-on-setter => config-not-provided-works}/error.json (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{decorator-accepts-an-optional-config-object-as-second-parameter => config-not-provided-works}/expected.js (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{transforms-numeric-props => config-numeric-keys-works}/actual.js (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{ignores-object-method => config-numeric-keys-works}/error.json (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{transforms-numeric-props => config-numeric-keys-works}/expected.js (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{transforms-object-properties-as-string-literal => config-string-literal-keys-works}/actual.js (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{ignores-spread-element => config-string-literal-keys-works}/error.json (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{transforms-object-properties-as-string-literal => config-string-literal-keys-works}/expected.js (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{should-not-throw-when-using-2-separate-wired-decorators => decorating-multiple-props-works}/actual.js (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{should-not-throw-when-using-2-separate-wired-decorators => decorating-multiple-props-works}/error.json (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{should-not-throw-when-using-2-separate-wired-decorators => decorating-multiple-props-works}/expected.js (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{decorator-on-getter-alone => decorator-on-getter-alone-works}/actual.js (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{transforms-multiple-dynamic-params => decorator-on-getter-alone-works}/error.json (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{decorator-on-getter-alone => decorator-on-getter-alone-works}/expected.js (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{decorator-on-getter => decorator-on-getter-works}/actual.js (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{transforms-named-imports-from-static-imports => decorator-on-getter-works}/error.json (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{decorator-on-getter => decorator-on-getter-works}/expected.js (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{decorator-on-setter-alone => decorator-on-setter-alone-works}/actual.js (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{transforms-numeric-props => decorator-on-setter-alone-works}/error.json (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{decorator-on-setter-alone => decorator-on-setter-alone-works}/expected.js (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{decorator-on-setter => decorator-on-setter-works}/actual.js (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{transforms-object-properties-as-string-literal => decorator-on-setter-works}/error.json (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{decorator-on-setter => decorator-on-setter-works}/expected.js (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{transforms-parameters-with-2-levels-deep--foo.bar => reactive-string-2-levels-works}/actual.js (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{transforms-parameters-with-2-levels-deep--foo.bar => reactive-string-2-levels-works}/error.json (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{transforms-parameters-with-2-levels-deep--foo.bar => reactive-string-2-levels-works}/expected.js (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{transforms-parameters-with-multiple-levels-deep => reactive-string-deep-chain-works}/actual.js (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{transforms-parameters-with-multiple-levels-deep => reactive-string-deep-chain-works}/error.json (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{transforms-parameters-with-multiple-levels-deep => reactive-string-deep-chain-works}/expected.js (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{config-function-should-use-bracket-notation-when-param-definition-has-empty-segment => reactive-string-with-empty-segment-works}/actual.js (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{transforms-wired-field => reactive-string-with-empty-segment-works}/error.json (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{config-function-should-use-bracket-notation-when-param-definition-has-empty-segment => reactive-string-with-empty-segment-works}/expected.js (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{config-function-should-use-bracket-notation-for-param-when-its-definition-has-invalid-identifier-as-segment => reactive-string-with-non-identifier-works}/actual.js (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{transforms-wired-method => reactive-string-with-non-identifier-works}/error.json (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{config-function-should-use-bracket-notation-for-param-when-its-definition-has-invalid-identifier-as-segment => reactive-string-with-non-identifier-works}/expected.js (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{throws-when-using-2-wired-decorators => throws-on-2-wires}/actual.js (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{throws-when-using-2-wired-decorators => throws-on-2-wires}/error.json (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{decorator-expects-a-function-identifier-as-first-parameter => throws-on-2-wires}/expected.js (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{decorator-rejects-computed-props => throws-on-adapter-computed-prop}/actual.js (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{decorator-rejects-computed-props => throws-on-adapter-computed-prop}/error.json (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{decorator-expects-an-imported-identifier-as-first-parameter => throws-on-adapter-computed-prop}/expected.js (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{decorator-expects-a-function-identifier-as-first-parameter => throws-on-adapter-function-expression}/actual.js (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{decorator-expects-a-function-identifier-as-first-parameter => throws-on-adapter-function-expression}/error.json (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{decorator-expects-an-object-as-second-parameter => throws-on-adapter-function-expression}/expected.js (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{decorator-expects-an-imported-identifier-as-first-parameter => throws-on-adapter-local-var}/actual.js (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{decorator-expects-an-imported-identifier-as-first-parameter => throws-on-adapter-local-var}/error.json (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{decorator-expects-wire-adapter-as-first-parameter => throws-on-adapter-local-var}/expected.js (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{decorator-rejects-nested-member-expression => throws-on-adapter-nested-member-expression}/actual.js (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{decorator-rejects-nested-member-expression => throws-on-adapter-nested-member-expression}/error.json (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{decorator-expects-wire-adapter-to-be-imported => throws-on-adapter-nested-member-expression}/expected.js (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{decorator-expects-wire-adapter-to-be-imported => throws-on-adapter-undeclared-var}/actual.js (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{decorator-expects-wire-adapter-to-be-imported => throws-on-adapter-undeclared-var}/error.json (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{decorator-rejects-computed-props => throws-on-adapter-undeclared-var}/expected.js (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{decorator-expects-an-object-as-second-parameter => throws-on-config-not-object}/actual.js (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{decorator-expects-an-object-as-second-parameter => throws-on-config-not-object}/error.json (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{decorator-rejects-nested-member-expression => throws-on-config-not-object}/expected.js (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{decorator-expects-wire-adapter-as-first-parameter => throws-on-decorator-no-args}/actual.js (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{decorator-expects-wire-adapter-as-first-parameter => throws-on-decorator-no-args}/error.json (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{throws-when-using-2-wired-decorators => throws-on-decorator-no-args}/expected.js (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{throws-when-wired-method-is-combined-with-@api => throws-on-wired-method-with-@api}/actual.js (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{throws-when-wired-method-is-combined-with-@api => throws-on-wired-method-with-@api}/error.json (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{throws-when-wired-method-is-combined-with-@api => throws-on-wired-method-with-@api}/expected.js (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{throws-when-wired-property-is-combined-with-@api => throws-on-wired-prop-with-@api}/actual.js (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{throws-when-wired-property-is-combined-with-@api => throws-on-wired-prop-with-@api}/error.json (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{throws-when-wired-property-is-combined-with-@api => throws-on-wired-prop-with-@api}/expected.js (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{throws-when-wired-property-is-combined-with-@track => throws-on-wired-prop-with-@track}/actual.js (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{throws-when-wired-property-is-combined-with-@track => throws-on-wired-prop-with-@track}/error.json (100%) rename packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/{throws-when-wired-property-is-combined-with-@track => throws-on-wired-prop-with-@track}/expected.js (100%) diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-accepts-a-function-identifier-as-first-parameter/actual.js b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/adapter-function-identifier-works/actual.js similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-accepts-a-function-identifier-as-first-parameter/actual.js rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/adapter-function-identifier-works/actual.js diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/config-function-should-use-bracket-notation-for-param-when-its-definition-has-invalid-identifier-as-segment/error.json b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/adapter-function-identifier-works/error.json similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/config-function-should-use-bracket-notation-for-param-when-its-definition-has-invalid-identifier-as-segment/error.json rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/adapter-function-identifier-works/error.json diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-accepts-a-function-identifier-as-first-parameter/expected.js b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/adapter-function-identifier-works/expected.js similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-accepts-a-function-identifier-as-first-parameter/expected.js rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/adapter-function-identifier-works/expected.js diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-accepts-a-member-expression/actual.js b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/adapter-member-expression-works/actual.js similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-accepts-a-member-expression/actual.js rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/adapter-member-expression-works/actual.js diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/config-function-should-use-bracket-notation-when-param-definition-has-empty-segment/error.json b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/adapter-member-expression-works/error.json similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/config-function-should-use-bracket-notation-when-param-definition-has-empty-segment/error.json rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/adapter-member-expression-works/error.json diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-accepts-a-member-expression/expected.js b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/adapter-member-expression-works/expected.js similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-accepts-a-member-expression/expected.js rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/adapter-member-expression-works/expected.js diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/transforms-wired-field/actual.js b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/basic-field/actual.js similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/transforms-wired-field/actual.js rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/basic-field/actual.js diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-accepts-a-function-identifier-as-first-parameter/error.json b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/basic-field/error.json similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-accepts-a-function-identifier-as-first-parameter/error.json rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/basic-field/error.json diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/transforms-wired-field/expected.js b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/basic-field/expected.js similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/transforms-wired-field/expected.js rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/basic-field/expected.js diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/transforms-wired-method/actual.js b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/basic-method/actual.js similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/transforms-wired-method/actual.js rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/basic-method/actual.js diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-accepts-a-member-expression/error.json b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/basic-method/error.json similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-accepts-a-member-expression/error.json rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/basic-method/error.json diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/transforms-wired-method/expected.js b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/basic-method/expected.js similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/transforms-wired-method/expected.js rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/basic-method/expected.js diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/ignores-object-method/actual.js b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/config-ignores-method/actual.js similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/ignores-object-method/actual.js rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/config-ignores-method/actual.js diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-accepts-an-optional-config-object-as-second-parameter/error.json b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/config-ignores-method/error.json similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-accepts-an-optional-config-object-as-second-parameter/error.json rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/config-ignores-method/error.json diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/ignores-object-method/expected.js b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/config-ignores-method/expected.js similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/ignores-object-method/expected.js rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/config-ignores-method/expected.js diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/ignores-spread-element/actual.js b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/config-ignores-spread/actual.js similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/ignores-spread-element/actual.js rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/config-ignores-spread/actual.js diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-on-getter-alone/error.json b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/config-ignores-spread/error.json similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-on-getter-alone/error.json rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/config-ignores-spread/error.json diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/ignores-spread-element/expected.js b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/config-ignores-spread/expected.js similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/ignores-spread-element/expected.js rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/config-ignores-spread/expected.js diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/transforms-named-imports-from-static-imports/actual.js b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/config-imported-values-works/actual.js similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/transforms-named-imports-from-static-imports/actual.js rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/config-imported-values-works/actual.js diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-on-getter/error.json b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/config-imported-values-works/error.json similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-on-getter/error.json rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/config-imported-values-works/error.json diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/transforms-named-imports-from-static-imports/expected.js b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/config-imported-values-works/expected.js similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/transforms-named-imports-from-static-imports/expected.js rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/config-imported-values-works/expected.js diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/transforms-multiple-dynamic-params/actual.js b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/config-multiple-dynamic-params-works/actual.js similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/transforms-multiple-dynamic-params/actual.js rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/config-multiple-dynamic-params-works/actual.js diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-on-setter-alone/error.json b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/config-multiple-dynamic-params-works/error.json similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-on-setter-alone/error.json rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/config-multiple-dynamic-params-works/error.json diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/transforms-multiple-dynamic-params/expected.js b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/config-multiple-dynamic-params-works/expected.js similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/transforms-multiple-dynamic-params/expected.js rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/config-multiple-dynamic-params-works/expected.js diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-accepts-an-optional-config-object-as-second-parameter/actual.js b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/config-not-provided-works/actual.js similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-accepts-an-optional-config-object-as-second-parameter/actual.js rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/config-not-provided-works/actual.js diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-on-setter/error.json b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/config-not-provided-works/error.json similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-on-setter/error.json rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/config-not-provided-works/error.json diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-accepts-an-optional-config-object-as-second-parameter/expected.js b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/config-not-provided-works/expected.js similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-accepts-an-optional-config-object-as-second-parameter/expected.js rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/config-not-provided-works/expected.js diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/transforms-numeric-props/actual.js b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/config-numeric-keys-works/actual.js similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/transforms-numeric-props/actual.js rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/config-numeric-keys-works/actual.js diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/ignores-object-method/error.json b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/config-numeric-keys-works/error.json similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/ignores-object-method/error.json rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/config-numeric-keys-works/error.json diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/transforms-numeric-props/expected.js b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/config-numeric-keys-works/expected.js similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/transforms-numeric-props/expected.js rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/config-numeric-keys-works/expected.js diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/transforms-object-properties-as-string-literal/actual.js b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/config-string-literal-keys-works/actual.js similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/transforms-object-properties-as-string-literal/actual.js rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/config-string-literal-keys-works/actual.js diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/ignores-spread-element/error.json b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/config-string-literal-keys-works/error.json similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/ignores-spread-element/error.json rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/config-string-literal-keys-works/error.json diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/transforms-object-properties-as-string-literal/expected.js b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/config-string-literal-keys-works/expected.js similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/transforms-object-properties-as-string-literal/expected.js rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/config-string-literal-keys-works/expected.js diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/should-not-throw-when-using-2-separate-wired-decorators/actual.js b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorating-multiple-props-works/actual.js similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/should-not-throw-when-using-2-separate-wired-decorators/actual.js rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorating-multiple-props-works/actual.js diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/should-not-throw-when-using-2-separate-wired-decorators/error.json b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorating-multiple-props-works/error.json similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/should-not-throw-when-using-2-separate-wired-decorators/error.json rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorating-multiple-props-works/error.json diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/should-not-throw-when-using-2-separate-wired-decorators/expected.js b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorating-multiple-props-works/expected.js similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/should-not-throw-when-using-2-separate-wired-decorators/expected.js rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorating-multiple-props-works/expected.js diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-on-getter-alone/actual.js b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-on-getter-alone-works/actual.js similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-on-getter-alone/actual.js rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-on-getter-alone-works/actual.js diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/transforms-multiple-dynamic-params/error.json b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-on-getter-alone-works/error.json similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/transforms-multiple-dynamic-params/error.json rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-on-getter-alone-works/error.json diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-on-getter-alone/expected.js b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-on-getter-alone-works/expected.js similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-on-getter-alone/expected.js rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-on-getter-alone-works/expected.js diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-on-getter/actual.js b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-on-getter-works/actual.js similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-on-getter/actual.js rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-on-getter-works/actual.js diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/transforms-named-imports-from-static-imports/error.json b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-on-getter-works/error.json similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/transforms-named-imports-from-static-imports/error.json rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-on-getter-works/error.json diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-on-getter/expected.js b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-on-getter-works/expected.js similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-on-getter/expected.js rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-on-getter-works/expected.js diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-on-setter-alone/actual.js b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-on-setter-alone-works/actual.js similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-on-setter-alone/actual.js rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-on-setter-alone-works/actual.js diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/transforms-numeric-props/error.json b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-on-setter-alone-works/error.json similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/transforms-numeric-props/error.json rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-on-setter-alone-works/error.json diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-on-setter-alone/expected.js b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-on-setter-alone-works/expected.js similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-on-setter-alone/expected.js rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-on-setter-alone-works/expected.js diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-on-setter/actual.js b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-on-setter-works/actual.js similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-on-setter/actual.js rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-on-setter-works/actual.js diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/transforms-object-properties-as-string-literal/error.json b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-on-setter-works/error.json similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/transforms-object-properties-as-string-literal/error.json rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-on-setter-works/error.json diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-on-setter/expected.js b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-on-setter-works/expected.js similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-on-setter/expected.js rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-on-setter-works/expected.js diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/transforms-parameters-with-2-levels-deep--foo.bar/actual.js b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/reactive-string-2-levels-works/actual.js similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/transforms-parameters-with-2-levels-deep--foo.bar/actual.js rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/reactive-string-2-levels-works/actual.js diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/transforms-parameters-with-2-levels-deep--foo.bar/error.json b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/reactive-string-2-levels-works/error.json similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/transforms-parameters-with-2-levels-deep--foo.bar/error.json rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/reactive-string-2-levels-works/error.json diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/transforms-parameters-with-2-levels-deep--foo.bar/expected.js b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/reactive-string-2-levels-works/expected.js similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/transforms-parameters-with-2-levels-deep--foo.bar/expected.js rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/reactive-string-2-levels-works/expected.js diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/transforms-parameters-with-multiple-levels-deep/actual.js b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/reactive-string-deep-chain-works/actual.js similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/transforms-parameters-with-multiple-levels-deep/actual.js rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/reactive-string-deep-chain-works/actual.js diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/transforms-parameters-with-multiple-levels-deep/error.json b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/reactive-string-deep-chain-works/error.json similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/transforms-parameters-with-multiple-levels-deep/error.json rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/reactive-string-deep-chain-works/error.json diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/transforms-parameters-with-multiple-levels-deep/expected.js b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/reactive-string-deep-chain-works/expected.js similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/transforms-parameters-with-multiple-levels-deep/expected.js rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/reactive-string-deep-chain-works/expected.js diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/config-function-should-use-bracket-notation-when-param-definition-has-empty-segment/actual.js b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/reactive-string-with-empty-segment-works/actual.js similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/config-function-should-use-bracket-notation-when-param-definition-has-empty-segment/actual.js rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/reactive-string-with-empty-segment-works/actual.js diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/transforms-wired-field/error.json b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/reactive-string-with-empty-segment-works/error.json similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/transforms-wired-field/error.json rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/reactive-string-with-empty-segment-works/error.json diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/config-function-should-use-bracket-notation-when-param-definition-has-empty-segment/expected.js b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/reactive-string-with-empty-segment-works/expected.js similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/config-function-should-use-bracket-notation-when-param-definition-has-empty-segment/expected.js rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/reactive-string-with-empty-segment-works/expected.js diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/config-function-should-use-bracket-notation-for-param-when-its-definition-has-invalid-identifier-as-segment/actual.js b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/reactive-string-with-non-identifier-works/actual.js similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/config-function-should-use-bracket-notation-for-param-when-its-definition-has-invalid-identifier-as-segment/actual.js rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/reactive-string-with-non-identifier-works/actual.js diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/transforms-wired-method/error.json b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/reactive-string-with-non-identifier-works/error.json similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/transforms-wired-method/error.json rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/reactive-string-with-non-identifier-works/error.json diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/config-function-should-use-bracket-notation-for-param-when-its-definition-has-invalid-identifier-as-segment/expected.js b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/reactive-string-with-non-identifier-works/expected.js similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/config-function-should-use-bracket-notation-for-param-when-its-definition-has-invalid-identifier-as-segment/expected.js rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/reactive-string-with-non-identifier-works/expected.js diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-when-using-2-wired-decorators/actual.js b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-2-wires/actual.js similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-when-using-2-wired-decorators/actual.js rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-2-wires/actual.js diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-when-using-2-wired-decorators/error.json b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-2-wires/error.json similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-when-using-2-wired-decorators/error.json rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-2-wires/error.json diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-expects-a-function-identifier-as-first-parameter/expected.js b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-2-wires/expected.js similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-expects-a-function-identifier-as-first-parameter/expected.js rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-2-wires/expected.js diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-rejects-computed-props/actual.js b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-adapter-computed-prop/actual.js similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-rejects-computed-props/actual.js rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-adapter-computed-prop/actual.js diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-rejects-computed-props/error.json b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-adapter-computed-prop/error.json similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-rejects-computed-props/error.json rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-adapter-computed-prop/error.json diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-expects-an-imported-identifier-as-first-parameter/expected.js b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-adapter-computed-prop/expected.js similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-expects-an-imported-identifier-as-first-parameter/expected.js rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-adapter-computed-prop/expected.js diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-expects-a-function-identifier-as-first-parameter/actual.js b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-adapter-function-expression/actual.js similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-expects-a-function-identifier-as-first-parameter/actual.js rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-adapter-function-expression/actual.js diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-expects-a-function-identifier-as-first-parameter/error.json b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-adapter-function-expression/error.json similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-expects-a-function-identifier-as-first-parameter/error.json rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-adapter-function-expression/error.json diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-expects-an-object-as-second-parameter/expected.js b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-adapter-function-expression/expected.js similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-expects-an-object-as-second-parameter/expected.js rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-adapter-function-expression/expected.js diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-expects-an-imported-identifier-as-first-parameter/actual.js b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-adapter-local-var/actual.js similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-expects-an-imported-identifier-as-first-parameter/actual.js rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-adapter-local-var/actual.js diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-expects-an-imported-identifier-as-first-parameter/error.json b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-adapter-local-var/error.json similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-expects-an-imported-identifier-as-first-parameter/error.json rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-adapter-local-var/error.json diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-expects-wire-adapter-as-first-parameter/expected.js b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-adapter-local-var/expected.js similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-expects-wire-adapter-as-first-parameter/expected.js rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-adapter-local-var/expected.js diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-rejects-nested-member-expression/actual.js b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-adapter-nested-member-expression/actual.js similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-rejects-nested-member-expression/actual.js rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-adapter-nested-member-expression/actual.js diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-rejects-nested-member-expression/error.json b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-adapter-nested-member-expression/error.json similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-rejects-nested-member-expression/error.json rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-adapter-nested-member-expression/error.json diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-expects-wire-adapter-to-be-imported/expected.js b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-adapter-nested-member-expression/expected.js similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-expects-wire-adapter-to-be-imported/expected.js rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-adapter-nested-member-expression/expected.js diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-expects-wire-adapter-to-be-imported/actual.js b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-adapter-undeclared-var/actual.js similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-expects-wire-adapter-to-be-imported/actual.js rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-adapter-undeclared-var/actual.js diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-expects-wire-adapter-to-be-imported/error.json b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-adapter-undeclared-var/error.json similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-expects-wire-adapter-to-be-imported/error.json rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-adapter-undeclared-var/error.json diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-rejects-computed-props/expected.js b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-adapter-undeclared-var/expected.js similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-rejects-computed-props/expected.js rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-adapter-undeclared-var/expected.js diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-expects-an-object-as-second-parameter/actual.js b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-config-not-object/actual.js similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-expects-an-object-as-second-parameter/actual.js rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-config-not-object/actual.js diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-expects-an-object-as-second-parameter/error.json b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-config-not-object/error.json similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-expects-an-object-as-second-parameter/error.json rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-config-not-object/error.json diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-rejects-nested-member-expression/expected.js b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-config-not-object/expected.js similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-rejects-nested-member-expression/expected.js rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-config-not-object/expected.js diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-expects-wire-adapter-as-first-parameter/actual.js b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-decorator-no-args/actual.js similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-expects-wire-adapter-as-first-parameter/actual.js rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-decorator-no-args/actual.js diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-expects-wire-adapter-as-first-parameter/error.json b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-decorator-no-args/error.json similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/decorator-expects-wire-adapter-as-first-parameter/error.json rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-decorator-no-args/error.json diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-when-using-2-wired-decorators/expected.js b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-decorator-no-args/expected.js similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-when-using-2-wired-decorators/expected.js rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-decorator-no-args/expected.js diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-when-wired-method-is-combined-with-@api/actual.js b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-wired-method-with-@api/actual.js similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-when-wired-method-is-combined-with-@api/actual.js rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-wired-method-with-@api/actual.js diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-when-wired-method-is-combined-with-@api/error.json b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-wired-method-with-@api/error.json similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-when-wired-method-is-combined-with-@api/error.json rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-wired-method-with-@api/error.json diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-when-wired-method-is-combined-with-@api/expected.js b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-wired-method-with-@api/expected.js similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-when-wired-method-is-combined-with-@api/expected.js rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-wired-method-with-@api/expected.js diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-when-wired-property-is-combined-with-@api/actual.js b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-wired-prop-with-@api/actual.js similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-when-wired-property-is-combined-with-@api/actual.js rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-wired-prop-with-@api/actual.js diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-when-wired-property-is-combined-with-@api/error.json b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-wired-prop-with-@api/error.json similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-when-wired-property-is-combined-with-@api/error.json rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-wired-prop-with-@api/error.json diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-when-wired-property-is-combined-with-@api/expected.js b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-wired-prop-with-@api/expected.js similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-when-wired-property-is-combined-with-@api/expected.js rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-wired-prop-with-@api/expected.js diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-when-wired-property-is-combined-with-@track/actual.js b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-wired-prop-with-@track/actual.js similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-when-wired-property-is-combined-with-@track/actual.js rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-wired-prop-with-@track/actual.js diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-when-wired-property-is-combined-with-@track/error.json b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-wired-prop-with-@track/error.json similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-when-wired-property-is-combined-with-@track/error.json rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-wired-prop-with-@track/error.json diff --git a/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-when-wired-property-is-combined-with-@track/expected.js b/packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-wired-prop-with-@track/expected.js similarity index 100% rename from packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-when-wired-property-is-combined-with-@track/expected.js rename to packages/@lwc/babel-plugin-component/src/__tests__/fixtures/wire-decorator/throws-on-wired-prop-with-@track/expected.js From 119395779309a2c58b832cd75d28aecb427723a5 Mon Sep 17 00:00:00 2001 From: Will Harney <62956339+wjhsf@users.noreply.github.com> Date: Thu, 30 Jan 2025 14:58:31 -0500 Subject: [PATCH 09/12] docs(perf-benchmarks): say how long things take (#5167) --- packages/@lwc/perf-benchmarks/README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/@lwc/perf-benchmarks/README.md b/packages/@lwc/perf-benchmarks/README.md index 92f5b13043..1cd6c89fa0 100644 --- a/packages/@lwc/perf-benchmarks/README.md +++ b/packages/@lwc/perf-benchmarks/README.md @@ -21,6 +21,9 @@ cd packages/@lwc/perf-benchmarks ../../../node_modules/.bin/tach --config dist/__benchmarks__/path/to/tachometer.json ``` +> [!TIP] +> Running all of the benchmarks will take multiple hours. Let it run overnight! + ## Manual testing When the benchmark is not working, the best way to debug it locally is to load its HTML file and inspect it in the Chrome DevTools. After building, you can run: @@ -84,3 +87,6 @@ This package also supports [Best](https://bestjs.dev) as a benchmark runner. To Or for CI: yarn test:performance:best:ci + +> [!TIP] +> Best tests only take a few dozen minutes. Take a break! From 476bb41e7318d5de758d93f9749b6f0f8e1496cd Mon Sep 17 00:00:00 2001 From: Will Harney <62956339+wjhsf@users.noreply.github.com> Date: Thu, 30 Jan 2025 16:03:45 -0500 Subject: [PATCH 10/12] fix(ssr): throw compile-time error on @wire-decorated getter/setter/method (#5175) * fix(ssr): throw compile-time error on @wire-decorated getter/setter/method * fix(ssr): disallow @wire on computed props --- .../src/__tests__/fixtures.spec.ts | 18 +++++++++-------- .../config.json | 6 ++++++ .../error-ssr.txt | 1 + .../error.txt} | 0 .../expected-ssr.html | 0 .../expected.html | 10 ++++++++++ .../index.js | 0 .../modules/x/wire/adapter.js | 13 ++++++++++++ .../modules/x/wire/wire.html | 4 ++++ .../modules/x/wire/wire.js | 14 +++++++++++++ .../throws-on-computed-getter/config.json | 6 ++++++ .../throws-on-computed-getter/error-ssr.txt | 1 + .../error.txt | 0 .../expected-ssr.html | 0 .../throws-on-computed-getter/expected.html | 0 .../errors/throws-on-computed-getter/index.js | 3 +++ .../modules/x/wire/adapter.js | 0 .../modules/x/wire/wire.html | 0 .../modules/x/wire/wire.js | 5 ----- .../throws-on-computed-method/config.json | 6 ++++++ .../throws-on-computed-method/error-ssr.txt | 1 + .../throws-on-computed-method/error.txt | 1 + .../expected-ssr.html | 0 .../throws-on-computed-method/expected.html | 0 .../errors/throws-on-computed-method/index.js | 3 +++ .../modules/x/wire/adapter.js | 13 ++++++++++++ .../modules/x/wire/wire.html | 3 +++ .../modules/x/wire/wire.js | 14 +++++++++++++ .../throws-on-computed-setter/config.json | 6 ++++++ .../throws-on-computed-setter/error-ssr.txt | 1 + .../throws-on-computed-setter/error.txt | 1 + .../expected-ssr.html | 0 .../throws-on-computed-setter/expected.html | 0 .../errors/throws-on-computed-setter/index.js | 3 +++ .../modules/x/wire/adapter.js | 13 ++++++++++++ .../modules/x/wire/wire.html | 3 +++ .../modules/x/wire/wire.js | 15 ++++++++++++++ .../src/__tests__/utils/expected-failures.ts | 1 - .../@lwc/ssr-compiler/src/compile-js/index.ts | 20 +++++++++++++++++-- 39 files changed, 169 insertions(+), 16 deletions(-) create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/computed-prop-updates-incorrectly/config.json create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/computed-prop-updates-incorrectly/error-ssr.txt rename packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/{throws-on-computed-key/expected.html => computed-prop-updates-incorrectly/error.txt} (100%) create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/computed-prop-updates-incorrectly/expected-ssr.html create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/computed-prop-updates-incorrectly/expected.html rename packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/{throws-on-computed-key => computed-prop-updates-incorrectly}/index.js (100%) create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/computed-prop-updates-incorrectly/modules/x/wire/adapter.js create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/computed-prop-updates-incorrectly/modules/x/wire/wire.html create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/computed-prop-updates-incorrectly/modules/x/wire/wire.js create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-getter/config.json create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-getter/error-ssr.txt rename packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/{throws-on-computed-key => throws-on-computed-getter}/error.txt (100%) create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-getter/expected-ssr.html create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-getter/expected.html create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-getter/index.js rename packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/{throws-on-computed-key => throws-on-computed-getter}/modules/x/wire/adapter.js (100%) rename packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/{throws-on-computed-key => throws-on-computed-getter}/modules/x/wire/wire.html (100%) rename packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/{throws-on-computed-key => throws-on-computed-getter}/modules/x/wire/wire.js (74%) create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-method/config.json create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-method/error-ssr.txt create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-method/error.txt create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-method/expected-ssr.html create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-method/expected.html create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-method/index.js create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-method/modules/x/wire/adapter.js create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-method/modules/x/wire/wire.html create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-method/modules/x/wire/wire.js create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-setter/config.json create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-setter/error-ssr.txt create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-setter/error.txt create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-setter/expected-ssr.html create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-setter/expected.html create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-setter/index.js create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-setter/modules/x/wire/adapter.js create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-setter/modules/x/wire/wire.html create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-setter/modules/x/wire/wire.js diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures.spec.ts b/packages/@lwc/engine-server/src/__tests__/fixtures.spec.ts index 0889ac7a4a..b9a54d4eb8 100755 --- a/packages/@lwc/engine-server/src/__tests__/fixtures.spec.ts +++ b/packages/@lwc/engine-server/src/__tests__/fixtures.spec.ts @@ -11,6 +11,7 @@ import { rollup } from 'rollup'; import lwcRollupPlugin from '@lwc/rollup-plugin'; import { testFixtureDir, formatHTML } from '@lwc/test-utils-lwc-internals'; import { setFeatureFlagForTest } from '../index'; +import type { FeatureFlagName } from '@lwc/features/dist/types'; import type { RollupLwcOptions } from '@lwc/rollup-plugin'; import type * as lwc from '../index'; @@ -128,16 +129,17 @@ function testFixtures(options?: RollupLwcOptions) { // the LightningElement. Therefor the compiled module should also be evaluated in the // same sandbox registry as the engine. const lwcEngineServer = await import('../index'); - const module = (await import(compiledFixturePath)) as FixtureModule; - - const features = module!.features ?? []; - features.forEach((flag) => { - lwcEngineServer!.setFeatureFlagForTest(flag, true); - }); let result; let err; + let features: FeatureFlagName[] = []; try { + const module = (await import(compiledFixturePath)) as FixtureModule; + + features = module!.features ?? []; + features.forEach((flag) => { + lwcEngineServer!.setFeatureFlagForTest(flag, true); + }); result = formatHTML( lwcEngineServer!.renderComponent( module!.tagName, @@ -146,10 +148,10 @@ function testFixtures(options?: RollupLwcOptions) { ) ); } catch (_err: any) { - if (_err.name === 'AssertionError') { + if (_err?.name === 'AssertionError') { throw _err; } - err = _err.message; + err = _err?.message || 'An empty error occurred?!'; } features.forEach((flag) => { diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/computed-prop-updates-incorrectly/config.json b/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/computed-prop-updates-incorrectly/config.json new file mode 100644 index 0000000000..59676736cb --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/computed-prop-updates-incorrectly/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/wire/errors/computed-prop-updates-incorrectly/error-ssr.txt b/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/computed-prop-updates-incorrectly/error-ssr.txt new file mode 100644 index 0000000000..79108e479b --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/computed-prop-updates-incorrectly/error-ssr.txt @@ -0,0 +1 @@ +Unknown state: property definition has no key \ No newline at end of file diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-key/expected.html b/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/computed-prop-updates-incorrectly/error.txt similarity index 100% rename from packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-key/expected.html rename to packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/computed-prop-updates-incorrectly/error.txt diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/computed-prop-updates-incorrectly/expected-ssr.html b/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/computed-prop-updates-incorrectly/expected-ssr.html new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/computed-prop-updates-incorrectly/expected.html b/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/computed-prop-updates-incorrectly/expected.html new file mode 100644 index 0000000000..1c8de4df88 --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/computed-prop-updates-incorrectly/expected.html @@ -0,0 +1,10 @@ + + + \ No newline at end of file diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-key/index.js b/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/computed-prop-updates-incorrectly/index.js similarity index 100% rename from packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-key/index.js rename to packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/computed-prop-updates-incorrectly/index.js diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/computed-prop-updates-incorrectly/modules/x/wire/adapter.js b/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/computed-prop-updates-incorrectly/modules/x/wire/adapter.js new file mode 100644 index 0000000000..23bd99195c --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/computed-prop-updates-incorrectly/modules/x/wire/adapter.js @@ -0,0 +1,13 @@ +export class adapter { + constructor(dataCallback) { + this.dc = dataCallback; + } + + connect() {} + + update(config) { + this.dc(config.value); + } + + disconnect() {} +} diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/computed-prop-updates-incorrectly/modules/x/wire/wire.html b/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/computed-prop-updates-incorrectly/modules/x/wire/wire.html new file mode 100644 index 0000000000..d4a16e667d --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/computed-prop-updates-incorrectly/modules/x/wire/wire.html @@ -0,0 +1,4 @@ + diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/computed-prop-updates-incorrectly/modules/x/wire/wire.js b/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/computed-prop-updates-incorrectly/modules/x/wire/wire.js new file mode 100644 index 0000000000..e9484092eb --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/computed-prop-updates-incorrectly/modules/x/wire/wire.js @@ -0,0 +1,14 @@ +import { LightningElement, wire } from 'lwc'; +import { adapter } from './adapter'; + +const symbol = Symbol("I'm a symbol!"); +export default class extends LightningElement { + symbol = 'accidentally overwritten'; + + @wire(adapter, { value: 'wire data' }) + [symbol] = 'unset'; + + get symbolValue() { + return this[symbol] ?? 'unset'; + } +} diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-getter/config.json b/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-getter/config.json new file mode 100644 index 0000000000..59676736cb --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-getter/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/wire/errors/throws-on-computed-getter/error-ssr.txt b/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-getter/error-ssr.txt new file mode 100644 index 0000000000..4c6804b7e9 --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-getter/error-ssr.txt @@ -0,0 +1 @@ +@wire cannot be used on computed properties in SSR context. \ No newline at end of file diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-key/error.txt b/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-getter/error.txt similarity index 100% rename from packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-key/error.txt rename to packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-getter/error.txt diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-getter/expected-ssr.html b/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-getter/expected-ssr.html new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-getter/expected.html b/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-getter/expected.html new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-getter/index.js b/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-getter/index.js new file mode 100644 index 0000000000..fafb890973 --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-getter/index.js @@ -0,0 +1,3 @@ +export const tagName = 'x-wire'; +export { default } from 'x/wire'; +export * from 'x/wire'; diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-key/modules/x/wire/adapter.js b/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-getter/modules/x/wire/adapter.js similarity index 100% rename from packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-key/modules/x/wire/adapter.js rename to packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-getter/modules/x/wire/adapter.js diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-key/modules/x/wire/wire.html b/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-getter/modules/x/wire/wire.html similarity index 100% rename from packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-key/modules/x/wire/wire.html rename to packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-getter/modules/x/wire/wire.html diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-key/modules/x/wire/wire.js b/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-getter/modules/x/wire/wire.js similarity index 74% rename from packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-key/modules/x/wire/wire.js rename to packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-getter/modules/x/wire/wire.js index 723fb3bb05..7f8f6bf4ac 100644 --- a/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-key/modules/x/wire/wire.js +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-getter/modules/x/wire/wire.js @@ -8,11 +8,6 @@ export default class Wire extends LightningElement { throw new Error('getter should not be called'); } - @wire(adapter, { name: 'symbol' }) - set [sym](v) { - throw new Error('setter should not be called'); - } - get exposedSymbol() { return this[sym]; } diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-method/config.json b/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-method/config.json new file mode 100644 index 0000000000..59676736cb --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-method/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/wire/errors/throws-on-computed-method/error-ssr.txt b/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-method/error-ssr.txt new file mode 100644 index 0000000000..87163d13b1 --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-method/error-ssr.txt @@ -0,0 +1 @@ +[7:13]: Unexpected token: '{' \ No newline at end of file diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-method/error.txt b/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-method/error.txt new file mode 100644 index 0000000000..9991fca2d0 --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-method/error.txt @@ -0,0 +1 @@ +An empty error occurred?! \ No newline at end of file diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-method/expected-ssr.html b/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-method/expected-ssr.html new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-method/expected.html b/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-method/expected.html new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-method/index.js b/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-method/index.js new file mode 100644 index 0000000000..fafb890973 --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-method/index.js @@ -0,0 +1,3 @@ +export const tagName = 'x-wire'; +export { default } from 'x/wire'; +export * from 'x/wire'; diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-method/modules/x/wire/adapter.js b/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-method/modules/x/wire/adapter.js new file mode 100644 index 0000000000..b212b22d3f --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-method/modules/x/wire/adapter.js @@ -0,0 +1,13 @@ +export class adapter { + constructor(dataCallback) { + this.dc = dataCallback; + } + + connect() {} + + update(config) { + this.dc(config.name); + } + + disconnect() {} +} diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-method/modules/x/wire/wire.html b/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-method/modules/x/wire/wire.html new file mode 100644 index 0000000000..3981f33b93 --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-method/modules/x/wire/wire.html @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-method/modules/x/wire/wire.js b/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-method/modules/x/wire/wire.js new file mode 100644 index 0000000000..aaf6cc3fde --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-method/modules/x/wire/wire.js @@ -0,0 +1,14 @@ +import { LightningElement, wire } from 'lwc'; +import { adapter } from './adapter'; +const sym = Symbol('computed prop'); + +export default class Wire extends LightningElement { + @wire(adapter, { name: 'symbol' }) + [sym]() { + return 'john was here'; + } + + get exposedSymbol() { + return this[sym](); + } +} diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-setter/config.json b/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-setter/config.json new file mode 100644 index 0000000000..59676736cb --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-setter/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/wire/errors/throws-on-computed-setter/error-ssr.txt b/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-setter/error-ssr.txt new file mode 100644 index 0000000000..4c6804b7e9 --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-setter/error-ssr.txt @@ -0,0 +1 @@ +@wire cannot be used on computed properties in SSR context. \ No newline at end of file diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-setter/error.txt b/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-setter/error.txt new file mode 100644 index 0000000000..f7989ab39d --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-setter/error.txt @@ -0,0 +1 @@ +setter should not be called \ No newline at end of file diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-setter/expected-ssr.html b/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-setter/expected-ssr.html new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-setter/expected.html b/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-setter/expected.html new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-setter/index.js b/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-setter/index.js new file mode 100644 index 0000000000..fafb890973 --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-setter/index.js @@ -0,0 +1,3 @@ +export const tagName = 'x-wire'; +export { default } from 'x/wire'; +export * from 'x/wire'; diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-setter/modules/x/wire/adapter.js b/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-setter/modules/x/wire/adapter.js new file mode 100644 index 0000000000..b212b22d3f --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-setter/modules/x/wire/adapter.js @@ -0,0 +1,13 @@ +export class adapter { + constructor(dataCallback) { + this.dc = dataCallback; + } + + connect() {} + + update(config) { + this.dc(config.name); + } + + disconnect() {} +} diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-setter/modules/x/wire/wire.html b/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-setter/modules/x/wire/wire.html new file mode 100644 index 0000000000..3981f33b93 --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-setter/modules/x/wire/wire.html @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-setter/modules/x/wire/wire.js b/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-setter/modules/x/wire/wire.js new file mode 100644 index 0000000000..1d509fc723 --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/wire/errors/throws-on-computed-setter/modules/x/wire/wire.js @@ -0,0 +1,15 @@ +import { LightningElement, wire } from 'lwc'; +import { adapter } from './adapter'; +const sym = Symbol('computed prop'); + +export default class Wire extends LightningElement { + @wire(adapter, { name: 'symbol' }) + set [sym](_) { + throw new Error('setter should not be called'); + } + + get exposedSymbol() { + this[sym] = 123; + return 123; + } +} diff --git a/packages/@lwc/ssr-compiler/src/__tests__/utils/expected-failures.ts b/packages/@lwc/ssr-compiler/src/__tests__/utils/expected-failures.ts index e43d801e9a..004300f11a 100644 --- a/packages/@lwc/ssr-compiler/src/__tests__/utils/expected-failures.ts +++ b/packages/@lwc/ssr-compiler/src/__tests__/utils/expected-failures.ts @@ -12,6 +12,5 @@ export const expectedFailures = new Set([ 'attribute-global-html/as-component-prop/without-@api/index.js', 'exports/component-as-default/index.js', 'known-boolean-attributes/default-def-html-attributes/static-on-component/index.js', - 'wire/errors/throws-on-computed-key/index.js', 'wire/errors/throws-when-colliding-prop-then-method/index.js', ]); diff --git a/packages/@lwc/ssr-compiler/src/compile-js/index.ts b/packages/@lwc/ssr-compiler/src/compile-js/index.ts index a6386dcadf..ffd96a6be5 100644 --- a/packages/@lwc/ssr-compiler/src/compile-js/index.ts +++ b/packages/@lwc/ssr-compiler/src/compile-js/index.ts @@ -93,7 +93,11 @@ const visitors: Visitors = { }, PropertyDefinition(path, state) { const node = path.node; - if (!is.identifier(node?.key)) { + if (!node?.key) { + // Seems to occur for `@wire() [symbol];` -- not sure why + throw new Error('Unknown state: property definition has no key'); + } + if (!is.identifier(node.key)) { return; } @@ -107,6 +111,10 @@ const visitors: Visitors = { 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.'); + } catalogWireAdapters(path, state); state.privateFields.push(node.key.name); } else { @@ -146,9 +154,17 @@ const visitors: Visitors = { is.identifier(decoratedExpression.callee) && decoratedExpression.callee.name === 'wire' ) { + // not a getter/setter + const isRealMethod = node.kind === 'method'; + 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.` + ); + } // Getters and setters are methods in the AST, but treated as properties by @wire // Note that this means that their implementations are ignored! - if (node.kind === 'get' || node.kind === 'set') { + if (!isRealMethod) { const methodAsProp = b.propertyDefinition( structuredClone(node.key), null, From b6c0276d6c7186cdf814356b5ae8f28d59b80369 Mon Sep 17 00:00:00 2001 From: jhefferman-sfdc <83669775+jhefferman-sfdc@users.noreply.github.com> Date: Thu, 30 Jan 2025 14:04:50 -0700 Subject: [PATCH 11/12] fix: v2 non-field api support (#5178) * fix: support non-field api in ssr * chore: tests * fix: additional coverage, redundant api decorator error * chore: add throw TODO * fix: added tests --- .../fixtures/api/decorated-getter/error.txt | 0 .../api/decorated-getter/expected.html | 14 ++++++++++++++ .../fixtures/api/decorated-getter/index.js | 3 +++ .../modules/x/child/child.html | 3 +++ .../decorated-getter/modules/x/child/child.js | 12 ++++++++++++ .../modules/x/parent/parent.html | 4 ++++ .../modules/x/parent/parent.js | 5 +++++ .../api/decorated-setter-getter/error.txt | 1 + .../api/decorated-setter-getter/expected.html | 0 .../api/decorated-setter-getter/index.js | 3 +++ .../modules/x/child/child.html | 3 +++ .../modules/x/child/child.js | 13 +++++++++++++ .../modules/x/parent/parent.html | 4 ++++ .../modules/x/parent/parent.js | 5 +++++ .../fixtures/api/decorated-setter/error.txt | 0 .../api/decorated-setter/expected.html | 14 ++++++++++++++ .../fixtures/api/decorated-setter/index.js | 3 +++ .../modules/x/child/child.html | 3 +++ .../decorated-setter/modules/x/child/child.js | 12 ++++++++++++ .../modules/x/parent/parent.html | 4 ++++ .../modules/x/parent/parent.js | 5 +++++ .../__tests__/fixtures/api/property/error.txt | 0 .../fixtures/api/property/expected.html | 14 ++++++++++++++ .../__tests__/fixtures/api/property/index.js | 3 +++ .../api/property/modules/x/child/child.html | 3 +++ .../api/property/modules/x/child/child.js | 5 +++++ .../api/property/modules/x/parent/parent.html | 4 ++++ .../api/property/modules/x/parent/parent.js | 5 +++++ .../reserved-keywords/modules/x/cmp/cmp.js | 8 ++++---- .../src/compile-js/generate-markup.ts | 14 +++++++------- .../@lwc/ssr-compiler/src/compile-js/index.ts | 18 +++++++++++++----- .../@lwc/ssr-compiler/src/compile-js/types.ts | 8 ++++---- .../@lwc/ssr-runtime/src/lightning-element.ts | 8 ++++---- 33 files changed, 177 insertions(+), 24 deletions(-) create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-getter/error.txt create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-getter/expected.html create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-getter/index.js create mode 100755 packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-getter/modules/x/child/child.html create mode 100755 packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-getter/modules/x/child/child.js create mode 100755 packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-getter/modules/x/parent/parent.html create mode 100755 packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-getter/modules/x/parent/parent.js create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-setter-getter/error.txt create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-setter-getter/expected.html create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-setter-getter/index.js create mode 100755 packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-setter-getter/modules/x/child/child.html create mode 100755 packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-setter-getter/modules/x/child/child.js create mode 100755 packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-setter-getter/modules/x/parent/parent.html create mode 100755 packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-setter-getter/modules/x/parent/parent.js create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-setter/error.txt create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-setter/expected.html create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-setter/index.js create mode 100755 packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-setter/modules/x/child/child.html create mode 100755 packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-setter/modules/x/child/child.js create mode 100755 packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-setter/modules/x/parent/parent.html create mode 100755 packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-setter/modules/x/parent/parent.js create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/api/property/error.txt create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/api/property/expected.html create mode 100644 packages/@lwc/engine-server/src/__tests__/fixtures/api/property/index.js create mode 100755 packages/@lwc/engine-server/src/__tests__/fixtures/api/property/modules/x/child/child.html create mode 100755 packages/@lwc/engine-server/src/__tests__/fixtures/api/property/modules/x/child/child.js create mode 100755 packages/@lwc/engine-server/src/__tests__/fixtures/api/property/modules/x/parent/parent.html create mode 100755 packages/@lwc/engine-server/src/__tests__/fixtures/api/property/modules/x/parent/parent.js diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-getter/error.txt b/packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-getter/error.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-getter/expected.html b/packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-getter/expected.html new file mode 100644 index 0000000000..4b6d956f1a --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-getter/expected.html @@ -0,0 +1,14 @@ + + + \ No newline at end of file diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-getter/index.js b/packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-getter/index.js new file mode 100644 index 0000000000..d5a55ceefa --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-getter/index.js @@ -0,0 +1,3 @@ +export const tagName = 'x-parent'; +export { default } from 'x/parent'; +export * from 'x/parent'; diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-getter/modules/x/child/child.html b/packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-getter/modules/x/child/child.html new file mode 100755 index 0000000000..9a178c0e77 --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-getter/modules/x/child/child.html @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-getter/modules/x/child/child.js b/packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-getter/modules/x/child/child.js new file mode 100755 index 0000000000..7c97dd51ea --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-getter/modules/x/child/child.js @@ -0,0 +1,12 @@ +import { LightningElement, api } from 'lwc'; + +export default class Child extends LightningElement { + set setterGetterApi(value) { + this._someApi = value; + } + + @api + get setterGetterApi() { + return this._someApi; + } +} diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-getter/modules/x/parent/parent.html b/packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-getter/modules/x/parent/parent.html new file mode 100755 index 0000000000..f096b285f5 --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-getter/modules/x/parent/parent.html @@ -0,0 +1,4 @@ + \ No newline at end of file diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-getter/modules/x/parent/parent.js b/packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-getter/modules/x/parent/parent.js new file mode 100755 index 0000000000..e1d0ea7f96 --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-getter/modules/x/parent/parent.js @@ -0,0 +1,5 @@ +import { LightningElement } from 'lwc'; + +export default class Parent extends LightningElement { + setterGetterApiValue = 'setter getter api value'; +} diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-setter-getter/error.txt b/packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-setter-getter/error.txt new file mode 100644 index 0000000000..ab90d18fb4 --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-setter-getter/error.txt @@ -0,0 +1 @@ +LWC1112: @api get setterGetterApi and @api set setterGetterApi detected in class declaration. Only one of the two needs to be decorated with @api. \ No newline at end of file diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-setter-getter/expected.html b/packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-setter-getter/expected.html new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-setter-getter/index.js b/packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-setter-getter/index.js new file mode 100644 index 0000000000..d5a55ceefa --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-setter-getter/index.js @@ -0,0 +1,3 @@ +export const tagName = 'x-parent'; +export { default } from 'x/parent'; +export * from 'x/parent'; diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-setter-getter/modules/x/child/child.html b/packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-setter-getter/modules/x/child/child.html new file mode 100755 index 0000000000..9a178c0e77 --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-setter-getter/modules/x/child/child.html @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-setter-getter/modules/x/child/child.js b/packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-setter-getter/modules/x/child/child.js new file mode 100755 index 0000000000..608d8f4639 --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-setter-getter/modules/x/child/child.js @@ -0,0 +1,13 @@ +import { LightningElement, api } from 'lwc'; + +export default class Child extends LightningElement { + @api + set setterGetterApi(value) { + this._someApi = value; + } + + @api + get setterGetterApi() { + return this._someApi; + } +} diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-setter-getter/modules/x/parent/parent.html b/packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-setter-getter/modules/x/parent/parent.html new file mode 100755 index 0000000000..f096b285f5 --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-setter-getter/modules/x/parent/parent.html @@ -0,0 +1,4 @@ + \ No newline at end of file diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-setter-getter/modules/x/parent/parent.js b/packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-setter-getter/modules/x/parent/parent.js new file mode 100755 index 0000000000..e1d0ea7f96 --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-setter-getter/modules/x/parent/parent.js @@ -0,0 +1,5 @@ +import { LightningElement } from 'lwc'; + +export default class Parent extends LightningElement { + setterGetterApiValue = 'setter getter api value'; +} diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-setter/error.txt b/packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-setter/error.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-setter/expected.html b/packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-setter/expected.html new file mode 100644 index 0000000000..4b6d956f1a --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-setter/expected.html @@ -0,0 +1,14 @@ + + + \ No newline at end of file diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-setter/index.js b/packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-setter/index.js new file mode 100644 index 0000000000..d5a55ceefa --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-setter/index.js @@ -0,0 +1,3 @@ +export const tagName = 'x-parent'; +export { default } from 'x/parent'; +export * from 'x/parent'; diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-setter/modules/x/child/child.html b/packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-setter/modules/x/child/child.html new file mode 100755 index 0000000000..9a178c0e77 --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-setter/modules/x/child/child.html @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-setter/modules/x/child/child.js b/packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-setter/modules/x/child/child.js new file mode 100755 index 0000000000..bb1cabad15 --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-setter/modules/x/child/child.js @@ -0,0 +1,12 @@ +import { LightningElement, api } from 'lwc'; + +export default class Child extends LightningElement { + @api + set setterGetterApi(value) { + this._someApi = value; + } + + get setterGetterApi() { + return this._someApi; + } +} diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-setter/modules/x/parent/parent.html b/packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-setter/modules/x/parent/parent.html new file mode 100755 index 0000000000..f096b285f5 --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-setter/modules/x/parent/parent.html @@ -0,0 +1,4 @@ + \ No newline at end of file diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-setter/modules/x/parent/parent.js b/packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-setter/modules/x/parent/parent.js new file mode 100755 index 0000000000..e1d0ea7f96 --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/api/decorated-setter/modules/x/parent/parent.js @@ -0,0 +1,5 @@ +import { LightningElement } from 'lwc'; + +export default class Parent extends LightningElement { + setterGetterApiValue = 'setter getter api value'; +} diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/api/property/error.txt b/packages/@lwc/engine-server/src/__tests__/fixtures/api/property/error.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/api/property/expected.html b/packages/@lwc/engine-server/src/__tests__/fixtures/api/property/expected.html new file mode 100644 index 0000000000..73ad529907 --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/api/property/expected.html @@ -0,0 +1,14 @@ + + + \ No newline at end of file diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/api/property/index.js b/packages/@lwc/engine-server/src/__tests__/fixtures/api/property/index.js new file mode 100644 index 0000000000..d5a55ceefa --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/api/property/index.js @@ -0,0 +1,3 @@ +export const tagName = 'x-parent'; +export { default } from 'x/parent'; +export * from 'x/parent'; diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/api/property/modules/x/child/child.html b/packages/@lwc/engine-server/src/__tests__/fixtures/api/property/modules/x/child/child.html new file mode 100755 index 0000000000..c7953f5407 --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/api/property/modules/x/child/child.html @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/api/property/modules/x/child/child.js b/packages/@lwc/engine-server/src/__tests__/fixtures/api/property/modules/x/child/child.js new file mode 100755 index 0000000000..26d125ff03 --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/api/property/modules/x/child/child.js @@ -0,0 +1,5 @@ +import { LightningElement, api } from 'lwc'; + +export default class Child extends LightningElement { + @api fieldApi; +} diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/api/property/modules/x/parent/parent.html b/packages/@lwc/engine-server/src/__tests__/fixtures/api/property/modules/x/parent/parent.html new file mode 100755 index 0000000000..2a68acdb59 --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/api/property/modules/x/parent/parent.html @@ -0,0 +1,4 @@ + \ No newline at end of file diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/api/property/modules/x/parent/parent.js b/packages/@lwc/engine-server/src/__tests__/fixtures/api/property/modules/x/parent/parent.js new file mode 100755 index 0000000000..2594cd2bed --- /dev/null +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/api/property/modules/x/parent/parent.js @@ -0,0 +1,5 @@ +import { LightningElement } from 'lwc'; + +export default class Parent extends LightningElement { + fieldApiValue = 'field api value'; +} diff --git a/packages/@lwc/engine-server/src/__tests__/fixtures/reserved-keywords/modules/x/cmp/cmp.js b/packages/@lwc/engine-server/src/__tests__/fixtures/reserved-keywords/modules/x/cmp/cmp.js index 738e5d8707..80e30c3485 100644 --- a/packages/@lwc/engine-server/src/__tests__/fixtures/reserved-keywords/modules/x/cmp/cmp.js +++ b/packages/@lwc/engine-server/src/__tests__/fixtures/reserved-keywords/modules/x/cmp/cmp.js @@ -1,7 +1,7 @@ import { LightningElement } from 'lwc'; -const privateFields = undefined; -const publicFields = undefined; +const privateProperties = undefined; +const publicProperties = undefined; const stylesheetScopeToken = undefined; const hasScopedStylesheets = undefined; const defaultScopedStylesheets = undefined; @@ -12,8 +12,8 @@ export default class extends LightningElement { Object.assign( {}, { - privateFields, - publicFields, + privateProperties, + publicProperties, stylesheetScopeToken, hasScopedStylesheets, defaultScopedStylesheets, 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 ce1fd11d7b..bddee319c5 100644 --- a/packages/@lwc/ssr-compiler/src/compile-js/generate-markup.ts +++ b/packages/@lwc/ssr-compiler/src/compile-js/generate-markup.ts @@ -16,8 +16,8 @@ import type { ComponentMetaState } from './types'; const bGenerateMarkup = esTemplate` // These variables may mix with component-authored variables, so should be reasonably unique - const __lwcPublicFields__ = new Set(${/*public fields*/ is.arrayExpression}); - const __lwcPrivateFields__ = new Set(${/*private fields*/ is.arrayExpression}); + const __lwcPublicProperties__ = new Set(${/*api*/ is.arrayExpression}); + const __lwcPrivateProperties__ = new Set(${/*private fields*/ is.arrayExpression}); async function* generateMarkup( tagName, @@ -43,8 +43,8 @@ const bGenerateMarkup = esTemplate` instance[__SYMBOL__SET_INTERNALS]( props, attrs, - __lwcPublicFields__, - __lwcPrivateFields__, + __lwcPublicProperties__, + __lwcPrivateProperties__, ); instance.isConnected = true; if (instance.connectedCallback) { @@ -101,7 +101,7 @@ export function addGenerateMarkupFunction( tagName: string, filename: string ) { - const { privateFields, publicFields, tmplExplicitImports } = state; + const { privateProperties, publicProperties, tmplExplicitImports } = state; // The default tag name represents the component name that's passed to the transformer. // This is needed to generate markup for dynamic components which are invoked through @@ -141,8 +141,8 @@ export function addGenerateMarkupFunction( ); program.body.push( ...bGenerateMarkup( - b.arrayExpression(publicFields.map(b.literal)), - b.arrayExpression(privateFields.map(b.literal)), + b.arrayExpression(publicProperties.map(b.literal)), + b.arrayExpression(privateProperties.map(b.literal)), defaultTagName, classIdentifier, connectWireAdapterCode diff --git a/packages/@lwc/ssr-compiler/src/compile-js/index.ts b/packages/@lwc/ssr-compiler/src/compile-js/index.ts index ffd96a6be5..192732f23a 100644 --- a/packages/@lwc/ssr-compiler/src/compile-js/index.ts +++ b/packages/@lwc/ssr-compiler/src/compile-js/index.ts @@ -105,7 +105,7 @@ const visitors: Visitors = { validateUniqueDecorator(decorators); const decoratedExpression = decorators?.[0]?.expression; if (is.identifier(decoratedExpression) && decoratedExpression.name === 'api') { - state.publicFields.push(node.key.name); + state.publicProperties.push(node.key.name); } else if ( is.callExpression(decoratedExpression) && is.identifier(decoratedExpression.callee) && @@ -116,9 +116,9 @@ const visitors: Visitors = { throw new Error('@wire cannot be used on computed properties in SSR context.'); } catalogWireAdapters(path, state); - state.privateFields.push(node.key.name); + state.privateProperties.push(node.key.name); } else { - state.privateFields.push(node.key.name); + state.privateProperties.push(node.key.name); } if ( @@ -180,6 +180,14 @@ 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) { @@ -285,8 +293,8 @@ export default function compileJS( tmplExplicitImports: null, cssExplicitImports: null, staticStylesheetIds: null, - publicFields: [], - privateFields: [], + publicProperties: [], + privateProperties: [], wireAdapters: [], experimentalDynamicComponent: options.experimentalDynamicComponent, importManager: new ImportManager(), diff --git a/packages/@lwc/ssr-compiler/src/compile-js/types.ts b/packages/@lwc/ssr-compiler/src/compile-js/types.ts index 6ff7723f08..3690338a52 100644 --- a/packages/@lwc/ssr-compiler/src/compile-js/types.ts +++ b/packages/@lwc/ssr-compiler/src/compile-js/types.ts @@ -48,10 +48,10 @@ export interface ComponentMetaState { cssExplicitImports: Map | null; // the set of variable names associated with explicitly imported CSS files staticStylesheetIds: Set | null; - // the public (`@api`-annotated) fields of the component class - publicFields: Array; - // the private fields of the component class - privateFields: Array; + // the public (`@api`-annotated) properties of the component class + publicProperties: Array; + // the private properties of the component class + privateProperties: Array; // indicates whether the LightningElement has any wired props wireAdapters: WireAdapter[]; // dynamic imports configuration diff --git a/packages/@lwc/ssr-runtime/src/lightning-element.ts b/packages/@lwc/ssr-runtime/src/lightning-element.ts index 2c78d199a4..464830d247 100644 --- a/packages/@lwc/ssr-runtime/src/lightning-element.ts +++ b/packages/@lwc/ssr-runtime/src/lightning-element.ts @@ -78,8 +78,8 @@ export class LightningElement implements PropsAvailableAtConstruction { [SYMBOL__SET_INTERNALS]( props: Properties, attrs: Attributes, - publicFields: Set, - privateFields: Set + publicProperties: Set, + privateProperties: Set ) { this.#props = props; this.#attrs = attrs; @@ -91,9 +91,9 @@ export class LightningElement implements PropsAvailableAtConstruction { for (const propName of keys(props)) { const attrName = htmlPropertyToAttribute(propName); if ( - publicFields.has(propName) || + publicProperties.has(propName) || ((REFLECTIVE_GLOBAL_PROPERTY_SET.has(propName) || isAriaAttribute(attrName)) && - !privateFields.has(propName)) + !privateProperties.has(propName)) ) { // For props passed from parents to children, they are intended to be read-only // to avoid a child mutating its parent's state From 46888ba590862c8cf74113b3532a607098ee3649 Mon Sep 17 00:00:00 2001 From: John Hefferman Date: Fri, 31 Jan 2025 11:16:56 -0700 Subject: [PATCH 12/12] chore: release v8.12.7 --- package.json | 2 +- packages/@lwc/aria-reflection/package.json | 2 +- .../@lwc/babel-plugin-component/package.json | 6 +-- packages/@lwc/compiler/package.json | 14 +++---- packages/@lwc/engine-core/package.json | 8 ++-- packages/@lwc/engine-dom/package.json | 8 ++-- packages/@lwc/engine-server/package.json | 10 ++--- packages/@lwc/errors/package.json | 2 +- packages/@lwc/features/package.json | 4 +- packages/@lwc/integration-karma/package.json | 12 +++--- packages/@lwc/integration-tests/package.json | 6 +-- packages/@lwc/integration-types/package.json | 6 +-- packages/@lwc/module-resolver/package.json | 2 +- .../perf-benchmarks-components/package.json | 4 +- packages/@lwc/perf-benchmarks/package.json | 12 +++--- packages/@lwc/rollup-plugin/package.json | 10 ++--- packages/@lwc/shared/package.json | 2 +- packages/@lwc/signals/package.json | 4 +- packages/@lwc/ssr-compiler/package.json | 10 ++--- packages/@lwc/ssr-runtime/package.json | 6 +-- packages/@lwc/style-compiler/package.json | 4 +- packages/@lwc/synthetic-shadow/package.json | 6 +-- packages/@lwc/template-compiler/package.json | 6 +-- packages/@lwc/types/package.json | 4 +- packages/@lwc/wire-service/package.json | 6 +-- packages/lwc/package.json | 38 +++++++++---------- playground/package.json | 6 +-- 27 files changed, 100 insertions(+), 100 deletions(-) diff --git a/package.json b/package.json index 6b0d7198c3..0f54f3b62a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "lwc-monorepo", - "version": "8.12.6", + "version": "8.12.7", "private": true, "description": "Lightning Web Components", "repository": { diff --git a/packages/@lwc/aria-reflection/package.json b/packages/@lwc/aria-reflection/package.json index ee0debe575..82e1b99d20 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.12.6", + "version": "8.12.7", "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 d03a83fad6..ce2118b4e9 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.12.6", + "version": "8.12.7", "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.12.6", - "@lwc/shared": "8.12.6", + "@lwc/errors": "8.12.7", + "@lwc/shared": "8.12.7", "line-column": "~1.0.2" }, "devDependencies": { diff --git a/packages/@lwc/compiler/package.json b/packages/@lwc/compiler/package.json index 4601b2c997..52539151a3 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.12.6", + "version": "8.12.7", "description": "LWC compiler", "keywords": [ "lwc" @@ -52,11 +52,11 @@ "@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.12.6", - "@lwc/errors": "8.12.6", - "@lwc/shared": "8.12.6", - "@lwc/ssr-compiler": "8.12.6", - "@lwc/style-compiler": "8.12.6", - "@lwc/template-compiler": "8.12.6" + "@lwc/babel-plugin-component": "8.12.7", + "@lwc/errors": "8.12.7", + "@lwc/shared": "8.12.7", + "@lwc/ssr-compiler": "8.12.7", + "@lwc/style-compiler": "8.12.7", + "@lwc/template-compiler": "8.12.7" } } diff --git a/packages/@lwc/engine-core/package.json b/packages/@lwc/engine-core/package.json index 23ec822f13..9b667d9c07 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.12.6", + "version": "8.12.7", "description": "Core LWC engine APIs.", "keywords": [ "lwc" @@ -46,9 +46,9 @@ } }, "dependencies": { - "@lwc/features": "8.12.6", - "@lwc/shared": "8.12.6", - "@lwc/signals": "8.12.6" + "@lwc/features": "8.12.7", + "@lwc/shared": "8.12.7", + "@lwc/signals": "8.12.7" }, "devDependencies": { "observable-membrane": "2.0.0" diff --git a/packages/@lwc/engine-dom/package.json b/packages/@lwc/engine-dom/package.json index 1b1533f701..d5d1a662f6 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.12.6", + "version": "8.12.7", "description": "Renders LWC components in a DOM environment.", "keywords": [ "lwc" @@ -46,9 +46,9 @@ } }, "devDependencies": { - "@lwc/engine-core": "8.12.6", - "@lwc/shared": "8.12.6", - "@lwc/features": "8.12.6" + "@lwc/engine-core": "8.12.7", + "@lwc/shared": "8.12.7", + "@lwc/features": "8.12.7" }, "lwc": { "modules": [ diff --git a/packages/@lwc/engine-server/package.json b/packages/@lwc/engine-server/package.json index 6fdebe7582..080211cbdd 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.12.6", + "version": "8.12.7", "description": "Renders LWC components in a server environment.", "keywords": [ "lwc" @@ -46,10 +46,10 @@ } }, "devDependencies": { - "@lwc/engine-core": "8.12.6", - "@lwc/rollup-plugin": "8.12.6", - "@lwc/shared": "8.12.6", - "@lwc/features": "8.12.6", + "@lwc/engine-core": "8.12.7", + "@lwc/rollup-plugin": "8.12.7", + "@lwc/shared": "8.12.7", + "@lwc/features": "8.12.7", "@rollup/plugin-virtual": "^3.0.2", "parse5": "^7.2.1" } diff --git a/packages/@lwc/errors/package.json b/packages/@lwc/errors/package.json index 89931c227f..8b7f18bef9 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.12.6", + "version": "8.12.7", "description": "LWC Error Utilities", "keywords": [ "lwc" diff --git a/packages/@lwc/features/package.json b/packages/@lwc/features/package.json index 966b86243f..1149372285 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.12.6", + "version": "8.12.7", "description": "LWC Features Flags", "keywords": [ "lwc" @@ -46,6 +46,6 @@ } }, "dependencies": { - "@lwc/shared": "8.12.6" + "@lwc/shared": "8.12.7" } } diff --git a/packages/@lwc/integration-karma/package.json b/packages/@lwc/integration-karma/package.json index 32582c106f..885cca9864 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.12.6", + "version": "8.12.7", "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.12.6", - "@lwc/engine-dom": "8.12.6", - "@lwc/engine-server": "8.12.6", - "@lwc/rollup-plugin": "8.12.6", - "@lwc/synthetic-shadow": "8.12.6", + "@lwc/compiler": "8.12.7", + "@lwc/engine-dom": "8.12.7", + "@lwc/engine-server": "8.12.7", + "@lwc/rollup-plugin": "8.12.7", + "@lwc/synthetic-shadow": "8.12.7", "@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 5d424e9a6d..34c04a46bc 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.12.6", + "version": "8.12.7", "scripts": { "build": "node scripts/build.js", "build:dev": "MODE=dev yarn build", @@ -18,7 +18,7 @@ "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.12.6", + "@lwc/rollup-plugin": "8.12.7", "@wdio/cli": "^9.7.1", "@wdio/local-runner": "^9.7.1", "@wdio/mocha-framework": "^9.6.4", @@ -27,7 +27,7 @@ "@wdio/static-server-service": "^9.6.3", "deepmerge": "^4.3.1", "dotenv": "^16.4.7", - "lwc": "8.12.6", + "lwc": "8.12.7", "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 239e8c815c..e81328f15c 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.12.6", + "version": "8.12.7", "description": "Type validation for LWC packages", "type": "module", "scripts": { @@ -9,8 +9,8 @@ "playground": "rollup -c src/playground/rollup.config.js --watch" }, "dependencies": { - "@lwc/rollup-plugin": "8.12.6", - "lwc": "8.12.6" + "@lwc/rollup-plugin": "8.12.7", + "lwc": "8.12.7" }, "devDependencies": { "@rollup/plugin-replace": "^6.0.2", diff --git a/packages/@lwc/module-resolver/package.json b/packages/@lwc/module-resolver/package.json index e9ca364b13..9ea56ec533 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.12.6", + "version": "8.12.7", "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 915690daeb..c4af68674f 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.12.6", + "version": "8.12.7", "private": true, "scripts": { "build": "rm -fr dist && rollup -c ./rollup.config.mjs" }, "devDependencies": { - "@lwc/rollup-plugin": "8.12.6" + "@lwc/rollup-plugin": "8.12.7" }, "nx": { "targets": { diff --git a/packages/@lwc/perf-benchmarks/package.json b/packages/@lwc/perf-benchmarks/package.json index 2f3a3248f5..cc7595cc2d 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.12.6", + "version": "8.12.7", "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.12.6", - "@lwc/engine-server": "8.12.6", - "@lwc/perf-benchmarks-components": "8.12.6", - "@lwc/ssr-runtime": "8.12.6", - "@lwc/synthetic-shadow": "8.12.6" + "@lwc/engine-dom": "8.12.7", + "@lwc/engine-server": "8.12.7", + "@lwc/perf-benchmarks-components": "8.12.7", + "@lwc/ssr-runtime": "8.12.7", + "@lwc/synthetic-shadow": "8.12.7" }, "devDependencies": { "@best/cli": "^14.0.0", diff --git a/packages/@lwc/rollup-plugin/package.json b/packages/@lwc/rollup-plugin/package.json index 244b35acda..0442783f9e 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.12.6", + "version": "8.12.7", "description": "Rollup plugin to compile LWC", "keywords": [ "lwc" @@ -46,13 +46,13 @@ } }, "dependencies": { - "@lwc/compiler": "8.12.6", - "@lwc/module-resolver": "8.12.6", - "@lwc/shared": "8.12.6", + "@lwc/compiler": "8.12.7", + "@lwc/module-resolver": "8.12.7", + "@lwc/shared": "8.12.7", "@rollup/pluginutils": "~5.1.4" }, "devDependencies": { - "@lwc/errors": "8.12.6" + "@lwc/errors": "8.12.7" }, "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 145d2c34ec..93fde048cd 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.12.6", + "version": "8.12.7", "description": "Utilities and methods that are shared across packages", "keywords": [ "lwc" diff --git a/packages/@lwc/signals/package.json b/packages/@lwc/signals/package.json index 388ab6e864..cf9c3aec63 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.12.6", + "version": "8.12.7", "description": "Provides the interface to interact with reactivity from outside the framework", "keywords": [ "lwc" @@ -46,6 +46,6 @@ } }, "devDependencies": { - "@lwc/shared": "8.12.6" + "@lwc/shared": "8.12.7" } } diff --git a/packages/@lwc/ssr-compiler/package.json b/packages/@lwc/ssr-compiler/package.json index ac45352148..bd26e47b07 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.12.6", + "version": "8.12.7", "description": "Compile component for use during server-side rendering", "keywords": [ "compiler", @@ -49,9 +49,9 @@ }, "dependencies": { "@babel/types": "7.26.7", - "@lwc/shared": "8.12.6", - "@lwc/errors": "8.12.6", - "@lwc/template-compiler": "8.12.6", + "@lwc/shared": "8.12.7", + "@lwc/errors": "8.12.7", + "@lwc/template-compiler": "8.12.7", "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.12.6", + "@lwc/babel-plugin-component": "8.12.7", "@types/estree": "^1.0.6" } } diff --git a/packages/@lwc/ssr-runtime/package.json b/packages/@lwc/ssr-runtime/package.json index 4b89af280a..d3e2df89da 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.12.6", + "version": "8.12.7", "description": "Runtime complement to @lwc/ssr-compiler", "keywords": [ "lwc", @@ -48,8 +48,8 @@ } }, "devDependencies": { - "@lwc/shared": "8.12.6", - "@lwc/engine-core": "8.12.6", + "@lwc/shared": "8.12.7", + "@lwc/engine-core": "8.12.7", "observable-membrane": "2.0.0" } } diff --git a/packages/@lwc/style-compiler/package.json b/packages/@lwc/style-compiler/package.json index 052223f7f5..f478ad6fb4 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.12.6", + "version": "8.12.7", "description": "Transform style sheet to be consumed by the LWC engine", "keywords": [ "lwc" @@ -46,7 +46,7 @@ } }, "dependencies": { - "@lwc/shared": "8.12.6", + "@lwc/shared": "8.12.7", "postcss": "~8.5.1", "postcss-selector-parser": "~7.0.0", "postcss-value-parser": "~4.2.0" diff --git a/packages/@lwc/synthetic-shadow/package.json b/packages/@lwc/synthetic-shadow/package.json index c0921e8d41..c543320162 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.12.6", + "version": "8.12.7", "description": "Synthetic Shadow Root for LWC", "keywords": [ "lwc" @@ -46,8 +46,8 @@ } }, "devDependencies": { - "@lwc/features": "8.12.6", - "@lwc/shared": "8.12.6" + "@lwc/features": "8.12.7", + "@lwc/shared": "8.12.7" }, "lwc": { "modules": [ diff --git a/packages/@lwc/template-compiler/package.json b/packages/@lwc/template-compiler/package.json index 2653ad39f9..3a186b0bc4 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.12.6", + "version": "8.12.7", "description": "Template compiler package", "keywords": [ "lwc" @@ -46,8 +46,8 @@ } }, "dependencies": { - "@lwc/errors": "8.12.6", - "@lwc/shared": "8.12.6", + "@lwc/errors": "8.12.7", + "@lwc/shared": "8.12.7", "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 f6cdf33b26..2a14cdd300 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.12.6", + "version": "8.12.7", "keywords": [ "lwc", "types", @@ -32,6 +32,6 @@ "*.d.ts" ], "dependencies": { - "@lwc/engine-core": "8.12.6" + "@lwc/engine-core": "8.12.7" } } diff --git a/packages/@lwc/wire-service/package.json b/packages/@lwc/wire-service/package.json index 76724b529a..b21e057774 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.12.6", + "version": "8.12.7", "description": "@wire service", "keywords": [ "lwc" @@ -46,8 +46,8 @@ } }, "devDependencies": { - "@lwc/engine-core": "8.12.6", - "@lwc/shared": "8.12.6" + "@lwc/engine-core": "8.12.7", + "@lwc/shared": "8.12.7" }, "lwc": { "modules": [ diff --git a/packages/lwc/package.json b/packages/lwc/package.json index 6781e9d571..8f76256404 100644 --- a/packages/lwc/package.json +++ b/packages/lwc/package.json @@ -1,6 +1,6 @@ { "name": "lwc", - "version": "8.12.6", + "version": "8.12.7", "description": "Lightning Web Components (LWC)", "homepage": "https://lwc.dev/", "repository": { @@ -21,24 +21,24 @@ "!vitest.config.*" ], "dependencies": { - "@lwc/aria-reflection": "8.12.6", - "@lwc/babel-plugin-component": "8.12.6", - "@lwc/compiler": "8.12.6", - "@lwc/engine-core": "8.12.6", - "@lwc/engine-dom": "8.12.6", - "@lwc/engine-server": "8.12.6", - "@lwc/errors": "8.12.6", - "@lwc/features": "8.12.6", - "@lwc/module-resolver": "8.12.6", - "@lwc/rollup-plugin": "8.12.6", - "@lwc/shared": "8.12.6", - "@lwc/ssr-compiler": "8.12.6", - "@lwc/ssr-runtime": "8.12.6", - "@lwc/style-compiler": "8.12.6", - "@lwc/synthetic-shadow": "8.12.6", - "@lwc/template-compiler": "8.12.6", - "@lwc/types": "8.12.6", - "@lwc/wire-service": "8.12.6" + "@lwc/aria-reflection": "8.12.7", + "@lwc/babel-plugin-component": "8.12.7", + "@lwc/compiler": "8.12.7", + "@lwc/engine-core": "8.12.7", + "@lwc/engine-dom": "8.12.7", + "@lwc/engine-server": "8.12.7", + "@lwc/errors": "8.12.7", + "@lwc/features": "8.12.7", + "@lwc/module-resolver": "8.12.7", + "@lwc/rollup-plugin": "8.12.7", + "@lwc/shared": "8.12.7", + "@lwc/ssr-compiler": "8.12.7", + "@lwc/ssr-runtime": "8.12.7", + "@lwc/style-compiler": "8.12.7", + "@lwc/synthetic-shadow": "8.12.7", + "@lwc/template-compiler": "8.12.7", + "@lwc/types": "8.12.7", + "@lwc/wire-service": "8.12.7" }, "lwc": { "modules": [ diff --git a/playground/package.json b/playground/package.json index 0cee379c9f..7b83a7a52c 100644 --- a/playground/package.json +++ b/playground/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "@lwc/playground", - "version": "8.12.6", + "version": "8.12.7", "type": "module", "description": "Playground project to experiment with LWC.", "scripts": { @@ -9,9 +9,9 @@ "build": "NODE_ENV=production rollup -c" }, "devDependencies": { - "@lwc/rollup-plugin": "8.12.6", + "@lwc/rollup-plugin": "8.12.7", "@rollup/plugin-replace": "^6.0.2", - "lwc": "8.12.6", + "lwc": "8.12.7", "rollup": "^4.32.0", "rollup-plugin-livereload": "^2.0.5", "rollup-plugin-serve": "^3.0.0"