From 9e92c74d079922406c95d062ecb1fe4fe49e89f8 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 30 Jul 2023 16:45:37 +0100 Subject: [PATCH 001/147] chore(deps): update all non-major dependencies (main) (#22315) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Daniel Roe --- .github/workflows/ci.yml | 4 +- .github/workflows/scorecards.yml | 2 +- package.json | 14 +- packages/nuxi/package.json | 2 +- packages/nuxt/package.json | 10 +- packages/schema/package.json | 4 +- packages/test-utils/package.json | 6 +- packages/vite/package.json | 4 +- packages/webpack/package.json | 2 +- pnpm-lock.yaml | 854 ++++++++++++++++--------------- test/bundle.test.ts | 2 +- 11 files changed, 470 insertions(+), 434 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 76db0d7b9589..ac87ccc4c7e1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -86,7 +86,7 @@ jobs: run: pnpm install - name: Initialize CodeQL - uses: github/codeql-action/init@1813ca74c3faaa3a2da2070b9b8a0b3e7373a0d8 # v2.21.0 + uses: github/codeql-action/init@0ba4244466797eb048eb91a6cd43d5c03ca8bd05 # v2.21.2 with: languages: javascript queries: +security-and-quality @@ -98,7 +98,7 @@ jobs: path: packages - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@1813ca74c3faaa3a2da2070b9b8a0b3e7373a0d8 # v2.21.0 + uses: github/codeql-action/analyze@0ba4244466797eb048eb91a6cd43d5c03ca8bd05 # v2.21.2 with: category: "/language:javascript" diff --git a/.github/workflows/scorecards.yml b/.github/workflows/scorecards.yml index b5ad8bf27331..d2e54677d740 100644 --- a/.github/workflows/scorecards.yml +++ b/.github/workflows/scorecards.yml @@ -66,6 +66,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: "Upload to code-scanning" - uses: github/codeql-action/upload-sarif@1813ca74c3faaa3a2da2070b9b8a0b3e7373a0d8 # v2.21.0 + uses: github/codeql-action/upload-sarif@0ba4244466797eb048eb91a6cd43d5c03ca8bd05 # v2.21.2 with: sarif_file: results.sarif diff --git a/package.json b/package.json index d9734ddf9a4c..5d788fc20564 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,7 @@ "nuxt": "workspace:*", "vite": "4.4.7", "vue": "3.3.4", - "magic-string": "^0.30.1" + "magic-string": "^0.30.2" }, "devDependencies": { "@actions/core": "1.10.0", @@ -45,7 +45,7 @@ "@nuxt/webpack-builder": "workspace:*", "@nuxtjs/eslint-config-typescript": "12.0.0", "@types/fs-extra": "11.0.1", - "@types/node": "18.17.0", + "@types/node": "18.17.1", "@types/semver": "7.5.0", "case-police": "0.6.1", "chalk": "5.3.0", @@ -53,11 +53,11 @@ "cheerio": "1.0.0-rc.12", "consola": "3.2.3", "devalue": "4.3.2", - "eslint": "8.45.0", - "eslint-plugin-import": "2.27.5", + "eslint": "8.46.0", + "eslint-plugin-import": "2.28.0", "eslint-plugin-jsdoc": "41.1.2", "eslint-plugin-no-only-tests": "3.1.0", - "execa": "7.1.1", + "execa": "7.2.0", "fs-extra": "11.1.1", "globby": "13.2.2", "h3": "1.7.1", @@ -70,7 +70,7 @@ "nuxt-vitest": "0.10.2", "ofetch": "1.1.1", "pathe": "1.1.1", - "playwright-core": "1.36.1", + "playwright-core": "1.36.2", "rimraf": "5.0.1", "semver": "7.5.4", "std-env": "3.3.3", @@ -82,7 +82,7 @@ "vue": "3.3.4", "vue-eslint-parser": "9.3.1", "vue-router": "4.2.4", - "vue-tsc": "1.8.6" + "vue-tsc": "1.8.8" }, "packageManager": "pnpm@8.6.10", "engines": { diff --git a/packages/nuxi/package.json b/packages/nuxi/package.json index f540a3eacb5d..f001e3eaf052 100644 --- a/packages/nuxi/package.json +++ b/packages/nuxi/package.json @@ -33,7 +33,7 @@ "deep-object-diff": "1.1.9", "defu": "6.1.2", "destr": "2.0.0", - "execa": "7.1.1", + "execa": "7.2.0", "flat": "5.0.2", "giget": "1.1.2", "h3": "1.7.1", diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index 6e21f147fd8c..f08b82e70b77 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -56,10 +56,10 @@ "@nuxt/kit": "workspace:../kit", "@nuxt/schema": "workspace:../schema", "@nuxt/telemetry": "^2.3.2", - "@nuxt/ui-templates": "^1.2.1", + "@nuxt/ui-templates": "^1.3.1", "@nuxt/vite-builder": "workspace:../vite", - "@unhead/ssr": "^1.1.32", - "@unhead/vue": "^1.1.32", + "@unhead/ssr": "^1.1.33", + "@unhead/vue": "^1.1.33", "@vue/shared": "^3.3.4", "acorn": "8.10.0", "c12": "^1.4.2", @@ -68,7 +68,7 @@ "defu": "^6.1.2", "destr": "^2.0.0", "devalue": "^4.3.2", - "esbuild": "^0.18.16", + "esbuild": "^0.18.17", "escape-string-regexp": "^5.0.0", "estree-walker": "^3.0.3", "fs-extra": "^11.1.1", @@ -79,7 +79,7 @@ "klona": "^2.0.6", "knitwork": "^1.0.0", "local-pkg": "^0.4.3", - "magic-string": "^0.30.1", + "magic-string": "^0.30.2", "mlly": "^1.4.0", "nitropack": "^2.5.2", "nuxi": "workspace:../nuxi", diff --git a/packages/schema/package.json b/packages/schema/package.json index da56b890a2fc..9622f4af6350 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -30,7 +30,7 @@ "@types/file-loader": "5.0.1", "@types/pug": "2.0.6", "@types/sass-loader": "8.0.5", - "@unhead/schema": "1.1.32", + "@unhead/schema": "1.1.33", "@vitejs/plugin-vue": "4.2.3", "@vitejs/plugin-vue-jsx": "3.0.1", "@vue/compiler-core": "3.3.4", @@ -49,7 +49,7 @@ "webpack-dev-middleware": "6.1.1" }, "dependencies": { - "@nuxt/ui-templates": "^1.2.1", + "@nuxt/ui-templates": "^1.3.1", "defu": "^6.1.2", "hookable": "^5.5.3", "pathe": "^1.1.1", diff --git a/packages/test-utils/package.json b/packages/test-utils/package.json index d696e4ad9064..33f7fb67bdc8 100644 --- a/packages/test-utils/package.json +++ b/packages/test-utils/package.json @@ -26,15 +26,15 @@ "@nuxt/schema": "workspace:../schema", "consola": "^3.2.3", "defu": "^6.1.2", - "execa": "^7.1.1", + "execa": "^7.2.0", "get-port-please": "^3.0.1", "ofetch": "^1.1.1", "pathe": "^1.1.1", "ufo": "^1.2.0" }, "devDependencies": { - "@jest/globals": "29.6.1", - "playwright-core": "1.36.1", + "@jest/globals": "29.6.2", + "playwright-core": "1.36.2", "unbuild": "latest", "vitest": "0.33.0" }, diff --git a/packages/vite/package.json b/packages/vite/package.json index fff0a6cb25cd..cf0e21aa4ceb 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -35,7 +35,7 @@ "consola": "^3.2.3", "cssnano": "^6.0.1", "defu": "^6.1.2", - "esbuild": "^0.18.16", + "esbuild": "^0.18.17", "escape-string-regexp": "^5.0.0", "estree-walker": "^3.0.3", "externality": "^1.0.2", @@ -43,7 +43,7 @@ "get-port-please": "^3.0.1", "h3": "^1.7.1", "knitwork": "^1.0.0", - "magic-string": "^0.30.1", + "magic-string": "^0.30.2", "mlly": "^1.4.0", "ohash": "^1.1.2", "pathe": "^1.1.1", diff --git a/packages/webpack/package.json b/packages/webpack/package.json index c6bdebea70f1..9dc704b01a0e 100644 --- a/packages/webpack/package.json +++ b/packages/webpack/package.json @@ -35,7 +35,7 @@ "h3": "^1.7.1", "hash-sum": "^2.0.0", "lodash-es": "^4.17.21", - "magic-string": "^0.30.1", + "magic-string": "^0.30.2", "memfs": "^4.2.0", "mini-css-extract-plugin": "^2.7.6", "mlly": "^1.4.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 367877204362..317e9f3b841b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -14,7 +14,7 @@ overrides: nuxt: workspace:* vite: 4.4.7 vue: 3.3.4 - magic-string: ^0.30.1 + magic-string: ^0.30.2 importers: @@ -31,13 +31,13 @@ importers: version: link:packages/webpack '@nuxtjs/eslint-config-typescript': specifier: 12.0.0 - version: 12.0.0(eslint@8.45.0)(typescript@5.1.6) + version: 12.0.0(eslint@8.46.0)(typescript@5.1.6) '@types/fs-extra': specifier: 11.0.1 version: 11.0.1 '@types/node': - specifier: 18.17.0 - version: 18.17.0 + specifier: 18.17.1 + version: 18.17.1 '@types/semver': specifier: 7.5.0 version: 7.5.0 @@ -60,20 +60,20 @@ importers: specifier: 4.3.2 version: 4.3.2 eslint: - specifier: 8.45.0 - version: 8.45.0 + specifier: 8.46.0 + version: 8.46.0 eslint-plugin-import: - specifier: 2.27.5 - version: 2.27.5(@typescript-eslint/parser@5.59.9)(eslint-import-resolver-typescript@3.5.5)(eslint@8.45.0) + specifier: 2.28.0 + version: 2.28.0(@typescript-eslint/parser@5.59.9)(eslint-import-resolver-typescript@3.5.5)(eslint@8.46.0) eslint-plugin-jsdoc: specifier: 41.1.2 - version: 41.1.2(eslint@8.45.0) + version: 41.1.2(eslint@8.46.0) eslint-plugin-no-only-tests: specifier: 3.1.0 version: 3.1.0 execa: - specifier: 7.1.1 - version: 7.1.1 + specifier: 7.2.0 + version: 7.2.0 fs-extra: specifier: 11.1.1 version: 11.1.1 @@ -111,8 +111,8 @@ importers: specifier: 1.1.1 version: 1.1.1 playwright-core: - specifier: 1.36.1 - version: 1.36.1 + specifier: 1.36.2 + version: 1.36.2 rimraf: specifier: 5.0.1 version: 5.0.1 @@ -130,7 +130,7 @@ importers: version: 1.2.0 vite: specifier: 4.4.7 - version: 4.4.7(@types/node@18.17.0) + version: 4.4.7(@types/node@18.17.1) vitest: specifier: 0.33.0 version: 0.33.0(happy-dom@10.5.2) @@ -142,13 +142,13 @@ importers: version: 3.3.4 vue-eslint-parser: specifier: 9.3.1 - version: 9.3.1(eslint@8.45.0) + version: 9.3.1(eslint@8.46.0) vue-router: specifier: 4.2.4 version: 4.2.4(vue@3.3.4) vue-tsc: - specifier: 1.8.6 - version: 1.8.6(typescript@5.1.6) + specifier: 1.8.8 + version: 1.8.8(typescript@5.1.6) packages/kit: dependencies: @@ -224,7 +224,7 @@ importers: version: 1.2.1 vite: specifier: 4.4.7 - version: 4.4.7(@types/node@18.17.0) + version: 4.4.7(@types/node@18.17.1) vitest: specifier: 0.33.0 version: 0.33.0(happy-dom@10.5.2) @@ -284,8 +284,8 @@ importers: specifier: 2.0.0 version: 2.0.0 execa: - specifier: 7.1.1 - version: 7.1.1 + specifier: 7.2.0 + version: 7.2.0 flat: specifier: 5.0.2 version: 5.0.2 @@ -347,20 +347,20 @@ importers: specifier: ^2.3.2 version: 2.3.2 '@nuxt/ui-templates': - specifier: ^1.2.1 - version: 1.2.1 + specifier: ^1.3.1 + version: 1.3.1 '@nuxt/vite-builder': specifier: workspace:* version: link:../vite '@types/node': specifier: ^14.18.0 || >=16.10.0 - version: 18.17.0 + version: 18.17.1 '@unhead/ssr': - specifier: ^1.1.32 - version: 1.1.32 + specifier: ^1.1.33 + version: 1.1.33 '@unhead/vue': - specifier: ^1.1.32 - version: 1.1.32(vue@3.3.4) + specifier: ^1.1.33 + version: 1.1.33(vue@3.3.4) '@vue/shared': specifier: ^3.3.4 version: 3.3.4 @@ -386,8 +386,8 @@ importers: specifier: ^4.3.2 version: 4.3.2 esbuild: - specifier: ^0.18.16 - version: 0.18.16 + specifier: ^0.18.17 + version: 0.18.17 escape-string-regexp: specifier: ^5.0.0 version: 5.0.0 @@ -419,8 +419,8 @@ importers: specifier: ^0.4.3 version: 0.4.3 magic-string: - specifier: ^0.30.1 - version: 0.30.1 + specifier: ^0.30.2 + version: 0.30.2 mlly: specifier: ^1.4.0 version: 1.4.0 @@ -514,7 +514,7 @@ importers: version: 1.2.1 vite: specifier: 4.4.7 - version: 4.4.7(@types/node@18.17.0) + version: 4.4.7(@types/node@18.17.1) vitest: specifier: 0.33.0 version: 0.33.0(happy-dom@10.5.2) @@ -522,8 +522,8 @@ importers: packages/schema: dependencies: '@nuxt/ui-templates': - specifier: ^1.2.1 - version: 1.2.1 + specifier: ^1.3.1 + version: 1.3.1 defu: specifier: ^6.1.2 version: 6.1.2 @@ -565,8 +565,8 @@ importers: specifier: 8.0.5 version: 8.0.5 '@unhead/schema': - specifier: 1.1.32 - version: 1.1.32 + specifier: 1.1.33 + version: 1.1.33 '@vitejs/plugin-vue': specifier: 4.2.3 version: 4.2.3(vite@4.4.7)(vue@3.3.4) @@ -596,7 +596,7 @@ importers: version: 2.3.1 vite: specifier: 4.4.7 - version: 4.4.7(@types/node@18.17.0) + version: 4.4.7(@types/node@18.17.1) vue: specifier: 3.3.4 version: 3.3.4 @@ -631,8 +631,8 @@ importers: specifier: ^6.1.2 version: 6.1.2 execa: - specifier: ^7.1.1 - version: 7.1.1 + specifier: ^7.2.0 + version: 7.2.0 get-port-please: specifier: ^3.0.1 version: 3.0.1 @@ -650,11 +650,11 @@ importers: version: 3.3.4 devDependencies: '@jest/globals': - specifier: 29.6.1 - version: 29.6.1 + specifier: 29.6.2 + version: 29.6.2 playwright-core: - specifier: 1.36.1 - version: 1.36.1 + specifier: 1.36.2 + version: 1.36.2 unbuild: specifier: latest version: 1.2.1 @@ -692,8 +692,8 @@ importers: specifier: ^6.1.2 version: 6.1.2 esbuild: - specifier: ^0.18.16 - version: 0.18.16 + specifier: ^0.18.17 + version: 0.18.17 escape-string-regexp: specifier: ^5.0.0 version: 5.0.0 @@ -716,8 +716,8 @@ importers: specifier: ^1.0.0 version: 1.0.0 magic-string: - specifier: ^0.30.1 - version: 0.30.1 + specifier: ^0.30.2 + version: 0.30.2 mlly: specifier: ^1.4.0 version: 1.4.0 @@ -759,13 +759,13 @@ importers: version: 1.4.0 vite: specifier: 4.4.7 - version: 4.4.7(@types/node@18.17.0) + version: 4.4.7(@types/node@18.17.1) vite-node: specifier: ^0.33.0 - version: 0.33.0(@types/node@18.17.0) + version: 0.33.0(@types/node@18.17.1) vite-plugin-checker: specifier: ^0.6.1 - version: 0.6.1(eslint@8.45.0)(typescript@5.1.6)(vite@4.4.7)(vue-tsc@1.8.6) + version: 0.6.1(eslint@8.46.0)(typescript@5.1.6)(vite@4.4.7)(vue-tsc@1.8.8) vue-bundle-renderer: specifier: ^1.0.3 version: 1.0.3 @@ -840,8 +840,8 @@ importers: specifier: ^4.17.21 version: 4.17.21 magic-string: - specifier: ^0.30.1 - version: 0.30.1 + specifier: ^0.30.2 + version: 0.30.2 memfs: specifier: ^4.2.0 version: 4.2.0(quill-delta@5.1.0)(rxjs@7.8.1)(tslib@2.6.1) @@ -1446,8 +1446,8 @@ packages: requiresBuild: true optional: true - /@esbuild/android-arm64@0.18.16: - resolution: {integrity: sha512-wsCqSPqLz+6Ov+OM4EthU43DyYVVyfn15S4j1bJzylDpc1r1jZFFfJQNfDuT8SlgwuqpmpJXK4uPlHGw6ve7eA==} + /@esbuild/android-arm64@0.18.17: + resolution: {integrity: sha512-9np+YYdNDed5+Jgr1TdWBsozZ85U1Oa3xW0c7TWqH0y2aGghXtZsuT8nYRbzOMcl0bXZXjOGbksoTtVOlWrRZg==} engines: {node: '>=12'} cpu: [arm64] os: [android] @@ -1462,8 +1462,8 @@ packages: requiresBuild: true optional: true - /@esbuild/android-arm@0.18.16: - resolution: {integrity: sha512-gCHjjQmA8L0soklKbLKA6pgsLk1byULuHe94lkZDzcO3/Ta+bbeewJioEn1Fr7kgy9NWNFy/C+MrBwC6I/WCug==} + /@esbuild/android-arm@0.18.17: + resolution: {integrity: sha512-wHsmJG/dnL3OkpAcwbgoBTTMHVi4Uyou3F5mf58ZtmUyIKfcdA7TROav/6tCzET4A3QW2Q2FC+eFneMU+iyOxg==} engines: {node: '>=12'} cpu: [arm] os: [android] @@ -1478,8 +1478,8 @@ packages: requiresBuild: true optional: true - /@esbuild/android-x64@0.18.16: - resolution: {integrity: sha512-ldsTXolyA3eTQ1//4DS+E15xl0H/3DTRJaRL0/0PgkqDsI0fV/FlOtD+h0u/AUJr+eOTlZv4aC9gvfppo3C4sw==} + /@esbuild/android-x64@0.18.17: + resolution: {integrity: sha512-O+FeWB/+xya0aLg23hHEM2E3hbfwZzjqumKMSIqcHbNvDa+dza2D0yLuymRBQQnC34CWrsJUXyH2MG5VnLd6uw==} engines: {node: '>=12'} cpu: [x64] os: [android] @@ -1494,8 +1494,8 @@ packages: requiresBuild: true optional: true - /@esbuild/darwin-arm64@0.18.16: - resolution: {integrity: sha512-aBxruWCII+OtluORR/KvisEw0ALuw/qDQWvkoosA+c/ngC/Kwk0lLaZ+B++LLS481/VdydB2u6tYpWxUfnLAIw==} + /@esbuild/darwin-arm64@0.18.17: + resolution: {integrity: sha512-M9uJ9VSB1oli2BE/dJs3zVr9kcCBBsE883prage1NWz6pBS++1oNn/7soPNS3+1DGj0FrkSvnED4Bmlu1VAE9g==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] @@ -1510,8 +1510,8 @@ packages: requiresBuild: true optional: true - /@esbuild/darwin-x64@0.18.16: - resolution: {integrity: sha512-6w4Dbue280+rp3LnkgmriS1icOUZDyPuZo/9VsuMUTns7SYEiOaJ7Ca1cbhu9KVObAWfmdjUl4gwy9TIgiO5eA==} + /@esbuild/darwin-x64@0.18.17: + resolution: {integrity: sha512-XDre+J5YeIJDMfp3n0279DFNrGCXlxOuGsWIkRb1NThMZ0BsrWXoTg23Jer7fEXQ9Ye5QjrvXpxnhzl3bHtk0g==} engines: {node: '>=12'} cpu: [x64] os: [darwin] @@ -1526,8 +1526,8 @@ packages: requiresBuild: true optional: true - /@esbuild/freebsd-arm64@0.18.16: - resolution: {integrity: sha512-x35fCebhe9s979DGKbVAwXUOcTmCIE32AIqB9CB1GralMIvxdnMLAw5CnID17ipEw9/3MvDsusj/cspYt2ZLNQ==} + /@esbuild/freebsd-arm64@0.18.17: + resolution: {integrity: sha512-cjTzGa3QlNfERa0+ptykyxs5A6FEUQQF0MuilYXYBGdBxD3vxJcKnzDlhDCa1VAJCmAxed6mYhA2KaJIbtiNuQ==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] @@ -1542,8 +1542,8 @@ packages: requiresBuild: true optional: true - /@esbuild/freebsd-x64@0.18.16: - resolution: {integrity: sha512-YM98f+PeNXF3GbxIJlUsj+McUWG1irguBHkszCIwfr3BXtXZsXo0vqybjUDFfu9a8Wr7uUD/YSmHib+EeGAFlg==} + /@esbuild/freebsd-x64@0.18.17: + resolution: {integrity: sha512-sOxEvR8d7V7Kw8QqzxWc7bFfnWnGdaFBut1dRUYtu+EIRXefBc/eIsiUiShnW0hM3FmQ5Zf27suDuHsKgZ5QrA==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] @@ -1558,8 +1558,8 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-arm64@0.18.16: - resolution: {integrity: sha512-XIqhNUxJiuy+zsR77+H5Z2f7s4YRlriSJKtvx99nJuG5ATuJPjmZ9n0ANgnGlPCpXGSReFpgcJ7O3SMtzIFeiQ==} + /@esbuild/linux-arm64@0.18.17: + resolution: {integrity: sha512-c9w3tE7qA3CYWjT+M3BMbwMt+0JYOp3vCMKgVBrCl1nwjAlOMYzEo+gG7QaZ9AtqZFj5MbUc885wuBBmu6aADQ==} engines: {node: '>=12'} cpu: [arm64] os: [linux] @@ -1574,8 +1574,8 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-arm@0.18.16: - resolution: {integrity: sha512-b5ABb+5Ha2C9JkeZXV+b+OruR1tJ33ePmv9ZwMeETSEKlmu/WJ45XTTG+l6a2KDsQtJJ66qo/hbSGBtk0XVLHw==} + /@esbuild/linux-arm@0.18.17: + resolution: {integrity: sha512-2d3Lw6wkwgSLC2fIvXKoMNGVaeY8qdN0IC3rfuVxJp89CRfA3e3VqWifGDfuakPmp90+ZirmTfye1n4ncjv2lg==} engines: {node: '>=12'} cpu: [arm] os: [linux] @@ -1590,8 +1590,8 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-ia32@0.18.16: - resolution: {integrity: sha512-no+pfEpwnRvIyH+txbBAWtjxPU9grslmTBfsmDndj7bnBmr55rOo/PfQmRfz7Qg9isswt1FP5hBbWb23fRWnow==} + /@esbuild/linux-ia32@0.18.17: + resolution: {integrity: sha512-1DS9F966pn5pPnqXYz16dQqWIB0dmDfAQZd6jSSpiT9eX1NzKh07J6VKR3AoXXXEk6CqZMojiVDSZi1SlmKVdg==} engines: {node: '>=12'} cpu: [ia32] os: [linux] @@ -1606,8 +1606,8 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-loong64@0.18.16: - resolution: {integrity: sha512-Zbnczs9ZXjmo0oZSS0zbNlJbcwKXa/fcNhYQjahDs4Xg18UumpXG/lwM2lcSvHS3mTrRyCYZvJbmzYc4laRI1g==} + /@esbuild/linux-loong64@0.18.17: + resolution: {integrity: sha512-EvLsxCk6ZF0fpCB6w6eOI2Fc8KW5N6sHlIovNe8uOFObL2O+Mr0bflPHyHwLT6rwMg9r77WOAWb2FqCQrVnwFg==} engines: {node: '>=12'} cpu: [loong64] os: [linux] @@ -1622,8 +1622,8 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-mips64el@0.18.16: - resolution: {integrity: sha512-YMF7hih1HVR/hQVa/ot4UVffc5ZlrzEb3k2ip0nZr1w6fnYypll9td2qcoMLvd3o8j3y6EbJM3MyIcXIVzXvQQ==} + /@esbuild/linux-mips64el@0.18.17: + resolution: {integrity: sha512-e0bIdHA5p6l+lwqTE36NAW5hHtw2tNRmHlGBygZC14QObsA3bD4C6sXLJjvnDIjSKhW1/0S3eDy+QmX/uZWEYQ==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] @@ -1638,8 +1638,8 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-ppc64@0.18.16: - resolution: {integrity: sha512-Wkz++LZ29lDwUyTSEnzDaaP5OveOgTU69q9IyIw9WqLRxM4BjTBjz9un4G6TOvehWpf/J3gYVFN96TjGHrbcNQ==} + /@esbuild/linux-ppc64@0.18.17: + resolution: {integrity: sha512-BAAilJ0M5O2uMxHYGjFKn4nJKF6fNCdP1E0o5t5fvMYYzeIqy2JdAP88Az5LHt9qBoUa4tDaRpfWt21ep5/WqQ==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] @@ -1654,8 +1654,8 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-riscv64@0.18.16: - resolution: {integrity: sha512-LFMKZ30tk78/mUv1ygvIP+568bwf4oN6reG/uczXnz6SvFn4e2QUFpUpZY9iSJT6Qpgstrhef/nMykIXZtZWGQ==} + /@esbuild/linux-riscv64@0.18.17: + resolution: {integrity: sha512-Wh/HW2MPnC3b8BqRSIme/9Zhab36PPH+3zam5pqGRH4pE+4xTrVLx2+XdGp6fVS3L2x+DrsIcsbMleex8fbE6g==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] @@ -1670,8 +1670,8 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-s390x@0.18.16: - resolution: {integrity: sha512-3ZC0BgyYHYKfZo3AV2/66TD/I9tlSBaW7eWTEIkrQQKfJIifKMMttXl9FrAg+UT0SGYsCRLI35Gwdmm96vlOjg==} + /@esbuild/linux-s390x@0.18.17: + resolution: {integrity: sha512-j/34jAl3ul3PNcK3pfI0NSlBANduT2UO5kZ7FCaK33XFv3chDhICLY8wJJWIhiQ+YNdQ9dxqQctRg2bvrMlYgg==} engines: {node: '>=12'} cpu: [s390x] os: [linux] @@ -1686,8 +1686,8 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-x64@0.18.16: - resolution: {integrity: sha512-xu86B3647DihHJHv/wx3NCz2Dg1gjQ8bbf9cVYZzWKY+gsvxYmn/lnVlqDRazObc3UMwoHpUhNYaZset4X8IPA==} + /@esbuild/linux-x64@0.18.17: + resolution: {integrity: sha512-QM50vJ/y+8I60qEmFxMoxIx4de03pGo2HwxdBeFd4nMh364X6TIBZ6VQ5UQmPbQWUVWHWws5MmJXlHAXvJEmpQ==} engines: {node: '>=12'} cpu: [x64] os: [linux] @@ -1702,8 +1702,8 @@ packages: requiresBuild: true optional: true - /@esbuild/netbsd-x64@0.18.16: - resolution: {integrity: sha512-uVAgpimx9Ffw3xowtg/7qQPwHFx94yCje+DoBx+LNm2ePDpQXHrzE+Sb0Si2VBObYz+LcRps15cq+95YM7gkUw==} + /@esbuild/netbsd-x64@0.18.17: + resolution: {integrity: sha512-/jGlhWR7Sj9JPZHzXyyMZ1RFMkNPjC6QIAan0sDOtIo2TYk3tZn5UDrkE0XgsTQCxWTTOcMPf9p6Rh2hXtl5TQ==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] @@ -1718,8 +1718,8 @@ packages: requiresBuild: true optional: true - /@esbuild/openbsd-x64@0.18.16: - resolution: {integrity: sha512-6OjCQM9wf7z8/MBi6BOWaTL2AS/SZudsZtBziXMtNI8r/U41AxS9x7jn0ATOwVy08OotwkPqGRMkpPR2wcTJXA==} + /@esbuild/openbsd-x64@0.18.17: + resolution: {integrity: sha512-rSEeYaGgyGGf4qZM2NonMhMOP/5EHp4u9ehFiBrg7stH6BYEEjlkVREuDEcQ0LfIl53OXLxNbfuIj7mr5m29TA==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] @@ -1734,8 +1734,8 @@ packages: requiresBuild: true optional: true - /@esbuild/sunos-x64@0.18.16: - resolution: {integrity: sha512-ZoNkruFYJp9d1LbUYCh8awgQDvB9uOMZqlQ+gGEZR7v6C+N6u7vPr86c+Chih8niBR81Q/bHOSKGBK3brJyvkQ==} + /@esbuild/sunos-x64@0.18.17: + resolution: {integrity: sha512-Y7ZBbkLqlSgn4+zot4KUNYst0bFoO68tRgI6mY2FIM+b7ZbyNVtNbDP5y8qlu4/knZZ73fgJDlXID+ohY5zt5g==} engines: {node: '>=12'} cpu: [x64] os: [sunos] @@ -1750,8 +1750,8 @@ packages: requiresBuild: true optional: true - /@esbuild/win32-arm64@0.18.16: - resolution: {integrity: sha512-+j4anzQ9hrs+iqO+/wa8UE6TVkKua1pXUb0XWFOx0FiAj6R9INJ+WE//1/Xo6FG1vB5EpH3ko+XcgwiDXTxcdw==} + /@esbuild/win32-arm64@0.18.17: + resolution: {integrity: sha512-bwPmTJsEQcbZk26oYpc4c/8PvTY3J5/QK8jM19DVlEsAB41M39aWovWoHtNm78sd6ip6prilxeHosPADXtEJFw==} engines: {node: '>=12'} cpu: [arm64] os: [win32] @@ -1766,8 +1766,8 @@ packages: requiresBuild: true optional: true - /@esbuild/win32-ia32@0.18.16: - resolution: {integrity: sha512-5PFPmq3sSKTp9cT9dzvI67WNfRZGvEVctcZa1KGjDDu4n3H8k59Inbk0du1fz0KrAbKKNpJbdFXQMDUz7BG4rQ==} + /@esbuild/win32-ia32@0.18.17: + resolution: {integrity: sha512-H/XaPtPKli2MhW+3CQueo6Ni3Avggi6hP/YvgkEe1aSaxw+AeO8MFjq8DlgfTd9Iz4Yih3QCZI6YLMoyccnPRg==} engines: {node: '>=12'} cpu: [ia32] os: [win32] @@ -1782,34 +1782,34 @@ packages: requiresBuild: true optional: true - /@esbuild/win32-x64@0.18.16: - resolution: {integrity: sha512-sCIVrrtcWN5Ua7jYXNG1xD199IalrbfV2+0k/2Zf2OyV2FtnQnMgdzgpRAbi4AWlKJj1jkX+M+fEGPQj6BQB4w==} + /@esbuild/win32-x64@0.18.17: + resolution: {integrity: sha512-fGEb8f2BSA3CW7riJVurug65ACLuQAzKq0SSqkY2b2yHHH0MzDfbLyKIGzHwOI/gkHcxM/leuSW6D5w/LMNitA==} engines: {node: '>=12'} cpu: [x64] os: [win32] requiresBuild: true optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.45.0): + /@eslint-community/eslint-utils@4.4.0(eslint@8.46.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 8.45.0 - eslint-visitor-keys: 3.4.1 + eslint: 8.46.0 + eslint-visitor-keys: 3.4.2 - /@eslint-community/regexpp@4.5.1: - resolution: {integrity: sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==} + /@eslint-community/regexpp@4.6.2: + resolution: {integrity: sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - /@eslint/eslintrc@2.1.0: - resolution: {integrity: sha512-Lj7DECXqIVCqnqjjHMPna4vn6GJcMgul/wuS0je9OZ9gsL0zzDpKPVtcG1HaDVc+9y+qgXneTeUMbCqXJNpH1A==} + /@eslint/eslintrc@2.1.1: + resolution: {integrity: sha512-9t7ZA7NGGK8ckelF0PQCfcxIUzs1Md5rrO6U/c+FIQNanea5UZC0wqKXH4vHBccmu4ZJgZ2idtPeW7+Q2npOEA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 debug: 4.3.4 - espree: 9.6.0 + espree: 9.6.1 globals: 13.20.0 ignore: 5.2.4 import-fresh: 3.3.0 @@ -1819,8 +1819,8 @@ packages: transitivePeerDependencies: - supports-color - /@eslint/js@8.44.0: - resolution: {integrity: sha512-Ag+9YM4ocKQx9AarydN0KY2j0ErMHNIocPDrVo8zAE44xLTjEtz81OdR68/cydGtk6m6jDb5Za3r2useMzYmSw==} + /@eslint/js@8.46.0: + resolution: {integrity: sha512-a8TLtmPi8xzPkCbp/OGFUo5yhRkHM2Ko9kOWP4znJr0WAhWyThaw3PnwX4vOTWOAMsV2uRt32PPDcEz63esSaA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} /@humanwhocodes/config-array@0.11.10: @@ -1871,53 +1871,53 @@ packages: engines: {node: '>=8'} dev: true - /@jest/environment@29.6.1: - resolution: {integrity: sha512-RMMXx4ws+Gbvw3DfLSuo2cfQlK7IwGbpuEWXCqyYDcqYTI+9Ju3a5hDnXaxjNsa6uKh9PQF2v+qg+RLe63tz5A==} + /@jest/environment@29.6.2: + resolution: {integrity: sha512-AEcW43C7huGd/vogTddNNTDRpO6vQ2zaQNrttvWV18ArBx9Z56h7BIsXkNFJVOO4/kblWEQz30ckw0+L3izc+Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/fake-timers': 29.6.1 + '@jest/fake-timers': 29.6.2 '@jest/types': 29.6.1 - '@types/node': 18.17.0 - jest-mock: 29.6.1 + '@types/node': 18.17.1 + jest-mock: 29.6.2 dev: true - /@jest/expect-utils@29.6.1: - resolution: {integrity: sha512-o319vIf5pEMx0LmzSxxkYYxo4wrRLKHq9dP1yJU7FoPTB0LfAKSz8SWD6D/6U3v/O52t9cF5t+MeJiRsfk7zMw==} + /@jest/expect-utils@29.6.2: + resolution: {integrity: sha512-6zIhM8go3RV2IG4aIZaZbxwpOzz3ZiM23oxAlkquOIole+G6TrbeXnykxWYlqF7kz2HlBjdKtca20x9atkEQYg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: jest-get-type: 29.4.3 dev: true - /@jest/expect@29.6.1: - resolution: {integrity: sha512-N5xlPrAYaRNyFgVf2s9Uyyvr795jnB6rObuPx4QFvNJz8aAjpZUDfO4bh5G/xuplMID8PrnuF1+SfSyDxhsgYg==} + /@jest/expect@29.6.2: + resolution: {integrity: sha512-m6DrEJxVKjkELTVAztTLyS/7C92Y2b0VYqmDROYKLLALHn8T/04yPs70NADUYPrV3ruI+H3J0iUIuhkjp7vkfg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - expect: 29.6.1 - jest-snapshot: 29.6.1 + expect: 29.6.2 + jest-snapshot: 29.6.2 transitivePeerDependencies: - supports-color dev: true - /@jest/fake-timers@29.6.1: - resolution: {integrity: sha512-RdgHgbXyosCDMVYmj7lLpUwXA4c69vcNzhrt69dJJdf8azUrpRh3ckFCaTPNjsEeRi27Cig0oKDGxy5j7hOgHg==} + /@jest/fake-timers@29.6.2: + resolution: {integrity: sha512-euZDmIlWjm1Z0lJ1D0f7a0/y5Kh/koLFMUBE5SUYWrmy8oNhJpbTBDAP6CxKnadcMLDoDf4waRYCe35cH6G6PA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.1 '@sinonjs/fake-timers': 10.0.2 - '@types/node': 18.17.0 - jest-message-util: 29.6.1 - jest-mock: 29.6.1 - jest-util: 29.6.1 + '@types/node': 18.17.1 + jest-message-util: 29.6.2 + jest-mock: 29.6.2 + jest-util: 29.6.2 dev: true - /@jest/globals@29.6.1: - resolution: {integrity: sha512-2VjpaGy78JY9n9370H8zGRCFbYVWwjY6RdDMhoJHa1sYfwe6XM/azGN0SjY8kk7BOZApIejQ1BFPyH7FPG0w3A==} + /@jest/globals@29.6.2: + resolution: {integrity: sha512-cjuJmNDjs6aMijCmSa1g2TNG4Lby/AeU7/02VtpW+SLcZXzOLK2GpN2nLqcFjmhy3B3AoPeQVx7BnyOf681bAw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/environment': 29.6.1 - '@jest/expect': 29.6.1 + '@jest/environment': 29.6.2 + '@jest/expect': 29.6.2 '@jest/types': 29.6.1 - jest-mock: 29.6.1 + jest-mock: 29.6.2 transitivePeerDependencies: - supports-color dev: true @@ -1928,8 +1928,8 @@ packages: dependencies: '@sinclair/typebox': 0.27.8 - /@jest/transform@29.6.1: - resolution: {integrity: sha512-URnTneIU3ZjRSaf906cvf6Hpox3hIeJXRnz3VDSw5/X93gR8ycdfSIEy19FlVx8NFmpN7fe3Gb1xF+NjXaQLWg==} + /@jest/transform@29.6.2: + resolution: {integrity: sha512-ZqCqEISr58Ce3U+buNFJYUktLJZOggfyvR+bZMaiV1e8B1SIvJbwZMrYz3gx/KAPn9EXmOmN+uB08yLCjWkQQg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@babel/core': 7.22.9 @@ -1940,9 +1940,9 @@ packages: convert-source-map: 2.0.0 fast-json-stable-stringify: 2.1.0 graceful-fs: 4.2.11 - jest-haste-map: 29.6.1 + jest-haste-map: 29.6.2 jest-regex-util: 29.4.3 - jest-util: 29.6.1 + jest-util: 29.6.2 micromatch: 4.0.5 pirates: 4.0.5 slash: 3.0.0 @@ -1958,7 +1958,7 @@ packages: '@jest/schemas': 29.6.0 '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 18.17.0 + '@types/node': 18.17.1 '@types/yargs': 17.0.22 chalk: 4.1.2 @@ -2078,22 +2078,22 @@ packages: rc9: 2.1.1 std-env: 3.3.3 - /@nuxt/ui-templates@1.2.1: - resolution: {integrity: sha512-Nt1nTkPsji/X8z/BCqUgb8uADs+kT0FZboVDwyCdMlCgjEQKrAZUlunKXGywa6ssz4/RohGmvuB1cFre6dSKXQ==} + /@nuxt/ui-templates@1.3.1: + resolution: {integrity: sha512-5gc02Pu1HycOVUWJ8aYsWeeXcSTPe8iX8+KIrhyEtEoOSkY0eMBuo0ssljB8wALuEmepv31DlYe5gpiRwkjESA==} dev: false - /@nuxtjs/eslint-config-typescript@12.0.0(eslint@8.45.0)(typescript@5.1.6): + /@nuxtjs/eslint-config-typescript@12.0.0(eslint@8.46.0)(typescript@5.1.6): resolution: {integrity: sha512-HJR0ho5MYuOCFjkL+eMX/VXbUwy36J12DUMVy+dj3Qz1GYHwX92Saxap3urFzr8oPkzzFiuOknDivfCeRBWakg==} peerDependencies: eslint: ^8.23.0 dependencies: - '@nuxtjs/eslint-config': 12.0.0(@typescript-eslint/parser@5.59.9)(eslint-import-resolver-typescript@3.5.5)(eslint@8.45.0) - '@typescript-eslint/eslint-plugin': 5.59.9(@typescript-eslint/parser@5.59.9)(eslint@8.45.0)(typescript@5.1.6) - '@typescript-eslint/parser': 5.59.9(eslint@8.45.0)(typescript@5.1.6) - eslint: 8.45.0 - eslint-import-resolver-typescript: 3.5.5(@typescript-eslint/parser@5.59.9)(eslint-plugin-import@2.27.5)(eslint@8.45.0) - eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.59.9)(eslint-import-resolver-typescript@3.5.5)(eslint@8.45.0) - eslint-plugin-vue: 9.14.0(eslint@8.45.0) + '@nuxtjs/eslint-config': 12.0.0(@typescript-eslint/parser@5.59.9)(eslint-import-resolver-typescript@3.5.5)(eslint@8.46.0) + '@typescript-eslint/eslint-plugin': 5.59.9(@typescript-eslint/parser@5.59.9)(eslint@8.46.0)(typescript@5.1.6) + '@typescript-eslint/parser': 5.59.9(eslint@8.46.0)(typescript@5.1.6) + eslint: 8.46.0 + eslint-import-resolver-typescript: 3.5.5(@typescript-eslint/parser@5.59.9)(eslint-plugin-import@2.28.0)(eslint@8.46.0) + eslint-plugin-import: 2.28.0(@typescript-eslint/parser@5.59.9)(eslint-import-resolver-typescript@3.5.5)(eslint@8.46.0) + eslint-plugin-vue: 9.14.0(eslint@8.46.0) transitivePeerDependencies: - eslint-import-resolver-node - eslint-import-resolver-webpack @@ -2101,19 +2101,19 @@ packages: - typescript dev: true - /@nuxtjs/eslint-config@12.0.0(@typescript-eslint/parser@5.59.9)(eslint-import-resolver-typescript@3.5.5)(eslint@8.45.0): + /@nuxtjs/eslint-config@12.0.0(@typescript-eslint/parser@5.59.9)(eslint-import-resolver-typescript@3.5.5)(eslint@8.46.0): resolution: {integrity: sha512-ewenelo75x0eYEUK+9EBXjc/OopQCvdkmYmlZuoHq5kub/vtiRpyZ/autppwokpHUq8tiVyl2ejMakoiHiDTrg==} peerDependencies: eslint: ^8.23.0 dependencies: - eslint: 8.45.0 - eslint-config-standard: 17.0.0(eslint-plugin-import@2.27.5)(eslint-plugin-n@15.7.0)(eslint-plugin-promise@6.1.1)(eslint@8.45.0) - eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.59.9)(eslint-import-resolver-typescript@3.5.5)(eslint@8.45.0) - eslint-plugin-n: 15.7.0(eslint@8.45.0) - eslint-plugin-node: 11.1.0(eslint@8.45.0) - eslint-plugin-promise: 6.1.1(eslint@8.45.0) - eslint-plugin-unicorn: 44.0.2(eslint@8.45.0) - eslint-plugin-vue: 9.14.0(eslint@8.45.0) + eslint: 8.46.0 + eslint-config-standard: 17.0.0(eslint-plugin-import@2.28.0)(eslint-plugin-n@15.7.0)(eslint-plugin-promise@6.1.1)(eslint@8.46.0) + eslint-plugin-import: 2.28.0(@typescript-eslint/parser@5.59.9)(eslint-import-resolver-typescript@3.5.5)(eslint@8.46.0) + eslint-plugin-n: 15.7.0(eslint@8.46.0) + eslint-plugin-node: 11.1.0(eslint@8.46.0) + eslint-plugin-promise: 6.1.1(eslint@8.46.0) + eslint-plugin-unicorn: 44.0.2(eslint@8.46.0) + eslint-plugin-vue: 9.14.0(eslint@8.46.0) local-pkg: 0.4.3 transitivePeerDependencies: - '@typescript-eslint/parser' @@ -2281,7 +2281,7 @@ packages: estree-walker: 2.0.2 glob: 8.1.0 is-reference: 1.2.1 - magic-string: 0.30.1 + magic-string: 0.30.2 rollup: 3.26.3 dev: true @@ -2299,7 +2299,7 @@ packages: estree-walker: 2.0.2 glob: 8.1.0 is-reference: 1.2.1 - magic-string: 0.30.1 + magic-string: 0.30.2 rollup: 3.26.3 /@rollup/plugin-inject@5.0.3(rollup@3.26.3): @@ -2313,7 +2313,7 @@ packages: dependencies: '@rollup/pluginutils': 5.0.2(rollup@3.26.3) estree-walker: 2.0.2 - magic-string: 0.30.1 + magic-string: 0.30.2 rollup: 3.26.3 /@rollup/plugin-json@6.0.0(rollup@3.26.3): @@ -2355,7 +2355,7 @@ packages: optional: true dependencies: '@rollup/pluginutils': 5.0.2(rollup@3.26.3) - magic-string: 0.30.1 + magic-string: 0.30.2 rollup: 3.26.3 /@rollup/plugin-terser@0.4.3(rollup@3.26.3): @@ -2441,7 +2441,7 @@ packages: /@types/connect@3.4.35: resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} dependencies: - '@types/node': 18.17.0 + '@types/node': 18.17.1 dev: true /@types/eslint-scope@3.7.4: @@ -2473,13 +2473,13 @@ packages: resolution: {integrity: sha512-MxObHvNl4A69ofaTRU8DFqvgzzv8s9yRtaPPm5gud9HDNvpB3GPQFvNuTWAI59B9huVGV5jXYJwbCsmBsOGYWA==} dependencies: '@types/jsonfile': 6.1.1 - '@types/node': 18.17.0 + '@types/node': 18.17.1 dev: true /@types/graceful-fs@4.1.6: resolution: {integrity: sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==} dependencies: - '@types/node': 18.17.0 + '@types/node': 18.17.1 dev: true /@types/hash-sum@1.0.0: @@ -2489,7 +2489,7 @@ packages: /@types/http-proxy@1.17.11: resolution: {integrity: sha512-HC8G7c1WmaF2ekqpnFq626xd3Zz0uvaqFmBJNRZCGEZCXkvSdJoNFn/8Ygbd9fKNQj8UzLdCETaI0UWPAjK7IA==} dependencies: - '@types/node': 18.17.0 + '@types/node': 18.17.1 /@types/istanbul-lib-coverage@2.0.4: resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} @@ -2514,7 +2514,7 @@ packages: /@types/jsonfile@6.1.1: resolution: {integrity: sha512-GSgiRCVeapDN+3pqA35IkQwasaCh/0YFH5dEF6S88iDvEn901DjOeH3/QPY+XYP1DFzDZPvIvfeEgk+7br5png==} dependencies: - '@types/node': 18.17.0 + '@types/node': 18.17.1 dev: true /@types/lodash-es@4.17.8: @@ -2534,11 +2534,11 @@ packages: /@types/node-sass@4.11.3: resolution: {integrity: sha512-wXPCn3t9uu5rR4zXNSLasZHQMuRzUKBsdi4MsgT8uq4Lp1gQQo+T2G23tGj4SSgDHeNBle6vGseZtM2XV/X9bw==} dependencies: - '@types/node': 18.17.0 + '@types/node': 18.17.1 dev: true - /@types/node@18.17.0: - resolution: {integrity: sha512-GXZxEtOxYGFchyUzxvKI14iff9KZ2DI+A6a37o6EQevtg6uO9t+aUZKcaC1Te5Ng1OnLM7K9NVVj+FbecD9cJg==} + /@types/node@18.17.1: + resolution: {integrity: sha512-xlR1jahfizdplZYRU59JlUx9uzF1ARa8jbhM11ccpCJya8kvos5jwdm2ZAgxSCwOl0fq21svP18EVwPBXMQudw==} /@types/normalize-package-data@2.4.1: resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} @@ -2552,14 +2552,10 @@ packages: resolution: {integrity: sha512-UYcJBAqWLyg+eITXGIu9DR7RXJFvSupz+Hf+RqJYHzDJedvDMTsB1JmDV6Qfna2g62VIxUKvoWqTxGHy6U/bLA==} dev: true - /@types/prettier@2.7.2: - resolution: {integrity: sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==} - dev: true - /@types/prompts@2.4.4: resolution: {integrity: sha512-p5N9uoTH76lLvSAaYSZtBCdEXzpOOufsRjnhjVSrZGXikVGHX9+cc9ERtHRV4hvBKHyZb1bg4K+56Bd2TqUn4A==} dependencies: - '@types/node': 18.17.0 + '@types/node': 18.17.1 kleur: 3.0.3 dev: true @@ -2573,7 +2569,7 @@ packages: /@types/sass-loader@8.0.5: resolution: {integrity: sha512-3b3lQ+UwWanaPBzOcP1YeNTR4q0Klt2UEezhdIjDXkTnQ93F+fnv+z1tMsQBAopY0b+c5ATN5pHQ+vfzxaRnFg==} dependencies: - '@types/node': 18.17.0 + '@types/node': 18.17.1 '@types/node-sass': 4.11.3 '@types/webpack': 4.41.33 sass: 1.62.1 @@ -2604,7 +2600,7 @@ packages: /@types/webpack-bundle-analyzer@4.6.0: resolution: {integrity: sha512-XeQmQCCXdZdap+A/60UKmxW5Mz31Vp9uieGlHB3T4z/o2OLVLtTI3bvTuS6A2OWd/rbAAQiGGWIEFQACu16szA==} dependencies: - '@types/node': 18.17.0 + '@types/node': 18.17.1 tapable: 2.2.1 webpack: 5.88.2 transitivePeerDependencies: @@ -2630,7 +2626,7 @@ packages: /@types/webpack-sources@3.2.0: resolution: {integrity: sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg==} dependencies: - '@types/node': 18.17.0 + '@types/node': 18.17.1 '@types/source-list-map': 0.1.2 source-map: 0.7.4 dev: true @@ -2644,7 +2640,7 @@ packages: /@types/webpack@4.41.33: resolution: {integrity: sha512-PPajH64Ft2vWevkerISMtnZ8rTs4YmRbs+23c402J0INmxDKCrhZNvwZYtzx96gY2wAtXdrK1BS2fiC8MlLr3g==} dependencies: - '@types/node': 18.17.0 + '@types/node': 18.17.1 '@types/tapable': 1.0.8 '@types/uglify-js': 3.17.1 '@types/webpack-sources': 3.2.0 @@ -2660,7 +2656,7 @@ packages: dependencies: '@types/yargs-parser': 21.0.0 - /@typescript-eslint/eslint-plugin@5.59.9(@typescript-eslint/parser@5.59.9)(eslint@8.45.0)(typescript@5.1.6): + /@typescript-eslint/eslint-plugin@5.59.9(@typescript-eslint/parser@5.59.9)(eslint@8.46.0)(typescript@5.1.6): resolution: {integrity: sha512-4uQIBq1ffXd2YvF7MAvehWKW3zVv/w+mSfRAu+8cKbfj3nwzyqJLNcZJpQ/WZ1HLbJDiowwmQ6NO+63nCA+fqA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -2671,13 +2667,13 @@ packages: typescript: optional: true dependencies: - '@eslint-community/regexpp': 4.5.1 - '@typescript-eslint/parser': 5.59.9(eslint@8.45.0)(typescript@5.1.6) + '@eslint-community/regexpp': 4.6.2 + '@typescript-eslint/parser': 5.59.9(eslint@8.46.0)(typescript@5.1.6) '@typescript-eslint/scope-manager': 5.59.9 - '@typescript-eslint/type-utils': 5.59.9(eslint@8.45.0)(typescript@5.1.6) - '@typescript-eslint/utils': 5.59.9(eslint@8.45.0)(typescript@5.1.6) + '@typescript-eslint/type-utils': 5.59.9(eslint@8.46.0)(typescript@5.1.6) + '@typescript-eslint/utils': 5.59.9(eslint@8.46.0)(typescript@5.1.6) debug: 4.3.4 - eslint: 8.45.0 + eslint: 8.46.0 grapheme-splitter: 1.0.4 ignore: 5.2.4 natural-compare-lite: 1.4.0 @@ -2688,7 +2684,7 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@5.59.9(eslint@8.45.0)(typescript@5.1.6): + /@typescript-eslint/parser@5.59.9(eslint@8.46.0)(typescript@5.1.6): resolution: {integrity: sha512-FsPkRvBtcLQ/eVK1ivDiNYBjn3TGJdXy2fhXX+rc7czWl4ARwnpArwbihSOHI2Peg9WbtGHrbThfBUkZZGTtvQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -2702,7 +2698,7 @@ packages: '@typescript-eslint/types': 5.59.9 '@typescript-eslint/typescript-estree': 5.59.9(typescript@5.1.6) debug: 4.3.4 - eslint: 8.45.0 + eslint: 8.46.0 typescript: 5.1.6 transitivePeerDependencies: - supports-color @@ -2716,7 +2712,7 @@ packages: '@typescript-eslint/visitor-keys': 5.59.9 dev: true - /@typescript-eslint/type-utils@5.59.9(eslint@8.45.0)(typescript@5.1.6): + /@typescript-eslint/type-utils@5.59.9(eslint@8.46.0)(typescript@5.1.6): resolution: {integrity: sha512-ksEsT0/mEHg9e3qZu98AlSrONAQtrSTljL3ow9CGej8eRo7pe+yaC/mvTjptp23Xo/xIf2mLZKC6KPv4Sji26Q==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -2727,9 +2723,9 @@ packages: optional: true dependencies: '@typescript-eslint/typescript-estree': 5.59.9(typescript@5.1.6) - '@typescript-eslint/utils': 5.59.9(eslint@8.45.0)(typescript@5.1.6) + '@typescript-eslint/utils': 5.59.9(eslint@8.46.0)(typescript@5.1.6) debug: 4.3.4 - eslint: 8.45.0 + eslint: 8.46.0 tsutils: 3.21.0(typescript@5.1.6) typescript: 5.1.6 transitivePeerDependencies: @@ -2762,19 +2758,19 @@ packages: - supports-color dev: true - /@typescript-eslint/utils@5.59.9(eslint@8.45.0)(typescript@5.1.6): + /@typescript-eslint/utils@5.59.9(eslint@8.46.0)(typescript@5.1.6): resolution: {integrity: sha512-1PuMYsju/38I5Ggblaeb98TOoUvjhRvLpLa1DoTOFaLWqaXl/1iQ1eGurTXgBY58NUdtfTXKP5xBq7q9NDaLKg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.45.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.46.0) '@types/json-schema': 7.0.11 '@types/semver': 7.5.0 '@typescript-eslint/scope-manager': 5.59.9 '@typescript-eslint/types': 5.59.9 '@typescript-eslint/typescript-estree': 5.59.9(typescript@5.1.6) - eslint: 8.45.0 + eslint: 8.46.0 eslint-scope: 5.1.1 semver: 7.5.4 transitivePeerDependencies: @@ -2787,44 +2783,44 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: '@typescript-eslint/types': 5.59.9 - eslint-visitor-keys: 3.4.1 + eslint-visitor-keys: 3.4.2 dev: true - /@unhead/dom@1.1.32: - resolution: {integrity: sha512-AMpHlKEKcm1dxSAvm6GPXhjoZHzXh7ZeR8DAnXVH7Sd9a48xaJhQjmxETweFAcNBSnAn9e7TxTPZVrUcW0ej2w==} + /@unhead/dom@1.1.33: + resolution: {integrity: sha512-HKe8ppDQvFJeKkz4Hz8qmZHaEniChA3fooaE56/jW/ZQtmguU7xRU09PDm0VEV/08xiI3WRt93IYq+RtqrkzAw==} dependencies: - '@unhead/schema': 1.1.32 - '@unhead/shared': 1.1.32 + '@unhead/schema': 1.1.33 + '@unhead/shared': 1.1.33 dev: false - /@unhead/schema@1.1.32: - resolution: {integrity: sha512-XxrNazZEO9T+r1ORduy6gnKA9rDzRgxr/p5UEPRM+TZVuM8ZEFzYr2/aE5bMgTCXp20z0pjv/2rewpVSXp4pFQ==} + /@unhead/schema@1.1.33: + resolution: {integrity: sha512-QC73j5goOht4/sUQjADPM3Bg+WKHm5k+062Ns8tCrC8/YE10y7aeD33vpAF6z9BM4GCBODlDUlpOUuGfqovP5w==} dependencies: hookable: 5.5.3 - zhead: 2.0.9 + zhead: 2.0.10 - /@unhead/shared@1.1.32: - resolution: {integrity: sha512-oguyfbwbG4+wNphXQjQ3YrEe4NzabocpTQKNCKdTUPtpK9HYNiI+dffEoSiM3tWcwlG3iYrXj5WvREq3FoACWQ==} + /@unhead/shared@1.1.33: + resolution: {integrity: sha512-zEviDmj61MAFAMR3Ts4lHgnBFPmRaLhkwsS00l4K9nHOkghoj575cGImhzSJ863r0KDr3dVDCalgF8remhz9pg==} dependencies: - '@unhead/schema': 1.1.32 + '@unhead/schema': 1.1.33 dev: false - /@unhead/ssr@1.1.32: - resolution: {integrity: sha512-3DGh/EvHFuUx9k0M5CN5KmQHEaZMbrwtRlv2aQjicLqeeJGSI+okpRbaEu4A9WWwPmkR0u8FBnv1WCAPMcj3ZA==} + /@unhead/ssr@1.1.33: + resolution: {integrity: sha512-nboGQZ5X62HOZYcsdEFugLRYnz57XBoJv+7zyuH6qk8jB2ebzSnkz0cR3eawpcgIzEPi9tQ2Q3RfGuJ0m5KIhA==} dependencies: - '@unhead/schema': 1.1.32 - '@unhead/shared': 1.1.32 + '@unhead/schema': 1.1.33 + '@unhead/shared': 1.1.33 dev: false - /@unhead/vue@1.1.32(vue@3.3.4): - resolution: {integrity: sha512-rpQVxgI/crwlC+z8GnfPV6EwVN/kyeVSvEfzJO9VMIdrWMrh6vAV0WNv3v+BFd0bVLiRyNzhvbY76yhmAX4Zvw==} + /@unhead/vue@1.1.33(vue@3.3.4): + resolution: {integrity: sha512-cbq2k8RII9gDzpGC+CMaPezid6k8b8mV2KxhrtidnsHfK/ZmEaChrVCQ06C9xTtHMHfnNbCUn9vvQh96dHHF9A==} peerDependencies: vue: '>=2.7 || >=3' dependencies: - '@unhead/schema': 1.1.32 - '@unhead/shared': 1.1.32 + '@unhead/schema': 1.1.33 + '@unhead/shared': 1.1.33 hookable: 5.5.3 - unhead: 1.1.32 + unhead: 1.1.33 vue: 3.3.4 dev: false @@ -2858,7 +2854,7 @@ packages: '@babel/core': 7.22.9 '@babel/plugin-transform-typescript': 7.21.0(@babel/core@7.22.9) '@vue/babel-plugin-jsx': 1.1.1(@babel/core@7.22.9) - vite: 4.4.7(@types/node@18.17.0) + vite: 4.4.7(@types/node@18.17.1) vue: 3.3.4 transitivePeerDependencies: - supports-color @@ -2870,7 +2866,7 @@ packages: vite: ^4.0.0 vue: ^3.2.25 dependencies: - vite: 4.4.7(@types/node@18.17.0) + vite: 4.4.7(@types/node@18.17.1) vue: 3.3.4 /@vitest/expect@0.33.0: @@ -2892,9 +2888,9 @@ packages: /@vitest/snapshot@0.33.0: resolution: {integrity: sha512-tJjrl//qAHbyHajpFvr8Wsk8DIOODEebTu7pgBrP07iOepR5jYkLFiqLq2Ltxv+r0uptUb4izv1J8XBOwKkVYA==} dependencies: - magic-string: 0.30.1 + magic-string: 0.30.2 pathe: 1.1.1 - pretty-format: 29.6.1 + pretty-format: 29.6.2 dev: true /@vitest/spy@0.33.0: @@ -2923,23 +2919,23 @@ packages: dependencies: diff-sequences: 29.4.3 loupe: 2.3.6 - pretty-format: 29.6.1 + pretty-format: 29.6.2 dev: true - /@volar/language-core@1.9.0: - resolution: {integrity: sha512-+PTRrGanAD2PxqMty0ZC46xhgW5BWzb67RLHhZyB3Im4+eMXsKlYjFUt7Z8ZCwTWQQOnj8NQ6gSgUEoOTwAHrQ==} + /@volar/language-core@1.10.0: + resolution: {integrity: sha512-ddyWwSYqcbEZNFHm+Z3NZd6M7Ihjcwl/9B5cZd8kECdimVXUFdFi60XHWD27nrWtUQIsUYIG7Ca1WBwV2u2LSQ==} dependencies: - '@volar/source-map': 1.9.0 + '@volar/source-map': 1.10.0 - /@volar/source-map@1.9.0: - resolution: {integrity: sha512-TQWLY8ozUOHBHTMC2pHZsNbtM25Q9QCEwAL8JFR/gmR9Yv0d9qup/gQdd5sDI7RmoPYKD+gqjLrbM4Ib41QSJQ==} + /@volar/source-map@1.10.0: + resolution: {integrity: sha512-/ibWdcOzDGiq/GM1JU2eX8fH1bvAhl66hfe8yEgLEzg9txgr6qb5sQ/DEz5PcDL75tF5H5sCRRwn8Eu8ezi9mw==} dependencies: muggle-string: 0.3.1 - /@volar/typescript@1.9.0: - resolution: {integrity: sha512-B8X4/H6V93uD7zu5VCw05eB0Ukcc39SFKsZoeylkAk2sJ50oaJLpajnQ8Ov4c+FnVQ6iPA6Xy1qdWoWJjh6xEg==} + /@volar/typescript@1.10.0: + resolution: {integrity: sha512-OtqGtFbUKYC0pLNIk3mHQp5xWnvL1CJIUc9VE39VdZ/oqpoBh5jKfb9uJ45Y4/oP/WYTrif/Uxl1k8VTPz66Gg==} dependencies: - '@volar/language-core': 1.9.0 + '@volar/language-core': 1.10.0 /@vue-macros/common@1.3.1(rollup@3.26.3)(vue@3.3.4): resolution: {integrity: sha512-Lc5aP/8HNJD1XrnvpeNuWcCf82bZdR3auN/chA1b/1rKZgSnmQkH9f33tKO9qLwXSy+u4hpCi8Rw+oUuF1KCeg==} @@ -3003,7 +2999,7 @@ packages: '@vue/reactivity-transform': 3.3.4 '@vue/shared': 3.3.4 estree-walker: 2.0.2 - magic-string: 0.30.1 + magic-string: 0.30.2 postcss: 8.4.27 source-map-js: 1.0.2 @@ -3016,16 +3012,16 @@ packages: /@vue/devtools-api@6.5.0: resolution: {integrity: sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==} - /@vue/language-core@1.8.6(typescript@5.1.6): - resolution: {integrity: sha512-PyYDMArbR7hnhqw9OEupr0s4ut0/ZfITp7WEjigF58cd2R0lRLNM1HPvzFMuULpy3ImBEOZI11KRIDirqOe+tQ==} + /@vue/language-core@1.8.8(typescript@5.1.6): + resolution: {integrity: sha512-i4KMTuPazf48yMdYoebTkgSOJdFraE4pQf0B+FTOFkbB+6hAfjrSou/UmYWRsWyZV6r4Rc6DDZdI39CJwL0rWw==} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@volar/language-core': 1.9.0 - '@volar/source-map': 1.9.0 + '@volar/language-core': 1.10.0 + '@volar/source-map': 1.10.0 '@vue/compiler-dom': 3.3.4 '@vue/reactivity': 3.3.4 '@vue/shared': 3.3.4 @@ -3041,7 +3037,7 @@ packages: '@vue/compiler-core': 3.3.4 '@vue/shared': 3.3.4 estree-walker: 2.0.2 - magic-string: 0.30.1 + magic-string: 0.30.2 /@vue/reactivity@3.3.4: resolution: {integrity: sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==} @@ -3090,11 +3086,11 @@ packages: vue-component-type-helpers: 1.6.5 dev: true - /@vue/typescript@1.8.6(typescript@5.1.6): - resolution: {integrity: sha512-sDQ5tltrSVS3lAkE3JtMRGJo91CLIxcWPy7yms/DT+ssxXpwxbVRD5Gok68HenEZBA4Klq7nW99sG/nTRnpPuQ==} + /@vue/typescript@1.8.8(typescript@5.1.6): + resolution: {integrity: sha512-jUnmMB6egu5wl342eaUH236v8tdcEPXXkPgj+eI/F6JwW/lb+yAU6U07ZbQ3MVabZRlupIlPESB7ajgAGixhow==} dependencies: - '@volar/typescript': 1.9.0 - '@vue/language-core': 1.8.6(typescript@5.1.6) + '@volar/typescript': 1.10.0 + '@vue/language-core': 1.8.8(typescript@5.1.6) transitivePeerDependencies: - typescript @@ -3412,6 +3408,17 @@ packages: engines: {node: '>=8'} dev: true + /array.prototype.findlastindex@1.2.2: + resolution: {integrity: sha512-tb5thFFlUcp7NdNF6/MpDk/1r/4awWG1FIz3YqDf+/zJSTezBb+/5WViH41obXULHVpDzoiCLpJ/ZO9YbJMsdw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + es-shim-unscopables: 1.0.0 + get-intrinsic: 1.2.1 + dev: true + /array.prototype.flat@1.3.1: resolution: {integrity: sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==} engines: {node: '>= 0.4'} @@ -3724,7 +3731,7 @@ packages: colorette: 2.0.20 consola: 3.2.3 convert-gitmoji: 0.1.3 - execa: 7.1.1 + execa: 7.2.0 mri: 1.2.0 node-fetch-native: 1.2.0 ofetch: 1.1.1 @@ -4039,7 +4046,7 @@ packages: dependencies: '@jridgewell/trace-mapping': 0.3.18 cssnano: 6.0.1(postcss@8.4.27) - jest-worker: 29.6.1 + jest-worker: 29.6.2 postcss: 8.4.27 schema-utils: 4.0.1 serialize-javascript: 6.0.1 @@ -4232,7 +4239,7 @@ packages: dependencies: bundle-name: 3.0.0 default-browser-id: 3.0.0 - execa: 7.1.1 + execa: 7.2.0 titleize: 3.0.0 dev: true @@ -4541,34 +4548,34 @@ packages: '@esbuild/win32-ia32': 0.17.19 '@esbuild/win32-x64': 0.17.19 - /esbuild@0.18.16: - resolution: {integrity: sha512-1xLsOXrDqwdHxyXb/x/SOyg59jpf/SH7YMvU5RNSU7z3TInaASNJWNFJ6iRvLvLETZMasF3d1DdZLg7sgRimRQ==} + /esbuild@0.18.17: + resolution: {integrity: sha512-1GJtYnUxsJreHYA0Y+iQz2UEykonY66HNWOb0yXYZi9/kNrORUEHVg87eQsCtqh59PEJ5YVZJO98JHznMJSWjg==} engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/android-arm': 0.18.16 - '@esbuild/android-arm64': 0.18.16 - '@esbuild/android-x64': 0.18.16 - '@esbuild/darwin-arm64': 0.18.16 - '@esbuild/darwin-x64': 0.18.16 - '@esbuild/freebsd-arm64': 0.18.16 - '@esbuild/freebsd-x64': 0.18.16 - '@esbuild/linux-arm': 0.18.16 - '@esbuild/linux-arm64': 0.18.16 - '@esbuild/linux-ia32': 0.18.16 - '@esbuild/linux-loong64': 0.18.16 - '@esbuild/linux-mips64el': 0.18.16 - '@esbuild/linux-ppc64': 0.18.16 - '@esbuild/linux-riscv64': 0.18.16 - '@esbuild/linux-s390x': 0.18.16 - '@esbuild/linux-x64': 0.18.16 - '@esbuild/netbsd-x64': 0.18.16 - '@esbuild/openbsd-x64': 0.18.16 - '@esbuild/sunos-x64': 0.18.16 - '@esbuild/win32-arm64': 0.18.16 - '@esbuild/win32-ia32': 0.18.16 - '@esbuild/win32-x64': 0.18.16 + '@esbuild/android-arm': 0.18.17 + '@esbuild/android-arm64': 0.18.17 + '@esbuild/android-x64': 0.18.17 + '@esbuild/darwin-arm64': 0.18.17 + '@esbuild/darwin-x64': 0.18.17 + '@esbuild/freebsd-arm64': 0.18.17 + '@esbuild/freebsd-x64': 0.18.17 + '@esbuild/linux-arm': 0.18.17 + '@esbuild/linux-arm64': 0.18.17 + '@esbuild/linux-ia32': 0.18.17 + '@esbuild/linux-loong64': 0.18.17 + '@esbuild/linux-mips64el': 0.18.17 + '@esbuild/linux-ppc64': 0.18.17 + '@esbuild/linux-riscv64': 0.18.17 + '@esbuild/linux-s390x': 0.18.17 + '@esbuild/linux-x64': 0.18.17 + '@esbuild/netbsd-x64': 0.18.17 + '@esbuild/openbsd-x64': 0.18.17 + '@esbuild/sunos-x64': 0.18.17 + '@esbuild/win32-arm64': 0.18.17 + '@esbuild/win32-ia32': 0.18.17 + '@esbuild/win32-x64': 0.18.17 /escalade@3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} @@ -4594,7 +4601,7 @@ packages: resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} engines: {node: '>=12'} - /eslint-config-standard@17.0.0(eslint-plugin-import@2.27.5)(eslint-plugin-n@15.7.0)(eslint-plugin-promise@6.1.1)(eslint@8.45.0): + /eslint-config-standard@17.0.0(eslint-plugin-import@2.28.0)(eslint-plugin-n@15.7.0)(eslint-plugin-promise@6.1.1)(eslint@8.46.0): resolution: {integrity: sha512-/2ks1GKyqSOkH7JFvXJicu0iMpoojkwB+f5Du/1SC0PtBL+s8v30k9njRZ21pm2drKYm2342jFnGWzttxPmZVg==} peerDependencies: eslint: ^8.0.1 @@ -4602,10 +4609,10 @@ packages: eslint-plugin-n: ^15.0.0 eslint-plugin-promise: ^6.0.0 dependencies: - eslint: 8.45.0 - eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.59.9)(eslint-import-resolver-typescript@3.5.5)(eslint@8.45.0) - eslint-plugin-n: 15.7.0(eslint@8.45.0) - eslint-plugin-promise: 6.1.1(eslint@8.45.0) + eslint: 8.46.0 + eslint-plugin-import: 2.28.0(@typescript-eslint/parser@5.59.9)(eslint-import-resolver-typescript@3.5.5)(eslint@8.46.0) + eslint-plugin-n: 15.7.0(eslint@8.46.0) + eslint-plugin-promise: 6.1.1(eslint@8.46.0) dev: true /eslint-import-resolver-node@0.3.7: @@ -4618,7 +4625,7 @@ packages: - supports-color dev: true - /eslint-import-resolver-typescript@3.5.5(@typescript-eslint/parser@5.59.9)(eslint-plugin-import@2.27.5)(eslint@8.45.0): + /eslint-import-resolver-typescript@3.5.5(@typescript-eslint/parser@5.59.9)(eslint-plugin-import@2.28.0)(eslint@8.46.0): resolution: {integrity: sha512-TdJqPHs2lW5J9Zpe17DZNQuDnox4xo2o+0tE7Pggain9Rbc19ik8kFtXdxZ250FVx2kF4vlt2RSf4qlUpG7bhw==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -4627,9 +4634,9 @@ packages: dependencies: debug: 4.3.4 enhanced-resolve: 5.15.0 - eslint: 8.45.0 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.59.9)(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.5.5)(eslint@8.45.0) - eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.59.9)(eslint-import-resolver-typescript@3.5.5)(eslint@8.45.0) + eslint: 8.46.0 + eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.59.9)(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.5.5)(eslint@8.46.0) + eslint-plugin-import: 2.28.0(@typescript-eslint/parser@5.59.9)(eslint-import-resolver-typescript@3.5.5)(eslint@8.46.0) get-tsconfig: 4.5.0 globby: 13.2.2 is-core-module: 2.12.1 @@ -4642,7 +4649,7 @@ packages: - supports-color dev: true - /eslint-module-utils@2.8.0(@typescript-eslint/parser@5.59.9)(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.5.5)(eslint@8.45.0): + /eslint-module-utils@2.8.0(@typescript-eslint/parser@5.59.9)(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.5.5)(eslint@8.46.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -4663,39 +4670,39 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 5.59.9(eslint@8.45.0)(typescript@5.1.6) + '@typescript-eslint/parser': 5.59.9(eslint@8.46.0)(typescript@5.1.6) debug: 3.2.7 - eslint: 8.45.0 + eslint: 8.46.0 eslint-import-resolver-node: 0.3.7 - eslint-import-resolver-typescript: 3.5.5(@typescript-eslint/parser@5.59.9)(eslint-plugin-import@2.27.5)(eslint@8.45.0) + eslint-import-resolver-typescript: 3.5.5(@typescript-eslint/parser@5.59.9)(eslint-plugin-import@2.28.0)(eslint@8.46.0) transitivePeerDependencies: - supports-color dev: true - /eslint-plugin-es@3.0.1(eslint@8.45.0): + /eslint-plugin-es@3.0.1(eslint@8.46.0): resolution: {integrity: sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==} engines: {node: '>=8.10.0'} peerDependencies: eslint: '>=4.19.1' dependencies: - eslint: 8.45.0 + eslint: 8.46.0 eslint-utils: 2.1.0 regexpp: 3.2.0 dev: true - /eslint-plugin-es@4.1.0(eslint@8.45.0): + /eslint-plugin-es@4.1.0(eslint@8.46.0): resolution: {integrity: sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==} engines: {node: '>=8.10.0'} peerDependencies: eslint: '>=4.19.1' dependencies: - eslint: 8.45.0 + eslint: 8.46.0 eslint-utils: 2.1.0 regexpp: 3.2.0 dev: true - /eslint-plugin-import@2.27.5(@typescript-eslint/parser@5.59.9)(eslint-import-resolver-typescript@3.5.5)(eslint@8.45.0): - resolution: {integrity: sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==} + /eslint-plugin-import@2.28.0(@typescript-eslint/parser@5.59.9)(eslint-import-resolver-typescript@3.5.5)(eslint@8.46.0): + resolution: {integrity: sha512-B8s/n+ZluN7sxj9eUf7/pRFERX0r5bnFA2dCaLHy2ZeaQEAz0k+ZZkFWRFHJAqxfxQDx6KLv9LeIki7cFdwW+Q==} engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' @@ -4704,21 +4711,24 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 5.59.9(eslint@8.45.0)(typescript@5.1.6) + '@typescript-eslint/parser': 5.59.9(eslint@8.46.0)(typescript@5.1.6) array-includes: 3.1.6 + array.prototype.findlastindex: 1.2.2 array.prototype.flat: 1.3.1 array.prototype.flatmap: 1.3.1 debug: 3.2.7 doctrine: 2.1.0 - eslint: 8.45.0 + eslint: 8.46.0 eslint-import-resolver-node: 0.3.7 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.59.9)(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.5.5)(eslint@8.45.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.59.9)(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.5.5)(eslint@8.46.0) has: 1.0.3 is-core-module: 2.12.1 is-glob: 4.0.3 minimatch: 3.1.2 + object.fromentries: 2.0.6 + object.groupby: 1.0.0 object.values: 1.1.6 - resolve: 1.22.2 + resolve: 1.22.3 semver: 6.3.1 tsconfig-paths: 3.14.2 transitivePeerDependencies: @@ -4727,7 +4737,7 @@ packages: - supports-color dev: true - /eslint-plugin-jsdoc@41.1.2(eslint@8.45.0): + /eslint-plugin-jsdoc@41.1.2(eslint@8.46.0): resolution: {integrity: sha512-MePJXdGiPW7AG06CU5GbKzYtKpoHwTq1lKijjq+RwL/cQkZtBZ59Zbv5Ep0RVxSMnq6242249/n+w4XrTZ1Afg==} engines: {node: ^14 || ^16 || ^17 || ^18 || ^19} peerDependencies: @@ -4738,7 +4748,7 @@ packages: comment-parser: 1.3.1 debug: 4.3.4 escape-string-regexp: 4.0.0 - eslint: 8.45.0 + eslint: 8.46.0 esquery: 1.5.0 semver: 7.5.4 spdx-expression-parse: 3.0.1 @@ -4746,16 +4756,16 @@ packages: - supports-color dev: true - /eslint-plugin-n@15.7.0(eslint@8.45.0): + /eslint-plugin-n@15.7.0(eslint@8.46.0): resolution: {integrity: sha512-jDex9s7D/Qial8AGVIHq4W7NswpUD5DPDL2RH8Lzd9EloWUuvUkHfv4FRLMipH5q2UtyurorBkPeNi1wVWNh3Q==} engines: {node: '>=12.22.0'} peerDependencies: eslint: '>=7.0.0' dependencies: builtins: 5.0.1 - eslint: 8.45.0 - eslint-plugin-es: 4.1.0(eslint@8.45.0) - eslint-utils: 3.0.0(eslint@8.45.0) + eslint: 8.46.0 + eslint-plugin-es: 4.1.0(eslint@8.46.0) + eslint-utils: 3.0.0(eslint@8.46.0) ignore: 5.2.4 is-core-module: 2.12.1 minimatch: 3.1.2 @@ -4768,14 +4778,14 @@ packages: engines: {node: '>=5.0.0'} dev: true - /eslint-plugin-node@11.1.0(eslint@8.45.0): + /eslint-plugin-node@11.1.0(eslint@8.46.0): resolution: {integrity: sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==} engines: {node: '>=8.10.0'} peerDependencies: eslint: '>=5.16.0' dependencies: - eslint: 8.45.0 - eslint-plugin-es: 3.0.1(eslint@8.45.0) + eslint: 8.46.0 + eslint-plugin-es: 3.0.1(eslint@8.46.0) eslint-utils: 2.1.0 ignore: 5.2.4 minimatch: 3.1.2 @@ -4783,16 +4793,16 @@ packages: semver: 6.3.1 dev: true - /eslint-plugin-promise@6.1.1(eslint@8.45.0): + /eslint-plugin-promise@6.1.1(eslint@8.46.0): resolution: {integrity: sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 dependencies: - eslint: 8.45.0 + eslint: 8.46.0 dev: true - /eslint-plugin-unicorn@44.0.2(eslint@8.45.0): + /eslint-plugin-unicorn@44.0.2(eslint@8.46.0): resolution: {integrity: sha512-GLIDX1wmeEqpGaKcnMcqRvMVsoabeF0Ton0EX4Th5u6Kmf7RM9WBl705AXFEsns56ESkEs0uyelLuUTvz9Tr0w==} engines: {node: '>=14.18'} peerDependencies: @@ -4801,8 +4811,8 @@ packages: '@babel/helper-validator-identifier': 7.22.5 ci-info: 3.8.0 clean-regexp: 1.0.0 - eslint: 8.45.0 - eslint-utils: 3.0.0(eslint@8.45.0) + eslint: 8.46.0 + eslint-utils: 3.0.0(eslint@8.46.0) esquery: 1.5.0 indent-string: 4.0.0 is-builtin-module: 3.2.1 @@ -4815,19 +4825,19 @@ packages: strip-indent: 3.0.0 dev: true - /eslint-plugin-vue@9.14.0(eslint@8.45.0): + /eslint-plugin-vue@9.14.0(eslint@8.46.0): resolution: {integrity: sha512-4O7EuiqPGVQA1wYCzLvCzsBTv9JIPHLHhrf0k55DLzbwtmJbSw2TKS0G/l7pOwi9RWMSkjIT7ftChU5gZpgnJw==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.45.0) - eslint: 8.45.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.46.0) + eslint: 8.46.0 natural-compare: 1.4.0 nth-check: 2.1.1 postcss-selector-parser: 6.0.13 semver: 7.5.4 - vue-eslint-parser: 9.3.1(eslint@8.45.0) + vue-eslint-parser: 9.3.1(eslint@8.46.0) xml-name-validator: 4.0.0 transitivePeerDependencies: - supports-color @@ -4840,8 +4850,8 @@ packages: esrecurse: 4.3.0 estraverse: 4.3.0 - /eslint-scope@7.2.0: - resolution: {integrity: sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==} + /eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: esrecurse: 4.3.0 @@ -4854,13 +4864,13 @@ packages: eslint-visitor-keys: 1.3.0 dev: true - /eslint-utils@3.0.0(eslint@8.45.0): + /eslint-utils@3.0.0(eslint@8.46.0): resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} peerDependencies: eslint: '>=5' dependencies: - eslint: 8.45.0 + eslint: 8.46.0 eslint-visitor-keys: 2.1.0 dev: true @@ -4874,19 +4884,19 @@ packages: engines: {node: '>=10'} dev: true - /eslint-visitor-keys@3.4.1: - resolution: {integrity: sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==} + /eslint-visitor-keys@3.4.2: + resolution: {integrity: sha512-8drBzUEyZ2llkpCA67iYrgEssKDUu68V8ChqqOfFupIaG/LCVPUT+CoGJpT77zJprs4T/W7p07LP7zAIMuweVw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - /eslint@8.45.0: - resolution: {integrity: sha512-pd8KSxiQpdYRfYa9Wufvdoct3ZPQQuVuU5O6scNgMuOMYuxvH0IGaYK0wUFjo4UYYQQCUndlXiMbnxopwvvTiw==} + /eslint@8.46.0: + resolution: {integrity: sha512-cIO74PvbW0qU8e0mIvk5IV3ToWdCq5FYG6gWPHHkx6gNdjlbAYvtfHmlCMXxjcoVaIdwy/IAt3+mDkZkfvb2Dg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.45.0) - '@eslint-community/regexpp': 4.5.1 - '@eslint/eslintrc': 2.1.0 - '@eslint/js': 8.44.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.46.0) + '@eslint-community/regexpp': 4.6.2 + '@eslint/eslintrc': 2.1.1 + '@eslint/js': 8.46.0 '@humanwhocodes/config-array': 0.11.10 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 @@ -4896,9 +4906,9 @@ packages: debug: 4.3.4 doctrine: 3.0.0 escape-string-regexp: 4.0.0 - eslint-scope: 7.2.0 - eslint-visitor-keys: 3.4.1 - espree: 9.6.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.2 + espree: 9.6.1 esquery: 1.5.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 @@ -4923,13 +4933,13 @@ packages: transitivePeerDependencies: - supports-color - /espree@9.6.0: - resolution: {integrity: sha512-1FH/IiruXZ84tpUlm0aCUEwMl2Ho5ilqVh0VvQXw+byAz/4SAciyHLlfmL5WYqsvD38oymdUwBss0LtK8m4s/A==} + /espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: acorn: 8.10.0 acorn-jsx: 5.3.2(acorn@8.10.0) - eslint-visitor-keys: 3.4.1 + eslint-visitor-keys: 3.4.2 /esprima@4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} @@ -4994,8 +5004,8 @@ packages: signal-exit: 3.0.7 strip-final-newline: 2.0.0 - /execa@7.1.1: - resolution: {integrity: sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q==} + /execa@7.2.0: + resolution: {integrity: sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==} engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0} dependencies: cross-spawn: 7.0.3 @@ -5008,16 +5018,16 @@ packages: signal-exit: 3.0.7 strip-final-newline: 3.0.0 - /expect@29.6.1: - resolution: {integrity: sha512-XEdDLonERCU1n9uR56/Stx9OqojaLAQtZf9PrCHH9Hl8YXiEIka3H4NXJ3NOIBmQJTg7+j7buh34PMHfJujc8g==} + /expect@29.6.2: + resolution: {integrity: sha512-iAErsLxJ8C+S02QbLAwgSGSezLQK+XXRDt8IuFXFpwCNw2ECmzZSmjKcCaFVp5VRMk+WAvz6h6jokzEzBFZEuA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/expect-utils': 29.6.1 - '@types/node': 18.17.0 + '@jest/expect-utils': 29.6.2 + '@types/node': 18.17.1 jest-get-type: 29.4.3 - jest-matcher-utils: 29.6.1 - jest-message-util: 29.6.1 - jest-util: 29.6.1 + jest-matcher-utils: 29.6.2 + jest-message-util: 29.6.2 + jest-util: 29.6.2 dev: true /externality@1.0.2: @@ -5926,14 +5936,14 @@ packages: '@pkgjs/parseargs': 0.11.0 dev: true - /jest-diff@29.6.1: - resolution: {integrity: sha512-FsNCvinvl8oVxpNLttNQX7FAq7vR+gMDGj90tiP7siWw1UdakWUGqrylpsYrpvj908IYckm5Y0Q7azNAozU1Kg==} + /jest-diff@29.6.2: + resolution: {integrity: sha512-t+ST7CB9GX5F2xKwhwCf0TAR17uNDiaPTZnVymP9lw0lssa9vG+AFyDZoeIHStU3WowFFwT+ky+er0WVl2yGhA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: chalk: 4.1.2 diff-sequences: 29.4.3 jest-get-type: 29.4.3 - pretty-format: 29.6.1 + pretty-format: 29.6.2 dev: true /jest-get-type@29.4.3: @@ -5941,37 +5951,37 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: true - /jest-haste-map@29.6.1: - resolution: {integrity: sha512-0m7f9PZXxOCk1gRACiVgX85knUKPKLPg4oRCjLoqIm9brTHXaorMA0JpmtmVkQiT8nmXyIVoZd/nnH1cfC33ig==} + /jest-haste-map@29.6.2: + resolution: {integrity: sha512-+51XleTDAAysvU8rT6AnS1ZJ+WHVNqhj1k6nTvN2PYP+HjU3kqlaKQ1Lnw3NYW3bm2r8vq82X0Z1nDDHZMzHVA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.1 '@types/graceful-fs': 4.1.6 - '@types/node': 18.17.0 + '@types/node': 18.17.1 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 jest-regex-util: 29.4.3 - jest-util: 29.6.1 - jest-worker: 29.6.1 + jest-util: 29.6.2 + jest-worker: 29.6.2 micromatch: 4.0.5 walker: 1.0.8 optionalDependencies: fsevents: 2.3.2 dev: true - /jest-matcher-utils@29.6.1: - resolution: {integrity: sha512-SLaztw9d2mfQQKHmJXKM0HCbl2PPVld/t9Xa6P9sgiExijviSp7TnZZpw2Fpt+OI3nwUO/slJbOfzfUMKKC5QA==} + /jest-matcher-utils@29.6.2: + resolution: {integrity: sha512-4LiAk3hSSobtomeIAzFTe+N8kL6z0JtF3n6I4fg29iIW7tt99R7ZcIFW34QkX+DuVrf+CUe6wuVOpm7ZKFJzZQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: chalk: 4.1.2 - jest-diff: 29.6.1 + jest-diff: 29.6.2 jest-get-type: 29.4.3 - pretty-format: 29.6.1 + pretty-format: 29.6.2 dev: true - /jest-message-util@29.6.1: - resolution: {integrity: sha512-KoAW2zAmNSd3Gk88uJ56qXUWbFk787QKmjjJVOjtGFmmGSZgDBrlIL4AfQw1xyMYPNVD7dNInfIbur9B2rd/wQ==} + /jest-message-util@29.6.2: + resolution: {integrity: sha512-vnIGYEjoPSuRqV8W9t+Wow95SDp6KPX2Uf7EoeG9G99J2OVh7OSwpS4B6J0NfpEIpfkBNHlBZpA2rblEuEFhZQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@babel/code-frame': 7.22.5 @@ -5980,18 +5990,18 @@ packages: chalk: 4.1.2 graceful-fs: 4.2.11 micromatch: 4.0.5 - pretty-format: 29.6.1 + pretty-format: 29.6.2 slash: 3.0.0 stack-utils: 2.0.6 dev: true - /jest-mock@29.6.1: - resolution: {integrity: sha512-brovyV9HBkjXAEdRooaTQK42n8usKoSRR3gihzUpYeV/vwqgSoNfrksO7UfSACnPmxasO/8TmHM3w9Hp3G1dgw==} + /jest-mock@29.6.2: + resolution: {integrity: sha512-hoSv3lb3byzdKfwqCuT6uTscan471GUECqgNYykg6ob0yiAw3zYc7OrPnI9Qv8Wwoa4lC7AZ9hyS4AiIx5U2zg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.1 - '@types/node': 18.17.0 - jest-util: 29.6.1 + '@types/node': 18.17.1 + jest-util: 29.6.2 dev: true /jest-regex-util@29.4.3: @@ -5999,8 +6009,8 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: true - /jest-snapshot@29.6.1: - resolution: {integrity: sha512-G4UQE1QQ6OaCgfY+A0uR1W2AY0tGXUPQpoUClhWHq1Xdnx1H6JOrC2nH5lqnOEqaDgbHFgIwZ7bNq24HpB180A==} + /jest-snapshot@29.6.2: + resolution: {integrity: sha512-1OdjqvqmRdGNvWXr/YZHuyhh5DeaLp1p/F8Tht/MrMw4Kr1Uu/j4lRG+iKl1DAqUJDWxtQBMk41Lnf/JETYBRA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@babel/core': 7.22.9 @@ -6008,32 +6018,31 @@ packages: '@babel/plugin-syntax-jsx': 7.18.6(@babel/core@7.22.9) '@babel/plugin-syntax-typescript': 7.20.0(@babel/core@7.22.9) '@babel/types': 7.22.5 - '@jest/expect-utils': 29.6.1 - '@jest/transform': 29.6.1 + '@jest/expect-utils': 29.6.2 + '@jest/transform': 29.6.2 '@jest/types': 29.6.1 - '@types/prettier': 2.7.2 babel-preset-current-node-syntax: 1.0.1(@babel/core@7.22.9) chalk: 4.1.2 - expect: 29.6.1 + expect: 29.6.2 graceful-fs: 4.2.11 - jest-diff: 29.6.1 + jest-diff: 29.6.2 jest-get-type: 29.4.3 - jest-matcher-utils: 29.6.1 - jest-message-util: 29.6.1 - jest-util: 29.6.1 + jest-matcher-utils: 29.6.2 + jest-message-util: 29.6.2 + jest-util: 29.6.2 natural-compare: 1.4.0 - pretty-format: 29.6.1 + pretty-format: 29.6.2 semver: 7.5.4 transitivePeerDependencies: - supports-color dev: true - /jest-util@29.6.1: - resolution: {integrity: sha512-NRFCcjc+/uO3ijUVyNOQJluf8PtGCe/W6cix36+M3cTFgiYqFOOW5MgN4JOOcvbUhcKTYVd1CvHz/LWi8d16Mg==} + /jest-util@29.6.2: + resolution: {integrity: sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.1 - '@types/node': 18.17.0 + '@types/node': 18.17.1 chalk: 4.1.2 ci-info: 3.8.0 graceful-fs: 4.2.11 @@ -6043,16 +6052,16 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 18.17.0 + '@types/node': 18.17.1 merge-stream: 2.0.0 supports-color: 8.1.1 - /jest-worker@29.6.1: - resolution: {integrity: sha512-U+Wrbca7S8ZAxAe9L6nb6g8kPdia5hj32Puu5iOqBCMTMWFHXuK6dOV2IFrpedbTV8fjMFLdWNttQTBL6u2MRA==} + /jest-worker@29.6.2: + resolution: {integrity: sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@types/node': 18.17.0 - jest-util: 29.6.1 + '@types/node': 18.17.1 + jest-util: 29.6.2 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -6339,11 +6348,11 @@ packages: resolution: {integrity: sha512-P53AZrzq7hclCU6HWj88xNZHmP15DKjMmK/vBytO1qnpYP3ul4IEZlyCE0aU3JRnmgWmZPmoTKj4Bls7v0pMyA==} engines: {node: '>=14.19.0'} dependencies: - magic-string: 0.30.1 + magic-string: 0.30.2 dev: false - /magic-string@0.30.1: - resolution: {integrity: sha512-mbVKXPmS0z0G4XqFDCTllmDQ6coZzn94aMlb0o/A4HEHJCKcanlDZwYJgwnkmgD3jyWhUgj9VsPrfd972yPffA==} + /magic-string@0.30.2: + resolution: {integrity: sha512-lNZdu7pewtq/ZvWUp9Wpf/x7WzMTsR26TWV03BRZrXFsv+BI6dy8RAiKgm1uM/kyR0rCfUcqvOlXKG66KhIGug==} engines: {node: '>=12'} dependencies: '@jridgewell/sourcemap-codec': 1.4.15 @@ -6564,7 +6573,7 @@ packages: dependencies: citty: 0.1.2 defu: 6.1.2 - esbuild: 0.18.16 + esbuild: 0.18.17 fs-extra: 11.1.1 globby: 13.2.2 jiti: 1.19.1 @@ -6650,7 +6659,7 @@ packages: defu: 6.1.2 destr: 2.0.0 dot-prop: 7.2.0 - esbuild: 0.18.16 + esbuild: 0.18.17 escape-string-regexp: 5.0.0 etag: 1.8.1 fs-extra: 11.1.1 @@ -6665,7 +6674,7 @@ packages: klona: 2.0.6 knitwork: 1.0.0 listhen: 1.1.2 - magic-string: 0.30.1 + magic-string: 0.30.2 mime: 3.0.0 mlly: 1.4.0 mri: 1.2.0 @@ -6828,7 +6837,7 @@ packages: get-port-please: 3.0.1 perfect-debounce: 1.0.0 std-env: 3.3.3 - vite: 4.4.7(@types/node@18.17.0) + vite: 4.4.7(@types/node@18.17.1) vitest: 0.33.0(happy-dom@10.5.2) vitest-environment-nuxt: 0.10.2(happy-dom@10.5.2)(vitest@0.33.0)(vue-router@4.2.4)(vue@3.3.4) transitivePeerDependencies: @@ -6844,7 +6853,7 @@ packages: resolution: {integrity: sha512-O7bumfWgUXlJefT1Y41SF4vsCvzeUYmnKABuOKStheCObzrkWPDmqJc+RJVU+57oFu9bITcrUq8sKFIHgjCnTg==} engines: {node: ^14.16.0 || >=16.10.0} dependencies: - execa: 7.1.1 + execa: 7.2.0 dev: false /object-assign@4.1.1: @@ -6870,6 +6879,24 @@ packages: object-keys: 1.1.1 dev: true + /object.fromentries@2.0.6: + resolution: {integrity: sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + dev: true + + /object.groupby@1.0.0: + resolution: {integrity: sha512-70MWG6NfRH9GnbZOikuhPPYzpUpof9iW2J9E4dW7FXTqPNb6rllE6u39SKwwiNh8lCwX3DDb5OgcKGiEBrTTyw==} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + get-intrinsic: 1.2.1 + dev: true + /object.values@1.1.6: resolution: {integrity: sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==} engines: {node: '>= 0.4'} @@ -7114,8 +7141,8 @@ packages: mlly: 1.4.0 pathe: 1.1.1 - /playwright-core@1.36.1: - resolution: {integrity: sha512-7+tmPuMcEW4xeCL9cp9KxmYpQYHKkyjwoXRnoeTowaeNat8PoBMk/HwCYhqkH2fRkshfKEOiVus/IhID2Pg8kg==} + /playwright-core@1.36.2: + resolution: {integrity: sha512-sQYZt31dwkqxOrP7xy2ggDfEzUxM1lodjhsQ3NMMv5uGTRDsLxU0e4xf4wwMkF2gplIxf17QMBCodSFgm6bFVQ==} engines: {node: '>=16'} hasBin: true dev: true @@ -7520,8 +7547,8 @@ packages: resolution: {integrity: sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==} engines: {node: ^14.13.1 || >=16.0.0} - /pretty-format@29.6.1: - resolution: {integrity: sha512-7jRj+yXO0W7e4/tSJKoR7HRIHLPPjtNaUGG2xxKQnGvPNRkgWcQ0AZX6P4KBRJN4FcTBWb3sa7DVUJmocYuoog==} + /pretty-format@29.6.2: + resolution: {integrity: sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/schemas': 29.6.0 @@ -7816,6 +7843,15 @@ packages: path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 + /resolve@1.22.3: + resolution: {integrity: sha512-P8ur/gp/AmbEzjr729bZnLjXK5Z+4P0zhIJgBgzqRih7hL7BOukHGtSTA3ACMY467GRFz3duQsi0bDZdR7DKdw==} + hasBin: true + dependencies: + is-core-module: 2.12.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + /reusify@1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} @@ -7841,7 +7877,7 @@ packages: rollup: ^3.0.0 typescript: ^4.1 || ^5.0 dependencies: - magic-string: 0.30.1 + magic-string: 0.30.2 rollup: 3.26.3 typescript: 5.1.6 optionalDependencies: @@ -8580,7 +8616,7 @@ packages: globby: 13.2.2 hookable: 5.5.3 jiti: 1.19.1 - magic-string: 0.30.1 + magic-string: 0.30.2 mkdist: 1.3.0(typescript@5.1.6) mlly: 1.4.0 mri: 1.2.0 @@ -8605,7 +8641,7 @@ packages: dependencies: acorn: 8.10.0 estree-walker: 3.0.3 - magic-string: 0.30.1 + magic-string: 0.30.2 unplugin: 1.4.0 /undici@5.22.1: @@ -8623,12 +8659,12 @@ packages: node-fetch-native: 1.2.0 pathe: 1.1.1 - /unhead@1.1.32: - resolution: {integrity: sha512-WO1NTmljMZZzZjzmkcgZpYKpbEGGB3HC+2DIJxAZd0++WCPT9jD6o0MIgpA71UvueOCqLhIlyfGsa9Hgn0Gnog==} + /unhead@1.1.33: + resolution: {integrity: sha512-Qm94ySKOPwoXubGkdkeuLr9FcCv706PSL+GEApOcupBIf8M9kkmmYmRT5dCAoQcoUJDrvpeynTxiRkfA1jNRkA==} dependencies: - '@unhead/dom': 1.1.32 - '@unhead/schema': 1.1.32 - '@unhead/shared': 1.1.32 + '@unhead/dom': 1.1.33 + '@unhead/schema': 1.1.33 + '@unhead/shared': 1.1.33 hookable: 5.5.3 dev: false @@ -8639,7 +8675,7 @@ packages: escape-string-regexp: 5.0.0 fast-glob: 3.3.1 local-pkg: 0.4.3 - magic-string: 0.30.1 + magic-string: 0.30.2 mlly: 1.4.0 pathe: 1.1.1 pkg-types: 1.0.3 @@ -8800,7 +8836,7 @@ packages: spdx-expression-parse: 3.0.1 dev: true - /vite-node@0.33.0(@types/node@18.17.0): + /vite-node@0.33.0(@types/node@18.17.1): resolution: {integrity: sha512-19FpHYbwWWxDr73ruNahC+vtEdza52kA90Qb3La98yZ0xULqV8A5JLNPUff0f5zID4984tW7l3DH2przTJUZSw==} engines: {node: '>=v14.18.0'} hasBin: true @@ -8810,7 +8846,7 @@ packages: mlly: 1.4.0 pathe: 1.1.1 picocolors: 1.0.0 - vite: 4.4.7(@types/node@18.17.0) + vite: 4.4.7(@types/node@18.17.1) transitivePeerDependencies: - '@types/node' - less @@ -8821,7 +8857,7 @@ packages: - supports-color - terser - /vite-plugin-checker@0.6.1(eslint@8.45.0)(typescript@5.1.6)(vite@4.4.7)(vue-tsc@1.8.6): + /vite-plugin-checker@0.6.1(eslint@8.46.0)(typescript@5.1.6)(vite@4.4.7)(vue-tsc@1.8.8): resolution: {integrity: sha512-4fAiu3W/IwRJuJkkUZlWbLunSzsvijDf0eDN6g/MGh6BUK4SMclOTGbLJCPvdAcMOQvVmm8JyJeYLYd4//8CkA==} engines: {node: '>=14.16'} peerDependencies: @@ -8857,7 +8893,7 @@ packages: chalk: 4.1.2 chokidar: 3.5.3 commander: 8.3.0 - eslint: 8.45.0 + eslint: 8.46.0 fast-glob: 3.3.1 fs-extra: 11.1.1 lodash.debounce: 4.0.8 @@ -8867,15 +8903,15 @@ packages: strip-ansi: 6.0.1 tiny-invariant: 1.3.1 typescript: 5.1.6 - vite: 4.4.7(@types/node@18.17.0) + vite: 4.4.7(@types/node@18.17.1) vscode-languageclient: 7.0.0 vscode-languageserver: 7.0.0 vscode-languageserver-textdocument: 1.0.8 vscode-uri: 3.0.7 - vue-tsc: 1.8.6(typescript@5.1.6) + vue-tsc: 1.8.8(typescript@5.1.6) dev: false - /vite@4.4.7(@types/node@18.17.0): + /vite@4.4.7(@types/node@18.17.1): resolution: {integrity: sha512-6pYf9QJ1mHylfVh39HpuSfMPojPSKVxZvnclX1K1FyZ1PXDOcLBibdq5t1qxJSnL63ca8Wf4zts6mD8u8oc9Fw==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true @@ -8903,8 +8939,8 @@ packages: terser: optional: true dependencies: - '@types/node': 18.17.0 - esbuild: 0.18.16 + '@types/node': 18.17.1 + esbuild: 0.18.17 postcss: 8.4.27 rollup: 3.26.3 optionalDependencies: @@ -8930,7 +8966,7 @@ packages: estree-walker: 3.0.3 h3: 1.7.1 happy-dom: 10.5.2 - magic-string: 0.30.1 + magic-string: 0.30.2 ofetch: 1.1.1 unenv: 1.5.2 vitest: 0.33.0(happy-dom@10.5.2) @@ -8975,7 +9011,7 @@ packages: dependencies: '@types/chai': 4.3.5 '@types/chai-subset': 1.3.3 - '@types/node': 18.17.0 + '@types/node': 18.17.1 '@vitest/expect': 0.33.0 '@vitest/runner': 0.33.0 '@vitest/snapshot': 0.33.0 @@ -8988,15 +9024,15 @@ packages: debug: 4.3.4 happy-dom: 10.5.2 local-pkg: 0.4.3 - magic-string: 0.30.1 + magic-string: 0.30.2 pathe: 1.1.1 picocolors: 1.0.0 std-env: 3.3.3 strip-literal: 1.0.1 tinybench: 2.5.0 tinypool: 0.6.0 - vite: 4.4.7(@types/node@18.17.0) - vite-node: 0.33.0(@types/node@18.17.0) + vite: 4.4.7(@types/node@18.17.1) + vite-node: 0.33.0(@types/node@18.17.1) why-is-node-running: 2.2.2 transitivePeerDependencies: - less @@ -9066,17 +9102,17 @@ packages: resolution: {integrity: sha512-RutnB7X8c5hjq39NceArgXg28WZtZpGc3+J16ljMiYnFhKvd8hITxSWQSQ5bvldxMDU6gG5mkxl1MTQLXckVSQ==} dev: false - /vue-eslint-parser@9.3.1(eslint@8.45.0): + /vue-eslint-parser@9.3.1(eslint@8.46.0): resolution: {integrity: sha512-Clr85iD2XFZ3lJ52/ppmUDG/spxQu6+MAeHXjjyI4I1NUYZ9xmenQp4N0oaHJhrA8OOxltCVxMRfANGa70vU0g==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: '>=6.0.0' dependencies: debug: 4.3.4 - eslint: 8.45.0 - eslint-scope: 7.2.0 - eslint-visitor-keys: 3.4.1 - espree: 9.6.0 + eslint: 8.46.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.2 + espree: 9.6.1 esquery: 1.5.0 lodash: 4.17.21 semver: 7.5.4 @@ -9116,14 +9152,14 @@ packages: de-indent: 1.0.2 he: 1.2.0 - /vue-tsc@1.8.6(typescript@5.1.6): - resolution: {integrity: sha512-8ffD4NGfwyATjw/s40Lw2EgB7L2/PAqnGlJBaVQLgblr3SU4EYdhJ67TNXXuDD8NMbDAFSM24V8i3ZIJgTs32Q==} + /vue-tsc@1.8.8(typescript@5.1.6): + resolution: {integrity: sha512-bSydNFQsF7AMvwWsRXD7cBIXaNs/KSjvzWLymq/UtKE36697sboX4EccSHFVxvgdBlI1frYPc/VMKJNB7DFeDQ==} hasBin: true peerDependencies: typescript: '*' dependencies: - '@vue/language-core': 1.8.6(typescript@5.1.6) - '@vue/typescript': 1.8.6(typescript@5.1.6) + '@vue/language-core': 1.8.8(typescript@5.1.6) + '@vue/typescript': 1.8.8(typescript@5.1.6) semver: 7.5.4 typescript: 5.1.6 @@ -9445,8 +9481,8 @@ packages: engines: {node: '>=12.20'} dev: true - /zhead@2.0.9: - resolution: {integrity: sha512-Y3g6EegQc6PVrYXPq2OS7/s27UGVS5Y6NY6SY3XGH4Hg+yQWbQTtWsjCgmpR8kZnYrv8auB54sz+x5FEDrvqzQ==} + /zhead@2.0.10: + resolution: {integrity: sha512-irug8fXNKjqazkA27cFQs7C6/ZD3qNiEzLC56kDyzQART/Z9GMGfg8h2i6fb9c8ZWnIx/QgOgFJxK3A/CYHG0g==} /zip-stream@4.1.0: resolution: {integrity: sha512-zshzwQW7gG7hjpBlgeQP9RuyPGNxvJdzR8SUM3QhxCnLjWN2E7j3dOvpeDcQoETfHx0urRS7EtmVToql7YpU4A==} diff --git a/test/bundle.test.ts b/test/bundle.test.ts index ad59f13d564f..20cad7138d92 100644 --- a/test/bundle.test.ts +++ b/test/bundle.test.ts @@ -19,7 +19,7 @@ describe.skipIf(process.env.SKIP_BUNDLE_SIZE === 'true' || process.env.ECOSYSTEM for (const outputDir of ['.output', '.output-inline']) { it('default client bundle size', async () => { const clientStats = await analyzeSizes('**/*.js', join(rootDir, outputDir, 'public')) - expect.soft(roundToKilobytes(clientStats.totalBytes)).toMatchInlineSnapshot('"97.4k"') + expect.soft(roundToKilobytes(clientStats.totalBytes)).toMatchInlineSnapshot('"97.5k"') expect(clientStats.files.map(f => f.replace(/\..*\.js/, '.js'))).toMatchInlineSnapshot(` [ "_nuxt/entry.js", From a2b5d312709666e94efc345ef38329b0680310b1 Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Sun, 30 Jul 2023 17:14:42 +0100 Subject: [PATCH 002/147] perf(nuxt): write templates in single sync step + improve logs (#22384) --- packages/kit/src/internal/template.ts | 1 + packages/nuxt/src/core/app.ts | 31 +++++++++++++++++++++------ 2 files changed, 26 insertions(+), 6 deletions(-) diff --git a/packages/kit/src/internal/template.ts b/packages/kit/src/internal/template.ts index 00feb2bdae09..867242963863 100644 --- a/packages/kit/src/internal/template.ts +++ b/packages/kit/src/internal/template.ts @@ -6,6 +6,7 @@ import { genDynamicImport, genImport, genSafeVariableName } from 'knitwork' import type { NuxtTemplate } from '@nuxt/schema' /** @deprecated */ +// TODO: Remove support for compiling ejs templates in v4 export async function compileTemplate (template: NuxtTemplate, ctx: any) { const data = { ...ctx, options: template.options } if (template.src) { diff --git a/packages/nuxt/src/core/app.ts b/packages/nuxt/src/core/app.ts index 565e5e29592c..523f1d7d5aef 100644 --- a/packages/nuxt/src/core/app.ts +++ b/packages/nuxt/src/core/app.ts @@ -1,4 +1,4 @@ -import { promises as fsp } from 'node:fs' +import { promises as fsp, mkdirSync, writeFileSync } from 'node:fs' import { dirname, join, resolve } from 'pathe' import { defu } from 'defu' import { compileTemplate, findPath, normalizePlugin, normalizeTemplate, resolveAlias, resolveFiles, resolvePath, templateUtils, tryResolveModule } from '@nuxt/kit' @@ -32,15 +32,21 @@ export async function generateApp (nuxt: Nuxt, app: NuxtApp, options: { filter?: app.templates = app.templates.map(tmpl => normalizeTemplate(tmpl)) // Compile templates into vfs + // TODO: remove utils in v4 const templateContext = { utils: templateUtils, nuxt, app } const filteredTemplates = (app.templates as Array>) .filter(template => !options.filter || options.filter(template)) - await Promise.all(filteredTemplates + const writes: Array<() => void> = [] + await Promise.allSettled(filteredTemplates .map(async (template) => { - const contents = await compileTemplate(template, templateContext) - const fullPath = template.dst || resolve(nuxt.options.buildDir, template.filename!) + const mark = performance.mark(fullPath) + const contents = await compileTemplate(template, templateContext).catch((e) => { + console.error(`[nuxt] Could not compile template \`${template.filename}\`.`) + throw e + }) + nuxt.vfs[fullPath] = contents const aliasPath = '#build/' + template.filename!.replace(/\.\w+$/, '') @@ -51,12 +57,25 @@ export async function generateApp (nuxt: Nuxt, app: NuxtApp, options: { filter?: nuxt.vfs[fullPath.replace(/\//g, '\\')] = contents } + const perf = performance.measure(fullPath, mark?.name) // TODO: remove when Node 14 reaches EOL + const setupTime = perf ? Math.round((perf.duration * 100)) / 100 : 0 // TODO: remove when Node 14 reaches EOL + + if (nuxt.options.debug || setupTime > 500) { + console.info(`[nuxt] compiled \`${template.filename}\` in ${setupTime}ms`) + } + if (template.write) { - await fsp.mkdir(dirname(fullPath), { recursive: true }) - await fsp.writeFile(fullPath, contents, 'utf8') + writes.push(() => { + mkdirSync(dirname(fullPath), { recursive: true }) + writeFileSync(fullPath, contents, 'utf8') + }) } })) + // Write template files in single synchronous step to avoid (possible) additional + // runtime overhead of cascading HMRs from vite/webpack + for (const write of writes) { write() } + await nuxt.callHook('app:templatesGenerated', app, filteredTemplates, options) } From 9b09b4d1127e3bbdbd5d97edd2309ad7f40463f9 Mon Sep 17 00:00:00 2001 From: Harlan Wilton Date: Sun, 30 Jul 2023 21:46:16 +0300 Subject: [PATCH 003/147] feat(nuxt): render all head tags on server with `unhead` (#22179) --- packages/nuxt/src/app/nuxt.ts | 12 +- packages/nuxt/src/core/nitro.ts | 8 - .../nuxt/src/core/runtime/nitro/renderer.ts | 208 +++++++++++------- .../nuxt/src/head/runtime/plugins/unhead.ts | 23 +- test/bundle.test.ts | 4 +- 5 files changed, 132 insertions(+), 123 deletions(-) diff --git a/packages/nuxt/src/app/nuxt.ts b/packages/nuxt/src/app/nuxt.ts index fe8aed8f051d..2c0bf250fccf 100644 --- a/packages/nuxt/src/app/nuxt.ts +++ b/packages/nuxt/src/app/nuxt.ts @@ -10,6 +10,7 @@ import type { H3Event } from 'h3' import type { AppConfig, AppConfigInput, RuntimeConfig } from 'nuxt/schema' import type { RenderResponse } from 'nitropack' +import type { MergeHead, VueHeadClient } from '@unhead/vue' // eslint-disable-next-line import/no-restricted-paths import type { NuxtIslandContext } from '../core/runtime/nitro/renderer' import type { RouteMiddleware } from '../../app' @@ -18,15 +19,6 @@ import type { AsyncDataRequestStatus } from '../app/composables/asyncData' const nuxtAppCtx = /* #__PURE__ */ getContext('nuxt-app') -type NuxtMeta = { - htmlAttrs?: string - headAttrs?: string - bodyAttrs?: string - headTags?: string - bodyScriptsPrepend?: string - bodyScripts?: string -} - type HookResult = Promise | void type AppRenderedContext = { ssrContext: NuxtApp['ssrContext'], renderResult: null | Awaited['renderToString']>> } @@ -59,10 +51,10 @@ export interface NuxtSSRContext extends SSRContext { error?: boolean nuxt: _NuxtApp payload: NuxtPayload + head: VueHeadClient /** This is used solely to render runtime config with SPA renderer. */ config?: Pick teleports?: Record - renderMeta?: () => Promise | NuxtMeta islandContext?: NuxtIslandContext /** @internal */ _renderResponse?: Partial diff --git a/packages/nuxt/src/core/nitro.ts b/packages/nuxt/src/core/nitro.ts index 812d92c3efec..50176f5e5f23 100644 --- a/packages/nuxt/src/core/nitro.ts +++ b/packages/nuxt/src/core/nitro.ts @@ -8,8 +8,6 @@ import escapeRE from 'escape-string-regexp' import { defu } from 'defu' import fsExtra from 'fs-extra' import { dynamicEventHandler } from 'h3' -import { createHeadCore } from '@unhead/vue' -import { renderSSRHead } from '@unhead/ssr' import type { Nuxt } from 'nuxt/schema' // @ts-expect-error TODO: add legacy type support for subpath imports import { template as defaultSpaLoadingTemplate } from '@nuxt/ui-templates/templates/spa-loading-icon.mjs' @@ -205,12 +203,6 @@ export async function initNitro (nuxt: Nuxt & { _nitro?: Nitro }) { // Resolve user-provided paths nitroConfig.srcDir = resolve(nuxt.options.rootDir, nuxt.options.srcDir, nitroConfig.srcDir!) - // Add head chunk for SPA renders - const head = createHeadCore() - head.push(nuxt.options.app.head) - const headChunk = await renderSSRHead(head) - nitroConfig.virtual!['#head-static'] = `export default ${JSON.stringify(headChunk)}` - // Add fallback server for `ssr: false` if (!nuxt.options.ssr) { nitroConfig.virtual!['#build/dist/server/server.mjs'] = 'export default () => {}' diff --git a/packages/nuxt/src/core/runtime/nitro/renderer.ts b/packages/nuxt/src/core/runtime/nitro/renderer.ts index 840e01281ab2..da2e70764d68 100644 --- a/packages/nuxt/src/core/runtime/nitro/renderer.ts +++ b/packages/nuxt/src/core/runtime/nitro/renderer.ts @@ -1,4 +1,10 @@ -import { createRenderer, renderResourceHeaders } from 'vue-bundle-renderer/runtime' +import { + createRenderer, + getPrefetchLinks, + getPreloadLinks, + getRequestDependencies, + renderResourceHeaders +} from 'vue-bundle-renderer/runtime' import type { RenderResponse } from 'nitropack' import type { Manifest } from 'vite' import type { H3Event } from 'h3' @@ -9,14 +15,17 @@ import destr from 'destr' import { joinURL, withoutTrailingSlash } from 'ufo' import { renderToString as _renderToString } from 'vue/server-renderer' import { hash } from 'ohash' +import { renderSSRHead } from '@unhead/ssr' import { defineRenderHandler, getRouteRules, useRuntimeConfig } from '#internal/nitro' import { useNitroApp } from '#internal/nitro/app' +import type { Link, Script } from '@unhead/vue' +import { createServerHead } from '@unhead/vue' // eslint-disable-next-line import/no-restricted-paths import type { NuxtPayload, NuxtSSRContext } from '#app/nuxt' // @ts-expect-error virtual file -import { appRootId, appRootTag } from '#internal/nuxt.config.mjs' +import { appHead, appRootId, appRootTag } from '#internal/nuxt.config.mjs' // @ts-expect-error virtual file import { buildAssetsURL, publicAssetsURL } from '#paths' @@ -71,9 +80,6 @@ const getEntryIds: () => Promise = () => getClientManifest().then(r => r._globalCSS ).map(r => r.src!)) -// @ts-expect-error virtual file -const getStaticRenderedHead = (): Promise => import('#head-static').then(r => r.default || r) - // @ts-expect-error file will be produced after app build const getServerEntry = () => import('#build/dist/server/server.mjs').then(r => r.default || r) @@ -140,7 +146,6 @@ const getSPARenderer = lazyCachedFunction(async () => { public: config.public, app: config.app } - ssrContext!.renderMeta = ssrContext!.renderMeta ?? getStaticRenderedHead return Promise.resolve(result) } @@ -221,6 +226,9 @@ export default defineRenderHandler(async (event): Promise + ({ rel: 'stylesheet', href: renderer.rendererContext.buildAssetsURL(resource.file) }) + ), + style: inlinedStyles + }) + + // 4. Scripts + if (!routeOptions.experimentalNoScripts) { + head.push({ + script: Object.values(scripts).map(resource => (` + - `` + const payload: Script = { + type: 'application/json', + id: opts.id, + innerHTML: contents, + 'data-ssr': !(process.env.NUXT_NO_SSR || opts.ssrContext.noSSR) + } + if (opts.src) { + payload['data-src'] = opts.src + } + return [ + payload, + { + innerHTML: `window.__NUXT__={};window.__NUXT__.config=${uneval(opts.ssrContext.config)}` + } + ] } -function renderPayloadScript (opts: { ssrContext: NuxtSSRContext, data?: any, src?: string }) { +function renderPayloadScript (opts: { ssrContext: NuxtSSRContext, data?: any, src?: string }): Script[] { opts.data.config = opts.ssrContext.config const _PAYLOAD_EXTRACTION = process.env.prerender && process.env.NUXT_PAYLOAD_EXTRACTION && !opts.ssrContext.noSSR if (_PAYLOAD_EXTRACTION) { - return `` + return [ + { + type: 'module', + innerHTML: `import p from "${opts.src}";window.__NUXT__={...p,...(${devalue(opts.data)})` + } + ] } - return `` + return [ + { + innerHTML: `window.__NUXT__=${devalue(opts.data)}` + } + ] } function splitPayload (ssrContext: NuxtSSRContext) { diff --git a/packages/nuxt/src/head/runtime/plugins/unhead.ts b/packages/nuxt/src/head/runtime/plugins/unhead.ts index 3fd5e0c330ae..f16413b1b967 100644 --- a/packages/nuxt/src/head/runtime/plugins/unhead.ts +++ b/packages/nuxt/src/head/runtime/plugins/unhead.ts @@ -1,16 +1,11 @@ -import { createHead as createClientHead, createServerHead } from '@unhead/vue' -import { renderSSRHead } from '@unhead/ssr' +import { createHead as createClientHead } from '@unhead/vue' import { defineNuxtPlugin } from '#app/nuxt' -// @ts-expect-error untyped -import { appHead } from '#build/nuxt.config.mjs' export default defineNuxtPlugin({ name: 'nuxt:head', setup (nuxtApp) { - const createHead = process.server ? createServerHead : createClientHead - const head = createHead() - head.push(appHead) - + const head = process.server ? nuxtApp.ssrContext!.head : createClientHead() + // nuxt.config appHead is set server-side within the renderer nuxtApp.vueApp.use(head) if (process.client) { @@ -28,17 +23,5 @@ export default defineNuxtPlugin({ // unpause the DOM once the mount suspense is resolved nuxtApp.hooks.hook('app:suspense:resolve', unpauseDom) } - - if (process.server) { - nuxtApp.ssrContext!.renderMeta = async () => { - const meta = await renderSSRHead(head) - return { - ...meta, - bodyScriptsPrepend: meta.bodyTagsOpen, - // resolves naming difference with NuxtMeta and Unhead - bodyScripts: meta.bodyTags - } - } - } } }) diff --git a/test/bundle.test.ts b/test/bundle.test.ts index 20cad7138d92..3c6f55bac69d 100644 --- a/test/bundle.test.ts +++ b/test/bundle.test.ts @@ -19,7 +19,7 @@ describe.skipIf(process.env.SKIP_BUNDLE_SIZE === 'true' || process.env.ECOSYSTEM for (const outputDir of ['.output', '.output-inline']) { it('default client bundle size', async () => { const clientStats = await analyzeSizes('**/*.js', join(rootDir, outputDir, 'public')) - expect.soft(roundToKilobytes(clientStats.totalBytes)).toMatchInlineSnapshot('"97.5k"') + expect.soft(roundToKilobytes(clientStats.totalBytes)).toMatchInlineSnapshot('"97.3k"') expect(clientStats.files.map(f => f.replace(/\..*\.js/, '.js'))).toMatchInlineSnapshot(` [ "_nuxt/entry.js", @@ -32,7 +32,7 @@ describe.skipIf(process.env.SKIP_BUNDLE_SIZE === 'true' || process.env.ECOSYSTEM const serverDir = join(rootDir, '.output/server') const serverStats = await analyzeSizes(['**/*.mjs', '!node_modules'], serverDir) - expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot('"64.5k"') + expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot('"64.2k"') const modules = await analyzeSizes('node_modules/**/*', serverDir) expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"2330k"') From 2df9a4b9db44ae831562c7fc2f7753fe2764731f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20S=C3=A1nchez?= Date: Sun, 30 Jul 2023 20:47:29 +0200 Subject: [PATCH 004/147] fix(nuxt): test `watch` paths against all layer `srcDir`s (#22307) --- packages/nuxt/src/core/nuxt.ts | 11 ++++++++--- packages/schema/src/config/common.ts | 5 +++-- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/packages/nuxt/src/core/nuxt.ts b/packages/nuxt/src/core/nuxt.ts index 9aa9a65dfc7d..5654f5657246 100644 --- a/packages/nuxt/src/core/nuxt.ts +++ b/packages/nuxt/src/core/nuxt.ts @@ -1,4 +1,4 @@ -import { join, normalize, resolve } from 'pathe' +import { join, normalize, relative, resolve } from 'pathe' import { createDebugger, createHooks } from 'hookable' import type { LoadNuxtOptions } from '@nuxt/kit' import { addBuildPlugin, addComponent, addPlugin, addVitePlugin, addWebpackPlugin, installModule, loadNuxtConfig, logger, nuxtCtx, resolveAlias, resolveFiles, resolvePath, tryResolveModule, useNitro } from '@nuxt/kit' @@ -349,12 +349,17 @@ async function initNuxt (nuxt: Nuxt) { } // User provided patterns + const layerRelativePaths = nuxt.options._layers.map(l => relative(l.config.srcDir || l.cwd, path)) for (const pattern of nuxt.options.watch) { if (typeof pattern === 'string') { - if (pattern === path) { return nuxt.callHook('restart') } + // Test (normalised) strings against absolute path and relative path to any layer `srcDir` + if (pattern === path || layerRelativePaths.includes(pattern)) { return nuxt.callHook('restart') } continue } - if (pattern.test(path)) { return nuxt.callHook('restart') } + // Test regular expressions against path to _any_ layer `srcDir` + if (layerRelativePaths.some(p => pattern.test(p))) { + return nuxt.callHook('restart') + } } // Core Nuxt files: app.vue, error.vue and app.config.ts diff --git a/packages/schema/src/config/common.ts b/packages/schema/src/config/common.ts index d5801081f2d8..80df36c58348 100644 --- a/packages/schema/src/config/common.ts +++ b/packages/schema/src/config/common.ts @@ -365,8 +365,9 @@ export default defineUntypedSchema({ /** * The watch property lets you define patterns that will restart the Nuxt dev server when changed. * - * It is an array of strings or regular expressions, which will be matched against the file path - * relative to the project `srcDir`. + * It is an array of strings or regular expressions. Strings should be either absolute paths or + * relative to the `srcDir` (and the `srcDir` of any layers). Regular expressions will be matched + * against the path relative to the project `srcDir` (and the `srcDir` of any layers). * * @type {Array} */ From 620097241a5fb647dd990d02f4a25c28a147ba73 Mon Sep 17 00:00:00 2001 From: Jean-Pierre Carvalho <90358872+jeanpierrecarvalho@users.noreply.github.com> Date: Sun, 30 Jul 2023 21:25:00 +0100 Subject: [PATCH 005/147] feat(nuxt): auto-install `@nuxt/webpack-builder` when needed (#21747) --- packages/nuxt/package.json | 2 +- packages/nuxt/src/core/features.ts | 4 ++-- packages/nuxt/src/core/nuxt.ts | 7 +++++++ pnpm-lock.yaml | 6 +++--- 4 files changed, 13 insertions(+), 6 deletions(-) diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index f08b82e70b77..31732fa0481c 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -78,7 +78,6 @@ "jiti": "^1.19.1", "klona": "^2.0.6", "knitwork": "^1.0.0", - "local-pkg": "^0.4.3", "magic-string": "^0.30.2", "mlly": "^1.4.0", "nitropack": "^2.5.2", @@ -88,6 +87,7 @@ "ohash": "^1.1.2", "pathe": "^1.1.1", "perfect-debounce": "^1.0.0", + "pkg-types": "^1.0.3", "prompts": "^2.4.2", "scule": "^1.0.0", "strip-literal": "^1.0.1", diff --git a/packages/nuxt/src/core/features.ts b/packages/nuxt/src/core/features.ts index 96616c996af7..6c88aaebdd6e 100644 --- a/packages/nuxt/src/core/features.ts +++ b/packages/nuxt/src/core/features.ts @@ -1,10 +1,10 @@ import { addDependency } from 'nypm' -import { isPackageExists } from 'local-pkg' +import { resolvePackageJSON } from 'pkg-types' import { logger } from '@nuxt/kit' import prompts from 'prompts' export async function ensurePackageInstalled (rootDir: string, name: string, searchPaths?: string[]) { - if (isPackageExists(name, { paths: searchPaths })) { + if (await resolvePackageJSON(name, { url: searchPaths }).catch(() => null)) { return true } diff --git a/packages/nuxt/src/core/nuxt.ts b/packages/nuxt/src/core/nuxt.ts index 5654f5657246..2588a1949cc7 100644 --- a/packages/nuxt/src/core/nuxt.ts +++ b/packages/nuxt/src/core/nuxt.ts @@ -411,6 +411,13 @@ export async function loadNuxt (opts: LoadNuxtOptions): Promise { } } + // Nuxt Webpack Builder is currently opt-in + if (options.builder === '@nuxt/webpack-builder') { + if (!await import('./features').then(r => r.ensurePackageInstalled(options.rootDir, '@nuxt/webpack-builder', options.modulesDir))) { + logger.warn('Failed to install `@nuxt/webpack-builder`, please install it manually, or change the `builder` option to vite in `nuxt.config`') + } + } + // Add core modules options._modules.push(pagesModule, metaModule, componentsModule) options._modules.push([importsModule, { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 317e9f3b841b..41c37b4a5407 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -415,9 +415,6 @@ importers: knitwork: specifier: ^1.0.0 version: 1.0.0 - local-pkg: - specifier: ^0.4.3 - version: 0.4.3 magic-string: specifier: ^0.30.2 version: 0.30.2 @@ -445,6 +442,9 @@ importers: perfect-debounce: specifier: ^1.0.0 version: 1.0.0 + pkg-types: + specifier: ^1.0.3 + version: 1.0.3 prompts: specifier: ^2.4.2 version: 2.4.2 From ffc4e798cd39d57124f11cae688f5d4132d61739 Mon Sep 17 00:00:00 2001 From: Julien Huang Date: Sun, 30 Jul 2023 23:00:41 +0200 Subject: [PATCH 006/147] feat(nuxt): allow remote sources for islands (#21592) --- .../nuxt/src/app/components/nuxt-island.ts | 40 +++++++++++++------ 1 file changed, 27 insertions(+), 13 deletions(-) diff --git a/packages/nuxt/src/app/components/nuxt-island.ts b/packages/nuxt/src/app/components/nuxt-island.ts index c268265d6c51..3f8bfd387667 100644 --- a/packages/nuxt/src/app/components/nuxt-island.ts +++ b/packages/nuxt/src/app/components/nuxt-island.ts @@ -36,12 +36,17 @@ export default defineComponent({ context: { type: Object, default: () => ({}) + }, + source: { + type: String, + default: () => undefined } }, async setup (props, { slots }) { + const error = ref(null) const config = useRuntimeConfig() const nuxtApp = useNuxtApp() - const hashId = computed(() => hash([props.name, props.props, props.context])) + const hashId = computed(() => hash([props.name, props.props, props.context, props.source])) const instance = getCurrentInstance()! const event = useRequestEvent() // TODO: remove use of `$fetch.raw` when nitro 503 issues on windows dev server are resolved @@ -100,7 +105,8 @@ export default defineComponent({ const key = `${props.name}_${hashId.value}` if (nuxtApp.payload.data[key] && !force) { return nuxtApp.payload.data[key] } - const url = `/__nuxt_island/${key}` + const url = props.source ? new URL(`/__nuxt_island/${key}`, props.source).href : `/__nuxt_island/${key}` + if (process.server && process.env.prerender) { // Hint to Nitro to prerender the island component appendResponseHeader(event, 'x-nitro-prerender', url) @@ -130,18 +136,23 @@ export default defineComponent({ delete nuxtApp[pKey]![uid.value] }) } - const res: NuxtIslandResponse = await nuxtApp[pKey][uid.value] - cHead.value.link = res.head.link - cHead.value.style = res.head.style - ssrHTML.value = res.html.replace(UID_ATTR, () => { - return `nuxt-ssr-component-uid="${getId()}"` - }) - key.value++ - if (process.client) { - // must await next tick for Teleport to work correctly with static node re-rendering - await nextTick() + try { + const res: NuxtIslandResponse = await nuxtApp[pKey][uid.value] + cHead.value.link = res.head.link + cHead.value.style = res.head.style + ssrHTML.value = res.html.replace(UID_ATTR, () => { + return `nuxt-ssr-component-uid="${getId()}"` + }) + key.value++ + error.value = null + if (process.client) { + // must await next tick for Teleport to work correctly with static node re-rendering + await nextTick() + } + setUid() + } catch (e) { + error.value = e } - setUid() } if (import.meta.hot) { @@ -160,6 +171,9 @@ export default defineComponent({ } return () => { + if (error.value && slots.fallback) { + return [slots.fallback({ error: error.value })] + } const nodes = [createVNode(Fragment, { key: key.value }, [h(createStaticVNode(html.value, 1))])] From 0f839dd723367ce0181b5497e80e6b8bfd66a673 Mon Sep 17 00:00:00 2001 From: Julien Huang Date: Sun, 30 Jul 2023 23:36:11 +0200 Subject: [PATCH 007/147] feat(nuxt): environment-specific plugin execution for islands (#20726) --- packages/nuxt/src/app/nuxt.ts | 12 ++++++++++++ test/basic.test.ts | 2 +- test/bundle.test.ts | 2 +- .../basic/components/islands/LongAsyncComponent.vue | 5 +++++ test/fixtures/basic/plugins/server-only.server.ts | 12 ++++++++++++ 5 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 test/fixtures/basic/plugins/server-only.server.ts diff --git a/packages/nuxt/src/app/nuxt.ts b/packages/nuxt/src/app/nuxt.ts index 2c0bf250fccf..9a104a161325 100644 --- a/packages/nuxt/src/app/nuxt.ts +++ b/packages/nuxt/src/app/nuxt.ts @@ -155,6 +155,16 @@ export interface PluginMeta { order?: number } +export interface PluginEnvContext { + /** + * This enable the plugin for islands components. + * Require `experimental.componentsIslands`. + * + * @default true + */ + islands?: boolean +} + export interface ResolvedPluginMeta { name?: string parallel?: boolean @@ -169,6 +179,7 @@ export interface Plugin = Record = Record> extends PluginMeta { hooks?: Partial setup?: Plugin + env?: PluginEnvContext /** * Execute plugin in parallel with other parallel plugins. * @@ -318,6 +329,7 @@ export async function applyPlugins (nuxtApp: NuxtApp, plugins: Array[] = [] const errors: Error[] = [] for (const plugin of plugins) { + if (process.server && nuxtApp.ssrContext?.islandContext && plugin.env?.islands === false) { continue } const promise = applyPlugin(nuxtApp, plugin) if (plugin.parallel) { parallels.push(promise.catch(e => errors.push(e))) diff --git a/test/basic.test.ts b/test/basic.test.ts index 03d3df8d30a0..06968d32ab6c 100644 --- a/test/basic.test.ts +++ b/test/basic.test.ts @@ -1649,7 +1649,7 @@ describe('component islands', () => { "link": [], "style": [], }, - "html": "
count is above 2
that was very long ...
3

hello world !!!

fallback slot -- index: 0
fallback slot -- index: 1
fallback slot -- index: 2
fall slot -- index: 0
wonderful fallback
back slot -- index: 1
wonderful fallback
", + "html": "
count is above 2
that was very long ...
3

hello world !!!

fallback slot -- index: 0
fallback slot -- index: 1
fallback slot -- index: 2
fall slot -- index: 0
wonderful fallback
back slot -- index: 1
wonderful fallback
", "state": {}, } `) diff --git a/test/bundle.test.ts b/test/bundle.test.ts index 3c6f55bac69d..2b4c07ba6e92 100644 --- a/test/bundle.test.ts +++ b/test/bundle.test.ts @@ -32,7 +32,7 @@ describe.skipIf(process.env.SKIP_BUNDLE_SIZE === 'true' || process.env.ECOSYSTEM const serverDir = join(rootDir, '.output/server') const serverStats = await analyzeSizes(['**/*.mjs', '!node_modules'], serverDir) - expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot('"64.2k"') + expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot('"64.4k"') const modules = await analyzeSizes('node_modules/**/*', serverDir) expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"2330k"') diff --git a/test/fixtures/basic/components/islands/LongAsyncComponent.vue b/test/fixtures/basic/components/islands/LongAsyncComponent.vue index 59cefd9a0467..dde35da8aa6c 100644 --- a/test/fixtures/basic/components/islands/LongAsyncComponent.vue +++ b/test/fixtures/basic/components/islands/LongAsyncComponent.vue @@ -8,6 +8,7 @@
{{ count }}
+ {{ headers['custom-head'] }}

hello world !!!

@@ -28,8 +29,12 @@ diff --git a/test/fixtures/basic/plugins/server-only.server.ts b/test/fixtures/basic/plugins/server-only.server.ts new file mode 100644 index 000000000000..f205d70ef15f --- /dev/null +++ b/test/fixtures/basic/plugins/server-only.server.ts @@ -0,0 +1,12 @@ +import { setHeader } from 'h3' + +export default defineNuxtPlugin({ + name: 'server-only-plugin', + setup () { + const evt = useRequestEvent() + setHeader(evt, 'custom-head', 'hello') + }, + env: { + islands: false + } +}) From 38d2bb7b9577b10dc17b081e5f5e935b8357ac0e Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Mon, 31 Jul 2023 09:42:42 +0100 Subject: [PATCH 008/147] feat(kit,nuxi): add `writeTypes` utility (#22385) --- packages/kit/src/internal/cjs.ts | 16 ++- packages/kit/src/template.ts | 151 +++++++++++++++++++++++- packages/nuxi/src/commands/build.ts | 6 +- packages/nuxi/src/commands/dev.ts | 6 +- packages/nuxi/src/commands/prepare.ts | 6 +- packages/nuxi/src/commands/typecheck.ts | 7 +- packages/nuxi/src/utils/cjs.ts | 12 +- packages/nuxi/src/utils/prepare.ts | 141 ---------------------- 8 files changed, 176 insertions(+), 169 deletions(-) delete mode 100644 packages/nuxi/src/utils/prepare.ts diff --git a/packages/kit/src/internal/cjs.ts b/packages/kit/src/internal/cjs.ts index fe57f953084b..d15f4cf57439 100644 --- a/packages/kit/src/internal/cjs.ts +++ b/packages/kit/src/internal/cjs.ts @@ -60,15 +60,19 @@ function getRequireCacheItem (id: string) { } } +export function getModulePaths (paths?: string[] | string) { + return ([] as Array).concat( + global.__NUXT_PREPATHS__, + paths || [], + process.cwd(), + global.__NUXT_PATHS__ + ).filter(Boolean) as string[] +} + /** @deprecated Do not use CJS utils */ export function resolveModule (id: string, opts: ResolveModuleOptions = {}) { return normalize(_require.resolve(id, { - paths: ([] as Array).concat( - global.__NUXT_PREPATHS__, - opts.paths || [], - process.cwd(), - global.__NUXT_PATHS__ - ).filter(Boolean) as string[] + paths: getModulePaths(opts.paths) })) } diff --git a/packages/kit/src/template.ts b/packages/kit/src/template.ts index bce72cfd791c..9de92087c984 100644 --- a/packages/kit/src/template.ts +++ b/packages/kit/src/template.ts @@ -1,8 +1,14 @@ -import { existsSync } from 'node:fs' -import { basename, parse, resolve } from 'pathe' +import { existsSync, promises as fsp } from 'node:fs' +import { basename, isAbsolute, join, parse, relative, resolve } from 'pathe' import hash from 'hash-sum' -import type { NuxtTemplate, ResolvedNuxtTemplate } from '@nuxt/schema' +import type { Nuxt, NuxtTemplate, ResolvedNuxtTemplate, TSReference } from '@nuxt/schema' +import { withTrailingSlash } from 'ufo' +import { defu } from 'defu' +import type { TSConfig } from 'pkg-types' +import { readPackageJSON } from 'pkg-types' + import { tryUseNuxt, useNuxt } from './context' +import { getModulePaths } from './internal/cjs' /** * Renders given template using lodash template during build into the project buildDir @@ -101,3 +107,142 @@ export function normalizeTemplate (template: NuxtTemplate | string): Resolv export async function updateTemplates (options?: { filter?: (template: ResolvedNuxtTemplate) => boolean }) { return await tryUseNuxt()?.hooks.callHook('builder:generateApp', options) } +export async function writeTypes (nuxt: Nuxt) { + const modulePaths = getModulePaths(nuxt.options.modulesDir) + + const rootDirWithSlash = withTrailingSlash(nuxt.options.rootDir) + + const tsConfig: TSConfig = defu(nuxt.options.typescript?.tsConfig, { + compilerOptions: { + forceConsistentCasingInFileNames: true, + jsx: 'preserve', + target: 'ESNext', + module: 'ESNext', + moduleResolution: nuxt.options.experimental?.typescriptBundlerResolution ? 'Bundler' : 'Node', + skipLibCheck: true, + strict: nuxt.options.typescript?.strict ?? true, + allowJs: true, + // TODO: remove by default in 3.7 + baseUrl: nuxt.options.srcDir, + noEmit: true, + resolveJsonModule: true, + allowSyntheticDefaultImports: true, + types: ['node'], + paths: {} + }, + include: [ + './nuxt.d.ts', + join(relative(nuxt.options.buildDir, nuxt.options.rootDir), '**/*'), + ...nuxt.options.srcDir !== nuxt.options.rootDir ? [join(relative(nuxt.options.buildDir, nuxt.options.srcDir), '**/*')] : [], + ...nuxt.options._layers.map(layer => layer.config.srcDir ?? layer.cwd) + .filter(srcOrCwd => !srcOrCwd.startsWith(rootDirWithSlash) || srcOrCwd.includes('node_modules')) + .map(srcOrCwd => join(relative(nuxt.options.buildDir, srcOrCwd), '**/*')), + ...nuxt.options.typescript.includeWorkspace && nuxt.options.workspaceDir !== nuxt.options.rootDir ? [join(relative(nuxt.options.buildDir, nuxt.options.workspaceDir), '**/*')] : [] + ], + exclude: [ + ...nuxt.options.modulesDir.map(m => relative(nuxt.options.buildDir, m)), + // nitro generate output: https://github.com/nuxt/nuxt/blob/main/packages/nuxt/src/core/nitro.ts#L186 + relative(nuxt.options.buildDir, resolve(nuxt.options.rootDir, 'dist')) + ] + } satisfies TSConfig) + + const aliases: Record = { + ...nuxt.options.alias, + '#build': nuxt.options.buildDir + } + + // Exclude bridge alias types to support Volar + const excludedAlias = [/^@vue\/.*$/] + + const basePath = tsConfig.compilerOptions!.baseUrl ? resolve(nuxt.options.buildDir, tsConfig.compilerOptions!.baseUrl) : nuxt.options.buildDir + + tsConfig.compilerOptions = tsConfig.compilerOptions || {} + tsConfig.include = tsConfig.include || [] + + for (const alias in aliases) { + if (excludedAlias.some(re => re.test(alias))) { + continue + } + const absolutePath = resolve(basePath, aliases[alias]) + const relativePath = relative(nuxt.options.buildDir, absolutePath) + + const stats = await fsp.stat(absolutePath).catch(() => null /* file does not exist */) + if (stats?.isDirectory()) { + tsConfig.compilerOptions.paths[alias] = [absolutePath] + tsConfig.compilerOptions.paths[`${alias}/*`] = [`${absolutePath}/*`] + + if (!absolutePath.startsWith(rootDirWithSlash)) { + tsConfig.include.push(relativePath) + } + } else { + const path = stats?.isFile() + ? absolutePath.replace(/(?<=\w)\.\w+$/g, '') /* remove extension */ + : absolutePath + + tsConfig.compilerOptions.paths[alias] = [path] + + if (!absolutePath.startsWith(rootDirWithSlash)) { + tsConfig.include.push(path) + } + } + } + + const references: TSReference[] = await Promise.all([ + ...nuxt.options.modules, + ...nuxt.options._modules + ] + .filter(f => typeof f === 'string') + .map(async id => ({ types: (await readPackageJSON(id, { url: modulePaths }).catch(() => null))?.name || id }))) + + if (nuxt.options.experimental?.reactivityTransform) { + references.push({ types: 'vue/macros-global' }) + } + + const declarations: string[] = [] + + tsConfig.include = [...new Set(tsConfig.include)] + tsConfig.exclude = [...new Set(tsConfig.exclude)] + + await nuxt.callHook('prepare:types', { references, declarations, tsConfig }) + + const declaration = [ + ...references.map((ref) => { + if ('path' in ref && isAbsolute(ref.path)) { + ref.path = relative(nuxt.options.buildDir, ref.path) + } + return `/// ` + }), + ...declarations, + '', + 'export {}', + '' + ].join('\n') + + async function writeFile () { + const GeneratedBy = '// Generated by nuxi' + + const tsConfigPath = resolve(nuxt.options.buildDir, 'tsconfig.json') + await fsp.mkdir(nuxt.options.buildDir, { recursive: true }) + await fsp.writeFile(tsConfigPath, GeneratedBy + '\n' + JSON.stringify(tsConfig, null, 2)) + + const declarationPath = resolve(nuxt.options.buildDir, 'nuxt.d.ts') + await fsp.writeFile(declarationPath, GeneratedBy + '\n' + declaration) + } + + // This is needed for Nuxt 2 which clears the build directory again before building + // https://github.com/nuxt/nuxt/blob/2.x/packages/builder/src/builder.js#L144 + // @ts-expect-error TODO: Nuxt 2 hook + const unsub = nuxt.hook('builder:prepared', writeFile) + + await writeFile() + + unsub() +} + +function renderAttrs (obj: Record) { + return Object.entries(obj).map(e => renderAttr(e[0], e[1])).join(' ') +} + +function renderAttr (key: string, value: string) { + return value ? `${key}="${value}"` : '' +} diff --git a/packages/nuxi/src/commands/build.ts b/packages/nuxi/src/commands/build.ts index f4a9793b19ca..e87a22f54635 100644 --- a/packages/nuxi/src/commands/build.ts +++ b/packages/nuxi/src/commands/build.ts @@ -1,6 +1,8 @@ import { relative, resolve } from 'pathe' import { consola } from 'consola' -import { writeTypes } from '../utils/prepare' + +// we are deliberately inlining this code as a backup in case user has `@nuxt/schema<3.7` +import { writeTypes as writeTypesLegacy } from '../../../kit/src/template' import { loadKit } from '../utils/kit' import { clearBuildDir } from '../utils/fs' import { overrideEnv } from '../utils/env' @@ -19,7 +21,7 @@ export default defineNuxtCommand({ const rootDir = resolve(args._[0] || '.') showVersions(rootDir) - const { loadNuxt, buildNuxt, useNitro } = await loadKit(rootDir) + const { loadNuxt, buildNuxt, useNitro, writeTypes = writeTypesLegacy } = await loadKit(rootDir) const nuxt = await loadNuxt({ rootDir, diff --git a/packages/nuxi/src/commands/dev.ts b/packages/nuxi/src/commands/dev.ts index 9da83dc68541..d979872066fb 100644 --- a/packages/nuxi/src/commands/dev.ts +++ b/packages/nuxi/src/commands/dev.ts @@ -7,8 +7,10 @@ import type { Nuxt } from '@nuxt/schema' import { consola } from 'consola' import { withTrailingSlash } from 'ufo' import { setupDotenv } from 'c12' + +// we are deliberately inlining this code as a backup in case user has `@nuxt/schema<3.7` +import { writeTypes as writeTypesLegacy } from '../../../kit/src/template' import { showBanner, showVersions } from '../utils/banner' -import { writeTypes } from '../utils/prepare' import { loadKit } from '../utils/kit' import { importModule } from '../utils/esm' import { overrideEnv } from '../utils/env' @@ -30,7 +32,7 @@ export default defineNuxtCommand({ await setupDotenv({ cwd: rootDir, fileName: args.dotenv }) - const { loadNuxt, loadNuxtConfig, buildNuxt } = await loadKit(rootDir) + const { loadNuxt, loadNuxtConfig, buildNuxt, writeTypes = writeTypesLegacy } = await loadKit(rootDir) const config = await loadNuxtConfig({ cwd: rootDir, diff --git a/packages/nuxi/src/commands/prepare.ts b/packages/nuxi/src/commands/prepare.ts index 026df3899332..dfec71e16e76 100644 --- a/packages/nuxi/src/commands/prepare.ts +++ b/packages/nuxi/src/commands/prepare.ts @@ -1,8 +1,10 @@ import { relative, resolve } from 'pathe' import { consola } from 'consola' + +// we are deliberately inlining this code as a backup in case user has `@nuxt/schema<3.7` +import { writeTypes as writeTypesLegacy } from '../../../kit/src/template' import { clearBuildDir } from '../utils/fs' import { loadKit } from '../utils/kit' -import { writeTypes } from '../utils/prepare' import { defineNuxtCommand } from './index' export default defineNuxtCommand({ @@ -15,7 +17,7 @@ export default defineNuxtCommand({ process.env.NODE_ENV = process.env.NODE_ENV || 'production' const rootDir = resolve(args._[0] || '.') - const { loadNuxt, buildNuxt } = await loadKit(rootDir) + const { loadNuxt, buildNuxt, writeTypes = writeTypesLegacy } = await loadKit(rootDir) const nuxt = await loadNuxt({ rootDir, overrides: { diff --git a/packages/nuxi/src/commands/typecheck.ts b/packages/nuxi/src/commands/typecheck.ts index aa21e7d1e175..ee5a28ab56e5 100644 --- a/packages/nuxi/src/commands/typecheck.ts +++ b/packages/nuxi/src/commands/typecheck.ts @@ -1,9 +1,10 @@ import { execa } from 'execa' import { resolve } from 'pathe' -import { tryResolveModule } from '../utils/esm' +// we are deliberately inlining this code as a backup in case user has `@nuxt/schema<3.7` +import { writeTypes as writeTypesLegacy } from '../../../kit/src/template' +import { tryResolveModule } from '../utils/esm' import { loadKit } from '../utils/kit' -import { writeTypes } from '../utils/prepare' import { defineNuxtCommand } from './index' export default defineNuxtCommand({ @@ -16,7 +17,7 @@ export default defineNuxtCommand({ process.env.NODE_ENV = process.env.NODE_ENV || 'production' const rootDir = resolve(args._[0] || '.') - const { loadNuxt, buildNuxt } = await loadKit(rootDir) + const { loadNuxt, buildNuxt, writeTypes = writeTypesLegacy } = await loadKit(rootDir) const nuxt = await loadNuxt({ rootDir, overrides: { diff --git a/packages/nuxi/src/utils/cjs.ts b/packages/nuxi/src/utils/cjs.ts index a8fefc11df22..1f9c1125a073 100644 --- a/packages/nuxi/src/utils/cjs.ts +++ b/packages/nuxi/src/utils/cjs.ts @@ -1,7 +1,7 @@ import { createRequire } from 'node:module' -import { dirname, normalize } from 'pathe' +import { normalize } from 'pathe' -export function getModulePaths (paths?: string | string[]): string[] { +function getModulePaths (paths?: string | string[]): string[] { return ([] as Array) .concat( global.__NUXT_PREPATHS__, @@ -25,11 +25,3 @@ function requireModule (id: string, paths?: string | string[]) { export function tryRequireModule (id: string, paths?: string | string[]) { try { return requireModule(id, paths) } catch { return null } } - -export function getNearestPackage (id: string, paths?: string | string[]) { - while (dirname(id) !== id) { - try { return requireModule(id + '/package.json', paths) } catch {} - id = dirname(id) - } - return null -} diff --git a/packages/nuxi/src/utils/prepare.ts b/packages/nuxi/src/utils/prepare.ts deleted file mode 100644 index bdcb64fda687..000000000000 --- a/packages/nuxi/src/utils/prepare.ts +++ /dev/null @@ -1,141 +0,0 @@ -import { promises as fsp } from 'node:fs' -import { isAbsolute, join, relative, resolve } from 'pathe' -import type { Nuxt, TSReference } from '@nuxt/schema' -import { defu } from 'defu' -import type { TSConfig } from 'pkg-types' -import { withTrailingSlash } from 'ufo' -import { getModulePaths, getNearestPackage } from './cjs' - -export const writeTypes = async (nuxt: Nuxt) => { - const modulePaths = getModulePaths(nuxt.options.modulesDir) - - const rootDirWithSlash = withTrailingSlash(nuxt.options.rootDir) - - const tsConfig: TSConfig = defu(nuxt.options.typescript?.tsConfig, { - compilerOptions: { - forceConsistentCasingInFileNames: true, - jsx: 'preserve', - target: 'ESNext', - module: 'ESNext', - moduleResolution: nuxt.options.experimental?.typescriptBundlerResolution ? 'Bundler' : 'Node', - skipLibCheck: true, - strict: nuxt.options.typescript?.strict ?? true, - allowJs: true, - // TODO: remove by default in 3.7 - baseUrl: nuxt.options.srcDir, - noEmit: true, - resolveJsonModule: true, - allowSyntheticDefaultImports: true, - types: ['node'], - paths: {} - }, - include: [ - './nuxt.d.ts', - join(relative(nuxt.options.buildDir, nuxt.options.rootDir), '**/*'), - ...nuxt.options.srcDir !== nuxt.options.rootDir ? [join(relative(nuxt.options.buildDir, nuxt.options.srcDir), '**/*')] : [], - ...nuxt.options._layers.map(layer => layer.config.srcDir ?? layer.cwd) - .filter(srcOrCwd => !srcOrCwd.startsWith(rootDirWithSlash) || srcOrCwd.includes('node_modules')) - .map(srcOrCwd => join(relative(nuxt.options.buildDir, srcOrCwd), '**/*')), - ...nuxt.options.typescript.includeWorkspace && nuxt.options.workspaceDir !== nuxt.options.rootDir ? [join(relative(nuxt.options.buildDir, nuxt.options.workspaceDir), '**/*')] : [] - ], - exclude: [ - // nitro generate output: https://github.com/nuxt/nuxt/blob/main/packages/nuxt/src/core/nitro.ts#L186 - relative(nuxt.options.buildDir, resolve(nuxt.options.rootDir, 'dist')) - ] - } satisfies TSConfig) - - const aliases: Record = { - ...nuxt.options.alias, - '#build': nuxt.options.buildDir - } - - // Exclude bridge alias types to support Volar - const excludedAlias = [/^@vue\/.*$/] - - const basePath = tsConfig.compilerOptions!.baseUrl ? resolve(nuxt.options.buildDir, tsConfig.compilerOptions!.baseUrl) : nuxt.options.buildDir - - tsConfig.compilerOptions = tsConfig.compilerOptions || {} - tsConfig.include = tsConfig.include || [] - - for (const alias in aliases) { - if (excludedAlias.some(re => re.test(alias))) { - continue - } - const absolutePath = resolve(basePath, aliases[alias]) - - const stats = await fsp.stat(absolutePath).catch(() => null /* file does not exist */) - if (stats?.isDirectory()) { - tsConfig.compilerOptions.paths[alias] = [absolutePath] - tsConfig.compilerOptions.paths[`${alias}/*`] = [`${absolutePath}/*`] - - if (!absolutePath.startsWith(rootDirWithSlash)) { - tsConfig.include.push(absolutePath) - tsConfig.include.push(`${absolutePath}/*`) - } - } else { - const path = stats?.isFile() - ? absolutePath.replace(/(?<=\w)\.\w+$/g, '') /* remove extension */ - : absolutePath - - tsConfig.compilerOptions.paths[alias] = [path] - - if (!absolutePath.startsWith(rootDirWithSlash)) { - tsConfig.include.push(path) - } - } - } - - const references: TSReference[] = [ - ...nuxt.options.modules, - ...nuxt.options._modules - ] - .filter(f => typeof f === 'string') - .map(id => ({ types: getNearestPackage(id, modulePaths)?.name || id })) - - if (nuxt.options.experimental?.reactivityTransform) { - references.push({ types: 'vue/macros-global' }) - } - - const declarations: string[] = [] - - await nuxt.callHook('prepare:types', { references, declarations, tsConfig }) - - const declaration = [ - ...references.map((ref) => { - if ('path' in ref && isAbsolute(ref.path)) { - ref.path = relative(nuxt.options.buildDir, ref.path) - } - return `/// ` - }), - ...declarations, - '', - 'export {}', - '' - ].join('\n') - - async function writeFile () { - const GeneratedBy = '// Generated by nuxi' - - const tsConfigPath = resolve(nuxt.options.buildDir, 'tsconfig.json') - await fsp.mkdir(nuxt.options.buildDir, { recursive: true }) - await fsp.writeFile(tsConfigPath, GeneratedBy + '\n' + JSON.stringify(tsConfig, null, 2)) - - const declarationPath = resolve(nuxt.options.buildDir, 'nuxt.d.ts') - await fsp.writeFile(declarationPath, GeneratedBy + '\n' + declaration) - } - - // This is needed for Nuxt 2 which clears the build directory again before building - // https://github.com/nuxt/nuxt/blob/2.x/packages/builder/src/builder.js#L144 - // @ts-expect-error TODO: Nuxt 2 hook - nuxt.hook('builder:prepared', writeFile) - - await writeFile() -} - -function renderAttrs (obj: Record) { - return Object.entries(obj).map(e => renderAttr(e[0], e[1])).join(' ') -} - -function renderAttr (key: string, value: string) { - return value ? `${key}="${value}"` : '' -} From 0991e885fd7cbfeee53df9e0078fd7178b759bef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Damian=20G=C5=82owala?= <48835293+DamianGlowala@users.noreply.github.com> Date: Mon, 31 Jul 2023 10:50:55 +0200 Subject: [PATCH 009/147] feat(nuxt): autocomplete layouts in `setPageLayout`/`` (#22362) --- packages/nuxt/src/app/components/layout.ts | 152 +---------------- .../nuxt/src/app/components/nuxt-layout.ts | 153 ++++++++++++++++++ packages/nuxt/src/app/composables/router.ts | 2 +- packages/nuxt/src/core/nuxt.ts | 2 +- packages/nuxt/src/pages/module.ts | 4 +- 5 files changed, 159 insertions(+), 154 deletions(-) create mode 100644 packages/nuxt/src/app/components/nuxt-layout.ts diff --git a/packages/nuxt/src/app/components/layout.ts b/packages/nuxt/src/app/components/layout.ts index bb1b149265e3..b88def1a9434 100644 --- a/packages/nuxt/src/app/components/layout.ts +++ b/packages/nuxt/src/app/components/layout.ts @@ -1,150 +1,2 @@ -import type { Ref, VNode } from 'vue' -import { Suspense, Transition, computed, defineComponent, h, inject, mergeProps, nextTick, onMounted, provide, ref, unref } from 'vue' -import type { RouteLocationNormalizedLoaded } from 'vue-router' -import { _wrapIf } from './utils' -import { LayoutMetaSymbol, PageRouteSymbol } from './injections' - -import { useRoute } from '#app/composables/router' -// @ts-expect-error virtual file -import { useRoute as useVueRouterRoute } from '#build/pages' -// @ts-expect-error virtual file -import layouts from '#build/layouts' -// @ts-expect-error virtual file -import { appLayoutTransition as defaultLayoutTransition } from '#build/nuxt.config.mjs' -import { useNuxtApp } from '#app' - -// TODO: revert back to defineAsyncComponent when https://github.com/vuejs/core/issues/6638 is resolved -const LayoutLoader = defineComponent({ - name: 'LayoutLoader', - inheritAttrs: false, - props: { - name: String, - layoutProps: Object - }, - async setup (props, context) { - const LayoutComponent = await layouts[props.name]().then((r: any) => r.default || r) - - return () => h(LayoutComponent, props.layoutProps, context.slots) - } -}) - -export default defineComponent({ - name: 'NuxtLayout', - inheritAttrs: false, - props: { - name: { - type: [String, Boolean, Object] as unknown as () => string | false | Ref, - default: null - } - }, - setup (props, context) { - const nuxtApp = useNuxtApp() - // Need to ensure (if we are not a child of ``) that we use synchronous route (not deferred) - const injectedRoute = inject(PageRouteSymbol) - const route = injectedRoute === useRoute() ? useVueRouterRoute() : injectedRoute - - const layout = computed(() => unref(props.name) ?? route.meta.layout as string ?? 'default') - - const layoutRef = ref() - context.expose({ layoutRef }) - - const done = nuxtApp.deferHydration() - - return () => { - const hasLayout = layout.value && layout.value in layouts - if (process.dev && layout.value && !hasLayout && layout.value !== 'default') { - console.warn(`Invalid layout \`${layout.value}\` selected.`) - } - - const transitionProps = route.meta.layoutTransition ?? defaultLayoutTransition - - // We avoid rendering layout transition if there is no layout to render - return _wrapIf(Transition, hasLayout && transitionProps, { - default: () => h(Suspense, { suspensible: true, onResolve: () => { nextTick(done) } }, { - default: () => h( - // @ts-expect-error seems to be an issue in vue types - LayoutProvider, - { - layoutProps: mergeProps(context.attrs, { ref: layoutRef }), - key: layout.value, - name: layout.value, - shouldProvide: !props.name, - hasTransition: !!transitionProps - }, context.slots) - }) - }).default() - } - } -}) - -const LayoutProvider = defineComponent({ - name: 'NuxtLayoutProvider', - inheritAttrs: false, - props: { - name: { - type: [String, Boolean] - }, - layoutProps: { - type: Object - }, - hasTransition: { - type: Boolean - }, - shouldProvide: { - type: Boolean - } - }, - setup (props, context) { - // Prevent reactivity when the page will be rerendered in a different suspense fork - // eslint-disable-next-line vue/no-setup-props-destructure - const name = props.name - if (props.shouldProvide) { - provide(LayoutMetaSymbol, { - isCurrent: (route: RouteLocationNormalizedLoaded) => name === (route.meta.layout ?? 'default') - }) - } - - let vnode: VNode | undefined - if (process.dev && process.client) { - onMounted(() => { - nextTick(() => { - if (['#comment', '#text'].includes(vnode?.el?.nodeName)) { - if (name) { - console.warn(`[nuxt] \`${name}\` layout does not have a single root node and will cause errors when navigating between routes.`) - } else { - console.warn('[nuxt] `` needs to be passed a single root node in its default slot.') - } - } - }) - }) - } - - return () => { - if (!name || (typeof name === 'string' && !(name in layouts))) { - if (process.dev && process.client && props.hasTransition) { - vnode = context.slots.default?.() as VNode | undefined - return vnode - } - return context.slots.default?.() - } - - if (process.dev && process.client && props.hasTransition) { - vnode = h( - // @ts-expect-error seems to be an issue in vue types - LayoutLoader, - { key: name, layoutProps: props.layoutProps, name }, - context.slots - ) - - return vnode - } - - return h( - // @ts-expect-error seems to be an issue in vue types - LayoutLoader, - { key: name, layoutProps: props.layoutProps, name }, - context.slots - ) - } - } -}) +// TODO: remove in 4.x +export { default } from './nuxt-layout' diff --git a/packages/nuxt/src/app/components/nuxt-layout.ts b/packages/nuxt/src/app/components/nuxt-layout.ts new file mode 100644 index 000000000000..b18cc84a3870 --- /dev/null +++ b/packages/nuxt/src/app/components/nuxt-layout.ts @@ -0,0 +1,153 @@ +import type { DefineComponent, MaybeRef, VNode } from 'vue' +import { Suspense, Transition, computed, defineComponent, h, inject, mergeProps, nextTick, onMounted, provide, ref, unref } from 'vue' +import type { RouteLocationNormalizedLoaded } from 'vue-router' +import { _wrapIf } from './utils' +import { LayoutMetaSymbol, PageRouteSymbol } from './injections' +import type { PageMeta } from '#app' + +import { useRoute } from '#app/composables/router' +import { useNuxtApp } from '#app/nuxt' +// @ts-expect-error virtual file +import { useRoute as useVueRouterRoute } from '#build/pages' +// @ts-expect-error virtual file +import layouts from '#build/layouts' +// @ts-expect-error virtual file +import { appLayoutTransition as defaultLayoutTransition } from '#build/nuxt.config.mjs' + +// TODO: revert back to defineAsyncComponent when https://github.com/vuejs/core/issues/6638 is resolved +const LayoutLoader = defineComponent({ + name: 'LayoutLoader', + inheritAttrs: false, + props: { + name: String, + layoutProps: Object + }, + async setup (props, context) { + const LayoutComponent = await layouts[props.name]().then((r: any) => r.default || r) + + return () => h(LayoutComponent, props.layoutProps, context.slots) + } +}) + +export default defineComponent({ + name: 'NuxtLayout', + inheritAttrs: false, + props: { + name: { + type: [String, Boolean, Object] as unknown as () => unknown extends PageMeta['layout'] ? MaybeRef : PageMeta['layout'], + default: null + } + }, + setup (props, context) { + const nuxtApp = useNuxtApp() + // Need to ensure (if we are not a child of ``) that we use synchronous route (not deferred) + const injectedRoute = inject(PageRouteSymbol) + const route = injectedRoute === useRoute() ? useVueRouterRoute() : injectedRoute + + const layout = computed(() => unref(props.name) ?? route.meta.layout as string ?? 'default') + + const layoutRef = ref() + context.expose({ layoutRef }) + + const done = nuxtApp.deferHydration() + + return () => { + const hasLayout = layout.value && layout.value in layouts + if (process.dev && layout.value && !hasLayout && layout.value !== 'default') { + console.warn(`Invalid layout \`${layout.value}\` selected.`) + } + + const transitionProps = route.meta.layoutTransition ?? defaultLayoutTransition + + // We avoid rendering layout transition if there is no layout to render + return _wrapIf(Transition, hasLayout && transitionProps, { + default: () => h(Suspense, { suspensible: true, onResolve: () => { nextTick(done) } }, { + default: () => h( + // @ts-expect-error seems to be an issue in vue types + LayoutProvider, + { + layoutProps: mergeProps(context.attrs, { ref: layoutRef }), + key: layout.value, + name: layout.value, + shouldProvide: !props.name, + hasTransition: !!transitionProps + }, context.slots) + }) + }).default() + } + } +}) as unknown as DefineComponent<{ + name: unknown extends PageMeta['layout'] ? MaybeRef : PageMeta['layout'] +}> + +const LayoutProvider = defineComponent({ + name: 'NuxtLayoutProvider', + inheritAttrs: false, + props: { + name: { + type: [String, Boolean] + }, + layoutProps: { + type: Object + }, + hasTransition: { + type: Boolean + }, + shouldProvide: { + type: Boolean + } + }, + setup (props, context) { + // Prevent reactivity when the page will be rerendered in a different suspense fork + // eslint-disable-next-line vue/no-setup-props-destructure + const name = props.name + if (props.shouldProvide) { + provide(LayoutMetaSymbol, { + isCurrent: (route: RouteLocationNormalizedLoaded) => name === (route.meta.layout ?? 'default') + }) + } + + let vnode: VNode | undefined + if (process.dev && process.client) { + onMounted(() => { + nextTick(() => { + if (['#comment', '#text'].includes(vnode?.el?.nodeName)) { + if (name) { + console.warn(`[nuxt] \`${name}\` layout does not have a single root node and will cause errors when navigating between routes.`) + } else { + console.warn('[nuxt] `` needs to be passed a single root node in its default slot.') + } + } + }) + }) + } + + return () => { + if (!name || (typeof name === 'string' && !(name in layouts))) { + if (process.dev && process.client && props.hasTransition) { + vnode = context.slots.default?.() as VNode | undefined + return vnode + } + return context.slots.default?.() + } + + if (process.dev && process.client && props.hasTransition) { + vnode = h( + // @ts-expect-error seems to be an issue in vue types + LayoutLoader, + { key: name, layoutProps: props.layoutProps, name }, + context.slots + ) + + return vnode + } + + return h( + // @ts-expect-error seems to be an issue in vue types + LayoutLoader, + { key: name, layoutProps: props.layoutProps, name }, + context.slots + ) + } + } +}) diff --git a/packages/nuxt/src/app/composables/router.ts b/packages/nuxt/src/app/composables/router.ts index 905ffe63a8bf..126381ce496e 100644 --- a/packages/nuxt/src/app/composables/router.ts +++ b/packages/nuxt/src/app/composables/router.ts @@ -221,7 +221,7 @@ export const abortNavigation = (err?: string | Partial) => { throw err } -export const setPageLayout = (layout: string) => { +export const setPageLayout = (layout: unknown extends PageMeta['layout'] ? string : PageMeta['layout']) => { if (process.server) { if (process.dev && getCurrentInstance() && useState('_layout').value !== layout) { console.warn('[warn] [nuxt] `setPageLayout` should not be called to change the layout on the server within a component as this will cause hydration errors.') diff --git a/packages/nuxt/src/core/nuxt.ts b/packages/nuxt/src/core/nuxt.ts index 2588a1949cc7..110b60655b3b 100644 --- a/packages/nuxt/src/core/nuxt.ts +++ b/packages/nuxt/src/core/nuxt.ts @@ -200,7 +200,7 @@ async function initNuxt (nuxt: Nuxt) { addComponent({ name: 'NuxtLayout', priority: 10, // built-in that we do not expect the user to override - filePath: resolve(nuxt.options.appDir, 'components/layout') + filePath: resolve(nuxt.options.appDir, 'components/nuxt-layout') }) // Add diff --git a/packages/nuxt/src/pages/module.ts b/packages/nuxt/src/pages/module.ts index 6cd94aded2c6..dd56da61fb7d 100644 --- a/packages/nuxt/src/pages/module.ts +++ b/packages/nuxt/src/pages/module.ts @@ -353,11 +353,11 @@ export default defineNuxtModule({ getContents: ({ app }: { app: NuxtApp }) => { const composablesFile = resolve(runtimeDir, 'composables') return [ - 'import { ComputedRef, Ref } from \'vue\'', + 'import { ComputedRef, MaybeRef } from \'vue\'', `export type LayoutKey = ${Object.keys(app.layouts).map(name => genString(name)).join(' | ') || 'string'}`, `declare module ${genString(composablesFile)} {`, ' interface PageMeta {', - ' layout?: false | LayoutKey | Ref | ComputedRef', + ' layout?: MaybeRef | ComputedRef', ' }', '}' ].join('\n') From 5926bbeff84362015acb134b886d64d646c270ef Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Mon, 31 Jul 2023 09:51:09 +0100 Subject: [PATCH 010/147] feat(nuxt): allow 'lazy' (non-blocking) server components (#21918) --- .../nuxt/src/app/components/nuxt-island.ts | 14 ++++--- .../components/runtime/server-component.ts | 4 +- test/basic.test.ts | 37 +++++++++++++++++++ .../pages/server-components/lazy/end.vue | 26 +++++++++++++ .../pages/server-components/lazy/start.vue | 10 +++++ 5 files changed, 84 insertions(+), 7 deletions(-) create mode 100644 test/fixtures/basic/pages/server-components/lazy/end.vue create mode 100644 test/fixtures/basic/pages/server-components/lazy/start.vue diff --git a/packages/nuxt/src/app/components/nuxt-island.ts b/packages/nuxt/src/app/components/nuxt-island.ts index 3f8bfd387667..e2990cfed6f5 100644 --- a/packages/nuxt/src/app/components/nuxt-island.ts +++ b/packages/nuxt/src/app/components/nuxt-island.ts @@ -29,6 +29,7 @@ export default defineComponent({ type: String, required: true }, + lazy: Boolean, props: { type: Object, default: () => undefined @@ -66,7 +67,7 @@ export default defineComponent({ } } - const ssrHTML = ref('
') + const ssrHTML = ref('') if (process.client) { const renderedHTML = getFragmentHTML(instance.vnode?.el ?? null).join('') if (renderedHTML && nuxtApp.isHydrating) { @@ -79,7 +80,7 @@ export default defineComponent({ } }) } - ssrHTML.value = renderedHTML ?? '
' + ssrHTML.value = renderedHTML } const slotProps = computed(() => getSlotProps(ssrHTML.value)) const uid = ref(ssrHTML.value.match(SSR_UID_RE)?.[1] ?? randomUUID()) @@ -165,18 +166,19 @@ export default defineComponent({ watch(props, debounce(() => fetchComponent(), 100)) } - // TODO: allow lazy loading server islands - if (process.server || !nuxtApp.isHydrating) { + if (process.client && !nuxtApp.isHydrating && props.lazy) { + fetchComponent() + } else if (process.server || !nuxtApp.isHydrating) { await fetchComponent() } return () => { - if (error.value && slots.fallback) { + if ((!html.value || error.value) && slots.fallback) { return [slots.fallback({ error: error.value })] } const nodes = [createVNode(Fragment, { key: key.value - }, [h(createStaticVNode(html.value, 1))])] + }, [h(createStaticVNode(html.value || '
', 1))])] if (uid.value && (mounted.value || nuxtApp.isHydrating || process.server)) { for (const slot in slots) { if (availableSlots.value.includes(slot)) { diff --git a/packages/nuxt/src/components/runtime/server-component.ts b/packages/nuxt/src/components/runtime/server-component.ts index 4dcfa8cce502..777204209e91 100644 --- a/packages/nuxt/src/components/runtime/server-component.ts +++ b/packages/nuxt/src/components/runtime/server-component.ts @@ -5,9 +5,11 @@ export const createServerComponent = (name: string) => { return defineComponent({ name, inheritAttrs: false, - setup (_props, { attrs, slots }) { + props: { lazy: Boolean }, + setup (props, { attrs, slots }) { return () => h(NuxtIsland, { name, + lazy: props.lazy, props: attrs }, slots) } diff --git a/test/basic.test.ts b/test/basic.test.ts index 06968d32ab6c..879bc8c88680 100644 --- a/test/basic.test.ts +++ b/test/basic.test.ts @@ -1419,6 +1419,43 @@ describe('server components/islands', () => { await page.close() }) + it('lazy server components', async () => { + const page = await createPage('/server-components/lazy/start') + await page.waitForLoadState('networkidle') + await page.getByText('Go to page with lazy server component').click() + + const text = await page.innerText('pre') + expect(text).toMatchInlineSnapshot('" End page
Loading server component
"') + expect(text).not.toContain('async component that was very long') + expect(text).toContain('Loading server component') + + // Wait for all pending micro ticks to be cleared + // await page.waitForLoadState('networkidle') + // await page.evaluate(() => new Promise(resolve => setTimeout(resolve, 10))) + await page.waitForFunction(() => (document.querySelector('#no-fallback') as HTMLElement)?.innerText?.includes('async component')) + await page.waitForFunction(() => (document.querySelector('#fallback') as HTMLElement)?.innerText?.includes('async component')) + + await page.close() + }) + + it('non-lazy server components', async () => { + const page = await createPage('/server-components/lazy/start') + await page.waitForLoadState('networkidle') + await page.getByText('Go to page without lazy server component').click() + + const text = await page.innerText('pre') + expect(text).toMatchInlineSnapshot('" End page
This is a .server (20ms) async component that was very long ...
42
This is a .server (20ms) async component that was very long ...
42
"') + expect(text).toContain('async component that was very long') + + // Wait for all pending micro ticks to be cleared + // await page.waitForLoadState('networkidle') + // await page.evaluate(() => new Promise(resolve => setTimeout(resolve, 10))) + await page.waitForFunction(() => (document.querySelector('#no-fallback') as HTMLElement)?.innerText?.includes('async component')) + await page.waitForFunction(() => (document.querySelector('#fallback') as HTMLElement)?.innerText?.includes('async component')) + + await page.close() + }) + it.skipIf(isDev)('should allow server-only components to set prerender hints', async () => { // @ts-expect-error ssssh! untyped secret property const publicDir = useTestContext().nuxt._nitro.options.output.publicDir diff --git a/test/fixtures/basic/pages/server-components/lazy/end.vue b/test/fixtures/basic/pages/server-components/lazy/end.vue new file mode 100644 index 000000000000..7009c1e7acab --- /dev/null +++ b/test/fixtures/basic/pages/server-components/lazy/end.vue @@ -0,0 +1,26 @@ + + + diff --git a/test/fixtures/basic/pages/server-components/lazy/start.vue b/test/fixtures/basic/pages/server-components/lazy/start.vue new file mode 100644 index 000000000000..a14cf6eada33 --- /dev/null +++ b/test/fixtures/basic/pages/server-components/lazy/start.vue @@ -0,0 +1,10 @@ + From 5edf00f069919d8ff6707dec03277a61983d550c Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Mon, 31 Jul 2023 11:22:24 +0100 Subject: [PATCH 011/147] chore: update codesandbox links --- .github/ISSUE_TEMPLATE/bug-report.yml | 2 +- .github/ISSUE_TEMPLATE/z-bug-report-2.yml | 2 +- docs/5.community/3.reporting-bugs.md | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug-report.yml b/.github/ISSUE_TEMPLATE/bug-report.yml index bbea7f97464b..adb2612a93f5 100644 --- a/.github/ISSUE_TEMPLATE/bug-report.yml +++ b/.github/ISSUE_TEMPLATE/bug-report.yml @@ -10,7 +10,7 @@ body: Please use a template below to create a minimal reproduction 👉 https://stackblitz.com/github/nuxt/starter/tree/v3-stackblitz - 👉 https://codesandbox.io/p/github/nuxt/starter/v3-codesandbox + 👉 https://codesandbox.io/s/github/nuxt/starter/v3-codesandbox - type: textarea id: bug-env attributes: diff --git a/.github/ISSUE_TEMPLATE/z-bug-report-2.yml b/.github/ISSUE_TEMPLATE/z-bug-report-2.yml index ff8132287948..d4124367b22c 100644 --- a/.github/ISSUE_TEMPLATE/z-bug-report-2.yml +++ b/.github/ISSUE_TEMPLATE/z-bug-report-2.yml @@ -10,7 +10,7 @@ body: Please use a template below to create a minimal reproduction 👉 https://stackblitz.com/github/nuxt/starter/tree/v2 - 👉 https://codesandbox.io/p/github/nuxt/starter/v2 + 👉 https://codesandbox.io/s/github/nuxt/starter/v2 - type: textarea id: bug-env attributes: diff --git a/docs/5.community/3.reporting-bugs.md b/docs/5.community/3.reporting-bugs.md index 5d0f05558447..7f8337a0a938 100644 --- a/docs/5.community/3.reporting-bugs.md +++ b/docs/5.community/3.reporting-bugs.md @@ -33,16 +33,16 @@ If your issue concerns Vue 3 or Vite, please try to reproduce it first with the **Nuxt 3**: :button-link[Nuxt 3 on StackBlitz]{href="https://stackblitz.com/github/nuxt/starter/tree/v3-stackblitz" blank .mr-2} -:button-link[Nuxt 3 on CodeSandbox]{href="https://codesandbox.io/p/github/nuxt/starter/v3-codesandbox" blank} +:button-link[Nuxt 3 on CodeSandbox]{href="https://codesandbox.io/s/github/nuxt/starter/v3-codesandbox" blank} **Nuxt Bridge**: -:button-link[Nuxt Bridge on CodeSandbox]{href="https://codesandbox.io/p/github/nuxt/starter/v2-bridge-codesandbox" blank} +:button-link[Nuxt Bridge on CodeSandbox]{href="https://codesandbox.io/s/github/nuxt/starter/v2-bridge-codesandbox" blank} **Vue 3**: :button-link[Vue 3 SSR on StackBlitz]{href="https://stackblitz.com/github/nuxt-contrib/vue3-ssr-starter/tree/main?terminal=dev" blank .mr-2} -:button-link[Vue 3 SSR on CodeSandbox]{href="https://codesandbox.io/p/github/nuxt-contrib/vue3-ssr-starter/main" blank .mr-2} +:button-link[Vue 3 SSR on CodeSandbox]{href="https://codesandbox.io/s/github/nuxt-contrib/vue3-ssr-starter/main" blank .mr-2} :button-link[Vue 3 SSR Template]{href="https://github.com/nuxt-contrib/vue3-ssr-starter/generate" blank} Once you've reproduced the issue, remove as much code from your reproduction as you can (while still recreating the bug). The time spent making the reproduction as minimal as possible will make a huge difference to whoever sets out to fix the issue. From a2581c6d237544e93955fd0765e1461863d8e13e Mon Sep 17 00:00:00 2001 From: Adham Farrag Date: Mon, 31 Jul 2023 18:23:00 +0800 Subject: [PATCH 012/147] docs: add recommendation to install nuxtr (#20808) --- docs/1.getting-started/2.installation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/1.getting-started/2.installation.md b/docs/1.getting-started/2.installation.md index 4d706543c1ef..addc4e240118 100644 --- a/docs/1.getting-started/2.installation.md +++ b/docs/1.getting-started/2.installation.md @@ -31,7 +31,7 @@ Start with one of our starters and themes directly by opening [nuxt.new](https:/ ::details :summary[Additional notes for an optimal setup:] - **Node.js**: Make sure to use an even numbered version (18, 20, etc) - +- **Nuxtr**: Install the community-developed [Nuxtr extension](https://marketplace.visualstudio.com/items?itemName=Nuxtr.nuxtr-vscode) - **Volar**: Either enable [**Take Over Mode**](https://vuejs.org/guide/typescript/overview.html#volar-takeover-mode) (recommended) or add the [TypeScript Vue Plugin](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) If you have enabled **Take Over Mode** or installed the **TypeScript Vue Plugin (Volar)**, you can disable generating the shim for `*.vue` files in your [`nuxt.config.ts`](/docs/guide/directory-structure/nuxt.config) file: From 40fdff8b68957b1acdde78f769c277f5fd490dad Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 31 Jul 2023 11:34:34 +0100 Subject: [PATCH 013/147] chore(deps): update dependency vue-bundle-renderer to v2 (main) (#22408) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Daniel Roe --- packages/nuxt/package.json | 2 +- packages/schema/package.json | 2 +- packages/vite/package.json | 2 +- packages/webpack/package.json | 2 +- pnpm-lock.yaml | 20 ++++++++++---------- test/basic.test.ts | 1 - 6 files changed, 14 insertions(+), 15 deletions(-) diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index 31732fa0481c..928bb7787cd9 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -101,7 +101,7 @@ "unplugin-vue-router": "^0.6.4", "untyped": "^1.4.0", "vue": "^3.3.4", - "vue-bundle-renderer": "^1.0.3", + "vue-bundle-renderer": "^2.0.0", "vue-devtools-stub": "^0.1.0", "vue-router": "^4.2.4" }, diff --git a/packages/schema/package.json b/packages/schema/package.json index 9622f4af6350..9083c40cb2a5 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -42,7 +42,7 @@ "unctx": "2.3.1", "vite": "4.4.7", "vue": "3.3.4", - "vue-bundle-renderer": "1.0.3", + "vue-bundle-renderer": "2.0.0", "vue-loader": "17.2.2", "vue-router": "4.2.4", "webpack": "5.88.2", diff --git a/packages/vite/package.json b/packages/vite/package.json index cf0e21aa4ceb..b11fac9ee68f 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -60,7 +60,7 @@ "vite": "^4.4.7", "vite-node": "^0.33.0", "vite-plugin-checker": "^0.6.1", - "vue-bundle-renderer": "^1.0.3" + "vue-bundle-renderer": "^2.0.0" }, "peerDependencies": { "vue": "^3.3.4" diff --git a/packages/webpack/package.json b/packages/webpack/package.json index 9dc704b01a0e..77cff01dc316 100644 --- a/packages/webpack/package.json +++ b/packages/webpack/package.json @@ -52,7 +52,7 @@ "ufo": "^1.2.0", "unplugin": "^1.4.0", "url-loader": "^4.1.1", - "vue-bundle-renderer": "^1.0.3", + "vue-bundle-renderer": "^2.0.0", "vue-loader": "^17.2.2", "webpack": "^5.88.2", "webpack-bundle-analyzer": "^4.9.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 41c37b4a5407..0735789e05a4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -485,8 +485,8 @@ importers: specifier: 3.3.4 version: 3.3.4 vue-bundle-renderer: - specifier: ^1.0.3 - version: 1.0.3 + specifier: ^2.0.0 + version: 2.0.0 vue-devtools-stub: specifier: ^0.1.0 version: 0.1.0 @@ -601,8 +601,8 @@ importers: specifier: 3.3.4 version: 3.3.4 vue-bundle-renderer: - specifier: 1.0.3 - version: 1.0.3 + specifier: 2.0.0 + version: 2.0.0 vue-loader: specifier: 17.2.2 version: 17.2.2(vue@3.3.4)(webpack@5.88.2) @@ -767,8 +767,8 @@ importers: specifier: ^0.6.1 version: 0.6.1(eslint@8.46.0)(typescript@5.1.6)(vite@4.4.7)(vue-tsc@1.8.8) vue-bundle-renderer: - specifier: ^1.0.3 - version: 1.0.3 + specifier: ^2.0.0 + version: 2.0.0 devDependencies: '@nuxt/schema': specifier: workspace:* @@ -891,8 +891,8 @@ importers: specifier: ^4.1.1 version: 4.1.1(file-loader@6.2.0)(webpack@5.88.2) vue-bundle-renderer: - specifier: ^1.0.3 - version: 1.0.3 + specifier: ^2.0.0 + version: 2.0.0 vue-loader: specifier: ^17.2.2 version: 17.2.2(vue@3.3.4)(webpack@5.88.2) @@ -9089,8 +9089,8 @@ packages: resolution: {integrity: sha512-eOpPHogvorZRobNqJGhapa0JdwaxpjVvyBp0QIUMRMSf8ZAlqOdEquKuRmw9Qwu0qXtJIWqFtMkmvJjUZmMjVA==} dev: false - /vue-bundle-renderer@1.0.3: - resolution: {integrity: sha512-EfjX+5TTUl70bki9hPuVp+54JiZOvFIfoWBcfXsSwLzKEiDYyHNi5iX8srnqLIv3YRnvxgbntdcG1WPq0MvffQ==} + /vue-bundle-renderer@2.0.0: + resolution: {integrity: sha512-oYATTQyh8XVkUWe2kaKxhxKVuuzK2Qcehe+yr3bGiaQAhK3ry2kYE4FWOfL+KO3hVFwCdLmzDQTzYhTi9C+R2A==} dependencies: ufo: 1.2.0 diff --git a/test/basic.test.ts b/test/basic.test.ts index 879bc8c88680..25365c006774 100644 --- a/test/basic.test.ts +++ b/test/basic.test.ts @@ -1365,7 +1365,6 @@ describe.skipIf(isDev() || isWebpack)('inlining component styles', () => { const html: string = await $fetch('/styles') expect(html.match(/]*href="[^"]*\.css">/g)?.filter(m => m.includes('entry'))?.map(m => m.replace(/\.[^.]*\.css/, '.css'))).toMatchInlineSnapshot(` [ - "", "", ] `) From dad633b6586246e83d09730bc9899ce1c8b64bcc Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Mon, 31 Jul 2023 12:11:18 +0100 Subject: [PATCH 014/147] perf(nuxt): render css/inline css higher than resource hints (#21793) --- .../nuxt/src/core/runtime/nitro/renderer.ts | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/packages/nuxt/src/core/runtime/nitro/renderer.ts b/packages/nuxt/src/core/runtime/nitro/renderer.ts index da2e70764d68..8341cae1816d 100644 --- a/packages/nuxt/src/core/runtime/nitro/renderer.ts +++ b/packages/nuxt/src/core/runtime/nitro/renderer.ts @@ -326,16 +326,25 @@ export default defineRenderHandler(async (event): Promise + ({ rel: 'stylesheet', href: renderer.rendererContext.buildAssetsURL(resource.file) }) + ), + style: inlinedStyles + }) + if (!NO_SCRIPTS) { - // 2. Resource Hints - // @todo add priorities based on Capo + // 3. Resource Hints + // TODO: add priorities based on Capo head.push({ link: getPreloadLinks(ssrContext, renderer.rendererContext) as Link[] }) head.push({ link: getPrefetchLinks(ssrContext, renderer.rendererContext) as Link[] }) - // 3. Payloads + // 4. Payloads head.push({ script: _PAYLOAD_EXTRACTION ? process.env.NUXT_JSON_PAYLOADS @@ -351,16 +360,7 @@ export default defineRenderHandler(async (event): Promise - ({ rel: 'stylesheet', href: renderer.rendererContext.buildAssetsURL(resource.file) }) - ), - style: inlinedStyles - }) - - // 4. Scripts + // 5. Scripts if (!routeOptions.experimentalNoScripts) { head.push({ script: Object.values(scripts).map(resource => ( diff --git a/docs/2.guide/3.going-further/8.custom-routing.md b/docs/2.guide/3.going-further/8.custom-routing.md index 3adc6ee72c69..ce62e09f306b 100644 --- a/docs/2.guide/3.going-further/8.custom-routing.md +++ b/docs/2.guide/3.going-further/8.custom-routing.md @@ -138,6 +138,6 @@ import { createMemoryHistory } from 'vue-router' // https://router.vuejs.org/api/interfaces/routeroptions.html export default { - history: base => process.client ? createMemoryHistory(base) : null /* default */ + history: base => import.meta.client ? createMemoryHistory(base) : null /* default */ } ``` diff --git a/docs/3.api/1.composables/use-nuxt-app.md b/docs/3.api/1.composables/use-nuxt-app.md index f12d562a75b4..1a5694aa3f35 100644 --- a/docs/3.api/1.composables/use-nuxt-app.md +++ b/docs/3.api/1.composables/use-nuxt-app.md @@ -45,7 +45,7 @@ export default defineNuxtPlugin((nuxtApp) => { }) nuxtApp.hook('vue:error', (..._args) => { console.log('vue:error') - // if (process.client) { + // if (import.meta.client) { // console.log(..._args) // } }) @@ -105,7 +105,7 @@ When accessing the same `payload.data` from [ssrcontext](#ssrcontext), you can a export const useColor = () => useState('color', () => 'pink') export default defineNuxtPlugin((nuxtApp) => { - if (process.server) { + if (import.meta.server) { const color = useColor() } }) @@ -137,7 +137,7 @@ export default defineComponent({ setup (_props, { slots, emit }) { const nuxtApp = useNuxtApp() onErrorCaptured((err) => { - if (process.client && !nuxtApp.isHydrating) { + if (import.meta.client && !nuxtApp.isHydrating) { // ... } }) diff --git a/packages/kit/src/template.ts b/packages/kit/src/template.ts index 87eaa2b855e7..96cf22b57c16 100644 --- a/packages/kit/src/template.ts +++ b/packages/kit/src/template.ts @@ -128,7 +128,6 @@ export async function writeTypes (nuxt: Nuxt) { noEmit: true, resolveJsonModule: true, allowSyntheticDefaultImports: true, - types: ['node'], paths: {} }, include: [ diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index b95ade290b43..c7ce27a73acd 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -122,6 +122,9 @@ "peerDependenciesMeta": { "@parcel/watcher": { "optional": true + }, + "@types/node": { + "optional": true } }, "engines": { diff --git a/packages/nuxt/src/app/compat/idle-callback.ts b/packages/nuxt/src/app/compat/idle-callback.ts index cc28a2b1a2be..01779dc1febe 100644 --- a/packages/nuxt/src/app/compat/idle-callback.ts +++ b/packages/nuxt/src/app/compat/idle-callback.ts @@ -1,6 +1,6 @@ // Polyfills for Safari support // https://caniuse.com/requestidlecallback -export const requestIdleCallback: Window['requestIdleCallback'] = process.server +export const requestIdleCallback: Window['requestIdleCallback'] = import.meta.server ? (() => {}) as any : (globalThis.requestIdleCallback || ((cb) => { const start = Date.now() @@ -11,6 +11,6 @@ export const requestIdleCallback: Window['requestIdleCallback'] = process.server return setTimeout(() => { cb(idleDeadline) }, 1) })) -export const cancelIdleCallback: Window['cancelIdleCallback'] = process.server +export const cancelIdleCallback: Window['cancelIdleCallback'] = import.meta.server ? (() => {}) as any : (globalThis.cancelIdleCallback || ((id) => { clearTimeout(id) })) diff --git a/packages/nuxt/src/app/components/dev-only.ts b/packages/nuxt/src/app/components/dev-only.ts index 914ba6f6e445..6c8ec7c5e9e5 100644 --- a/packages/nuxt/src/app/components/dev-only.ts +++ b/packages/nuxt/src/app/components/dev-only.ts @@ -3,7 +3,7 @@ import { defineComponent } from 'vue' export default defineComponent({ name: 'DevOnly', setup (_, props) { - if (process.dev) { + if (import.meta.dev) { return () => props.slots.default?.() } return () => props.slots.fallback?.() diff --git a/packages/nuxt/src/app/components/nuxt-error-boundary.ts b/packages/nuxt/src/app/components/nuxt-error-boundary.ts index a58516c1ce82..cb8d2f67071a 100644 --- a/packages/nuxt/src/app/components/nuxt-error-boundary.ts +++ b/packages/nuxt/src/app/components/nuxt-error-boundary.ts @@ -12,7 +12,7 @@ export default defineComponent({ const nuxtApp = useNuxtApp() onErrorCaptured((err, target, info) => { - if (process.client && !nuxtApp.isHydrating) { + if (import.meta.client && !nuxtApp.isHydrating) { emit('error', err) nuxtApp.hooks.callHook('vue:error', err, target, info) error.value = err diff --git a/packages/nuxt/src/app/components/nuxt-error-page.vue b/packages/nuxt/src/app/components/nuxt-error-page.vue index 0976b1a2f3e5..cf32d26835a3 100644 --- a/packages/nuxt/src/app/components/nuxt-error-page.vue +++ b/packages/nuxt/src/app/components/nuxt-error-page.vue @@ -36,11 +36,11 @@ const is404 = statusCode === 404 const statusMessage = _error.statusMessage ?? (is404 ? 'Page Not Found' : 'Internal Server Error') const description = _error.message || _error.toString() -const stack = process.dev && !is404 ? _error.description || `
${stacktrace}
` : undefined +const stack = import.meta.dev && !is404 ? _error.description || `
${stacktrace}
` : undefined // TODO: Investigate side-effect issue with imports const _Error404 = defineAsyncComponent(() => import('@nuxt/ui-templates/templates/error-404.vue').then(r => r.default || r)) -const _Error = process.dev +const _Error = import.meta.dev ? defineAsyncComponent(() => import('@nuxt/ui-templates/templates/error-dev.vue').then(r => r.default || r)) : defineAsyncComponent(() => import('@nuxt/ui-templates/templates/error-500.vue').then(r => r.default || r)) diff --git a/packages/nuxt/src/app/components/nuxt-island.ts b/packages/nuxt/src/app/components/nuxt-island.ts index 9f609fc5f664..3955b8d8ef07 100644 --- a/packages/nuxt/src/app/components/nuxt-island.ts +++ b/packages/nuxt/src/app/components/nuxt-island.ts @@ -23,7 +23,7 @@ const SLOTNAME_RE = /nuxt-ssr-slot-name="([^"]*)"/g const SLOT_FALLBACK_RE = /
]*><\/div>(((?!
]*>)[\s\S])*)
]*><\/div>/g let id = 0 -const getId = process.client ? () => (id++).toString() : randomUUID +const getId = import.meta.client ? () => (id++).toString() : randomUUID export default defineComponent({ name: 'NuxtIsland', @@ -54,7 +54,7 @@ export default defineComponent({ const instance = getCurrentInstance()! const event = useRequestEvent() // TODO: remove use of `$fetch.raw` when nitro 503 issues on windows dev server are resolved - const eventFetch = process.server ? event.fetch : process.dev ? $fetch.raw : globalThis.fetch + const eventFetch = import.meta.server ? event.fetch : import.meta.dev ? $fetch.raw : globalThis.fetch const mounted = ref(false) onMounted(() => { mounted.value = true }) @@ -62,7 +62,7 @@ export default defineComponent({ nuxtApp.payload.data[key] = { __nuxt_island: { key, - ...(process.server && process.env.prerender) + ...(import.meta.server && import.meta.prerender) ? {} : { params: { ...props.context, props: props.props ? JSON.stringify(props.props) : undefined } } }, @@ -71,7 +71,7 @@ export default defineComponent({ } const ssrHTML = ref('') - if (process.client) { + if (import.meta.client) { const renderedHTML = getFragmentHTML(instance.vnode?.el ?? null).join('') if (renderedHTML && nuxtApp.isHydrating) { setPayload(`${props.name}_${hashId.value}`, { @@ -111,19 +111,19 @@ export default defineComponent({ const url = remoteComponentIslands && props.source ? new URL(`/__nuxt_island/${key}`, props.source).href : `/__nuxt_island/${key}` - if (process.server && process.env.prerender) { + if (import.meta.server && import.meta.prerender) { // Hint to Nitro to prerender the island component appendResponseHeader(event, 'x-nitro-prerender', url) } // TODO: Validate response // $fetch handles the app.baseURL in dev - const r = await eventFetch(withQuery(process.dev && process.client ? url : joinURL(config.app.baseURL ?? '', url), { + const r = await eventFetch(withQuery(import.meta.dev && import.meta.client ? url : joinURL(config.app.baseURL ?? '', url), { ...props.context, props: props.props ? JSON.stringify(props.props) : undefined })) - const result = process.server || !process.dev ? await r.json() : (r as FetchResponse)._data + const result = import.meta.server || !import.meta.dev ? await r.json() : (r as FetchResponse)._data // TODO: support passing on more headers - if (process.server && process.env.prerender) { + if (import.meta.server && import.meta.prerender) { const hints = r.headers.get('x-nitro-prerender') if (hints) { appendResponseHeader(event, 'x-nitro-prerender', hints) @@ -149,7 +149,7 @@ export default defineComponent({ }) key.value++ error.value = null - if (process.client) { + if (import.meta.client) { // must await next tick for Teleport to work correctly with static node re-rendering await nextTick() } @@ -165,13 +165,13 @@ export default defineComponent({ }) } - if (process.client) { + if (import.meta.client) { watch(props, debounce(() => fetchComponent(), 100)) } - if (process.client && !nuxtApp.isHydrating && props.lazy) { + if (import.meta.client && !nuxtApp.isHydrating && props.lazy) { fetchComponent() - } else if (process.server || !nuxtApp.isHydrating) { + } else if (import.meta.server || !nuxtApp.isHydrating) { await fetchComponent() } @@ -182,10 +182,10 @@ export default defineComponent({ const nodes = [createVNode(Fragment, { key: key.value }, [h(createStaticVNode(html.value || '
', 1))])] - if (uid.value && (mounted.value || nuxtApp.isHydrating || process.server)) { + if (uid.value && (mounted.value || nuxtApp.isHydrating || import.meta.server)) { for (const slot in slots) { if (availableSlots.value.includes(slot)) { - nodes.push(createVNode(Teleport, { to: process.client ? `[nuxt-ssr-component-uid='${uid.value}'] [nuxt-ssr-slot-name='${slot}']` : `uid=${uid.value};slot=${slot}` }, { + nodes.push(createVNode(Teleport, { to: import.meta.client ? `[nuxt-ssr-component-uid='${uid.value}'] [nuxt-ssr-slot-name='${slot}']` : `uid=${uid.value};slot=${slot}` }, { default: () => (slotProps.value[slot] ?? [undefined]).map((data: any) => slots[slot]?.(data)) })) } diff --git a/packages/nuxt/src/app/components/nuxt-layout.ts b/packages/nuxt/src/app/components/nuxt-layout.ts index 79053a735586..82c321479dd8 100644 --- a/packages/nuxt/src/app/components/nuxt-layout.ts +++ b/packages/nuxt/src/app/components/nuxt-layout.ts @@ -57,7 +57,7 @@ export default defineComponent({ return () => { const hasLayout = layout.value && layout.value in layouts - if (process.dev && layout.value && !hasLayout && layout.value !== 'default') { + if (import.meta.dev && layout.value && !hasLayout && layout.value !== 'default') { console.warn(`Invalid layout \`${layout.value}\` selected.`) } @@ -112,7 +112,7 @@ const LayoutProvider = defineComponent({ } let vnode: VNode | undefined - if (process.dev && process.client) { + if (import.meta.dev && import.meta.client) { onMounted(() => { nextTick(() => { if (['#comment', '#text'].includes(vnode?.el?.nodeName)) { @@ -128,14 +128,14 @@ const LayoutProvider = defineComponent({ return () => { if (!name || (typeof name === 'string' && !(name in layouts))) { - if (process.dev && process.client && props.hasTransition) { + if (import.meta.dev && import.meta.client && props.hasTransition) { vnode = context.slots.default?.() as VNode | undefined return vnode } return context.slots.default?.() } - if (process.dev && process.client && props.hasTransition) { + if (import.meta.dev && import.meta.client && props.hasTransition) { vnode = h( // @ts-expect-error seems to be an issue in vue types LayoutLoader, diff --git a/packages/nuxt/src/app/components/nuxt-link.ts b/packages/nuxt/src/app/components/nuxt-link.ts index 4e89cd042daf..dd65580a2476 100644 --- a/packages/nuxt/src/app/components/nuxt-link.ts +++ b/packages/nuxt/src/app/components/nuxt-link.ts @@ -51,7 +51,7 @@ export function defineNuxtLink (options: NuxtLinkOptions) { const componentName = options.componentName || 'NuxtLink' const checkPropConflicts = (props: NuxtLinkProps, main: keyof NuxtLinkProps, sub: keyof NuxtLinkProps): void => { - if (process.dev && props[main] !== undefined && props[sub] !== undefined) { + if (import.meta.dev && props[main] !== undefined && props[sub] !== undefined) { console.warn(`[${componentName}] \`${main}\` and \`${sub}\` cannot be used together. \`${sub}\` will be ignored.`) } } @@ -198,10 +198,10 @@ export function defineNuxtLink (options: NuxtLinkOptions) { // Prefetching const prefetched = ref(false) - const el = process.server ? undefined : ref(null) - const elRef = process.server ? undefined : (ref: any) => { el!.value = props.custom ? ref?.$el?.nextElementSibling : ref?.$el } + const el = import.meta.server ? undefined : ref(null) + const elRef = import.meta.server ? undefined : (ref: any) => { el!.value = props.custom ? ref?.$el?.nextElementSibling : ref?.$el } - if (process.client) { + if (import.meta.client) { checkPropConflicts(props, 'prefetch', 'noPrefetch') const shouldPrefetch = props.prefetch !== false && props.noPrefetch !== true && props.target !== '_blank' && !isSlowConnection() if (shouldPrefetch) { @@ -329,7 +329,7 @@ type CallbackFn = () => void type ObserveFn = (element: Element, callback: CallbackFn) => () => void function useObserver (): { observe: ObserveFn } | undefined { - if (process.server) { return } + if (import.meta.server) { return } const nuxtApp = useNuxtApp() if (nuxtApp._observer) { @@ -370,7 +370,7 @@ function useObserver (): { observe: ObserveFn } | undefined { } function isSlowConnection () { - if (process.server) { return } + if (import.meta.server) { return } // https://developer.mozilla.org/en-US/docs/Web/API/Navigator/connection const cn = (navigator as any).connection as { saveData: boolean, effectiveType: string } | null diff --git a/packages/nuxt/src/app/components/nuxt-loading-indicator.ts b/packages/nuxt/src/app/components/nuxt-loading-indicator.ts index 104523e60100..011c2899b24b 100644 --- a/packages/nuxt/src/app/components/nuxt-loading-indicator.ts +++ b/packages/nuxt/src/app/components/nuxt-loading-indicator.ts @@ -101,7 +101,7 @@ function useLoadingIndicator (opts: { function start () { clear() progress.value = 0 - if (opts.throttle && process.client) { + if (opts.throttle && import.meta.client) { _throttle = setTimeout(() => { isLoading.value = true _startTimer() @@ -129,7 +129,7 @@ function useLoadingIndicator (opts: { function _hide () { clear() - if (process.client) { + if (import.meta.client) { setTimeout(() => { isLoading.value = false setTimeout(() => { progress.value = 0 }, 400) @@ -138,7 +138,7 @@ function useLoadingIndicator (opts: { } function _startTimer () { - if (process.client) { + if (import.meta.client) { _timer = setInterval(() => { _increase(step.value) }, 100) } } diff --git a/packages/nuxt/src/app/components/nuxt-root.vue b/packages/nuxt/src/app/components/nuxt-root.vue index c39c0d704196..80a9d38ac130 100644 --- a/packages/nuxt/src/app/components/nuxt-root.vue +++ b/packages/nuxt/src/app/components/nuxt-root.vue @@ -16,23 +16,23 @@ import { PageRouteSymbol } from '#app/components/injections' import AppComponent from '#build/app-component.mjs' import ErrorComponent from '#build/error-component.mjs' -const IslandRenderer = process.server +const IslandRenderer = import.meta.server ? defineAsyncComponent(() => import('./island-renderer').then(r => r.default || r)) : () => null const nuxtApp = useNuxtApp() const onResolve = nuxtApp.deferHydration() -const url = process.server ? nuxtApp.ssrContext.url : window.location.pathname -const SingleRenderer = process.test && process.dev && process.server && url.startsWith('/__nuxt_component_test__/') && /* #__PURE__ */ defineAsyncComponent(() => import('#build/test-component-wrapper.mjs') - .then(r => r.default(process.server ? url : window.location.href))) +const url = import.meta.server ? nuxtApp.ssrContext.url : window.location.pathname +const SingleRenderer = import.meta.test && import.meta.dev && import.meta.server && url.startsWith('/__nuxt_component_test__/') && /* #__PURE__ */ defineAsyncComponent(() => import('#build/test-component-wrapper.mjs') + .then(r => r.default(import.meta.server ? url : window.location.href))) // Inject default route (outside of pages) as active route provide(PageRouteSymbol, useRoute()) // vue:setup hook const results = nuxtApp.hooks.callHookWith(hooks => hooks.map(hook => hook()), 'vue:setup') -if (process.dev && results && results.some(i => i && 'then' in i)) { +if (import.meta.dev && results && results.some(i => i && 'then' in i)) { console.error('[nuxt] Error in `vue:setup`. Callbacks must be synchronous.') } @@ -40,7 +40,7 @@ if (process.dev && results && results.some(i => i && 'then' in i)) { const error = useError() onErrorCaptured((err, target, info) => { nuxtApp.hooks.callHook('vue:error', err, target, info).catch(hookError => console.error('[nuxt] Error in `vue:error` hook', hookError)) - if (process.server || (isNuxtError(err) && (err.fatal || err.unhandled))) { + if (import.meta.server || (isNuxtError(err) && (err.fatal || err.unhandled))) { const p = nuxtApp.runWithContext(() => showError(err)) onServerPrefetch(() => p) return false // suppress error from breaking render @@ -48,5 +48,5 @@ onErrorCaptured((err, target, info) => { }) // Component islands context -const { islandContext } = process.server && nuxtApp.ssrContext +const islandContext = import.meta.server && nuxtApp.ssrContext.islandContext diff --git a/packages/nuxt/src/app/components/route-provider.ts b/packages/nuxt/src/app/components/route-provider.ts index d24b807aad49..5db44c3f7954 100644 --- a/packages/nuxt/src/app/components/route-provider.ts +++ b/packages/nuxt/src/app/components/route-provider.ts @@ -36,7 +36,7 @@ export const RouteProvider = defineComponent({ provide(PageRouteSymbol, shallowReactive(route)) let vnode: VNode - if (process.dev && process.client && props.trackRootNodes) { + if (import.meta.dev && import.meta.client && props.trackRootNodes) { onMounted(() => { nextTick(() => { if (['#comment', '#text'].includes(vnode?.el?.nodeName)) { @@ -48,7 +48,7 @@ export const RouteProvider = defineComponent({ } return () => { - if (process.dev && process.client) { + if (import.meta.dev && import.meta.client) { vnode = h(props.vnode, { ref: props.vnodeRef }) return vnode } diff --git a/packages/nuxt/src/app/components/utils.ts b/packages/nuxt/src/app/components/utils.ts index d95ed64f50e6..cc7c5e741cd9 100644 --- a/packages/nuxt/src/app/components/utils.ts +++ b/packages/nuxt/src/app/components/utils.ts @@ -73,7 +73,7 @@ export function vforToArray (source: any): any[] { } else if (isString(source)) { return source.split('') } else if (typeof source === 'number') { - if (process.dev && !Number.isInteger(source)) { + if (import.meta.dev && !Number.isInteger(source)) { console.warn(`The v-for range expect an integer value but got ${source}.`) } const array = [] diff --git a/packages/nuxt/src/app/composables/asyncData.ts b/packages/nuxt/src/app/composables/asyncData.ts index 817c7d0432b2..b086e705bc86 100644 --- a/packages/nuxt/src/app/composables/asyncData.ts +++ b/packages/nuxt/src/app/composables/asyncData.ts @@ -222,7 +222,7 @@ export function useAsyncData< const fetchOnServer = options.server !== false && nuxt.payload.serverRendered // Server side - if (process.server && fetchOnServer && options.immediate) { + if (import.meta.server && fetchOnServer && options.immediate) { const promise = initialFetch() if (getCurrentInstance()) { onServerPrefetch(() => promise) @@ -232,7 +232,7 @@ export function useAsyncData< } // Client side - if (process.client) { + if (import.meta.client) { // Setup hook callbacks once per instance const instance = getCurrentInstance() if (instance && !instance._nuxtOnBeforeMountCbs) { @@ -349,7 +349,7 @@ export function useNuxtData (key: string): { data: Ref { - if (process.server) { + if (import.meta.server) { return Promise.resolve() } diff --git a/packages/nuxt/src/app/composables/chunk.ts b/packages/nuxt/src/app/composables/chunk.ts index 1e0c1e4f1301..9bdb5ea34f84 100644 --- a/packages/nuxt/src/app/composables/chunk.ts +++ b/packages/nuxt/src/app/composables/chunk.ts @@ -29,7 +29,7 @@ export interface ReloadNuxtAppOptions { } export function reloadNuxtApp (options: ReloadNuxtAppOptions = {}) { - if (process.server) { return } + if (import.meta.server) { return } const path = options.path || window.location.pathname let handledPath: Record = {} diff --git a/packages/nuxt/src/app/composables/component.ts b/packages/nuxt/src/app/composables/component.ts index 175dabc83278..5bfcc992ea41 100644 --- a/packages/nuxt/src/app/composables/component.ts +++ b/packages/nuxt/src/app/composables/component.ts @@ -22,7 +22,7 @@ async function runLegacyAsyncData (res: Record | Promise (name: string, _opts?: const cookie = ref(cookies[name] as any ?? opts.default?.()) - if (process.client) { + if (import.meta.client) { const channel = typeof BroadcastChannel === 'undefined' ? null : new BroadcastChannel(`nuxt:cookies:${name}`) if (getCurrentInstance()) { onUnmounted(() => { channel?.close() }) } @@ -61,7 +61,7 @@ export function useCookie (name: string, _opts?: } else { callback() } - } else if (process.server) { + } else if (import.meta.server) { const nuxtApp = useNuxtApp() const writeFinalCookieValue = () => { if (!isEqual(cookie.value, cookies[name])) { @@ -79,9 +79,9 @@ export function useCookie (name: string, _opts?: } function readRawCookies (opts: CookieOptions = {}): Record | undefined { - if (process.server) { + if (import.meta.server) { return parse(useRequestEvent()?.node.req.headers.cookie || '', opts) - } else if (process.client) { + } else if (import.meta.client) { return parse(document.cookie, opts) } } @@ -94,7 +94,7 @@ function serializeCookie (name: string, value: any, opts: CookieSerializeOptions } function writeClientCookie (name: string, value: any, opts: CookieSerializeOptions = {}) { - if (process.client) { + if (import.meta.client) { document.cookie = serializeCookie(name, value, opts) } } diff --git a/packages/nuxt/src/app/composables/error.ts b/packages/nuxt/src/app/composables/error.ts index b23fcd32ee57..4a59bc6a7a7c 100644 --- a/packages/nuxt/src/app/composables/error.ts +++ b/packages/nuxt/src/app/composables/error.ts @@ -14,7 +14,7 @@ export const showError = (_err: string | Error | Partial) => { try { const nuxtApp = useNuxtApp() const error = useError() - if (process.client) { + if (import.meta.client) { nuxtApp.hooks.callHook('app:error', err) } error.value = error.value || err diff --git a/packages/nuxt/src/app/composables/fetch.ts b/packages/nuxt/src/app/composables/fetch.ts index a2c84fbc5e51..e70a1d690778 100644 --- a/packages/nuxt/src/app/composables/fetch.ts +++ b/packages/nuxt/src/app/composables/fetch.ts @@ -134,7 +134,7 @@ export function useFetch< const isLocalFetch = typeof _request.value === 'string' && _request.value.startsWith('/') let _$fetch = opts.$fetch || globalThis.$fetch // Use fetch with request context and headers for server direct API calls - if (process.server && !opts.$fetch && isLocalFetch) { + if (import.meta.server && !opts.$fetch && isLocalFetch) { _$fetch = useRequestFetch() } diff --git a/packages/nuxt/src/app/composables/hydrate.ts b/packages/nuxt/src/app/composables/hydrate.ts index 447318d76a2b..3aa4053402c0 100644 --- a/packages/nuxt/src/app/composables/hydrate.ts +++ b/packages/nuxt/src/app/composables/hydrate.ts @@ -11,13 +11,13 @@ import type { NuxtPayload } from '#app' export const useHydration = (key: K, get: () => T, set: (value: T) => void) => { const nuxt = useNuxtApp() - if (process.server) { + if (import.meta.server) { nuxt.hooks.hook('app:rendered', () => { nuxt.payload[key] = get() }) } - if (process.client) { + if (import.meta.client) { nuxt.hooks.hook('app:created', () => { set(nuxt.payload[key] as T) }) diff --git a/packages/nuxt/src/app/composables/payload.ts b/packages/nuxt/src/app/composables/payload.ts index 219f03582f7e..1cff4e8a3678 100644 --- a/packages/nuxt/src/app/composables/payload.ts +++ b/packages/nuxt/src/app/composables/payload.ts @@ -13,7 +13,7 @@ interface LoadPayloadOptions { } export function loadPayload (url: string, opts: LoadPayloadOptions = {}): Record | Promise> | null { - if (process.server) { return null } + if (import.meta.server) { return null } const payloadURL = _getPayloadURL(url, opts) const nuxtApp = useNuxtApp() const cache = nuxtApp._payloadCache = nuxtApp._payloadCache || {} @@ -55,7 +55,7 @@ function _getPayloadURL (url: string, opts: LoadPayloadOptions = {}) { } async function _importPayload (payloadURL: string) { - if (process.server) { return null } + if (import.meta.server) { return null } try { return renderJsonPayloads ? parsePayload(await fetch(payloadURL).then(res => res.text())) @@ -74,7 +74,7 @@ export function isPrerendered () { let payloadCache: any = null export async function getNuxtClientPayload () { - if (process.server) { + if (import.meta.server) { return } if (payloadCache) { @@ -110,7 +110,7 @@ export function definePayloadReducer ( name: string, reduce: (data: any) => any ) { - if (process.server) { + if (import.meta.server) { useNuxtApp().ssrContext!._payloadReducers[name] = reduce } } @@ -124,10 +124,10 @@ export function definePayloadReviver ( name: string, revive: (data: string) => any | undefined ) { - if (process.dev && getCurrentInstance()) { + if (import.meta.dev && getCurrentInstance()) { console.warn('[nuxt] [definePayloadReviver] This function must be called in a Nuxt plugin that is `unshift`ed to the beginning of the Nuxt plugins array.') } - if (process.client) { + if (import.meta.client) { useNuxtApp()._payloadRevivers[name] = revive } } diff --git a/packages/nuxt/src/app/composables/preload.ts b/packages/nuxt/src/app/composables/preload.ts index 6710ae2b8210..b012accc51c8 100644 --- a/packages/nuxt/src/app/composables/preload.ts +++ b/packages/nuxt/src/app/composables/preload.ts @@ -9,7 +9,7 @@ import { useRouter } from './router' * @param components Pascal-cased name or names of components to prefetch */ export const preloadComponents = async (components: string | string[]) => { - if (process.server) { return } + if (import.meta.server) { return } const nuxtApp = useNuxtApp() components = Array.isArray(components) ? components : [components] @@ -35,7 +35,7 @@ function _loadAsyncComponent (component: Component) { } export async function preloadRouteComponents (to: RouteLocationRaw, router: Router & { _routePreloaded?: Set; _preloadPromises?: Array> } = useRouter()): Promise { - if (process.server) { return } + if (import.meta.server) { return } const { path, matched } = router.resolve(to) diff --git a/packages/nuxt/src/app/composables/ready.ts b/packages/nuxt/src/app/composables/ready.ts index 58143d18403d..a30d0d7cafef 100644 --- a/packages/nuxt/src/app/composables/ready.ts +++ b/packages/nuxt/src/app/composables/ready.ts @@ -2,7 +2,7 @@ import { useNuxtApp } from '../nuxt' import { requestIdleCallback } from '../compat/idle-callback' export const onNuxtReady = (callback: () => any) => { - if (process.server) { return } + if (import.meta.server) { return } const nuxtApp = useNuxtApp() if (nuxtApp.isHydrating) { diff --git a/packages/nuxt/src/app/composables/router.ts b/packages/nuxt/src/app/composables/router.ts index 126381ce496e..0ffead1cdd48 100644 --- a/packages/nuxt/src/app/composables/router.ts +++ b/packages/nuxt/src/app/composables/router.ts @@ -17,7 +17,7 @@ export const useRouter: typeof _useRouter = () => { } export const useRoute: typeof _useRoute = () => { - if (process.dev && isProcessingMiddleware()) { + if (import.meta.dev && isProcessingMiddleware()) { console.warn('[nuxt] Calling `useRoute` within middleware may lead to misleading results. Instead, use the (to, from) arguments passed to the middleware to access the new and old routes.') } if (hasInjectionContext()) { @@ -118,7 +118,7 @@ export const navigateTo = (to: RouteLocationRaw | undefined | null, options?: Na // Early open handler if (options?.open) { - if (process.client) { + if (import.meta.client) { const { target = '_blank', windowFeatures = {} } = options.open const features = Object.entries(windowFeatures) @@ -146,7 +146,7 @@ export const navigateTo = (to: RouteLocationRaw | undefined | null, options?: Na const inMiddleware = isProcessingMiddleware() // Early redirect on client-side - if (process.client && !isExternal && inMiddleware) { + if (import.meta.client && !isExternal && inMiddleware) { return to } @@ -154,7 +154,7 @@ export const navigateTo = (to: RouteLocationRaw | undefined | null, options?: Na const nuxtApp = useNuxtApp() - if (process.server) { + if (import.meta.server) { if (nuxtApp.ssrContext) { const fullPath = typeof to === 'string' || isExternal ? toPath : router.resolve(to).fullPath || '/' const location = isExternal ? toPath : joinURL(useRuntimeConfig().app.baseURL, fullPath) @@ -206,7 +206,7 @@ export const navigateTo = (to: RouteLocationRaw | undefined | null, options?: Na /** This will abort navigation within a Nuxt route middleware handler. */ export const abortNavigation = (err?: string | Partial) => { - if (process.dev && !isProcessingMiddleware()) { + if (import.meta.dev && !isProcessingMiddleware()) { throw new Error('abortNavigation() is only usable inside a route middleware handler.') } @@ -222,18 +222,18 @@ export const abortNavigation = (err?: string | Partial) => { } export const setPageLayout = (layout: unknown extends PageMeta['layout'] ? string : PageMeta['layout']) => { - if (process.server) { - if (process.dev && getCurrentInstance() && useState('_layout').value !== layout) { + if (import.meta.server) { + if (import.meta.dev && getCurrentInstance() && useState('_layout').value !== layout) { console.warn('[warn] [nuxt] `setPageLayout` should not be called to change the layout on the server within a component as this will cause hydration errors.') } useState('_layout').value = layout } const nuxtApp = useNuxtApp() - if (process.dev && nuxtApp.isHydrating && nuxtApp.payload.serverRendered && useState('_layout').value !== layout) { + if (import.meta.dev && nuxtApp.isHydrating && nuxtApp.payload.serverRendered && useState('_layout').value !== layout) { console.warn('[warn] [nuxt] `setPageLayout` should not be called to change the layout during hydration as this will cause hydration errors.') } const inMiddleware = isProcessingMiddleware() - if (inMiddleware || process.server || nuxtApp.isHydrating) { + if (inMiddleware || import.meta.server || nuxtApp.isHydrating) { const unsubscribe = useRouter().beforeResolve((to) => { to.meta.layout = layout as Exclude unsubscribe() diff --git a/packages/nuxt/src/app/composables/ssr.ts b/packages/nuxt/src/app/composables/ssr.ts index 14d4e1c67895..c72e3c137362 100644 --- a/packages/nuxt/src/app/composables/ssr.ts +++ b/packages/nuxt/src/app/composables/ssr.ts @@ -6,7 +6,7 @@ import { useNuxtApp } from '../nuxt' export function useRequestHeaders (include: K[]): { [key in Lowercase]?: string } export function useRequestHeaders (): Readonly> export function useRequestHeaders (include?: any[]) { - if (process.client) { return {} } + if (import.meta.client) { return {} } const headers = useNuxtApp().ssrContext?.event.node.req.headers ?? {} if (!include) { return headers } return Object.fromEntries(include.map(key => key.toLowerCase()).filter(key => headers[key]).map(key => [key, headers[key]])) @@ -17,7 +17,7 @@ export function useRequestEvent (nuxtApp: NuxtApp = useNuxtApp()): H3Event { } export function useRequestFetch (): typeof global.$fetch { - if (process.client) { + if (import.meta.client) { return globalThis.$fetch } const event = useNuxtApp().ssrContext?.event as H3Event @@ -28,7 +28,7 @@ export function setResponseStatus (event: H3Event, code?: number, message?: stri /** @deprecated Pass `event` as first option. */ export function setResponseStatus (code: number, message?: string): void export function setResponseStatus (arg1: H3Event | number | undefined, arg2?: number | string, arg3?: string) { - if (process.client) { return } + if (import.meta.client) { return } if (arg1 && typeof arg1 !== 'number') { return _setResponseStatus(arg1, arg2 as number | undefined, arg3) } diff --git a/packages/nuxt/src/app/composables/url.ts b/packages/nuxt/src/app/composables/url.ts index 4f43ba8481c3..784ef860cd35 100644 --- a/packages/nuxt/src/app/composables/url.ts +++ b/packages/nuxt/src/app/composables/url.ts @@ -4,7 +4,7 @@ import { useRequestEvent } from './ssr' import { useRuntimeConfig } from '#app' export function useRequestURL () { - if (process.server) { + if (import.meta.server) { const url = getRequestURL(useRequestEvent()) url.pathname = joinURL(useRuntimeConfig().app.baseURL, url.pathname) return url diff --git a/packages/nuxt/src/app/config.ts b/packages/nuxt/src/app/config.ts index 77efe98805a9..3b8a86a2bce4 100644 --- a/packages/nuxt/src/app/config.ts +++ b/packages/nuxt/src/app/config.ts @@ -38,7 +38,7 @@ function deepAssign (obj: any, newObj: any) { export function useAppConfig (): AppConfig { const nuxtApp = useNuxtApp() if (!nuxtApp._appConfig) { - nuxtApp._appConfig = (process.server ? klona(__appConfig) : reactive(__appConfig)) as AppConfig + nuxtApp._appConfig = (import.meta.server ? klona(__appConfig) : reactive(__appConfig)) as AppConfig } return nuxtApp._appConfig } @@ -54,7 +54,7 @@ export function updateAppConfig (appConfig: DeepPartial) { } // HMR Support -if (process.dev) { +if (import.meta.dev) { function applyHMR (newConfig: AppConfig) { const appConfig = useAppConfig() if (newConfig && appConfig) { diff --git a/packages/nuxt/src/app/entry.async.ts b/packages/nuxt/src/app/entry.async.ts index 4d5b6206ab06..783151a0628c 100644 --- a/packages/nuxt/src/app/entry.async.ts +++ b/packages/nuxt/src/app/entry.async.ts @@ -1,10 +1,10 @@ import type { CreateOptions } from '#app' -const entry = process.server +const entry = import.meta.server ? (ctx?: CreateOptions['ssrContext']) => import('#app/entry').then(m => m.default(ctx)) : () => import('#app/entry').then(m => m.default) -if (process.client) { +if (import.meta.client) { entry() } diff --git a/packages/nuxt/src/app/entry.ts b/packages/nuxt/src/app/entry.ts index be990030b9d5..610f1875ebea 100644 --- a/packages/nuxt/src/app/entry.ts +++ b/packages/nuxt/src/app/entry.ts @@ -26,7 +26,7 @@ if (!globalThis.$fetch) { let entry: Function -if (process.server) { +if (import.meta.server) { entry = async function createNuxtAppServer (ssrContext: CreateOptions['ssrContext']) { const vueApp = createApp(RootComponent) @@ -45,10 +45,10 @@ if (process.server) { } } -if (process.client) { +if (import.meta.client) { // TODO: temporary webpack 5 HMR fix // https://github.com/webpack-contrib/webpack-hot-middleware/issues/390 - if (process.dev && import.meta.webpackHot) { + if (import.meta.dev && import.meta.webpackHot) { import.meta.webpackHot.accept() } diff --git a/packages/nuxt/src/app/nuxt.ts b/packages/nuxt/src/app/nuxt.ts index 9a104a161325..93c5ebc9d83b 100644 --- a/packages/nuxt/src/app/nuxt.ts +++ b/packages/nuxt/src/app/nuxt.ts @@ -210,13 +210,13 @@ export function createNuxtApp (options: CreateOptions) { data: {}, state: {}, _errors: {}, - ...(process.client ? window.__NUXT__ ?? {} : { serverRendered: true }) + ...(import.meta.client ? window.__NUXT__ ?? {} : { serverRendered: true }) }), static: { data: {} }, runWithContext: (fn: any) => callWithNuxt(nuxtApp, fn), - isHydrating: process.client, + isHydrating: import.meta.client, deferHydration () { if (!nuxtApp.isHydrating) { return () => {} } @@ -244,7 +244,7 @@ export function createNuxtApp (options: CreateOptions) { nuxtApp.hooks = createHooks() nuxtApp.hook = nuxtApp.hooks.hook - if (process.server) { + if (import.meta.server) { async function contextCaller (hooks: HookCallback[], args: any[]) { for (const hook of hooks) { await nuxtApp.runWithContext(() => hook(...args)) @@ -267,7 +267,7 @@ export function createNuxtApp (options: CreateOptions) { defineGetter(nuxtApp.vueApp, '$nuxt', nuxtApp) defineGetter(nuxtApp.vueApp.config.globalProperties, '$nuxt', nuxtApp) - if (process.server) { + if (import.meta.server) { if (nuxtApp.ssrContext) { // Expose nuxt to the renderContext nuxtApp.ssrContext.nuxt = nuxtApp @@ -291,7 +291,7 @@ export function createNuxtApp (options: CreateOptions) { } // Listen to chunk load errors - if (process.client) { + if (import.meta.client) { window.addEventListener('nuxt.preloadError', (event) => { nuxtApp.callHook('app:chunkError', { error: (event as Event & { payload: Error }).payload }) }) @@ -305,7 +305,7 @@ export function createNuxtApp (options: CreateOptions) { } // Expose runtime config - const runtimeConfig = process.server ? options.ssrContext!.runtimeConfig : reactive(nuxtApp.payload.config!) + const runtimeConfig = import.meta.server ? options.ssrContext!.runtimeConfig : reactive(nuxtApp.payload.config!) nuxtApp.provide('config', runtimeConfig) return nuxtApp @@ -329,7 +329,7 @@ export async function applyPlugins (nuxtApp: NuxtApp, plugins: Array[] = [] const errors: Error[] = [] for (const plugin of plugins) { - if (process.server && nuxtApp.ssrContext?.islandContext && plugin.env?.islands === false) { continue } + if (import.meta.server && nuxtApp.ssrContext?.islandContext && plugin.env?.islands === false) { continue } const promise = applyPlugin(nuxtApp, plugin) if (plugin.parallel) { parallels.push(promise.catch(e => errors.push(e))) @@ -363,7 +363,7 @@ export function isNuxtPlugin (plugin: unknown) { */ export function callWithNuxt any> (nuxt: NuxtApp | _NuxtApp, setup: T, args?: Parameters) { const fn: () => ReturnType = () => args ? setup(...args as Parameters) : setup() - if (process.server) { + if (import.meta.server) { return nuxt.vueApp.runWithContext(() => nuxtAppCtx.callAsync(nuxt as NuxtApp, fn)) } else { // In client side we could assume nuxt app is singleton @@ -385,7 +385,7 @@ export function useNuxtApp (): NuxtApp { nuxtAppInstance = nuxtAppInstance || nuxtAppCtx.tryUse() if (!nuxtAppInstance) { - if (process.dev) { + if (import.meta.dev) { throw new Error('[nuxt] A composable that requires access to the Nuxt instance was called outside of a plugin, Nuxt hook, Nuxt middleware, or Vue setup function. This is probably not a Nuxt bug. Find out more at `https://nuxt.com/docs/guide/concepts/auto-imports#using-vue-and-nuxt-composables`.') } else { throw new Error('[nuxt] instance unavailable') diff --git a/packages/nuxt/src/app/plugins/router.ts b/packages/nuxt/src/app/plugins/router.ts index ae4ba74952e9..06c5764c317f 100644 --- a/packages/nuxt/src/app/plugins/router.ts +++ b/packages/nuxt/src/app/plugins/router.ts @@ -99,7 +99,7 @@ export default defineNuxtPlugin<{ route: Route, router: Router }>({ name: 'nuxt:router', enforce: 'pre', setup (nuxtApp) { - const initialURL = process.client + const initialURL = import.meta.client ? withoutBase(window.location.pathname, useRuntimeConfig().app.baseURL) + window.location.search + window.location.hash : nuxtApp.ssrContext!.url @@ -138,7 +138,7 @@ export default defineNuxtPlugin<{ route: Route, router: Router }>({ } // Perform navigation Object.assign(route, to) - if (process.client) { + if (import.meta.client) { window.history[replace ? 'replaceState' : 'pushState']({}, '', joinURL(baseURL, to.fullPath)) if (!nuxtApp.isHydrating) { // Clear any existing errors @@ -150,7 +150,7 @@ export default defineNuxtPlugin<{ route: Route, router: Router }>({ await middleware(to, route) } } catch (err) { - if (process.dev && !hooks.error.length) { + if (import.meta.dev && !hooks.error.length) { console.warn('No error handlers registered to handle middleware errors. You can register an error handler with `router.onError()`', err) } for (const handler of hooks.error) { @@ -211,7 +211,7 @@ export default defineNuxtPlugin<{ route: Route, router: Router }>({ } }) - if (process.client) { + if (import.meta.client) { window.addEventListener('popstate', (event) => { const location = (event.target as Window).location router.replace(location.href.replace(location.origin, '')) @@ -235,12 +235,12 @@ export default defineNuxtPlugin<{ route: Route, router: Router }>({ } nuxtApp._processingMiddleware = true - if (process.client || !nuxtApp.ssrContext?.islandContext) { + if (import.meta.client || !nuxtApp.ssrContext?.islandContext) { const middlewareEntries = new Set([...globalMiddleware, ...nuxtApp._middleware.global]) for (const middleware of middlewareEntries) { const result = await nuxtApp.runWithContext(() => middleware(to, from)) - if (process.server) { + if (import.meta.server) { if (result === false || result instanceof Error) { const error = result || createError({ statusCode: 404, diff --git a/packages/nuxt/src/app/types/augments.d.ts b/packages/nuxt/src/app/types/augments.d.ts index d93c85760c35..8a6c9c82d875 100644 --- a/packages/nuxt/src/app/types/augments.d.ts +++ b/packages/nuxt/src/app/types/augments.d.ts @@ -1,17 +1,20 @@ import type { NuxtApp, useNuxtApp } from '../nuxt' +interface NuxtStaticBuildFlags { + browser: boolean + client: boolean + dev: boolean + server: boolean + test: boolean +} + declare global { namespace NodeJS { - interface Process { - browser: boolean - client: boolean - dev: boolean - mode: 'spa' | 'universal' - server: boolean - static: boolean - } + interface Process extends NuxtStaticBuildFlags {} } + interface ImportMeta extends NuxtStaticBuildFlags {} + interface Window { __NUXT__?: Record useNuxtApp?: typeof useNuxtApp diff --git a/packages/nuxt/src/core/runtime/nitro/error.ts b/packages/nuxt/src/core/runtime/nitro/error.ts index 22d77781cde8..1a0fc620231f 100644 --- a/packages/nuxt/src/core/runtime/nitro/error.ts +++ b/packages/nuxt/src/core/runtime/nitro/error.ts @@ -15,7 +15,7 @@ export default async function errorhandler (error: H3Error, statusCode, statusMessage, message, - stack: process.dev && statusCode !== 404 + stack: import.meta.dev && statusCode !== 404 ? `
${stack.map(i => `${i.text}`).join('\n')}
` : '', data: error.data @@ -56,12 +56,12 @@ export default async function errorhandler (error: H3Error, // Fallback to static rendered error page if (!res) { - const { template } = process.dev + const { template } = import.meta.dev // @ts-expect-error TODO: add legacy type support for subpath imports ? await import('@nuxt/ui-templates/templates/error-dev.mjs') // @ts-expect-error TODO: add legacy type support for subpath imports : await import('@nuxt/ui-templates/templates/error-500.mjs') - if (process.dev) { + if (import.meta.dev) { // TODO: Support `message` in template (errorObject as any).description = errorObject.message } diff --git a/packages/nuxt/src/core/runtime/nitro/renderer.ts b/packages/nuxt/src/core/runtime/nitro/renderer.ts index da1bcbfd6e49..bec792f22f7b 100644 --- a/packages/nuxt/src/core/runtime/nitro/renderer.ts +++ b/packages/nuxt/src/core/runtime/nitro/renderer.ts @@ -108,7 +108,7 @@ const getSSRRenderer = lazyCachedFunction(async () => { async function renderToString (input: RenderToStringParams[0], context: RenderToStringParams[1]) { const html = await _renderToString(input, context) // In development with vite-node, the manifest is on-demand and will be available after rendering - if (process.dev && process.env.NUXT_VITE_NODE_OPTIONS) { + if (import.meta.dev && process.env.NUXT_VITE_NODE_OPTIONS) { renderer.rendererContext.updateManifest(await getClientManifest()) } return `<${appRootTag} id="${appRootId}">${html}` @@ -155,14 +155,14 @@ const getSPARenderer = lazyCachedFunction(async () => { } }) -const payloadCache = process.env.prerender ? useStorage('internal:nuxt:prerender:payload') : null -const islandCache = process.env.prerender ? useStorage('internal:nuxt:prerender:island') : null -const islandPropCache = process.env.prerender ? useStorage('internal:nuxt:prerender:island-props') : null +const payloadCache = import.meta.prerender ? useStorage('internal:nuxt:prerender:payload') : null +const islandCache = import.meta.prerender ? useStorage('internal:nuxt:prerender:island') : null +const islandPropCache = import.meta.prerender ? useStorage('internal:nuxt:prerender:island-props') : null async function getIslandContext (event: H3Event): Promise { // TODO: Strict validation for url let url = event.node.req.url || '' - if (process.env.prerender && event.node.req.url && await islandPropCache!.hasItem(event.node.req.url)) { + if (import.meta.prerender && event.node.req.url && await islandPropCache!.hasItem(event.node.req.url)) { // rehydrate props from cache so we can rerender island if cache does not have it any more url = await islandPropCache!.getItem(event.node.req.url) as string } @@ -213,7 +213,7 @@ export default defineRenderHandler(async (event): Promise> } @@ -225,7 +225,7 @@ export default defineRenderHandler(async (event): Promise> } } @@ -245,7 +245,7 @@ export default defineRenderHandler(async (event): Promise { - if (process.dev) { + if (import.meta.dev) { const defaultSlot = slots.default?.() if (defaultSlot && (defaultSlot.length > 1 || typeof defaultSlot[0].children !== 'string')) { @@ -217,7 +217,7 @@ export const Style = defineComponent({ const style = { ...props } const textContent = slots.default?.()?.[0]?.children if (textContent) { - if (process.dev && typeof textContent !== 'string') { + if (import.meta.dev && typeof textContent !== 'string') { console.error(' * ``` - * * @type {string | false} */ spaLoadingTemplate: { @@ -249,9 +254,7 @@ export default defineUntypedSchema({ * @note Plugins are also auto-registered from the `~/plugins` directory * and these plugins do not need to be listed in `nuxt.config` unless you * need to customize their order. All plugins are deduplicated by their src path. - * * @see https://nuxt.com/docs/guide/directory-structure/plugins - * * @example * ```js * plugins: [ diff --git a/packages/schema/src/config/build.ts b/packages/schema/src/config/build.ts index 0a9e61841b6a..16cfccc168f1 100644 --- a/packages/schema/src/config/build.ts +++ b/packages/schema/src/config/build.ts @@ -16,7 +16,7 @@ export default defineUntypedSchema({ } const map: Record = { vite: '@nuxt/vite-builder', - webpack: '@nuxt/webpack-builder', + webpack: '@nuxt/webpack-builder' } return map[val] || val || (await get('vite') === false ? map.webpack : map.vite) } @@ -36,7 +36,7 @@ export default defineUntypedSchema({ server: true, client: await get('dev') }) - }, + } }, /** @@ -96,7 +96,6 @@ export default defineUntypedSchema({ * } * ] * ``` - * * @type {typeof import('../src/types/nuxt').NuxtTemplate[]} */ templates: [], @@ -113,7 +112,6 @@ export default defineUntypedSchema({ * } * ``` * @type {boolean | typeof import('webpack-bundle-analyzer').BundleAnalyzerPlugin.Options | typeof import('rollup-plugin-visualizer').PluginVisualizerOptions} - * */ analyze: { $resolve: async (val, get) => { @@ -128,7 +126,7 @@ export default defineUntypedSchema({ filename: join(analyzeDir, '{name}.html') } } - }, + } }, /** @@ -147,13 +145,13 @@ export default defineUntypedSchema({ * @type {Array<{ name: string, source?: string | RegExp, argumentLength: number }>} */ keyedComposables: { - $resolve: (val) => [ + $resolve: val => [ { name: 'defineNuxtComponent', argumentLength: 2 }, { name: 'useState', argumentLength: 2 }, { name: 'useFetch', argumentLength: 3 }, { name: 'useAsyncData', argumentLength: 3 }, { name: 'useLazyAsyncData', argumentLength: 3 }, - { name: 'useLazyFetch', argumentLength: 3 }, + { name: 'useLazyFetch', argumentLength: 3 } ].concat(val).filter(Boolean) }, @@ -172,18 +170,22 @@ export default defineUntypedSchema({ composables: { server: { $resolve: async (val, get) => defu(val || {}, - await get('dev') ? {} : { - vue: ['onBeforeMount', 'onMounted', 'onBeforeUpdate', 'onRenderTracked', 'onRenderTriggered', 'onActivated', 'onDeactivated', 'onBeforeUnmount'], - '#app': ['definePayloadReviver', 'definePageMeta'] - } + await get('dev') + ? {} + : { + vue: ['onBeforeMount', 'onMounted', 'onBeforeUpdate', 'onRenderTracked', 'onRenderTriggered', 'onActivated', 'onDeactivated', 'onBeforeUnmount'], + '#app': ['definePayloadReviver', 'definePageMeta'] + } ) }, client: { $resolve: async (val, get) => defu(val || {}, - await get('dev') ? {} : { - vue: ['onServerPrefetch', 'onRenderTracked', 'onRenderTriggered'], - '#app': ['definePayloadReducer', 'definePageMeta'] - } + await get('dev') + ? {} + : { + vue: ['onServerPrefetch', 'onRenderTracked', 'onRenderTriggered'], + '#app': ['definePayloadReducer', 'definePageMeta'] + } ) } } diff --git a/packages/schema/src/config/common.ts b/packages/schema/src/config/common.ts index 80df36c58348..4311b6388048 100644 --- a/packages/schema/src/config/common.ts +++ b/packages/schema/src/config/common.ts @@ -14,7 +14,6 @@ export default defineUntypedSchema({ * You can use `github:`, `gitlab:`, `bitbucket:` or `https://` to extend from a remote git repository. * * @type {string|string[]} - * */ extends: null, @@ -26,7 +25,6 @@ export default defineUntypedSchema({ * You can use `github:`, `gitlab:`, `bitbucket:` or `https://` to extend from a remote git repository. * * @type {string} - * */ theme: null, @@ -170,7 +168,7 @@ export default defineUntypedSchema({ * */ debug: { - $resolve: async (val, get) => val ?? isDebug + $resolve: val => val ?? isDebug }, /** @@ -178,7 +176,7 @@ export default defineUntypedSchema({ * If set to `false` generated pages will have no content. */ ssr: { - $resolve: (val) => val ?? true, + $resolve: val => val ?? true }, /** @@ -191,7 +189,6 @@ export default defineUntypedSchema({ * (in `node_modules`) and then will be resolved from project `srcDir` if `~` alias is used. * * @note Modules are executed sequentially so the order is important. - * * @example * ```js * modules: [ @@ -252,12 +249,12 @@ export default defineUntypedSchema({ * and copied across into your `dist` folder when your app is generated. */ public: { - $resolve: async (val, get) => val || await get('dir.static') || 'public', + $resolve: async (val, get) => val || await get('dir.static') || 'public' }, static: { $schema: { deprecated: 'use `dir.public` option instead' }, - $resolve: async (val, get) => val || await get('dir.public') || 'public', + $resolve: async (val, get) => val || await get('dir.public') || 'public' } }, @@ -274,11 +271,9 @@ export default defineUntypedSchema({ * * @note Within a webpack context (image sources, CSS - but not JavaScript) you _must_ access * your alias by prefixing it with `~`. - * * @note These aliases will be automatically added to the generated `.nuxt/tsconfig.json` so you can get full * type support and path auto-complete. In case you need to extend options provided by `./.nuxt/tsconfig.json` * further, make sure to add them here or within the `typescript.tsConfig` property in `nuxt.config`. - * * @example * ```js * export default { @@ -309,7 +304,6 @@ export default defineUntypedSchema({ * } * * ``` - * * @type {Record} */ alias: { @@ -328,7 +322,6 @@ export default defineUntypedSchema({ * Pass options directly to `node-ignore` (which is used by Nuxt to ignore files). * * @see [node-ignore](https://github.com/kaelzhang/node-ignore) - * * @example * ```js * ignoreOptions: { @@ -343,7 +336,7 @@ export default defineUntypedSchema({ * building if its filename starts with the prefix specified by `ignorePrefix`. */ ignorePrefix: { - $resolve: (val) => val ?? '-', + $resolve: val => val ?? '-' }, /** @@ -372,7 +365,7 @@ export default defineUntypedSchema({ * @type {Array} */ watch: { - $resolve: val => [].concat(val).filter((b: unknown) => typeof b === 'string' || b instanceof RegExp), + $resolve: val => [].concat(val).filter((b: unknown) => typeof b === 'string' || b instanceof RegExp) }, /** @@ -385,7 +378,7 @@ export default defineUntypedSchema({ * `watchOptions` to pass directly to webpack. * * @see [webpack@4 watch options](https://v4.webpack.js.org/configuration/watch/#watchoptions). - * */ + */ webpack: { aggregateTimeout: 1000 }, @@ -464,7 +457,7 @@ export default defineUntypedSchema({ app: { baseURL: (await get('app')).baseURL, buildAssetsDir: (await get('app')).buildAssetsDir, - cdnURL: (await get('app')).cdnURL, + cdnURL: (await get('app')).cdnURL } }) } diff --git a/packages/schema/src/config/dev.ts b/packages/schema/src/config/dev.ts index 5f46df1949a8..a9bc37d71846 100644 --- a/packages/schema/src/config/dev.ts +++ b/packages/schema/src/config/dev.ts @@ -17,10 +17,7 @@ export default defineUntypedSchema({ * } * }) * ``` - * - * * @type {boolean | { key: string; cert: string }} - * */ https: false, @@ -43,6 +40,6 @@ export default defineUntypedSchema({ * * @type {(data: { loading?: string }) => string} */ - loadingTemplate: loadingTemplate + loadingTemplate } }) diff --git a/packages/schema/src/config/experimental.ts b/packages/schema/src/config/experimental.ts index 7bfde625e65b..77fade2e49dd 100644 --- a/packages/schema/src/config/experimental.ts +++ b/packages/schema/src/config/experimental.ts @@ -6,11 +6,12 @@ export default defineUntypedSchema({ * Set to true to generate an async entry point for the Vue bundle (for module federation support). */ asyncEntry: { - $resolve: (val) => val ?? false + $resolve: val => val ?? false }, /** * Enable Vue's reactivity transform + * * @see https://vuejs.org/guide/extras/reactivity-transform.html * * Warning: Reactivity transform feature has been marked as deprecated in Vue 3.3 and is planned to be @@ -23,12 +24,14 @@ export default defineUntypedSchema({ // https://github.com/unjs/nitro/issues/1118 /** * Externalize `vue`, `@vue/*` and `vue-router` when building. + * * @see https://github.com/nuxt/nuxt/issues/13632 */ externalVue: true, /** * Tree shakes contents of client-only components from server bundle. + * * @see https://github.com/nuxt/framework/pull/5750 */ treeshakeClientOnly: true, @@ -47,7 +50,7 @@ export default defineUntypedSchema({ * @type {false | 'manual' | 'automatic'} */ emitRouteChunkError: { - $resolve: val => { + $resolve: (val) => { if (val === true) { return 'manual' } @@ -55,7 +58,7 @@ export default defineUntypedSchema({ return 'automatic' } return val ?? 'automatic' - }, + } }, /** @@ -113,7 +116,7 @@ export default defineUntypedSchema({ /** * Disable vue server renderer endpoint within nitro. - */ + */ noVueServer: false, /** @@ -148,6 +151,7 @@ export default defineUntypedSchema({ /** * Experimental component islands support with and .island.vue files. + * * @type {true | 'local' | 'local+remote' | false} */ componentIslands: { diff --git a/packages/schema/src/config/generate.ts b/packages/schema/src/config/generate.ts index 2ad0b5ad83fa..9882e6bb9b77 100644 --- a/packages/schema/src/config/generate.ts +++ b/packages/schema/src/config/generate.ts @@ -14,14 +14,13 @@ export default defineUntypedSchema({ * ```js * routes: ['/users/1', '/users/2', '/users/3'] * ``` - * * @type {string | string[]} */ routes: [], /** * This option is no longer used. Instead, use `nitro.prerender.ignore`. - * + * * @deprecated */ exclude: [] diff --git a/packages/schema/src/config/nitro.ts b/packages/schema/src/config/nitro.ts index 5e1a79cb76a1..359ce184614f 100644 --- a/packages/schema/src/config/nitro.ts +++ b/packages/schema/src/config/nitro.ts @@ -5,7 +5,6 @@ export default defineUntypedSchema({ * Configuration for Nitro. * * @see https://nitro.unjs.io/config/ - * * @type {typeof import('nitropack')['NitroConfig']} */ nitro: { @@ -21,9 +20,7 @@ export default defineUntypedSchema({ * Global route options applied to matching server routes. * * @experimental This is an experimental feature and API may change in the future. - * * @see https://nitro.unjs.io/config/#routerules - * * @type {typeof import('nitropack')['NitroConfig']['routeRules']} */ routeRules: {}, @@ -39,16 +36,13 @@ export default defineUntypedSchema({ * - lazy: Specifies whether to use lazy loading to import the handler. * * @see https://nuxt.com/docs/guide/directory-structure/server - * * @note Files from `server/api`, `server/middleware` and `server/routes` will be automatically registered by Nuxt. - * * @example * ```js * serverHandlers: [ * { route: '/path/foo/**:name', handler: '~/server/foohandler.ts' } * ] * ``` - * * @type {typeof import('nitropack')['NitroEventHandler'][]} */ serverHandlers: [], @@ -57,7 +51,6 @@ export default defineUntypedSchema({ * Nitro development-only server handlers. * * @see https://nitro.unjs.io/guide/routing - * * @type {typeof import('nitropack')['NitroDevEventHandler'][]} */ devServerHandlers: [] diff --git a/packages/schema/src/config/postcss.ts b/packages/schema/src/config/postcss.ts index ee9439724e89..29effcd4dd26 100644 --- a/packages/schema/src/config/postcss.ts +++ b/packages/schema/src/config/postcss.ts @@ -8,6 +8,7 @@ export default defineUntypedSchema({ * Options for configuring PostCSS plugins. * * https://postcss.org/ + * * @type {Record} */ plugins: { @@ -15,16 +16,18 @@ export default defineUntypedSchema({ * https://github.com/postcss/postcss-import */ 'postcss-import': { - $resolve: async (val, get) => val !== false ? defu(val || {}, { - resolve: createResolver({ - alias: { ...(await get('alias')) }, - modules: [ - await get('srcDir'), - await get('rootDir'), - ...(await get('modulesDir')) - ] + $resolve: async (val, get) => val !== false + ? defu(val || {}, { + resolve: createResolver({ + alias: { ...(await get('alias')) }, + modules: [ + await get('srcDir'), + await get('rootDir'), + ...(await get('modulesDir')) + ] + }) }) - }) : val, + : val }, /** diff --git a/packages/schema/src/config/router.ts b/packages/schema/src/config/router.ts index 3f10c1ceb066..279a609c87e1 100644 --- a/packages/schema/src/config/router.ts +++ b/packages/schema/src/config/router.ts @@ -11,7 +11,6 @@ export default defineUntypedSchema({ * * @see [documentation](https://router.vuejs.org/api/interfaces/routeroptions.html). * @type {typeof import('../src/types/router').RouterConfigSerializable} - * */ options: {} } diff --git a/packages/schema/src/config/typescript.ts b/packages/schema/src/config/typescript.ts index 5bf18adc5eac..29b7886edab1 100644 --- a/packages/schema/src/config/typescript.ts +++ b/packages/schema/src/config/typescript.ts @@ -24,7 +24,7 @@ export default defineUntypedSchema({ * @type {'vite' | 'webpack' | 'shared' | false | undefined} */ builder: { - $resolve: async (val, get) => val ?? null + $resolve: val => val ?? null }, /** @@ -39,13 +39,13 @@ export default defineUntypedSchema({ * Requires to install `typescript` and `vue-tsc` as dev dependencies. * * @see https://nuxt.com/docs/guide/concepts/typescript - * * @type {boolean | 'build'} */ typeCheck: false, /** * You can extend generated `.nuxt/tsconfig.json` using this option. + * * @type {typeof import('pkg-types')['TSConfig']} */ tsConfig: {}, diff --git a/packages/schema/src/config/vite.ts b/packages/schema/src/config/vite.ts index a991a654a255..1d6defd7ac14 100644 --- a/packages/schema/src/config/vite.ts +++ b/packages/schema/src/config/vite.ts @@ -48,11 +48,11 @@ export default defineUntypedSchema({ }, script: { propsDestructure: { - $resolve: async (val, get) => val ?? Boolean((await get('vue')).propsDestructure), + $resolve: async (val, get) => val ?? Boolean((await get('vue')).propsDestructure) }, defineModel: { - $resolve: async (val, get) => val ?? Boolean((await get('vue')).defineModel), - }, + $resolve: async (val, get) => val ?? Boolean((await get('vue')).defineModel) + } } }, vueJsx: { diff --git a/packages/schema/src/config/webpack.ts b/packages/schema/src/config/webpack.ts index 4621e5909d4f..f8938ddda6e4 100644 --- a/packages/schema/src/config/webpack.ts +++ b/packages/schema/src/config/webpack.ts @@ -65,7 +65,6 @@ export default defineUntypedSchema({ * Extracting into multiple CSS files is better for caching and preload isolation. It * can also improve page performance by downloading and resolving only those resources * that are needed. - * * @example * ```js * export default { @@ -113,14 +112,12 @@ export default defineUntypedSchema({ * as most browsers will cache the asset and not detect the changes on first load. * * This example changes fancy chunk names to numerical ids: - * * @example * ```js * filenames: { * chunk: ({ isDev }) => (isDev ? '[name].js' : '[id].[contenthash].js') * } * ``` - * * @type { * Record< * string, @@ -140,8 +137,8 @@ export default defineUntypedSchema({ * } */ filenames: { - app: ({ isDev }: { isDev: boolean }) => isDev ? `[name].js` : `[contenthash:7].js`, - chunk: ({ isDev }: { isDev: boolean }) => isDev ? `[name].js` : `[contenthash:7].js`, + app: ({ isDev }: { isDev: boolean }) => isDev ? '[name].js' : '[contenthash:7].js', + chunk: ({ isDev }: { isDev: boolean }) => isDev ? '[name].js' : '[contenthash:7].js', css: ({ isDev }: { isDev: boolean }) => isDev ? '[name].css' : 'css/[contenthash:7].css', img: ({ isDev }: { isDev: boolean }) => isDev ? '[path][name].[ext]' : 'img/[name].[contenthash:7].[ext]', font: ({ isDev }: { isDev: boolean }) => isDev ? '[path][name].[ext]' : 'fonts/[name].[contenthash:7].[ext]', @@ -168,14 +165,15 @@ export default defineUntypedSchema({ /** * See https://github.com/esbuild-kit/esbuild-loader + * * @type {Omit} - */ + */ esbuild: {}, /** * See: https://github.com/webpack-contrib/file-loader#options - * @type {Omit} * + * @type {Omit} * @default * ```ts * { esModule: false } @@ -185,8 +183,8 @@ export default defineUntypedSchema({ /** * See: https://github.com/webpack-contrib/file-loader#options - * @type {Omit} * + * @type {Omit} * @default * ```ts * { esModule: false, limit: 1000 } @@ -196,8 +194,8 @@ export default defineUntypedSchema({ /** * See: https://github.com/webpack-contrib/file-loader#options - * @type {Omit} * + * @type {Omit} * @default * ```ts * { esModule: false, limit: 1000 } @@ -207,12 +205,14 @@ export default defineUntypedSchema({ /** * See: https://pugjs.org/api/reference.html#options + * * @type {typeof import('pug')['Options']} */ pugPlain: {}, /** * See [vue-loader](https://github.com/vuejs/vue-loader) for available options. + * * @type {Partial} */ vue: { @@ -224,13 +224,13 @@ export default defineUntypedSchema({ }, compilerOptions: { $resolve: async (val, get) => val ?? (await get('vue.compilerOptions')) }, propsDestructure: { $resolve: async (val, get) => val ?? Boolean(await get('vue.propsDestructure')) }, - defineModel: { $resolve: async (val, get) => val ?? Boolean(await get('vue.defineModel')) }, + defineModel: { $resolve: async (val, get) => val ?? Boolean(await get('vue.defineModel')) } }, css: { importLoaders: 0, url: { - filter: (url: string, resourcePath: string) => !url.startsWith('/'), + filter: (url: string, _resourcePath: string) => !url.startsWith('/') }, esModule: false }, @@ -238,7 +238,7 @@ export default defineUntypedSchema({ cssModules: { importLoaders: 0, url: { - filter: (url: string, resourcePath: string) => !url.startsWith('/'), + filter: (url: string, _resourcePath: string) => !url.startsWith('/') }, esModule: false, modules: { @@ -253,8 +253,8 @@ export default defineUntypedSchema({ /** * See: https://github.com/webpack-contrib/sass-loader#options + * * @type {typeof import('sass-loader')['Options']} - * * @default * ```ts * { @@ -272,6 +272,7 @@ export default defineUntypedSchema({ /** * See: https://github.com/webpack-contrib/sass-loader#options + * * @type {typeof import('sass-loader')['Options']} */ scss: {}, @@ -312,7 +313,6 @@ export default defineUntypedSchema({ * Defaults to true when `extractCSS` is enabled. * * @see [css-minimizer-webpack-plugin documentation](https://github.com/webpack-contrib/css-minimizer-webpack-plugin). - * * @type {false | typeof import('css-minimizer-webpack-plugin').BasePluginOptions & typeof import('css-minimizer-webpack-plugin').DefinedDefaultMinimizerAndOptions} */ optimizeCSS: { @@ -321,6 +321,7 @@ export default defineUntypedSchema({ /** * Configure [webpack optimization](https://webpack.js.org/configuration/optimization/). + * * @type {false | typeof import('webpack').Configuration['optimization']} */ optimization: { @@ -350,11 +351,12 @@ export default defineUntypedSchema({ plugins: { $resolve: async (val, get) => val ?? (await get('postcss.plugins')) } - }, + } }, /** * See [webpack-dev-middleware](https://github.com/webpack/webpack-dev-middleware) for available options. + * * @type {typeof import('webpack-dev-middleware').Options} */ devMiddleware: { @@ -363,6 +365,7 @@ export default defineUntypedSchema({ /** * See [webpack-hot-middleware](https://github.com/webpack-contrib/webpack-hot-middleware) for available options. + * * @type {typeof import('webpack-hot-middleware').MiddlewareOptions & { client?: typeof import('webpack-hot-middleware').ClientOptions }} */ hotMiddleware: {}, @@ -374,12 +377,14 @@ export default defineUntypedSchema({ /** * Filters to hide build warnings. + * * @type {Array<(warn: typeof import('webpack').WebpackError) => boolean>} */ warningIgnoreFilters: [], /** * Configure [webpack experiments](https://webpack.js.org/configuration/experiments/) + * * @type {false | typeof import('webpack').Configuration['experiments']} */ experiments: {} diff --git a/packages/schema/src/index.ts b/packages/schema/src/index.ts index 8178924cfb68..eebdb6e56b96 100644 --- a/packages/schema/src/index.ts +++ b/packages/schema/src/index.ts @@ -1,4 +1,3 @@ - // Types export * from './types/compatibility' export * from './types/components' diff --git a/packages/schema/src/types/compatibility.ts b/packages/schema/src/types/compatibility.ts index dabc01b1f085..63fe1d7fd98d 100644 --- a/packages/schema/src/types/compatibility.ts +++ b/packages/schema/src/types/compatibility.ts @@ -3,7 +3,6 @@ export interface NuxtCompatibility { * Required nuxt version in semver format. * * @example `^2.14.0` or `>=3.0.0-27219851.6e49637`. - * */ nuxt?: string @@ -12,7 +11,7 @@ export interface NuxtCompatibility { * * - `true`: When using Nuxt 2, using bridge module is required. * - `false`: When using Nuxt 2, using bridge module is not supported. - */ + */ bridge?: boolean } diff --git a/packages/schema/src/types/config.ts b/packages/schema/src/types/config.ts index a3ae4a365016..cdfd08a68ba6 100644 --- a/packages/schema/src/types/config.ts +++ b/packages/schema/src/types/config.ts @@ -1,12 +1,12 @@ import type { KeepAliveProps, TransitionProps } from 'vue' -import type { ConfigSchema } from '../../schema/config' import type { ServerOptions as ViteServerOptions, UserConfig as ViteUserConfig } from 'vite' import type { Options as VuePluginOptions } from '@vitejs/plugin-vue' import type { Options as VueJsxPluginOptions } from '@vitejs/plugin-vue-jsx' -import type { AppHeadMetaObject } from './head' -import type { Nuxt } from './nuxt' import type { SchemaDefinition } from 'untyped' import type { NitroRuntimeConfig, NitroRuntimeConfigApp } from 'nitropack' +import type { ConfigSchema } from '../../schema/config' +import type { Nuxt } from './nuxt' +import type { AppHeadMetaObject } from './head' export type { SchemaDefinition } from 'untyped' type DeepPartial = T extends Function ? T : T extends Record ? { [P in keyof T]?: DeepPartial } : T @@ -63,22 +63,35 @@ type Overrideable, Path extends string = ''> = { : never } -/** User configuration in `nuxt.config` file */ -export interface NuxtConfig extends DeepPartial> { - // Avoid DeepPartial for vite config interface (#4772) - vite?: ConfigSchema['vite'] - runtimeConfig?: Overrideable - webpack?: DeepPartial & { - $client?: DeepPartial - $server?: DeepPartial - } +// Runtime Config - /** - * Experimental custom config schema - * - * @see https://github.com/nuxt/nuxt/issues/15592 - */ - $schema?: SchemaDefinition +type RuntimeConfigNamespace = Record + +export interface PublicRuntimeConfig extends RuntimeConfigNamespace { } + +export interface RuntimeConfig extends RuntimeConfigNamespace { + app: NitroRuntimeConfigApp + /** Only available on the server. */ + nitro?: NitroRuntimeConfig['nitro'] + public: PublicRuntimeConfig +} + +// User configuration in `nuxt.config` file +export interface NuxtConfig extends DeepPartial> { + // Avoid DeepPartial for vite config interface (#4772) + vite?: ConfigSchema['vite'] + runtimeConfig?: Overrideable + webpack?: DeepPartial & { + $client?: DeepPartial + $server?: DeepPartial + } + + /** + * Experimental custom config schema + * + * @see https://github.com/nuxt/nuxt/issues/15592 + */ + $schema?: SchemaDefinition } // TODO: Expose ConfigLayer from c12 @@ -92,7 +105,11 @@ export type NuxtConfigLayer = ConfigLayer -/** Normalized Nuxt options available as `nuxt.options.*` */ +export interface NuxtBuilder { + bundle: (nuxt: Nuxt) => Promise +} + +// Normalized Nuxt options available as `nuxt.options.*` export interface NuxtOptions extends Omit { sourcemap: Required> builder: '@nuxt/vite-builder' | '@nuxt/webpack-builder' | NuxtBuilder @@ -104,27 +121,26 @@ export interface NuxtOptions extends Omit { $schema: SchemaDefinition } -export interface NuxtBuilder { - bundle: (nuxt: Nuxt) => Promise -} - export interface ViteConfig extends Omit { /** The path to the entrypoint for the Vite build. */ entry?: string /** * Options passed to @vitejs/plugin-vue. + * * @see https://github.com/vitejs/vite-plugin-vue/tree/main/packages/plugin-vue */ vue?: VuePluginOptions /** * Options passed to @vitejs/plugin-vue-jsx. + * * @see https://github.com/vitejs/vite-plugin-vue/tree/main/packages/plugin-vue-jsx */ vueJsx?: VueJsxPluginOptions /** * Bundler for dev time server-side rendering. + * * @default 'vite-node' */ devBundler?: 'vite-node' | 'legacy' @@ -148,22 +164,7 @@ export interface ViteConfig extends Omit { publicDir?: never } - -// -- Runtime Config -- - -type RuntimeConfigNamespace = Record - -export interface PublicRuntimeConfig extends RuntimeConfigNamespace { } - -export interface RuntimeConfig extends RuntimeConfigNamespace { - app: NitroRuntimeConfigApp - /** Only available on the server. */ - nitro?: NitroRuntimeConfig['nitro'] - public: PublicRuntimeConfig -} - -// -- App Config -- - +// App Config export interface CustomAppConfig { [key: string]: unknown } diff --git a/packages/schema/src/types/hooks.ts b/packages/schema/src/types/hooks.ts index 6bd5fc3a910d..99d727939bbb 100644 --- a/packages/schema/src/types/hooks.ts +++ b/packages/schema/src/types/hooks.ts @@ -1,17 +1,17 @@ -import type { TSConfig } from 'pkg-types' import type { Server as HttpServer } from 'node:http' import type { Server as HttpsServer } from 'node:https' +import type { TSConfig } from 'pkg-types' import type { ViteDevServer } from 'vite' import type { Manifest } from 'vue-bundle-renderer' import type { EventHandler } from 'h3' import type { Import, InlinePreset, Unimport } from 'unimport' import type { Compiler, Configuration, Stats } from 'webpack' -import type { Nuxt, NuxtApp, ResolvedNuxtTemplate } from './nuxt' import type { Nitro, NitroConfig } from 'nitropack' -import type { Component, ComponentsOptions } from './components' -import type { NuxtCompatibility, NuxtCompatibilityIssues, ViteConfig } from '..' import type { Schema, SchemaDefinition } from 'untyped' import type { RouteLocationRaw } from 'vue-router' +import type { NuxtCompatibility, NuxtCompatibilityIssues, ViteConfig } from '..' +import type { Component, ComponentsOptions } from './components' +import type { Nuxt, NuxtApp, ResolvedNuxtTemplate } from './nuxt' export type HookResult = Promise | void @@ -65,6 +65,7 @@ export interface NuxtHooks { // Kit /** * Allows extending compatibility checks. + * * @param compatibility Compatibility object * @param issues Issues to be mapped * @returns Promise @@ -74,18 +75,21 @@ export interface NuxtHooks { // Nuxt /** * Called after Nuxt initialization, when the Nuxt instance is ready to work. + * * @param nuxt The configured Nuxt object * @returns Promise */ 'ready': (nuxt: Nuxt) => HookResult /** * Called when Nuxt instance is gracefully closing. + * * @param nuxt The configured Nuxt object * @returns Promise */ 'close': (nuxt: Nuxt) => HookResult /** * Called to restart the current Nuxt instance. + * * @returns Promise */ 'restart': (options?: { @@ -97,29 +101,34 @@ export interface NuxtHooks { /** * Called during Nuxt initialization, before installing user modules. + * * @returns Promise */ 'modules:before': () => HookResult /** * Called during Nuxt initialization, after installing user modules. + * * @returns Promise */ 'modules:done': () => HookResult /** * Called after resolving the `app` instance. + * * @param app The resolved `NuxtApp` object * @returns Promise */ 'app:resolve': (app: NuxtApp) => HookResult /** * Called during `NuxtApp` generation, to allow customizing, modifying or adding new files to the build directory (either virtually or to written to `.nuxt`). + * * @param app The configured `NuxtApp` object * @returns Promise */ 'app:templates': (app: NuxtApp) => HookResult /** * Called after templates are compiled into the [virtual file system](https://nuxt.com/docs/guide/directory-structure/nuxt#virtual-file-system) (vfs). + * * @param app The configured `NuxtApp` object * @returns Promise */ @@ -127,16 +136,19 @@ export interface NuxtHooks { /** * Called before Nuxt bundle builder. + * * @returns Promise */ 'build:before': () => HookResult /** * Called after Nuxt bundle builder is complete. + * * @returns Promise */ 'build:done': () => HookResult /** * Called during the manifest build by Vite and Webpack. This allows customizing the manifest that Nitro will use to render ` diff --git a/test/fixtures/basic/pages/suspense/sync-[parent].vue b/test/fixtures/basic/pages/suspense/sync-[parent].vue index 789d5f996434..469ed00aa16a 100644 --- a/test/fixtures/basic/pages/suspense/sync-[parent].vue +++ b/test/fixtures/basic/pages/suspense/sync-[parent].vue @@ -1,5 +1,5 @@ diff --git a/test/fixtures/basic/pages/suspense/sync-[parent]/async-[child].vue b/test/fixtures/basic/pages/suspense/sync-[parent]/async-[child].vue index 59be7ae2e402..c0173f45715c 100644 --- a/test/fixtures/basic/pages/suspense/sync-[parent]/async-[child].vue +++ b/test/fixtures/basic/pages/suspense/sync-[parent]/async-[child].vue @@ -1,8 +1,8 @@ diff --git a/test/fixtures/basic/pages/suspense/sync-[parent]/sync-[child].vue b/test/fixtures/basic/pages/suspense/sync-[parent]/sync-[child].vue index 01b99c0189e6..f4a3de478a12 100644 --- a/test/fixtures/basic/pages/suspense/sync-[parent]/sync-[child].vue +++ b/test/fixtures/basic/pages/suspense/sync-[parent]/sync-[child].vue @@ -1,5 +1,5 @@ From eff05e1d467730fd73c971d5433f95ad4a2dd506 Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Tue, 15 Aug 2023 08:11:11 +0100 Subject: [PATCH 100/147] ci: try another way to disable semantic validation of release prs --- .github/workflows/semantic-pull-requests.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/semantic-pull-requests.yml b/.github/workflows/semantic-pull-requests.yml index dde007e107cf..d000f52cbd13 100644 --- a/.github/workflows/semantic-pull-requests.yml +++ b/.github/workflows/semantic-pull-requests.yml @@ -6,8 +6,6 @@ on: - opened - edited - synchronize - branches-ignore: - - "v[0-9]*" permissions: contents: read @@ -17,7 +15,7 @@ jobs: permissions: pull-requests: read # for amannn/action-semantic-pull-request to analyze PRs statuses: write # for amannn/action-semantic-pull-request to mark status of analyzed PR - if: github.repository == 'nuxt/nuxt' + if: github.repository == 'nuxt/nuxt' && !startsWith(github.head_ref, 'v') runs-on: ubuntu-latest name: Semantic pull request steps: From 33389dc4e0fcd2014713c6d2737cb9c286a93b39 Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Tue, 15 Aug 2023 10:45:28 +0100 Subject: [PATCH 101/147] =?UTF-8?q?ci:=20bump=20timeout=20minutes=20for=20?= =?UTF-8?q?windows=20fixtures=20=F0=9F=99=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b4ae7c149261..23debe49f9ec 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -175,7 +175,7 @@ jobs: - env: 'dev' builder: 'webpack' - timeout-minutes: 10 + timeout-minutes: 15 steps: - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 From a522f1ee3a75c88f2ed41a52250bd445d55d7011 Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Tue, 15 Aug 2023 10:48:57 +0100 Subject: [PATCH 102/147] fix(nuxi): ignore error if nitro is not enabled on bridge (#22642) --- packages/nuxi/package.json | 1 + packages/nuxi/src/commands/build.ts | 9 +++++++-- pnpm-lock.yaml | 3 +++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/packages/nuxi/package.json b/packages/nuxi/package.json index 54c7ee4e9330..2f166704cb19 100644 --- a/packages/nuxi/package.json +++ b/packages/nuxi/package.json @@ -41,6 +41,7 @@ "listhen": "1.3.0", "mlly": "1.4.0", "mri": "1.2.0", + "nitropack": "^2.5.2", "ohash": "1.1.3", "pathe": "1.1.1", "perfect-debounce": "1.0.0", diff --git a/packages/nuxi/src/commands/build.ts b/packages/nuxi/src/commands/build.ts index e87a22f54635..c41f7e668cd1 100644 --- a/packages/nuxi/src/commands/build.ts +++ b/packages/nuxi/src/commands/build.ts @@ -1,5 +1,6 @@ import { relative, resolve } from 'pathe' import { consola } from 'consola' +import type { Nitro } from 'nitropack' // we are deliberately inlining this code as a backup in case user has `@nuxt/schema<3.7` import { writeTypes as writeTypesLegacy } from '../../../kit/src/template' @@ -38,8 +39,12 @@ export default defineNuxtCommand({ } }) - // Use ? for backward compatibility for Nuxt <= RC.10 - const nitro = useNitro?.() + let nitro: Nitro | undefined + // In Bridge, if nitro is not enabled, useNitro will throw an error + try { + // Use ? for backward compatibility for Nuxt <= RC.10 + nitro = useNitro?.() + } catch {} await clearBuildDir(nuxt.options.buildDir) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ed92885800cc..3ec02abb95ac 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -316,6 +316,9 @@ importers: mri: specifier: 1.2.0 version: 1.2.0 + nitropack: + specifier: ^2.5.2 + version: 2.5.2 ohash: specifier: 1.1.3 version: 1.1.3 From aa111330bb4712c65d04c45cba1196f8db6571ee Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 15 Aug 2023 10:56:35 +0100 Subject: [PATCH 103/147] chore(deps): update all non-major dependencies (main) (#22640) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Daniel Roe --- .github/workflows/dependency-review.yml | 2 +- package.json | 2 +- packages/nuxi/package.json | 2 +- packages/nuxt/package.json | 2 +- packages/schema/package.json | 2 +- packages/vite/package.json | 2 +- packages/webpack/package.json | 2 +- pnpm-lock.yaml | 50 +++++++++---------------- test/bundle.test.ts | 4 +- 9 files changed, 27 insertions(+), 41 deletions(-) diff --git a/.github/workflows/dependency-review.yml b/.github/workflows/dependency-review.yml index 3052aec7dbc4..072a9ae47c40 100644 --- a/.github/workflows/dependency-review.yml +++ b/.github/workflows/dependency-review.yml @@ -19,4 +19,4 @@ jobs: - name: 'Checkout Repository' uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 - name: 'Dependency Review' - uses: actions/dependency-review-action@7d90b4f05fea31dde1c4a1fb3fa787e197ea93ab # v3.0.7 + uses: actions/dependency-review-action@f6fff72a3217f580d5afd49a46826795305b63c7 # v3.0.8 diff --git a/package.json b/package.json index 2fbfdb195abf..004f327be3e8 100644 --- a/package.json +++ b/package.json @@ -60,7 +60,7 @@ "execa": "7.2.0", "fs-extra": "11.1.1", "globby": "13.2.2", - "h3": "1.7.1", + "h3": "1.8.0", "happy-dom": "10.9.0", "jiti": "1.19.1", "markdownlint-cli": "^0.33.0", diff --git a/packages/nuxi/package.json b/packages/nuxi/package.json index 2f166704cb19..3b6aedf9b84a 100644 --- a/packages/nuxi/package.json +++ b/packages/nuxi/package.json @@ -36,7 +36,7 @@ "execa": "7.2.0", "flat": "5.0.2", "giget": "1.1.2", - "h3": "1.7.1", + "h3": "1.8.0", "jiti": "1.19.1", "listhen": "1.3.0", "mlly": "1.4.0", diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index 35017bce7885..e53991f3e0b8 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -74,7 +74,7 @@ "estree-walker": "^3.0.3", "fs-extra": "^11.1.1", "globby": "^13.2.2", - "h3": "^1.7.1", + "h3": "^1.8.0", "hookable": "^5.5.3", "jiti": "^1.19.1", "klona": "^2.0.6", diff --git a/packages/schema/package.json b/packages/schema/package.json index 993be27ddb18..8623ae247598 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -35,7 +35,7 @@ "@vitejs/plugin-vue-jsx": "3.0.1", "@vue/compiler-core": "3.3.4", "esbuild-loader": "4.0.0", - "h3": "1.7.1", + "h3": "1.8.0", "ignore": "5.2.4", "nitropack": "2.5.2", "unbuild": "latest", diff --git a/packages/vite/package.json b/packages/vite/package.json index d928caee6f56..d93e0e739d0a 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -41,7 +41,7 @@ "externality": "^1.0.2", "fs-extra": "^11.1.1", "get-port-please": "^3.0.1", - "h3": "^1.7.1", + "h3": "^1.8.0", "knitwork": "^1.0.0", "magic-string": "^0.30.2", "mlly": "^1.4.0", diff --git a/packages/webpack/package.json b/packages/webpack/package.json index 4fc9aeac3caf..517154231c6d 100644 --- a/packages/webpack/package.json +++ b/packages/webpack/package.json @@ -32,7 +32,7 @@ "file-loader": "^6.2.0", "fork-ts-checker-webpack-plugin": "^8.0.0", "fs-extra": "^11.1.1", - "h3": "^1.7.1", + "h3": "^1.8.0", "hash-sum": "^2.0.0", "lodash-es": "^4.17.21", "magic-string": "^0.30.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3ec02abb95ac..11a25681a29b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -81,8 +81,8 @@ importers: specifier: 13.2.2 version: 13.2.2 h3: - specifier: 1.7.1 - version: 1.7.1 + specifier: 1.8.0 + version: 1.8.0 happy-dom: specifier: 10.9.0 version: 10.9.0 @@ -302,8 +302,8 @@ importers: specifier: 1.1.2 version: 1.1.2 h3: - specifier: 1.7.1 - version: 1.7.1 + specifier: 1.8.0 + version: 1.8.0 jiti: specifier: 1.19.1 version: 1.19.1 @@ -416,8 +416,8 @@ importers: specifier: ^13.2.2 version: 13.2.2 h3: - specifier: ^1.7.1 - version: 1.7.1 + specifier: ^1.8.0 + version: 1.8.0 hookable: specifier: ^5.5.3 version: 5.5.3 @@ -598,8 +598,8 @@ importers: specifier: 4.0.0 version: 4.0.0(webpack@5.88.2) h3: - specifier: 1.7.1 - version: 1.7.1 + specifier: 1.8.0 + version: 1.8.0 ignore: specifier: 5.2.4 version: 5.2.4 @@ -728,8 +728,8 @@ importers: specifier: ^3.0.1 version: 3.0.1 h3: - specifier: ^1.7.1 - version: 1.7.1 + specifier: ^1.8.0 + version: 1.8.0 knitwork: specifier: ^1.0.0 version: 1.0.0 @@ -849,8 +849,8 @@ importers: specifier: ^11.1.1 version: 11.1.1 h3: - specifier: ^1.7.1 - version: 1.7.1 + specifier: ^1.8.0 + version: 1.8.0 hash-sum: specifier: ^2.0.0 version: 2.0.0 @@ -6338,19 +6338,8 @@ packages: dependencies: duplexer: 0.1.2 - /h3@1.7.1: - resolution: {integrity: sha512-A9V2NEDNHet7v1gCg7CMwerSigLi0SRbhTy7C3lGb0N4YKIpPmLDjedTUopqp4dnn7COHfqUjjaz3zbtz4QduA==} - dependencies: - cookie-es: 1.0.0 - defu: 6.1.2 - destr: 2.0.1 - iron-webcrypto: 0.7.1 - radix3: 1.0.1 - ufo: 1.2.0 - uncrypto: 0.1.3 - - /h3@1.8.0-rc.3: - resolution: {integrity: sha512-NhDCNXhrJkt42BDQF57787yXJa2eX2Hl4OMlu+Ym9QBdBaOByUjBrovYaBc+27mtIhHvs2IqPf56to8qcNBI7Q==} + /h3@1.8.0: + resolution: {integrity: sha512-057VY83X7Tg5n4XU2GV9M3dsCWUU4jtw2Lc/r4GjAcf9Jb6GI1mD5F8TCQHUcvLMEgtx6lbfobOFu7Vdmejihg==} dependencies: cookie-es: 1.0.0 defu: 6.1.2 @@ -6672,9 +6661,6 @@ packages: transitivePeerDependencies: - supports-color - /iron-webcrypto@0.7.1: - resolution: {integrity: sha512-K/UmlEhPCPXEHV5hAtH5C0tI5JnFuOrv4yO/j7ODPl3HaiiHBLbOLTde+ieUaAyfCATe4LoAnclyF+hmSCOVmQ==} - /iron-webcrypto@0.8.0: resolution: {integrity: sha512-gScdcWHjTGclCU15CIv2r069NoQrys1UeUFFfaO1hL++ytLHkVw7N5nXJmFf3J2LEDMz1PkrvC0m62JEeu1axQ==} @@ -7249,7 +7235,7 @@ packages: consola: 3.2.3 defu: 6.1.2 get-port-please: 3.0.1 - h3: 1.8.0-rc.3 + h3: 1.8.0 http-shutdown: 1.2.2 jiti: 1.19.1 mlly: 1.4.0 @@ -8120,7 +8106,7 @@ packages: fs-extra: 11.1.1 globby: 13.2.2 gzip-size: 7.0.0 - h3: 1.7.1 + h3: 1.8.0 hookable: 5.5.3 http-graceful-shutdown: 3.1.13 http-proxy: 1.18.1 @@ -10726,7 +10712,7 @@ packages: anymatch: 3.1.3 chokidar: 3.5.3 destr: 2.0.1 - h3: 1.7.1 + h3: 1.8.0 ioredis: 5.3.2 listhen: 1.3.0 lru-cache: 10.0.0 @@ -11020,7 +11006,7 @@ packages: '@vue/test-utils': 2.4.1(vue@3.3.4) defu: 6.1.2 estree-walker: 3.0.3 - h3: 1.7.1 + h3: 1.8.0 happy-dom: 10.9.0 magic-string: 0.30.2 ofetch: 1.1.1 diff --git a/test/bundle.test.ts b/test/bundle.test.ts index a7af0143f9f4..4f6f9c6f2729 100644 --- a/test/bundle.test.ts +++ b/test/bundle.test.ts @@ -35,7 +35,7 @@ describe.skipIf(process.env.SKIP_BUNDLE_SIZE === 'true' || process.env.ECOSYSTEM expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot('"64.6k"') const modules = await analyzeSizes('node_modules/**/*', serverDir) - expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"2335k"') + expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"2351k"') const packages = modules.files .filter(m => m.endsWith('package.json')) @@ -95,7 +95,7 @@ describe.skipIf(process.env.SKIP_BUNDLE_SIZE === 'true' || process.env.ECOSYSTEM expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot('"370k"') const modules = await analyzeSizes('node_modules/**/*', serverDir) - expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"597k"') + expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"613k"') const packages = modules.files .filter(m => m.endsWith('package.json')) From 929dba4b229a7e35773b614924871ba36d42caac Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 15 Aug 2023 13:56:25 +0100 Subject: [PATCH 104/147] chore(deps): pin devdependency nitropack to 2.5.2 (main) (#22644) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- packages/nuxi/package.json | 2 +- pnpm-lock.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/nuxi/package.json b/packages/nuxi/package.json index 3b6aedf9b84a..ed5c831a2990 100644 --- a/packages/nuxi/package.json +++ b/packages/nuxi/package.json @@ -41,7 +41,7 @@ "listhen": "1.3.0", "mlly": "1.4.0", "mri": "1.2.0", - "nitropack": "^2.5.2", + "nitropack": "2.5.2", "ohash": "1.1.3", "pathe": "1.1.1", "perfect-debounce": "1.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 11a25681a29b..834915c98dd0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -317,7 +317,7 @@ importers: specifier: 1.2.0 version: 1.2.0 nitropack: - specifier: ^2.5.2 + specifier: 2.5.2 version: 2.5.2 ohash: specifier: 1.1.3 From 28e4cc298c173af2fd44488a771ed7022843eb9a Mon Sep 17 00:00:00 2001 From: Harlan Wilton Date: Wed, 16 Aug 2023 11:25:07 +0300 Subject: [PATCH 105/147] fix(nuxt): remove experimental hash hydration (#22648) --- packages/nuxt/src/head/module.ts | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/packages/nuxt/src/head/module.ts b/packages/nuxt/src/head/module.ts index 6fefe08d7bf5..9131c015cecb 100644 --- a/packages/nuxt/src/head/module.ts +++ b/packages/nuxt/src/head/module.ts @@ -60,13 +60,8 @@ export default defineNuxtModule({ if (!nuxt.options.experimental.headNext) { return 'export default []' } - // TODO don't use HashHydrationPlugin for SPA - return `import { CapoPlugin, HashHydrationPlugin } from '@unhead/vue' -const plugins = [HashHydrationPlugin()]; -if (process.server) { - plugins.push(CapoPlugin({ track: true })); -} -export default plugins;` + return `import { CapoPlugin } from '@unhead/vue'; +export default process.server ? [CapoPlugin({ track: true })] : [];` } }) From f0cc9236098e13eb8098e351a74df67c71710e2a Mon Sep 17 00:00:00 2001 From: Eduardo San Martin Morote Date: Wed, 16 Aug 2023 16:16:06 +0200 Subject: [PATCH 106/147] fix(nuxt): correct revive payload data type (#22667) --- packages/nuxt/src/app/composables/payload.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/nuxt/src/app/composables/payload.ts b/packages/nuxt/src/app/composables/payload.ts index 1cff4e8a3678..7d0e782dc903 100644 --- a/packages/nuxt/src/app/composables/payload.ts +++ b/packages/nuxt/src/app/composables/payload.ts @@ -122,7 +122,7 @@ export function definePayloadReducer ( */ export function definePayloadReviver ( name: string, - revive: (data: string) => any | undefined + revive: (data: any) => any | undefined ) { if (import.meta.dev && getCurrentInstance()) { console.warn('[nuxt] [definePayloadReviver] This function must be called in a Nuxt plugin that is `unshift`ed to the beginning of the Nuxt plugins array.') From e04596ad2e884f7cae454e1ee2b2b6905a884af8 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 16 Aug 2023 17:39:02 +0200 Subject: [PATCH 107/147] chore(deps): update all non-major dependencies (main) (#22647) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Daniel Roe --- package.json | 2 +- packages/nuxt/package.json | 8 +- packages/schema/package.json | 2 +- packages/vite/package.json | 2 +- packages/webpack/package.json | 2 +- pnpm-lock.yaml | 449 +++++++++++++++++----------------- test/bundle.test.ts | 4 +- 7 files changed, 235 insertions(+), 234 deletions(-) diff --git a/package.json b/package.json index 004f327be3e8..7ec4c084e542 100644 --- a/package.json +++ b/package.json @@ -61,7 +61,7 @@ "fs-extra": "11.1.1", "globby": "13.2.2", "h3": "1.8.0", - "happy-dom": "10.9.0", + "happy-dom": "10.10.0", "jiti": "1.19.1", "markdownlint-cli": "^0.33.0", "nitropack": "2.5.2", diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index e53991f3e0b8..fda74cfb348c 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -58,9 +58,9 @@ "@nuxt/telemetry": "^2.4.1", "@nuxt/ui-templates": "^1.3.1", "@nuxt/vite-builder": "workspace:../vite", - "@unhead/dom": "^1.3.3", - "@unhead/ssr": "^1.3.3", - "@unhead/vue": "^1.3.3", + "@unhead/dom": "^1.3.4", + "@unhead/ssr": "^1.3.4", + "@unhead/vue": "^1.3.4", "@vue/shared": "^3.3.4", "acorn": "8.10.0", "c12": "^1.4.2", @@ -83,7 +83,7 @@ "mlly": "^1.4.0", "nitropack": "^2.5.2", "nuxi": "workspace:../nuxi", - "nypm": "^0.2.2", + "nypm": "^0.3.0", "ofetch": "^1.1.1", "ohash": "^1.1.3", "pathe": "^1.1.1", diff --git a/packages/schema/package.json b/packages/schema/package.json index 8623ae247598..f8a36d43a896 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -30,7 +30,7 @@ "@types/file-loader": "5.0.1", "@types/pug": "2.0.6", "@types/sass-loader": "8.0.5", - "@unhead/schema": "1.3.3", + "@unhead/schema": "1.3.4", "@vitejs/plugin-vue": "4.2.3", "@vitejs/plugin-vue-jsx": "3.0.1", "@vue/compiler-core": "3.3.4", diff --git a/packages/vite/package.json b/packages/vite/package.json index d93e0e739d0a..0142ec9d1b4d 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -49,7 +49,7 @@ "pathe": "^1.1.1", "perfect-debounce": "^1.0.0", "pkg-types": "^1.0.3", - "postcss": "^8.4.27", + "postcss": "^8.4.28", "postcss-import": "^15.1.0", "postcss-url": "^10.1.3", "rollup-plugin-visualizer": "^5.9.2", diff --git a/packages/webpack/package.json b/packages/webpack/package.json index 517154231c6d..e2b3e4062cdb 100644 --- a/packages/webpack/package.json +++ b/packages/webpack/package.json @@ -42,7 +42,7 @@ "ohash": "^1.1.3", "pathe": "^1.1.1", "pify": "^6.1.0", - "postcss": "^8.4.27", + "postcss": "^8.4.28", "postcss-import": "^15.1.0", "postcss-loader": "^7.3.3", "postcss-url": "^10.1.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 834915c98dd0..a43aa5ded497 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -84,8 +84,8 @@ importers: specifier: 1.8.0 version: 1.8.0 happy-dom: - specifier: 10.9.0 - version: 10.9.0 + specifier: 10.10.0 + version: 10.10.0 jiti: specifier: 1.19.1 version: 1.19.1 @@ -103,7 +103,7 @@ importers: version: link:packages/nuxt nuxt-vitest: specifier: 0.10.2 - version: 0.10.2(@vitejs/plugin-vue-jsx@3.0.1)(@vitejs/plugin-vue@4.2.3)(happy-dom@10.9.0)(vite@4.4.9)(vitest@0.33.0)(vue-router@4.2.4)(vue@3.3.4) + version: 0.10.2(@vitejs/plugin-vue-jsx@3.0.1)(@vitejs/plugin-vue@4.2.3)(happy-dom@10.10.0)(vite@4.4.9)(vitest@0.33.0)(vue-router@4.2.4)(vue@3.3.4) ofetch: specifier: 1.1.1 version: 1.1.1 @@ -133,10 +133,10 @@ importers: version: 4.4.9(@types/node@18.17.5) vitest: specifier: 0.33.0 - version: 0.33.0(happy-dom@10.9.0) + version: 0.33.0(happy-dom@10.10.0) vitest-environment-nuxt: specifier: 0.10.2 - version: 0.10.2(happy-dom@10.9.0)(vitest@0.33.0)(vue-router@4.2.4)(vue@3.3.4) + version: 0.10.2(happy-dom@10.10.0)(vitest@0.33.0)(vue-router@4.2.4)(vue@3.3.4) vue: specifier: 3.3.4 version: 3.3.4 @@ -154,7 +154,7 @@ importers: devDependencies: '@nuxt-themes/docus': specifier: 1.14.6 - version: 1.14.6(nuxt@packages+nuxt)(postcss@8.4.27)(vue@3.3.4) + version: 1.14.6(nuxt@packages+nuxt)(postcss@8.4.28)(vue@3.3.4) packages/kit: dependencies: @@ -236,7 +236,7 @@ importers: version: 4.4.9(@types/node@18.17.5) vitest: specifier: 0.33.0 - version: 0.33.0(happy-dom@10.9.0) + version: 0.33.0(happy-dom@10.10.0) webpack: specifier: 5.88.2 version: 5.88.2 @@ -368,14 +368,14 @@ importers: specifier: ^14.18.0 || >=16.10.0 version: 18.17.5 '@unhead/dom': - specifier: ^1.3.3 - version: 1.3.3 + specifier: ^1.3.4 + version: 1.3.4 '@unhead/ssr': - specifier: ^1.3.3 - version: 1.3.3 + specifier: ^1.3.4 + version: 1.3.4 '@unhead/vue': - specifier: ^1.3.3 - version: 1.3.3(vue@3.3.4) + specifier: ^1.3.4 + version: 1.3.4(vue@3.3.4) '@vue/shared': specifier: ^3.3.4 version: 3.3.4 @@ -443,8 +443,8 @@ importers: specifier: workspace:* version: link:../nuxi nypm: - specifier: ^0.2.2 - version: 0.2.2 + specifier: ^0.3.0 + version: 0.3.0 ofetch: specifier: ^1.1.1 version: 1.1.1 @@ -535,7 +535,7 @@ importers: version: 4.4.9(@types/node@18.17.5) vitest: specifier: 0.33.0 - version: 0.33.0(happy-dom@10.9.0) + version: 0.33.0(happy-dom@10.10.0) packages/schema: dependencies: @@ -583,8 +583,8 @@ importers: specifier: 8.0.5 version: 8.0.5 '@unhead/schema': - specifier: 1.3.3 - version: 1.3.3 + specifier: 1.3.4 + version: 1.3.4 '@vitejs/plugin-vue': specifier: 4.2.3 version: 4.2.3(vite@4.4.9)(vue@3.3.4) @@ -678,7 +678,7 @@ importers: version: 1.2.1 vitest: specifier: 0.33.0 - version: 0.33.0(happy-dom@10.9.0) + version: 0.33.0(happy-dom@10.10.0) packages/vite: dependencies: @@ -696,7 +696,7 @@ importers: version: 3.0.1(vite@4.4.9)(vue@3.3.4) autoprefixer: specifier: ^10.4.15 - version: 10.4.15(postcss@8.4.27) + version: 10.4.15(postcss@8.4.28) clear: specifier: ^0.1.0 version: 0.1.0 @@ -705,7 +705,7 @@ importers: version: 3.2.3 cssnano: specifier: ^6.0.1 - version: 6.0.1(postcss@8.4.27) + version: 6.0.1(postcss@8.4.28) defu: specifier: ^6.1.2 version: 6.1.2 @@ -752,14 +752,14 @@ importers: specifier: ^1.0.3 version: 1.0.3 postcss: - specifier: ^8.4.27 - version: 8.4.27 + specifier: ^8.4.28 + version: 8.4.28 postcss-import: specifier: ^15.1.0 - version: 15.1.0(postcss@8.4.27) + version: 15.1.0(postcss@8.4.28) postcss-url: specifier: ^10.1.3 - version: 10.1.3(postcss@8.4.27) + version: 10.1.3(postcss@8.4.28) rollup-plugin-visualizer: specifier: ^5.9.2 version: 5.9.2(rollup@3.27.2) @@ -817,7 +817,7 @@ importers: version: link:../kit autoprefixer: specifier: ^10.4.15 - version: 10.4.15(postcss@8.4.27) + version: 10.4.15(postcss@8.4.28) css-loader: specifier: ^6.8.1 version: 6.8.1(webpack@5.88.2) @@ -826,7 +826,7 @@ importers: version: 5.0.1(webpack@5.88.2) cssnano: specifier: ^6.0.1 - version: 6.0.1(postcss@8.4.27) + version: 6.0.1(postcss@8.4.28) defu: specifier: ^6.1.2 version: 6.1.2 @@ -879,17 +879,17 @@ importers: specifier: ^6.1.0 version: 6.1.0 postcss: - specifier: ^8.4.27 - version: 8.4.27 + specifier: ^8.4.28 + version: 8.4.28 postcss-import: specifier: ^15.1.0 - version: 15.1.0(postcss@8.4.27) + version: 15.1.0(postcss@8.4.28) postcss-loader: specifier: ^7.3.3 - version: 7.3.3(postcss@8.4.27)(webpack@5.88.2) + version: 7.3.3(postcss@8.4.28)(webpack@5.88.2) postcss-url: specifier: ^10.1.3 - version: 10.1.3(postcss@8.4.27) + version: 10.1.3(postcss@8.4.28) pug-plain-loader: specifier: ^1.1.0 version: 1.1.0(pug@3.0.2) @@ -1003,7 +1003,7 @@ importers: version: 1.1.1 vitest: specifier: latest - version: 0.34.1(happy-dom@10.9.0) + version: 0.34.1(happy-dom@10.10.0) vue: specifier: 3.3.4 version: 3.3.4 @@ -2287,12 +2287,12 @@ packages: '@nodelib/fs.scandir': 2.1.5 fastq: 1.15.0 - /@nuxt-themes/docus@1.14.6(nuxt@packages+nuxt)(postcss@8.4.27)(vue@3.3.4): + /@nuxt-themes/docus@1.14.6(nuxt@packages+nuxt)(postcss@8.4.28)(vue@3.3.4): resolution: {integrity: sha512-tkSG7j0jhVo53wEpK9V48hIvaK0XEzVU64hXhFfnIMv6LJu99cKOC//boebPbN9qLbJmkBdo4IAIJ0tN5MD0qw==} dependencies: - '@nuxt-themes/elements': 0.9.4(postcss@8.4.27)(vue@3.3.4) - '@nuxt-themes/tokens': 1.9.1(postcss@8.4.27)(vue@3.3.4) - '@nuxt-themes/typography': 0.11.0(postcss@8.4.27)(vue@3.3.4) + '@nuxt-themes/elements': 0.9.4(postcss@8.4.28)(vue@3.3.4) + '@nuxt-themes/tokens': 1.9.1(postcss@8.4.28)(vue@3.3.4) + '@nuxt-themes/typography': 0.11.0(postcss@8.4.28)(vue@3.3.4) '@nuxt/content': 2.7.2 '@nuxthq/studio': 0.13.4 '@vueuse/integrations': 10.3.0(focus-trap@7.5.2)(fuse.js@6.6.2)(vue@3.3.4) @@ -2329,10 +2329,10 @@ packages: - vue dev: true - /@nuxt-themes/elements@0.9.4(postcss@8.4.27)(vue@3.3.4): + /@nuxt-themes/elements@0.9.4(postcss@8.4.28)(vue@3.3.4): resolution: {integrity: sha512-d7XgHc/gjMpre26+N76APL1vlnQHiZTOk61GC4I/ZYQuioSfoKuoIP+Ixrr0QgM22j4MRBtAaBnDAg1wRJrDCQ==} dependencies: - '@nuxt-themes/tokens': 1.9.1(postcss@8.4.27)(vue@3.3.4) + '@nuxt-themes/tokens': 1.9.1(postcss@8.4.28)(vue@3.3.4) '@vueuse/core': 9.13.0(vue@3.3.4) transitivePeerDependencies: - '@vue/composition-api' @@ -2342,12 +2342,12 @@ packages: - vue dev: true - /@nuxt-themes/tokens@1.9.1(postcss@8.4.27)(vue@3.3.4): + /@nuxt-themes/tokens@1.9.1(postcss@8.4.28)(vue@3.3.4): resolution: {integrity: sha512-5C28kfRvKnTX8Tux+xwyaf+2pxKgQ53dC9l6C33sZwRRyfUJulGDZCFjKbuNq4iqVwdGvkFSQBYBYjFAv6t75g==} dependencies: '@nuxtjs/color-mode': 3.3.0 '@vueuse/core': 9.13.0(vue@3.3.4) - pinceau: 0.18.9(postcss@8.4.27) + pinceau: 0.18.9(postcss@8.4.28) transitivePeerDependencies: - '@vue/composition-api' - postcss @@ -2356,13 +2356,13 @@ packages: - vue dev: true - /@nuxt-themes/typography@0.11.0(postcss@8.4.27)(vue@3.3.4): + /@nuxt-themes/typography@0.11.0(postcss@8.4.28)(vue@3.3.4): resolution: {integrity: sha512-TqyvD7sDWnqGmL00VtuI7JdmNTPL5/g957HCAWNzcNp+S20uJjW/FXSdkM76d4JSVDHvBqw7Wer3RsqVhqvA4w==} dependencies: '@nuxtjs/color-mode': 3.3.0 nuxt-config-schema: 0.4.6 nuxt-icon: 0.3.3(vue@3.3.4) - pinceau: 0.18.9(postcss@8.4.27) + pinceau: 0.18.9(postcss@8.4.28) ufo: 1.2.0 transitivePeerDependencies: - postcss @@ -3245,41 +3245,41 @@ packages: eslint-visitor-keys: 3.4.3 dev: true - /@unhead/dom@1.3.3: - resolution: {integrity: sha512-lagqp2dAAE//WSe5WcCAkI19snMJrLcc0QBWLsFIUXhbKQOR3Y6gr4PeCqwIHGEggEIuAkvaDzJwRd5L/CtqvQ==} + /@unhead/dom@1.3.4: + resolution: {integrity: sha512-wQK31cqjcZHqmMLI0PEDbzigp0KwQjG4P/H8BybcARvGQoaWdgZkiOu+iYmW0sl7e5V08CBL+PXiyiJ1TU6K3Q==} dependencies: - '@unhead/schema': 1.3.3 - '@unhead/shared': 1.3.3 + '@unhead/schema': 1.3.4 + '@unhead/shared': 1.3.4 dev: false - /@unhead/schema@1.3.3: - resolution: {integrity: sha512-5P3Aff/EM5Y4WnJBvvXQqB6CsBq3zdAiK+pf7m0ZXjerc5K5UqKomOtCZ0GXwr10mait7nbca5JaOUiMv2YWjg==} + /@unhead/schema@1.3.4: + resolution: {integrity: sha512-9a/5l6YpyW36ud0AKRkHzIVc9mWBxFqvE/ASFLjef2trmHhIVNewu5hjegotAO3uNSxC32AX4FoeJBgTDpYmHA==} dependencies: hookable: 5.5.3 zhead: 2.0.10 - /@unhead/shared@1.3.3: - resolution: {integrity: sha512-xcrcKJy/4xE/IFJ4TF43HtGLONfkoedihtV8oR/OKFeeL4DshioZ2X1pmLh7U+Mc+QR3cX027BngWVXaGFOOaw==} + /@unhead/shared@1.3.4: + resolution: {integrity: sha512-cBi6gIdSxl5kNrVWJS3zTXsyTeF6JQmub2SQEWzLnCy/+S/1K0pmrbj5d1B01AKBVKgJ4UVS+AaAfKfXKyv4tg==} dependencies: - '@unhead/schema': 1.3.3 + '@unhead/schema': 1.3.4 dev: false - /@unhead/ssr@1.3.3: - resolution: {integrity: sha512-/gSvsWlkgq5aE+kOhvjjYa4TSyXdodsZNST3nqa5+E1rsQswU5o6MJlBVj1mSqnDezQCsmQGeawFfFq8sKgZoQ==} + /@unhead/ssr@1.3.4: + resolution: {integrity: sha512-aovNY0LPMZbOSJ46arLIV9y7kj6agqFnI1HtK+mupbGgTkEIwQhlrL1Xm8P8SP0HijR4j4Wkv9qOErMeVmzlUg==} dependencies: - '@unhead/schema': 1.3.3 - '@unhead/shared': 1.3.3 + '@unhead/schema': 1.3.4 + '@unhead/shared': 1.3.4 dev: false - /@unhead/vue@1.3.3(vue@3.3.4): - resolution: {integrity: sha512-arkHRSsexQGLIC255w9zNfPs8gC1P3l4YHB1ZOa1E/30kiEhgq/Z1G3wHaegN0TfM6ODKnTMpxiOQr0mPIiZqQ==} + /@unhead/vue@1.3.4(vue@3.3.4): + resolution: {integrity: sha512-+LIQ/2W2Kyo0+Z3OvdpOh54tx+LOVURt9dbudHdol2wpioZ6JN6VJlOBBaesIrHqj48fSQP10GdaZDqrIkNUgw==} peerDependencies: vue: '>=2.7 || >=3' dependencies: - '@unhead/schema': 1.3.3 - '@unhead/shared': 1.3.3 + '@unhead/schema': 1.3.4 + '@unhead/shared': 1.3.4 hookable: 5.5.3 - unhead: 1.3.3 + unhead: 1.3.4 vue: 3.3.4 dev: false @@ -3404,7 +3404,7 @@ packages: pathe: 1.1.1 picocolors: 1.0.0 sirv: 2.0.3 - vitest: 0.33.0(happy-dom@10.9.0) + vitest: 0.33.0(happy-dom@10.10.0) dev: true /@vitest/utils@0.33.0: @@ -3530,7 +3530,7 @@ packages: '@vue/shared': 3.3.4 estree-walker: 2.0.2 magic-string: 0.30.2 - postcss: 8.4.27 + postcss: 8.4.28 source-map-js: 1.0.2 /@vue/compiler-ssr@3.3.4: @@ -4148,7 +4148,7 @@ packages: /async@3.2.4: resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} - /autoprefixer@10.4.15(postcss@8.4.27): + /autoprefixer@10.4.15(postcss@8.4.28): resolution: {integrity: sha512-KCuPB8ZCIqFdA4HwKXsvz7j6gvSDNhDP7WnUjBleRkKjPdvCmHFuQ77ocavI8FT6NdvlBnE2UFr2H4Mycn8Vew==} engines: {node: ^10 || ^12 || >=14} hasBin: true @@ -4160,7 +4160,7 @@ packages: fraction.js: 4.2.0 normalize-range: 0.1.2 picocolors: 1.0.0 - postcss: 8.4.27 + postcss: 8.4.28 postcss-value-parser: 4.2.0 dev: false @@ -4752,13 +4752,13 @@ packages: shebang-command: 2.0.0 which: 2.0.2 - /css-declaration-sorter@6.4.1(postcss@8.4.27): + /css-declaration-sorter@6.4.1(postcss@8.4.28): resolution: {integrity: sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==} engines: {node: ^10 || ^12 || >=14} peerDependencies: postcss: ^8.0.9 dependencies: - postcss: 8.4.27 + postcss: 8.4.28 dev: false /css-loader@6.8.1(webpack@5.88.2): @@ -4767,12 +4767,12 @@ packages: peerDependencies: webpack: ^5.0.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.27) - postcss: 8.4.27 - postcss-modules-extract-imports: 3.0.0(postcss@8.4.27) - postcss-modules-local-by-default: 4.0.3(postcss@8.4.27) - postcss-modules-scope: 3.0.0(postcss@8.4.27) - postcss-modules-values: 4.0.0(postcss@8.4.27) + icss-utils: 5.1.0(postcss@8.4.28) + postcss: 8.4.28 + postcss-modules-extract-imports: 3.0.0(postcss@8.4.28) + postcss-modules-local-by-default: 4.0.3(postcss@8.4.28) + postcss-modules-scope: 3.0.0(postcss@8.4.28) + postcss-modules-values: 4.0.0(postcss@8.4.28) postcss-value-parser: 4.2.0 semver: 7.5.4 webpack: 5.88.2 @@ -4804,9 +4804,9 @@ packages: optional: true dependencies: '@jridgewell/trace-mapping': 0.3.18 - cssnano: 6.0.1(postcss@8.4.27) + cssnano: 6.0.1(postcss@8.4.28) jest-worker: 29.6.2 - postcss: 8.4.27 + postcss: 8.4.28 schema-utils: 4.2.0 serialize-javascript: 6.0.1 webpack: 5.88.2 @@ -4850,62 +4850,62 @@ packages: engines: {node: '>=4'} hasBin: true - /cssnano-preset-default@6.0.1(postcss@8.4.27): + /cssnano-preset-default@6.0.1(postcss@8.4.28): resolution: {integrity: sha512-7VzyFZ5zEB1+l1nToKyrRkuaJIx0zi/1npjvZfbBwbtNTzhLtlvYraK/7/uqmX2Wb2aQtd983uuGw79jAjLSuQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - css-declaration-sorter: 6.4.1(postcss@8.4.27) - cssnano-utils: 4.0.0(postcss@8.4.27) - postcss: 8.4.27 - postcss-calc: 9.0.1(postcss@8.4.27) - postcss-colormin: 6.0.0(postcss@8.4.27) - postcss-convert-values: 6.0.0(postcss@8.4.27) - postcss-discard-comments: 6.0.0(postcss@8.4.27) - postcss-discard-duplicates: 6.0.0(postcss@8.4.27) - postcss-discard-empty: 6.0.0(postcss@8.4.27) - postcss-discard-overridden: 6.0.0(postcss@8.4.27) - postcss-merge-longhand: 6.0.0(postcss@8.4.27) - postcss-merge-rules: 6.0.1(postcss@8.4.27) - postcss-minify-font-values: 6.0.0(postcss@8.4.27) - postcss-minify-gradients: 6.0.0(postcss@8.4.27) - postcss-minify-params: 6.0.0(postcss@8.4.27) - postcss-minify-selectors: 6.0.0(postcss@8.4.27) - postcss-normalize-charset: 6.0.0(postcss@8.4.27) - postcss-normalize-display-values: 6.0.0(postcss@8.4.27) - postcss-normalize-positions: 6.0.0(postcss@8.4.27) - postcss-normalize-repeat-style: 6.0.0(postcss@8.4.27) - postcss-normalize-string: 6.0.0(postcss@8.4.27) - postcss-normalize-timing-functions: 6.0.0(postcss@8.4.27) - postcss-normalize-unicode: 6.0.0(postcss@8.4.27) - postcss-normalize-url: 6.0.0(postcss@8.4.27) - postcss-normalize-whitespace: 6.0.0(postcss@8.4.27) - postcss-ordered-values: 6.0.0(postcss@8.4.27) - postcss-reduce-initial: 6.0.0(postcss@8.4.27) - postcss-reduce-transforms: 6.0.0(postcss@8.4.27) - postcss-svgo: 6.0.0(postcss@8.4.27) - postcss-unique-selectors: 6.0.0(postcss@8.4.27) - dev: false - - /cssnano-utils@4.0.0(postcss@8.4.27): + css-declaration-sorter: 6.4.1(postcss@8.4.28) + cssnano-utils: 4.0.0(postcss@8.4.28) + postcss: 8.4.28 + postcss-calc: 9.0.1(postcss@8.4.28) + postcss-colormin: 6.0.0(postcss@8.4.28) + postcss-convert-values: 6.0.0(postcss@8.4.28) + postcss-discard-comments: 6.0.0(postcss@8.4.28) + postcss-discard-duplicates: 6.0.0(postcss@8.4.28) + postcss-discard-empty: 6.0.0(postcss@8.4.28) + postcss-discard-overridden: 6.0.0(postcss@8.4.28) + postcss-merge-longhand: 6.0.0(postcss@8.4.28) + postcss-merge-rules: 6.0.1(postcss@8.4.28) + postcss-minify-font-values: 6.0.0(postcss@8.4.28) + postcss-minify-gradients: 6.0.0(postcss@8.4.28) + postcss-minify-params: 6.0.0(postcss@8.4.28) + postcss-minify-selectors: 6.0.0(postcss@8.4.28) + postcss-normalize-charset: 6.0.0(postcss@8.4.28) + postcss-normalize-display-values: 6.0.0(postcss@8.4.28) + postcss-normalize-positions: 6.0.0(postcss@8.4.28) + postcss-normalize-repeat-style: 6.0.0(postcss@8.4.28) + postcss-normalize-string: 6.0.0(postcss@8.4.28) + postcss-normalize-timing-functions: 6.0.0(postcss@8.4.28) + postcss-normalize-unicode: 6.0.0(postcss@8.4.28) + postcss-normalize-url: 6.0.0(postcss@8.4.28) + postcss-normalize-whitespace: 6.0.0(postcss@8.4.28) + postcss-ordered-values: 6.0.0(postcss@8.4.28) + postcss-reduce-initial: 6.0.0(postcss@8.4.28) + postcss-reduce-transforms: 6.0.0(postcss@8.4.28) + postcss-svgo: 6.0.0(postcss@8.4.28) + postcss-unique-selectors: 6.0.0(postcss@8.4.28) + dev: false + + /cssnano-utils@4.0.0(postcss@8.4.28): resolution: {integrity: sha512-Z39TLP+1E0KUcd7LGyF4qMfu8ZufI0rDzhdyAMsa/8UyNUU8wpS0fhdBxbQbv32r64ea00h4878gommRVg2BHw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.27 + postcss: 8.4.28 dev: false - /cssnano@6.0.1(postcss@8.4.27): + /cssnano@6.0.1(postcss@8.4.28): resolution: {integrity: sha512-fVO1JdJ0LSdIGJq68eIxOqFpIJrZqXUsBt8fkrBcztCQqAjQD51OhZp7tc0ImcbwXD4k7ny84QTV90nZhmqbkg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - cssnano-preset-default: 6.0.1(postcss@8.4.27) + cssnano-preset-default: 6.0.1(postcss@8.4.28) lilconfig: 2.1.0 - postcss: 8.4.27 + postcss: 8.4.28 dev: false /csso@5.0.5: @@ -6350,8 +6350,8 @@ packages: uncrypto: 0.1.3 unenv: 1.7.1 - /happy-dom@10.9.0: - resolution: {integrity: sha512-SGZ8QqSNDVkWt5T7GNACKS+CpGvr58OKurqCR1iH371dMgpXyUI2tJA91cASG6fe2d5xYnVFOgOwx4MmOaXepw==} + /happy-dom@10.10.0: + resolution: {integrity: sha512-rpWFSemZoid3OKuzMs47CDUOnAYV10vYlXaVBPD+dBDHTAFkyIIpkHXx8gd/uWMyf+XOluQNnxImWp17SprE2Q==} dependencies: css.escape: 1.5.1 entities: 4.5.0 @@ -6583,13 +6583,13 @@ packages: safer-buffer: 2.1.2 dev: true - /icss-utils@5.1.0(postcss@8.4.27): + /icss-utils@5.1.0(postcss@8.4.28): resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.27 + postcss: 8.4.28 dev: false /ieee754@1.2.1: @@ -8306,7 +8306,7 @@ packages: - vue dev: true - /nuxt-vitest@0.10.2(@vitejs/plugin-vue-jsx@3.0.1)(@vitejs/plugin-vue@4.2.3)(happy-dom@10.9.0)(vite@4.4.9)(vitest@0.33.0)(vue-router@4.2.4)(vue@3.3.4): + /nuxt-vitest@0.10.2(@vitejs/plugin-vue-jsx@3.0.1)(@vitejs/plugin-vue@4.2.3)(happy-dom@10.10.0)(vite@4.4.9)(vitest@0.33.0)(vue-router@4.2.4)(vue@3.3.4): resolution: {integrity: sha512-cYEvFY5iU0fV3xccdunV1vAlgyda3Tf7HEyPGrI/4KMAouwtIDIyuu2SgU3WOFqpNbhbAQbI5COLISodOeUHBQ==} peerDependencies: '@vitejs/plugin-vue': '*' @@ -8323,8 +8323,8 @@ packages: perfect-debounce: 1.0.0 std-env: 3.3.3 vite: 4.4.9(@types/node@18.17.5) - vitest: 0.33.0(happy-dom@10.9.0) - vitest-environment-nuxt: 0.10.2(happy-dom@10.9.0)(vitest@0.33.0)(vue-router@4.2.4)(vue@3.3.4) + vitest: 0.33.0(happy-dom@10.10.0) + vitest-environment-nuxt: 0.10.2(happy-dom@10.10.0)(vitest@0.33.0)(vue-router@4.2.4)(vue@3.3.4) transitivePeerDependencies: - '@vue/server-renderer' - happy-dom @@ -8333,11 +8333,12 @@ packages: - vue-router dev: true - /nypm@0.2.2: - resolution: {integrity: sha512-O7bumfWgUXlJefT1Y41SF4vsCvzeUYmnKABuOKStheCObzrkWPDmqJc+RJVU+57oFu9bITcrUq8sKFIHgjCnTg==} + /nypm@0.3.0: + resolution: {integrity: sha512-OTyAXouN2VMCEHWnM5V+QWb+TwhIZjnB0X6yCH5sD/LgD74xbsH67YnTMEG97LMhDp8MPoWLPwskM71+wDdTzg==} engines: {node: ^14.16.0 || >=16.10.0} dependencies: execa: 7.2.0 + ufo: 1.2.0 dev: false /object-assign@4.1.1: @@ -8668,7 +8669,7 @@ packages: engines: {node: '>=14.16'} dev: false - /pinceau@0.18.9(postcss@8.4.27): + /pinceau@0.18.9(postcss@8.4.28): resolution: {integrity: sha512-GJ+l8a5Y+7PP/diwuajJhd2QONTIFkk2YXjrVTh7QKC3sMQEphpLH6ZJfXSeeSonQ0/BnhrrMi9a5e14mmqXug==} dependencies: '@unocss/reset': 0.50.8 @@ -8683,9 +8684,9 @@ packages: ohash: 1.1.3 paneer: 0.1.0 pathe: 1.1.1 - postcss-custom-properties: 13.1.4(postcss@8.4.27) - postcss-dark-theme-class: 0.7.3(postcss@8.4.27) - postcss-nested: 6.0.1(postcss@8.4.27) + postcss-custom-properties: 13.1.4(postcss@8.4.28) + postcss-dark-theme-class: 0.7.3(postcss@8.4.28) + postcss-nested: 6.0.1(postcss@8.4.28) recast: 0.22.0 scule: 1.0.0 style-dictionary-esm: 1.3.7 @@ -8720,18 +8721,18 @@ packages: engines: {node: '>=4'} dev: true - /postcss-calc@9.0.1(postcss@8.4.27): + /postcss-calc@9.0.1(postcss@8.4.28): resolution: {integrity: sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.2 dependencies: - postcss: 8.4.27 + postcss: 8.4.28 postcss-selector-parser: 6.0.13 postcss-value-parser: 4.2.0 dev: false - /postcss-colormin@6.0.0(postcss@8.4.27): + /postcss-colormin@6.0.0(postcss@8.4.28): resolution: {integrity: sha512-EuO+bAUmutWoZYgHn2T1dG1pPqHU6L4TjzPlu4t1wZGXQ/fxV16xg2EJmYi0z+6r+MGV1yvpx1BHkUaRrPa2bw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: @@ -8740,22 +8741,22 @@ packages: browserslist: 4.21.10 caniuse-api: 3.0.0 colord: 2.9.3 - postcss: 8.4.27 + postcss: 8.4.28 postcss-value-parser: 4.2.0 dev: false - /postcss-convert-values@6.0.0(postcss@8.4.27): + /postcss-convert-values@6.0.0(postcss@8.4.28): resolution: {integrity: sha512-U5D8QhVwqT++ecmy8rnTb+RL9n/B806UVaS3m60lqle4YDFcpbS3ae5bTQIh3wOGUSDHSEtMYLs/38dNG7EYFw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: browserslist: 4.21.10 - postcss: 8.4.27 + postcss: 8.4.28 postcss-value-parser: 4.2.0 dev: false - /postcss-custom-properties@13.1.4(postcss@8.4.27): + /postcss-custom-properties@13.1.4(postcss@8.4.28): resolution: {integrity: sha512-iSAdaZrM3KMec8cOSzeTUNXPYDlhqsMJHpt62yrjwG6nAnMtRHPk5JdMzGosBJtqEahDolvD5LNbcq+EZ78o5g==} engines: {node: ^14 || ^16 || >=18} peerDependencies: @@ -8764,53 +8765,53 @@ packages: '@csstools/cascade-layer-name-parser': 1.0.4(@csstools/css-parser-algorithms@2.3.1)(@csstools/css-tokenizer@2.2.0) '@csstools/css-parser-algorithms': 2.3.1(@csstools/css-tokenizer@2.2.0) '@csstools/css-tokenizer': 2.2.0 - postcss: 8.4.27 + postcss: 8.4.28 postcss-value-parser: 4.2.0 dev: true - /postcss-dark-theme-class@0.7.3(postcss@8.4.27): + /postcss-dark-theme-class@0.7.3(postcss@8.4.28): resolution: {integrity: sha512-M9vtfh8ORzQsVdT9BWb+xpEDAzC7nHBn7wVc988/JkEVLPupKcUnV0jw7RZ8sSj0ovpqN1POf6PLdt19JCHfhQ==} engines: {node: '>=12.0'} peerDependencies: postcss: ^8.2.14 dependencies: - postcss: 8.4.27 + postcss: 8.4.28 dev: true - /postcss-discard-comments@6.0.0(postcss@8.4.27): + /postcss-discard-comments@6.0.0(postcss@8.4.28): resolution: {integrity: sha512-p2skSGqzPMZkEQvJsgnkBhCn8gI7NzRH2683EEjrIkoMiwRELx68yoUJ3q3DGSGuQ8Ug9Gsn+OuDr46yfO+eFw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.27 + postcss: 8.4.28 dev: false - /postcss-discard-duplicates@6.0.0(postcss@8.4.27): + /postcss-discard-duplicates@6.0.0(postcss@8.4.28): resolution: {integrity: sha512-bU1SXIizMLtDW4oSsi5C/xHKbhLlhek/0/yCnoMQany9k3nPBq+Ctsv/9oMmyqbR96HYHxZcHyK2HR5P/mqoGA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.27 + postcss: 8.4.28 dev: false - /postcss-discard-empty@6.0.0(postcss@8.4.27): + /postcss-discard-empty@6.0.0(postcss@8.4.28): resolution: {integrity: sha512-b+h1S1VT6dNhpcg+LpyiUrdnEZfICF0my7HAKgJixJLW7BnNmpRH34+uw/etf5AhOlIhIAuXApSzzDzMI9K/gQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.27 + postcss: 8.4.28 dev: false - /postcss-discard-overridden@6.0.0(postcss@8.4.27): + /postcss-discard-overridden@6.0.0(postcss@8.4.28): resolution: {integrity: sha512-4VELwssYXDFigPYAZ8vL4yX4mUepF/oCBeeIT4OXsJPYOtvJumyz9WflmJWTfDwCUcpDR+z0zvCWBXgTx35SVw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.27 + postcss: 8.4.28 dev: false /postcss-import-resolver@2.0.0: @@ -8819,19 +8820,19 @@ packages: enhanced-resolve: 4.5.0 dev: false - /postcss-import@15.1.0(postcss@8.4.27): + /postcss-import@15.1.0(postcss@8.4.28): resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} engines: {node: '>=14.0.0'} peerDependencies: postcss: ^8.0.0 dependencies: - postcss: 8.4.27 + postcss: 8.4.28 postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.4 dev: false - /postcss-loader@7.3.3(postcss@8.4.27)(webpack@5.88.2): + /postcss-loader@7.3.3(postcss@8.4.28)(webpack@5.88.2): resolution: {integrity: sha512-YgO/yhtevGO/vJePCQmTxiaEwER94LABZN0ZMT4A0vsak9TpO+RvKRs7EmJ8peIlB9xfXCsS7M8LjqncsUZ5HA==} engines: {node: '>= 14.15.0'} peerDependencies: @@ -8840,23 +8841,23 @@ packages: dependencies: cosmiconfig: 8.2.0 jiti: 1.19.1 - postcss: 8.4.27 + postcss: 8.4.28 semver: 7.5.4 webpack: 5.88.2 dev: false - /postcss-merge-longhand@6.0.0(postcss@8.4.27): + /postcss-merge-longhand@6.0.0(postcss@8.4.28): resolution: {integrity: sha512-4VSfd1lvGkLTLYcxFuISDtWUfFS4zXe0FpF149AyziftPFQIWxjvFSKhA4MIxMe4XM3yTDgQMbSNgzIVxChbIg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.27 + postcss: 8.4.28 postcss-value-parser: 4.2.0 - stylehacks: 6.0.0(postcss@8.4.27) + stylehacks: 6.0.0(postcss@8.4.28) dev: false - /postcss-merge-rules@6.0.1(postcss@8.4.27): + /postcss-merge-rules@6.0.1(postcss@8.4.28): resolution: {integrity: sha512-a4tlmJIQo9SCjcfiCcCMg/ZCEe0XTkl/xK0XHBs955GWg9xDX3NwP9pwZ78QUOWB8/0XCjZeJn98Dae0zg6AAw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: @@ -8864,208 +8865,208 @@ packages: dependencies: browserslist: 4.21.10 caniuse-api: 3.0.0 - cssnano-utils: 4.0.0(postcss@8.4.27) - postcss: 8.4.27 + cssnano-utils: 4.0.0(postcss@8.4.28) + postcss: 8.4.28 postcss-selector-parser: 6.0.13 dev: false - /postcss-minify-font-values@6.0.0(postcss@8.4.27): + /postcss-minify-font-values@6.0.0(postcss@8.4.28): resolution: {integrity: sha512-zNRAVtyh5E8ndZEYXA4WS8ZYsAp798HiIQ1V2UF/C/munLp2r1UGHwf1+6JFu7hdEhJFN+W1WJQKBrtjhFgEnA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.27 + postcss: 8.4.28 postcss-value-parser: 4.2.0 dev: false - /postcss-minify-gradients@6.0.0(postcss@8.4.27): + /postcss-minify-gradients@6.0.0(postcss@8.4.28): resolution: {integrity: sha512-wO0F6YfVAR+K1xVxF53ueZJza3L+R3E6cp0VwuXJQejnNUH0DjcAFe3JEBeTY1dLwGa0NlDWueCA1VlEfiKgAA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: colord: 2.9.3 - cssnano-utils: 4.0.0(postcss@8.4.27) - postcss: 8.4.27 + cssnano-utils: 4.0.0(postcss@8.4.28) + postcss: 8.4.28 postcss-value-parser: 4.2.0 dev: false - /postcss-minify-params@6.0.0(postcss@8.4.27): + /postcss-minify-params@6.0.0(postcss@8.4.28): resolution: {integrity: sha512-Fz/wMQDveiS0n5JPcvsMeyNXOIMrwF88n7196puSuQSWSa+/Ofc1gDOSY2xi8+A4PqB5dlYCKk/WfqKqsI+ReQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: browserslist: 4.21.10 - cssnano-utils: 4.0.0(postcss@8.4.27) - postcss: 8.4.27 + cssnano-utils: 4.0.0(postcss@8.4.28) + postcss: 8.4.28 postcss-value-parser: 4.2.0 dev: false - /postcss-minify-selectors@6.0.0(postcss@8.4.27): + /postcss-minify-selectors@6.0.0(postcss@8.4.28): resolution: {integrity: sha512-ec/q9JNCOC2CRDNnypipGfOhbYPuUkewGwLnbv6omue/PSASbHSU7s6uSQ0tcFRVv731oMIx8k0SP4ZX6be/0g==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.27 + postcss: 8.4.28 postcss-selector-parser: 6.0.13 dev: false - /postcss-modules-extract-imports@3.0.0(postcss@8.4.27): + /postcss-modules-extract-imports@3.0.0(postcss@8.4.28): resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.27 + postcss: 8.4.28 dev: false - /postcss-modules-local-by-default@4.0.3(postcss@8.4.27): + /postcss-modules-local-by-default@4.0.3(postcss@8.4.28): resolution: {integrity: sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.27) - postcss: 8.4.27 + icss-utils: 5.1.0(postcss@8.4.28) + postcss: 8.4.28 postcss-selector-parser: 6.0.13 postcss-value-parser: 4.2.0 dev: false - /postcss-modules-scope@3.0.0(postcss@8.4.27): + /postcss-modules-scope@3.0.0(postcss@8.4.28): resolution: {integrity: sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.27 + postcss: 8.4.28 postcss-selector-parser: 6.0.13 dev: false - /postcss-modules-values@4.0.0(postcss@8.4.27): + /postcss-modules-values@4.0.0(postcss@8.4.28): resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.27) - postcss: 8.4.27 + icss-utils: 5.1.0(postcss@8.4.28) + postcss: 8.4.28 dev: false - /postcss-nested@6.0.1(postcss@8.4.27): + /postcss-nested@6.0.1(postcss@8.4.28): resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} engines: {node: '>=12.0'} peerDependencies: postcss: ^8.2.14 dependencies: - postcss: 8.4.27 + postcss: 8.4.28 postcss-selector-parser: 6.0.13 dev: true - /postcss-normalize-charset@6.0.0(postcss@8.4.27): + /postcss-normalize-charset@6.0.0(postcss@8.4.28): resolution: {integrity: sha512-cqundwChbu8yO/gSWkuFDmKrCZ2vJzDAocheT2JTd0sFNA4HMGoKMfbk2B+J0OmO0t5GUkiAkSM5yF2rSLUjgQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.27 + postcss: 8.4.28 dev: false - /postcss-normalize-display-values@6.0.0(postcss@8.4.27): + /postcss-normalize-display-values@6.0.0(postcss@8.4.28): resolution: {integrity: sha512-Qyt5kMrvy7dJRO3OjF7zkotGfuYALETZE+4lk66sziWSPzlBEt7FrUshV6VLECkI4EN8Z863O6Nci4NXQGNzYw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.27 + postcss: 8.4.28 postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-positions@6.0.0(postcss@8.4.27): + /postcss-normalize-positions@6.0.0(postcss@8.4.28): resolution: {integrity: sha512-mPCzhSV8+30FZyWhxi6UoVRYd3ZBJgTRly4hOkaSifo0H+pjDYcii/aVT4YE6QpOil15a5uiv6ftnY3rm0igPg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.27 + postcss: 8.4.28 postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-repeat-style@6.0.0(postcss@8.4.27): + /postcss-normalize-repeat-style@6.0.0(postcss@8.4.28): resolution: {integrity: sha512-50W5JWEBiOOAez2AKBh4kRFm2uhrT3O1Uwdxz7k24aKtbD83vqmcVG7zoIwo6xI2FZ/HDlbrCopXhLeTpQib1A==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.27 + postcss: 8.4.28 postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-string@6.0.0(postcss@8.4.27): + /postcss-normalize-string@6.0.0(postcss@8.4.28): resolution: {integrity: sha512-KWkIB7TrPOiqb8ZZz6homet2KWKJwIlysF5ICPZrXAylGe2hzX/HSf4NTX2rRPJMAtlRsj/yfkrWGavFuB+c0w==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.27 + postcss: 8.4.28 postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-timing-functions@6.0.0(postcss@8.4.27): + /postcss-normalize-timing-functions@6.0.0(postcss@8.4.28): resolution: {integrity: sha512-tpIXWciXBp5CiFs8sem90IWlw76FV4oi6QEWfQwyeREVwUy39VSeSqjAT7X0Qw650yAimYW5gkl2Gd871N5SQg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.27 + postcss: 8.4.28 postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-unicode@6.0.0(postcss@8.4.27): + /postcss-normalize-unicode@6.0.0(postcss@8.4.28): resolution: {integrity: sha512-ui5crYkb5ubEUDugDc786L/Me+DXp2dLg3fVJbqyAl0VPkAeALyAijF2zOsnZyaS1HyfPuMH0DwyY18VMFVNkg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: browserslist: 4.21.10 - postcss: 8.4.27 + postcss: 8.4.28 postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-url@6.0.0(postcss@8.4.27): + /postcss-normalize-url@6.0.0(postcss@8.4.28): resolution: {integrity: sha512-98mvh2QzIPbb02YDIrYvAg4OUzGH7s1ZgHlD3fIdTHLgPLRpv1ZTKJDnSAKr4Rt21ZQFzwhGMXxpXlfrUBKFHw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.27 + postcss: 8.4.28 postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-whitespace@6.0.0(postcss@8.4.27): + /postcss-normalize-whitespace@6.0.0(postcss@8.4.28): resolution: {integrity: sha512-7cfE1AyLiK0+ZBG6FmLziJzqQCpTQY+8XjMhMAz8WSBSCsCNNUKujgIgjCAmDT3cJ+3zjTXFkoD15ZPsckArVw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.27 + postcss: 8.4.28 postcss-value-parser: 4.2.0 dev: false - /postcss-ordered-values@6.0.0(postcss@8.4.27): + /postcss-ordered-values@6.0.0(postcss@8.4.28): resolution: {integrity: sha512-K36XzUDpvfG/nWkjs6d1hRBydeIxGpKS2+n+ywlKPzx1nMYDYpoGbcjhj5AwVYJK1qV2/SDoDEnHzlPD6s3nMg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - cssnano-utils: 4.0.0(postcss@8.4.27) - postcss: 8.4.27 + cssnano-utils: 4.0.0(postcss@8.4.28) + postcss: 8.4.28 postcss-value-parser: 4.2.0 dev: false - /postcss-reduce-initial@6.0.0(postcss@8.4.27): + /postcss-reduce-initial@6.0.0(postcss@8.4.28): resolution: {integrity: sha512-s2UOnidpVuXu6JiiI5U+fV2jamAw5YNA9Fdi/GRK0zLDLCfXmSGqQtzpUPtfN66RtCbb9fFHoyZdQaxOB3WxVA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: @@ -9073,16 +9074,16 @@ packages: dependencies: browserslist: 4.21.10 caniuse-api: 3.0.0 - postcss: 8.4.27 + postcss: 8.4.28 dev: false - /postcss-reduce-transforms@6.0.0(postcss@8.4.27): + /postcss-reduce-transforms@6.0.0(postcss@8.4.28): resolution: {integrity: sha512-FQ9f6xM1homnuy1wLe9lP1wujzxnwt1EwiigtWwuyf8FsqqXUDUp2Ulxf9A5yjlUOTdCJO6lonYjg1mgqIIi2w==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.27 + postcss: 8.4.28 postcss-value-parser: 4.2.0 dev: false @@ -9093,28 +9094,28 @@ packages: cssesc: 3.0.0 util-deprecate: 1.0.2 - /postcss-svgo@6.0.0(postcss@8.4.27): + /postcss-svgo@6.0.0(postcss@8.4.28): resolution: {integrity: sha512-r9zvj/wGAoAIodn84dR/kFqwhINp5YsJkLoujybWG59grR/IHx+uQ2Zo+IcOwM0jskfYX3R0mo+1Kip1VSNcvw==} engines: {node: ^14 || ^16 || >= 18} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.27 + postcss: 8.4.28 postcss-value-parser: 4.2.0 svgo: 3.0.2 dev: false - /postcss-unique-selectors@6.0.0(postcss@8.4.27): + /postcss-unique-selectors@6.0.0(postcss@8.4.28): resolution: {integrity: sha512-EPQzpZNxOxP7777t73RQpZE5e9TrnCrkvp7AH7a0l89JmZiPnS82y216JowHXwpBCQitfyxrof9TK3rYbi7/Yw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.27 + postcss: 8.4.28 postcss-selector-parser: 6.0.13 dev: false - /postcss-url@10.1.3(postcss@8.4.27): + /postcss-url@10.1.3(postcss@8.4.28): resolution: {integrity: sha512-FUzyxfI5l2tKmXdYc6VTu3TWZsInayEKPbiyW+P6vmmIrrb4I6CGX0BFoewgYHLK+oIL5FECEK02REYRpBvUCw==} engines: {node: '>=10'} peerDependencies: @@ -9123,15 +9124,15 @@ packages: make-dir: 3.1.0 mime: 2.5.2 minimatch: 3.0.8 - postcss: 8.4.27 + postcss: 8.4.28 xxhashjs: 0.2.2 dev: false /postcss-value-parser@4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - /postcss@8.4.27: - resolution: {integrity: sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==} + /postcss@8.4.28: + resolution: {integrity: sha512-Z7V5j0cq8oEKyejIKfpD8b4eBy9cwW2JWPk0+fB1HOAMsfHbnAXLLS+PfVWlzMSLQaWttKDt607I0XHmpE67Vw==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.6 @@ -10100,14 +10101,14 @@ packages: tinycolor2: 1.6.0 dev: true - /stylehacks@6.0.0(postcss@8.4.27): + /stylehacks@6.0.0(postcss@8.4.28): resolution: {integrity: sha512-+UT589qhHPwz6mTlCLSt/vMNTJx8dopeJlZAlBMJPWA3ORqu6wmQY7FBXf+qD+FsqoBJODyqNxOUP3jdntFRdw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: browserslist: 4.21.10 - postcss: 8.4.27 + postcss: 8.4.28 postcss-selector-parser: 6.0.13 dev: false @@ -10524,12 +10525,12 @@ packages: node-fetch-native: 1.2.0 pathe: 1.1.1 - /unhead@1.3.3: - resolution: {integrity: sha512-4lGYtrwqsvlw1Grkvyz9vV5H/1ttU/ApqXQwAPpQ4WX/S54QHZNNVD/DjqYR+7QEGkWHxyQgxYoqaeeE0pUlRw==} + /unhead@1.3.4: + resolution: {integrity: sha512-cSl5Xsmb99JzV0lE0D9TQxU9sU2vu3ZMdeIBy48Y0J6XVVY4WXVAyhbeSzhLVRaBfjYn7O43BGsgN7TjxSCSrg==} dependencies: - '@unhead/dom': 1.3.3 - '@unhead/schema': 1.3.3 - '@unhead/shared': 1.3.3 + '@unhead/dom': 1.3.4 + '@unhead/schema': 1.3.4 + '@unhead/shared': 1.3.4 hookable: 5.5.3 dev: false @@ -10983,12 +10984,12 @@ packages: dependencies: '@types/node': 18.17.5 esbuild: 0.18.20 - postcss: 8.4.27 + postcss: 8.4.28 rollup: 3.27.2 optionalDependencies: fsevents: 2.3.2 - /vitest-environment-nuxt@0.10.2(happy-dom@10.9.0)(vitest@0.33.0)(vue-router@4.2.4)(vue@3.3.4): + /vitest-environment-nuxt@0.10.2(happy-dom@10.10.0)(vitest@0.33.0)(vue-router@4.2.4)(vue@3.3.4): resolution: {integrity: sha512-CgOS0KW0zhyDVvfHbq+CbkCa/sA2Ui/SMrp0W0vDgzhaUTCuo7WtJ211HwYqGhj3YvSRopOByRPkUDFQjr3wiw==} peerDependencies: happy-dom: ^9.10.9 || ^10.0.0 @@ -11007,11 +11008,11 @@ packages: defu: 6.1.2 estree-walker: 3.0.3 h3: 1.8.0 - happy-dom: 10.9.0 + happy-dom: 10.10.0 magic-string: 0.30.2 ofetch: 1.1.1 unenv: 1.7.1 - vitest: 0.33.0(happy-dom@10.9.0) + vitest: 0.33.0(happy-dom@10.10.0) vue: 3.3.4 vue-router: 4.2.4(vue@3.3.4) whatwg-fetch: 3.6.17 @@ -11019,7 +11020,7 @@ packages: - '@vue/server-renderer' dev: true - /vitest@0.33.0(happy-dom@10.9.0): + /vitest@0.33.0(happy-dom@10.10.0): resolution: {integrity: sha512-1CxaugJ50xskkQ0e969R/hW47za4YXDUfWJDxip1hwbnhUjYolpfUn2AMOulqG/Dtd9WYAtkHmM/m3yKVrEejQ==} engines: {node: '>=v14.18.0'} hasBin: true @@ -11063,7 +11064,7 @@ packages: cac: 6.7.14 chai: 4.3.7 debug: 4.3.4 - happy-dom: 10.9.0 + happy-dom: 10.10.0 local-pkg: 0.4.3 magic-string: 0.30.2 pathe: 1.1.1 @@ -11085,7 +11086,7 @@ packages: - terser dev: true - /vitest@0.34.1(happy-dom@10.9.0): + /vitest@0.34.1(happy-dom@10.10.0): resolution: {integrity: sha512-G1PzuBEq9A75XSU88yO5G4vPT20UovbC/2osB2KEuV/FisSIIsw7m5y2xMdB7RsAGHAfg2lPmp2qKr3KWliVlQ==} engines: {node: '>=v14.18.0'} hasBin: true @@ -11129,7 +11130,7 @@ packages: cac: 6.7.14 chai: 4.3.7 debug: 4.3.4 - happy-dom: 10.9.0 + happy-dom: 10.10.0 local-pkg: 0.4.3 magic-string: 0.30.2 pathe: 1.1.1 diff --git a/test/bundle.test.ts b/test/bundle.test.ts index 4f6f9c6f2729..3cd19a653c1b 100644 --- a/test/bundle.test.ts +++ b/test/bundle.test.ts @@ -19,7 +19,7 @@ describe.skipIf(process.env.SKIP_BUNDLE_SIZE === 'true' || process.env.ECOSYSTEM for (const outputDir of ['.output', '.output-inline']) { it('default client bundle size', async () => { const clientStats = await analyzeSizes('**/*.js', join(rootDir, outputDir, 'public')) - expect.soft(roundToKilobytes(clientStats.totalBytes)).toMatchInlineSnapshot('"95.0k"') + expect.soft(roundToKilobytes(clientStats.totalBytes)).toMatchInlineSnapshot('"95.7k"') expect(clientStats.files.map(f => f.replace(/\..*\.js/, '.js'))).toMatchInlineSnapshot(` [ "_nuxt/entry.js", @@ -35,7 +35,7 @@ describe.skipIf(process.env.SKIP_BUNDLE_SIZE === 'true' || process.env.ECOSYSTEM expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot('"64.6k"') const modules = await analyzeSizes('node_modules/**/*', serverDir) - expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"2351k"') + expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"2352k"') const packages = modules.files .filter(m => m.endsWith('package.json')) From 98c17e5d46b4096779b562ba28c68dfb3992d640 Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Thu, 17 Aug 2023 08:06:15 +0200 Subject: [PATCH 108/147] docs: revert `import.meta.*` update until v3.7 release --- docs/1.getting-started/7.state-management.md | 4 ++-- docs/2.guide/2.directory-structure/1.middleware.md | 6 +++--- docs/2.guide/2.directory-structure/1.plugins.md | 2 +- docs/2.guide/3.going-further/10.runtime-config.md | 2 +- docs/2.guide/3.going-further/8.custom-routing.md | 2 +- docs/3.api/1.composables/use-nuxt-app.md | 6 +++--- 6 files changed, 11 insertions(+), 11 deletions(-) diff --git a/docs/1.getting-started/7.state-management.md b/docs/1.getting-started/7.state-management.md index 3a0ea00d1bb7..249971fa2b9f 100644 --- a/docs/1.getting-started/7.state-management.md +++ b/docs/1.getting-started/7.state-management.md @@ -74,12 +74,12 @@ export const useLocale = () => useState('locale', () => useDefaultLocale export const useDefaultLocale = (fallback = 'en-US') => { const locale = ref(fallback) - if (import.meta.server) { + if (process.server) { const reqLocale = useRequestHeaders()['accept-language']?.split(',')[0] if (reqLocale) { locale.value = reqLocale } - } else if (import.meta.client) { + } else if (process.client) { const navLang = navigator.language if (navLang) { locale.value = navLang diff --git a/docs/2.guide/2.directory-structure/1.middleware.md b/docs/2.guide/2.directory-structure/1.middleware.md index 4b98ba506a9f..5520b4eaa966 100644 --- a/docs/2.guide/2.directory-structure/1.middleware.md +++ b/docs/2.guide/2.directory-structure/1.middleware.md @@ -125,12 +125,12 @@ However, if you want to avoid this behaviour you can do so: ```js export default defineNuxtRouteMiddleware(to => { // skip middleware on server - if (import.meta.server) return + if (process.server) return // skip middleware on client side entirely - if (import.meta.client) return + if (process.client) return // or only skip middleware on initial client load const nuxtApp = useNuxtApp() - if (import.meta.client && nuxtApp.isHydrating && nuxtApp.payload.serverRendered) return + if (process.client && nuxtApp.isHydrating && nuxtApp.payload.serverRendered) return }) ``` diff --git a/docs/2.guide/2.directory-structure/1.plugins.md b/docs/2.guide/2.directory-structure/1.plugins.md index 5951c0631fdd..d6589203c358 100644 --- a/docs/2.guide/2.directory-structure/1.plugins.md +++ b/docs/2.guide/2.directory-structure/1.plugins.md @@ -62,7 +62,7 @@ export default defineNuxtPlugin({ ``` ::alert -If you are using an object-syntax plugin, the properties may be statically analyzed in future to produce a more optimized build. So you should not define them at runtime. For example, setting `enforce: import.meta.server ? 'pre' : 'post'` would defeat any future optimization Nuxt is able to do for your plugins. +If you are using an object-syntax plugin, the properties may be statically analyzed in future to produce a more optimized build. So you should not define them at runtime. For example, setting `enforce: process.server ? 'pre' : 'post'` would defeat any future optimization Nuxt is able to do for your plugins. :: ## Plugin Registration Order diff --git a/docs/2.guide/3.going-further/10.runtime-config.md b/docs/2.guide/3.going-further/10.runtime-config.md index 08d161d2ef4d..268b5dd945a6 100644 --- a/docs/2.guide/3.going-further/10.runtime-config.md +++ b/docs/2.guide/3.going-further/10.runtime-config.md @@ -94,7 +94,7 @@ The entire runtime config is available on the server-side, but it is read-only t diff --git a/docs/2.guide/3.going-further/8.custom-routing.md b/docs/2.guide/3.going-further/8.custom-routing.md index ce62e09f306b..3adc6ee72c69 100644 --- a/docs/2.guide/3.going-further/8.custom-routing.md +++ b/docs/2.guide/3.going-further/8.custom-routing.md @@ -138,6 +138,6 @@ import { createMemoryHistory } from 'vue-router' // https://router.vuejs.org/api/interfaces/routeroptions.html export default { - history: base => import.meta.client ? createMemoryHistory(base) : null /* default */ + history: base => process.client ? createMemoryHistory(base) : null /* default */ } ``` diff --git a/docs/3.api/1.composables/use-nuxt-app.md b/docs/3.api/1.composables/use-nuxt-app.md index 1a5694aa3f35..f12d562a75b4 100644 --- a/docs/3.api/1.composables/use-nuxt-app.md +++ b/docs/3.api/1.composables/use-nuxt-app.md @@ -45,7 +45,7 @@ export default defineNuxtPlugin((nuxtApp) => { }) nuxtApp.hook('vue:error', (..._args) => { console.log('vue:error') - // if (import.meta.client) { + // if (process.client) { // console.log(..._args) // } }) @@ -105,7 +105,7 @@ When accessing the same `payload.data` from [ssrcontext](#ssrcontext), you can a export const useColor = () => useState('color', () => 'pink') export default defineNuxtPlugin((nuxtApp) => { - if (import.meta.server) { + if (process.server) { const color = useColor() } }) @@ -137,7 +137,7 @@ export default defineComponent({ setup (_props, { slots, emit }) { const nuxtApp = useNuxtApp() onErrorCaptured((err) => { - if (import.meta.client && !nuxtApp.isHydrating) { + if (process.client && !nuxtApp.isHydrating) { // ... } }) From 08b1950ffb2c614ec2b5cf91b837a3b06ed9cda2 Mon Sep 17 00:00:00 2001 From: Colin McDonnell Date: Wed, 16 Aug 2023 23:30:28 -0700 Subject: [PATCH 109/147] feat(nuxi): detect `bun` package manager (#22673) --- docs/1.getting-started/2.installation.md | 4 ++++ docs/2.guide/2.directory-structure/1.content.md | 4 ++++ packages/nuxi/src/utils/packageManagers.ts | 3 ++- 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/docs/1.getting-started/2.installation.md b/docs/1.getting-started/2.installation.md index addc4e240118..e04c15e7c14d 100644 --- a/docs/1.getting-started/2.installation.md +++ b/docs/1.getting-started/2.installation.md @@ -59,6 +59,10 @@ npx nuxi@latest init pnpm dlx nuxi@latest init ``` +```bash [bun] +bunx nuxi@latest init +``` + :: Open your project folder in Visual Studio Code: diff --git a/docs/2.guide/2.directory-structure/1.content.md b/docs/2.guide/2.directory-structure/1.content.md index c243bb0be9ff..beec4019f207 100644 --- a/docs/2.guide/2.directory-structure/1.content.md +++ b/docs/2.guide/2.directory-structure/1.content.md @@ -38,6 +38,10 @@ Install the `@nuxt/content` module in your project: pnpm add -D @nuxt/content ``` + ```bash [bun] + bun add -D @nuxt/content + ``` + :: Then, add `@nuxt/content` to the `modules` section of `nuxt.config.ts`: diff --git a/packages/nuxi/src/utils/packageManagers.ts b/packages/nuxi/src/utils/packageManagers.ts index ba43eaeb9218..8717b869d156 100644 --- a/packages/nuxi/src/utils/packageManagers.ts +++ b/packages/nuxi/src/utils/packageManagers.ts @@ -6,7 +6,8 @@ import { findup } from './fs' export const packageManagerLocks = { yarn: 'yarn.lock', npm: 'package-lock.json', - pnpm: 'pnpm-lock.yaml' + pnpm: 'pnpm-lock.yaml', + bun: 'bun.lockb' } type PackageManager = keyof typeof packageManagerLocks From 4e538a03e29ed6051407c9340c8215480b1936ac Mon Sep 17 00:00:00 2001 From: anhao <117057608+ah-dc@users.noreply.github.com> Date: Thu, 17 Aug 2023 21:35:28 +0800 Subject: [PATCH 110/147] fix(vite): use `''` key for root scope in variable collector (#22679) --- packages/vite/src/plugins/composable-keys.ts | 21 ++++++++++++++----- .../basic/other-composables-folder/local.ts | 5 +++++ .../basic/pages/keyed-composables/local.vue | 8 ++++++- 3 files changed, 28 insertions(+), 6 deletions(-) create mode 100644 test/fixtures/basic/other-composables-folder/local.ts diff --git a/packages/vite/src/plugins/composable-keys.ts b/packages/vite/src/plugins/composable-keys.ts index 43cd18b353d8..f27c80dbf344 100644 --- a/packages/vite/src/plugins/composable-keys.ts +++ b/packages/vite/src/plugins/composable-keys.ts @@ -141,14 +141,26 @@ export const composableKeysPlugin = createUnplugin((options: ComposableKeysOptio } }) +/* +* track scopes with unique keys. for example +* ```js +* // root scope, marked as '' +* function a () { // '0' +* function b () {} // '0-0' +* function c () {} // '0-1' +* } +* function d () {} // '1' +* // '' +* ``` +* */ class ScopeTracker { + // the top of the stack is not a part of current key, it is used for next level scopeIndexStack: number[] curScopeKey: string constructor () { - // top level this.scopeIndexStack = [0] - this.curScopeKey = '0' + this.curScopeKey = '' } getKey () { @@ -173,8 +185,7 @@ class ScopedVarsCollector { constructor () { this.all = new Map() - // top level - this.curScopeKey = '0' + this.curScopeKey = '' } refresh (scopeKey: string) { @@ -192,7 +203,7 @@ class ScopedVarsCollector { hasVar (scopeKey: string, name: string) { const indices = scopeKey.split('-').map(Number) - for (let i = indices.length; i > 0; i--) { + for (let i = indices.length; i >= 0; i--) { if (this.all.get(indices.slice(0, i).join('-'))?.has(name)) { return true } diff --git a/test/fixtures/basic/other-composables-folder/local.ts b/test/fixtures/basic/other-composables-folder/local.ts new file mode 100644 index 000000000000..46858a277930 --- /dev/null +++ b/test/fixtures/basic/other-composables-folder/local.ts @@ -0,0 +1,5 @@ +function useAsyncData (s?: any) { return s } + +export const ShouldNotBeKeyed = (() => { + return useAsyncData() +})() diff --git a/test/fixtures/basic/pages/keyed-composables/local.vue b/test/fixtures/basic/pages/keyed-composables/local.vue index 7e50cfa7a0f0..31fdc04af9a3 100644 --- a/test/fixtures/basic/pages/keyed-composables/local.vue +++ b/test/fixtures/basic/pages/keyed-composables/local.vue @@ -1,4 +1,6 @@ From fc7bbe92230526b9c8c117d7add1d60b3e1ae0f3 Mon Sep 17 00:00:00 2001 From: JD Solanki Date: Fri, 18 Aug 2023 19:52:45 +0530 Subject: [PATCH 111/147] docs: improve custom component dirs example (#22697) --- docs/2.guide/2.directory-structure/1.components.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/docs/2.guide/2.directory-structure/1.components.md b/docs/2.guide/2.directory-structure/1.components.md index 825cb82b34ff..89c7db94b288 100644 --- a/docs/2.guide/2.directory-structure/1.components.md +++ b/docs/2.guide/2.directory-structure/1.components.md @@ -34,7 +34,20 @@ By default, only the `~/components` directory is scanned. If you want to add oth ```ts [nuxt.config.ts] export default defineNuxtConfig({ components: [ + // ~/calendar-module/components/event/Update.vue => + { path: '~/calendar-module/components' }, + + // ~/user-module/components/account/UserDeleteDialog.vue => + { path: '~/user-module/components', pathPrefix: false }, + + // ~/components/special-components/Btn.vue => { path: '~/components/special-components', prefix: 'Special' }, + + // It's important that this comes last if you have overrides you wish to apply + // to sub-directories of `~/components`. + // + // ~/components/Btn.vue => + // ~/components/base/Btn.vue => '~/components' ] }) From 3d78c79e3df293e98647162a9b23ffcdd4559e05 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 18 Aug 2023 17:05:38 +0200 Subject: [PATCH 112/147] chore(deps): update all non-major dependencies (main) (#22677) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Daniel Roe --- .github/workflows/autofix-docs.yml | 2 +- .github/workflows/autofix.yml | 2 +- .github/workflows/changelogensets.yml | 2 +- .github/workflows/ci.yml | 14 +- .github/workflows/docs-e2e.yml | 2 +- .github/workflows/docs.yml | 2 +- .github/workflows/nuxt2-edge.yml | 2 +- .github/workflows/release-pr.yml | 2 +- package.json | 8 +- packages/kit/package.json | 2 +- packages/nuxi/package.json | 2 +- packages/nuxt/package.json | 6 +- packages/schema/package.json | 6 +- packages/test-utils/package.json | 2 +- packages/vite/package.json | 6 +- packages/webpack/package.json | 2 +- pnpm-lock.yaml | 578 ++++++++++--------------- test/bundle.test.ts | 2 +- test/fixtures/basic-types/package.json | 2 +- 19 files changed, 255 insertions(+), 389 deletions(-) diff --git a/.github/workflows/autofix-docs.yml b/.github/workflows/autofix-docs.yml index a0293201b3ea..a20580336043 100644 --- a/.github/workflows/autofix-docs.yml +++ b/.github/workflows/autofix-docs.yml @@ -19,7 +19,7 @@ jobs: steps: - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 - run: corepack enable - - uses: actions/setup-node@bea5baf987ba7aa777a8a0b4ace377a21c45c381 # v3.8.0 + - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d # v3.8.1 with: node-version: 20 cache: "pnpm" diff --git a/.github/workflows/autofix.yml b/.github/workflows/autofix.yml index d2182246143b..dd160355a94a 100644 --- a/.github/workflows/autofix.yml +++ b/.github/workflows/autofix.yml @@ -15,7 +15,7 @@ jobs: steps: - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 - run: corepack enable - - uses: actions/setup-node@bea5baf987ba7aa777a8a0b4ace377a21c45c381 # v3.8.0 + - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d # v3.8.1 with: node-version: 20 cache: "pnpm" diff --git a/.github/workflows/changelogensets.yml b/.github/workflows/changelogensets.yml index 7b271529202e..0d961caefab9 100644 --- a/.github/workflows/changelogensets.yml +++ b/.github/workflows/changelogensets.yml @@ -23,7 +23,7 @@ jobs: with: fetch-depth: 0 - run: corepack enable - - uses: actions/setup-node@bea5baf987ba7aa777a8a0b4ace377a21c45c381 # v3.8.0 + - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d # v3.8.1 with: node-version: 20 cache: "pnpm" diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 23debe49f9ec..685e6777a435 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -40,7 +40,7 @@ jobs: steps: - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 - run: corepack enable - - uses: actions/setup-node@bea5baf987ba7aa777a8a0b4ace377a21c45c381 # v3.8.0 + - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d # v3.8.1 with: node-version: 20 cache: "pnpm" @@ -77,7 +77,7 @@ jobs: steps: - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 - run: corepack enable - - uses: actions/setup-node@bea5baf987ba7aa777a8a0b4ace377a21c45c381 # v3.8.0 + - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d # v3.8.1 with: node-version: 20 cache: "pnpm" @@ -116,7 +116,7 @@ jobs: steps: - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 - run: corepack enable - - uses: actions/setup-node@bea5baf987ba7aa777a8a0b4ace377a21c45c381 # v3.8.0 + - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d # v3.8.1 with: node-version: 20 cache: "pnpm" @@ -144,7 +144,7 @@ jobs: steps: - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 - run: corepack enable - - uses: actions/setup-node@bea5baf987ba7aa777a8a0b4ace377a21c45c381 # v3.8.0 + - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d # v3.8.1 with: node-version: 20 cache: "pnpm" @@ -180,7 +180,7 @@ jobs: steps: - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 - run: corepack enable - - uses: actions/setup-node@bea5baf987ba7aa777a8a0b4ace377a21c45c381 # v3.8.0 + - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d # v3.8.1 with: node-version: ${{ matrix.node }} cache: "pnpm" @@ -254,7 +254,7 @@ jobs: with: fetch-depth: 0 - run: corepack enable - - uses: actions/setup-node@bea5baf987ba7aa777a8a0b4ace377a21c45c381 # v3.8.0 + - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d # v3.8.1 with: node-version: 20 cache: "pnpm" @@ -293,7 +293,7 @@ jobs: with: fetch-depth: 0 - run: corepack enable - - uses: actions/setup-node@bea5baf987ba7aa777a8a0b4ace377a21c45c381 # v3.8.0 + - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d # v3.8.1 with: node-version: 20 cache: "pnpm" diff --git a/.github/workflows/docs-e2e.yml b/.github/workflows/docs-e2e.yml index 9adda22ced34..d8bd4c8d328a 100644 --- a/.github/workflows/docs-e2e.yml +++ b/.github/workflows/docs-e2e.yml @@ -23,7 +23,7 @@ jobs: steps: - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 - run: corepack enable - - uses: actions/setup-node@bea5baf987ba7aa777a8a0b4ace377a21c45c381 # v3.8.0 + - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d # v3.8.1 with: cache: "pnpm" diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index d47a31d9bd63..e60a7c879090 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -22,7 +22,7 @@ jobs: steps: - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 - run: corepack enable - - uses: actions/setup-node@bea5baf987ba7aa777a8a0b4ace377a21c45c381 # v3.8.0 + - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d # v3.8.1 with: node-version: 20 cache: "pnpm" diff --git a/.github/workflows/nuxt2-edge.yml b/.github/workflows/nuxt2-edge.yml index 0e8b2440d13e..bcb463d81ad3 100644 --- a/.github/workflows/nuxt2-edge.yml +++ b/.github/workflows/nuxt2-edge.yml @@ -27,7 +27,7 @@ jobs: fetch-depth: 0 # All history - name: fetch tags run: git fetch --depth=1 origin "+refs/tags/*:refs/tags/*" - - uses: actions/setup-node@bea5baf987ba7aa777a8a0b4ace377a21c45c381 # v3.8.0 + - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d # v3.8.1 with: node-version: 16 registry-url: 'https://registry.npmjs.org' diff --git a/.github/workflows/release-pr.yml b/.github/workflows/release-pr.yml index 20e1cd4a2c98..7705caeecd29 100644 --- a/.github/workflows/release-pr.yml +++ b/.github/workflows/release-pr.yml @@ -35,7 +35,7 @@ jobs: fetch-depth: 0 - run: corepack enable - - uses: actions/setup-node@bea5baf987ba7aa777a8a0b4ace377a21c45c381 # v3.8.0 + - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d # v3.8.1 with: node-version: 20 cache: "pnpm" diff --git a/package.json b/package.json index 7ec4c084e542..ed78ff9195c1 100644 --- a/package.json +++ b/package.json @@ -61,8 +61,8 @@ "fs-extra": "11.1.1", "globby": "13.2.2", "h3": "1.8.0", - "happy-dom": "10.10.0", - "jiti": "1.19.1", + "happy-dom": "10.10.4", + "jiti": "1.19.3", "markdownlint-cli": "^0.33.0", "nitropack": "2.5.2", "nuxi": "workspace:*", @@ -70,10 +70,10 @@ "nuxt-vitest": "0.10.2", "ofetch": "1.1.1", "pathe": "1.1.1", - "playwright-core": "1.37.0", + "playwright-core": "1.37.1", "rimraf": "5.0.1", "semver": "7.5.4", - "std-env": "3.3.3", + "std-env": "3.4.0", "typescript": "5.1.6", "ufo": "1.2.0", "vite": "4.4.9", diff --git a/packages/kit/package.json b/packages/kit/package.json index ac3a40ae2448..e6f552bf9066 100644 --- a/packages/kit/package.json +++ b/packages/kit/package.json @@ -27,7 +27,7 @@ "globby": "^13.2.2", "hash-sum": "^2.0.0", "ignore": "^5.2.4", - "jiti": "^1.19.1", + "jiti": "^1.19.3", "knitwork": "^1.0.0", "mlly": "^1.4.0", "pathe": "^1.1.1", diff --git a/packages/nuxi/package.json b/packages/nuxi/package.json index ed5c831a2990..da0a5a5aa624 100644 --- a/packages/nuxi/package.json +++ b/packages/nuxi/package.json @@ -37,7 +37,7 @@ "flat": "5.0.2", "giget": "1.1.2", "h3": "1.8.0", - "jiti": "1.19.1", + "jiti": "1.19.3", "listhen": "1.3.0", "mlly": "1.4.0", "mri": "1.2.0", diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index fda74cfb348c..4858e5e3309e 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -76,7 +76,7 @@ "globby": "^13.2.2", "h3": "^1.8.0", "hookable": "^5.5.3", - "jiti": "^1.19.1", + "jiti": "^1.19.3", "klona": "^2.0.6", "knitwork": "^1.0.0", "magic-string": "^0.30.2", @@ -91,7 +91,7 @@ "pkg-types": "^1.0.3", "prompts": "^2.4.2", "scule": "^1.0.0", - "std-env": "^3.3.3", + "std-env": "^3.4.0", "strip-literal": "^1.3.0", "ufo": "^1.2.0", "ultrahtml": "^1.3.0", @@ -112,7 +112,7 @@ "@types/estree": "1.0.1", "@types/fs-extra": "11.0.1", "@types/prompts": "2.4.4", - "@vitejs/plugin-vue": "4.2.3", + "@vitejs/plugin-vue": "4.3.1", "unbuild": "latest", "vite": "4.4.9", "vitest": "0.33.0" diff --git a/packages/schema/package.json b/packages/schema/package.json index f8a36d43a896..69bd3b349bd7 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -31,8 +31,8 @@ "@types/pug": "2.0.6", "@types/sass-loader": "8.0.5", "@unhead/schema": "1.3.4", - "@vitejs/plugin-vue": "4.2.3", - "@vitejs/plugin-vue-jsx": "3.0.1", + "@vitejs/plugin-vue": "4.3.1", + "@vitejs/plugin-vue-jsx": "3.0.2", "@vue/compiler-core": "3.3.4", "esbuild-loader": "4.0.0", "h3": "1.8.0", @@ -55,7 +55,7 @@ "pathe": "^1.1.1", "pkg-types": "^1.0.3", "postcss-import-resolver": "^2.0.0", - "std-env": "^3.3.3", + "std-env": "^3.4.0", "ufo": "^1.2.0", "unimport": "^3.1.3", "untyped": "^1.4.0" diff --git a/packages/test-utils/package.json b/packages/test-utils/package.json index 3e478f2e5f9c..ae57d9e7b1a1 100644 --- a/packages/test-utils/package.json +++ b/packages/test-utils/package.json @@ -34,7 +34,7 @@ }, "devDependencies": { "@jest/globals": "29.6.2", - "playwright-core": "1.37.0", + "playwright-core": "1.37.1", "unbuild": "latest", "vitest": "0.33.0" }, diff --git a/packages/vite/package.json b/packages/vite/package.json index 0142ec9d1b4d..7bcd7c2aeed9 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -28,8 +28,8 @@ "dependencies": { "@nuxt/kit": "workspace:../kit", "@rollup/plugin-replace": "^5.0.2", - "@vitejs/plugin-vue": "^4.2.3", - "@vitejs/plugin-vue-jsx": "^3.0.1", + "@vitejs/plugin-vue": "^4.3.1", + "@vitejs/plugin-vue-jsx": "^3.0.2", "autoprefixer": "^10.4.15", "clear": "^0.1.0", "consola": "^3.2.3", @@ -53,7 +53,7 @@ "postcss-import": "^15.1.0", "postcss-url": "^10.1.3", "rollup-plugin-visualizer": "^5.9.2", - "std-env": "^3.3.3", + "std-env": "^3.4.0", "strip-literal": "^1.3.0", "ufo": "^1.2.0", "unplugin": "^1.4.0", diff --git a/packages/webpack/package.json b/packages/webpack/package.json index e2b3e4062cdb..67313fff0c06 100644 --- a/packages/webpack/package.json +++ b/packages/webpack/package.json @@ -47,7 +47,7 @@ "postcss-loader": "^7.3.3", "postcss-url": "^10.1.3", "pug-plain-loader": "^1.1.0", - "std-env": "^3.3.3", + "std-env": "^3.4.0", "time-fix-plugin": "^2.0.7", "ufo": "^1.2.0", "unplugin": "^1.4.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a43aa5ded497..5ee3c22e6bc5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -84,11 +84,11 @@ importers: specifier: 1.8.0 version: 1.8.0 happy-dom: - specifier: 10.10.0 - version: 10.10.0 + specifier: 10.10.4 + version: 10.10.4 jiti: - specifier: 1.19.1 - version: 1.19.1 + specifier: 1.19.3 + version: 1.19.3 markdownlint-cli: specifier: ^0.33.0 version: 0.33.0 @@ -103,7 +103,7 @@ importers: version: link:packages/nuxt nuxt-vitest: specifier: 0.10.2 - version: 0.10.2(@vitejs/plugin-vue-jsx@3.0.1)(@vitejs/plugin-vue@4.2.3)(happy-dom@10.10.0)(vite@4.4.9)(vitest@0.33.0)(vue-router@4.2.4)(vue@3.3.4) + version: 0.10.2(@vitejs/plugin-vue-jsx@3.0.2)(@vitejs/plugin-vue@4.3.1)(happy-dom@10.10.4)(vite@4.4.9)(vitest@0.33.0)(vue-router@4.2.4)(vue@3.3.4) ofetch: specifier: 1.1.1 version: 1.1.1 @@ -111,8 +111,8 @@ importers: specifier: 1.1.1 version: 1.1.1 playwright-core: - specifier: 1.37.0 - version: 1.37.0 + specifier: 1.37.1 + version: 1.37.1 rimraf: specifier: 5.0.1 version: 5.0.1 @@ -120,8 +120,8 @@ importers: specifier: 7.5.4 version: 7.5.4 std-env: - specifier: 3.3.3 - version: 3.3.3 + specifier: 3.4.0 + version: 3.4.0 typescript: specifier: 5.1.6 version: 5.1.6 @@ -133,10 +133,10 @@ importers: version: 4.4.9(@types/node@18.17.5) vitest: specifier: 0.33.0 - version: 0.33.0(happy-dom@10.10.0) + version: 0.33.0(happy-dom@10.10.4) vitest-environment-nuxt: specifier: 0.10.2 - version: 0.10.2(happy-dom@10.10.0)(vitest@0.33.0)(vue-router@4.2.4)(vue@3.3.4) + version: 0.10.2(happy-dom@10.10.4)(vitest@0.33.0)(vue-router@4.2.4)(vue@3.3.4) vue: specifier: 3.3.4 version: 3.3.4 @@ -180,8 +180,8 @@ importers: specifier: ^5.2.4 version: 5.2.4 jiti: - specifier: ^1.19.1 - version: 1.19.1 + specifier: ^1.19.3 + version: 1.19.3 knitwork: specifier: ^1.0.0 version: 1.0.0 @@ -236,7 +236,7 @@ importers: version: 4.4.9(@types/node@18.17.5) vitest: specifier: 0.33.0 - version: 0.33.0(happy-dom@10.10.0) + version: 0.33.0(happy-dom@10.10.4) webpack: specifier: 5.88.2 version: 5.88.2 @@ -305,8 +305,8 @@ importers: specifier: 1.8.0 version: 1.8.0 jiti: - specifier: 1.19.1 - version: 1.19.1 + specifier: 1.19.3 + version: 1.19.3 listhen: specifier: 1.3.0 version: 1.3.0 @@ -422,8 +422,8 @@ importers: specifier: ^5.5.3 version: 5.5.3 jiti: - specifier: ^1.19.1 - version: 1.19.1 + specifier: ^1.19.3 + version: 1.19.3 klona: specifier: ^2.0.6 version: 2.0.6 @@ -467,8 +467,8 @@ importers: specifier: ^1.0.0 version: 1.0.0 std-env: - specifier: ^3.3.3 - version: 3.3.3 + specifier: ^3.4.0 + version: 3.4.0 strip-literal: specifier: ^1.3.0 version: 1.3.0 @@ -525,8 +525,8 @@ importers: specifier: 2.4.4 version: 2.4.4 '@vitejs/plugin-vue': - specifier: 4.2.3 - version: 4.2.3(vite@4.4.9)(vue@3.3.4) + specifier: 4.3.1 + version: 4.3.1(vite@4.4.9)(vue@3.3.4) unbuild: specifier: latest version: 1.2.1 @@ -535,7 +535,7 @@ importers: version: 4.4.9(@types/node@18.17.5) vitest: specifier: 0.33.0 - version: 0.33.0(happy-dom@10.10.0) + version: 0.33.0(happy-dom@10.10.4) packages/schema: dependencies: @@ -558,8 +558,8 @@ importers: specifier: ^2.0.0 version: 2.0.0 std-env: - specifier: ^3.3.3 - version: 3.3.3 + specifier: ^3.4.0 + version: 3.4.0 ufo: specifier: ^1.2.0 version: 1.2.0 @@ -586,11 +586,11 @@ importers: specifier: 1.3.4 version: 1.3.4 '@vitejs/plugin-vue': - specifier: 4.2.3 - version: 4.2.3(vite@4.4.9)(vue@3.3.4) + specifier: 4.3.1 + version: 4.3.1(vite@4.4.9)(vue@3.3.4) '@vitejs/plugin-vue-jsx': - specifier: 3.0.1 - version: 3.0.1(vite@4.4.9)(vue@3.3.4) + specifier: 3.0.2 + version: 3.0.2(vite@4.4.9)(vue@3.3.4) '@vue/compiler-core': specifier: 3.3.4 version: 3.3.4 @@ -671,14 +671,14 @@ importers: specifier: 29.6.2 version: 29.6.2 playwright-core: - specifier: 1.37.0 - version: 1.37.0 + specifier: 1.37.1 + version: 1.37.1 unbuild: specifier: latest version: 1.2.1 vitest: specifier: 0.33.0 - version: 0.33.0(happy-dom@10.10.0) + version: 0.33.0(happy-dom@10.10.4) packages/vite: dependencies: @@ -689,11 +689,11 @@ importers: specifier: ^5.0.2 version: 5.0.2(rollup@3.27.2) '@vitejs/plugin-vue': - specifier: ^4.2.3 - version: 4.2.3(vite@4.4.9)(vue@3.3.4) + specifier: ^4.3.1 + version: 4.3.1(vite@4.4.9)(vue@3.3.4) '@vitejs/plugin-vue-jsx': - specifier: ^3.0.1 - version: 3.0.1(vite@4.4.9)(vue@3.3.4) + specifier: ^3.0.2 + version: 3.0.2(vite@4.4.9)(vue@3.3.4) autoprefixer: specifier: ^10.4.15 version: 10.4.15(postcss@8.4.28) @@ -764,8 +764,8 @@ importers: specifier: ^5.9.2 version: 5.9.2(rollup@3.27.2) std-env: - specifier: ^3.3.3 - version: 3.3.3 + specifier: ^3.4.0 + version: 3.4.0 strip-literal: specifier: ^1.3.0 version: 1.3.0 @@ -894,8 +894,8 @@ importers: specifier: ^1.1.0 version: 1.1.0(pug@3.0.2) std-env: - specifier: ^3.3.3 - version: 3.3.3 + specifier: ^3.4.0 + version: 3.4.0 time-fix-plugin: specifier: ^2.0.7 version: 2.0.7(webpack@5.88.2) @@ -1002,8 +1002,8 @@ importers: specifier: latest version: 1.1.1 vitest: - specifier: latest - version: 0.34.1(happy-dom@10.10.0) + specifier: 0.33.0 + version: 0.33.0(happy-dom@10.10.4) vue: specifier: 3.3.4 version: 3.3.4 @@ -1061,30 +1061,31 @@ packages: '@jridgewell/gen-mapping': 0.3.3 '@jridgewell/trace-mapping': 0.3.18 - /@babel/code-frame@7.22.5: - resolution: {integrity: sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==} + /@babel/code-frame@7.22.10: + resolution: {integrity: sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/highlight': 7.22.5 + '@babel/highlight': 7.22.10 + chalk: 2.4.2 /@babel/compat-data@7.22.9: resolution: {integrity: sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==} engines: {node: '>=6.9.0'} - /@babel/core@7.22.9: - resolution: {integrity: sha512-G2EgeufBcYw27U4hhoIwFcgc1XU7TlXJ3mv04oOv1WCuo900U/anZSPzEqNjwdjgffkk2Gs0AN0dW1CKVLcG7w==} + /@babel/core@7.22.10: + resolution: {integrity: sha512-fTmqbbUBAwCcre6zPzNngvsI0aNrPZe77AeqvDxWM9Nm+04RrJ3CAmGHA9f7lJQY6ZMhRztNemy4uslDxTX4Qw==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.1 - '@babel/code-frame': 7.22.5 - '@babel/generator': 7.22.9 - '@babel/helper-compilation-targets': 7.22.9(@babel/core@7.22.9) - '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.9) - '@babel/helpers': 7.22.6 - '@babel/parser': 7.22.7 + '@babel/code-frame': 7.22.10 + '@babel/generator': 7.22.10 + '@babel/helper-compilation-targets': 7.22.10 + '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.10) + '@babel/helpers': 7.22.10 + '@babel/parser': 7.22.10 '@babel/template': 7.22.5 - '@babel/traverse': 7.22.8 - '@babel/types': 7.22.5 + '@babel/traverse': 7.22.10 + '@babel/types': 7.22.10 convert-source-map: 1.9.0 debug: 4.3.4 gensync: 1.0.0-beta.2 @@ -1093,11 +1094,11 @@ packages: transitivePeerDependencies: - supports-color - /@babel/generator@7.22.9: - resolution: {integrity: sha512-KtLMbmicyuK2Ak/FTCJVbDnkN1SlT8/kceFTiuDiiRUUSMnHMidxSCdG4ndkTOHHpoomWe/4xkvHkEOncwjYIw==} + /@babel/generator@7.22.10: + resolution: {integrity: sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 '@jridgewell/gen-mapping': 0.3.3 '@jridgewell/trace-mapping': 0.3.18 jsesc: 2.5.2 @@ -1106,34 +1107,31 @@ packages: resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 - /@babel/helper-compilation-targets@7.22.9(@babel/core@7.22.9): - resolution: {integrity: sha512-7qYrNM6HjpnPHJbopxmb8hSPoZ0gsX8IvUS32JGVoy+pU9e5N0nLr1VjJoR6kA4d9dmGLxNYOjeB8sUDal2WMw==} + /@babel/helper-compilation-targets@7.22.10: + resolution: {integrity: sha512-JMSwHD4J7SLod0idLq5PKgI+6g/hLD/iuWBq08ZX49xE14VpVEojJ5rHWptpirV2j020MvypRLAXAO50igCJ5Q==} engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 dependencies: '@babel/compat-data': 7.22.9 - '@babel/core': 7.22.9 '@babel/helper-validator-option': 7.22.5 browserslist: 4.21.10 lru-cache: 5.1.1 semver: 6.3.1 - /@babel/helper-create-class-features-plugin@7.22.9(@babel/core@7.22.9): - resolution: {integrity: sha512-Pwyi89uO4YrGKxL/eNJ8lfEH55DnRloGPOseaA8NFNL6jAUnn+KccaISiFazCj5IolPPDjGSdzQzXVzODVRqUQ==} + /@babel/helper-create-class-features-plugin@7.22.10(@babel/core@7.22.10): + resolution: {integrity: sha512-5IBb77txKYQPpOEdUdIhBx8VrZyDCQ+H82H0+5dX1TmuscP5vJKEE3cKurjtIw/vFwzbVH48VweE78kVDBrqjA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-environment-visitor': 7.22.5 '@babel/helper-function-name': 7.22.5 '@babel/helper-member-expression-to-functions': 7.22.5 '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/helper-replace-supers': 7.22.9(@babel/core@7.22.9) + '@babel/helper-replace-supers': 7.22.9(@babel/core@7.22.10) '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 semver: 6.3.1 @@ -1147,33 +1145,33 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.22.5 - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 /@babel/helper-hoist-variables@7.22.5: resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 /@babel/helper-member-expression-to-functions@7.22.5: resolution: {integrity: sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 /@babel/helper-module-imports@7.22.5: resolution: {integrity: sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 - /@babel/helper-module-transforms@7.22.9(@babel/core@7.22.9): + /@babel/helper-module-transforms@7.22.9(@babel/core@7.22.10): resolution: {integrity: sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-environment-visitor': 7.22.5 '@babel/helper-module-imports': 7.22.5 '@babel/helper-simple-access': 7.22.5 @@ -1184,19 +1182,19 @@ packages: resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 /@babel/helper-plugin-utils@7.22.5: resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} engines: {node: '>=6.9.0'} - /@babel/helper-replace-supers@7.22.9(@babel/core@7.22.9): + /@babel/helper-replace-supers@7.22.9(@babel/core@7.22.10): resolution: {integrity: sha512-LJIKvvpgPOPUThdYqcX6IXRuIcTkcAub0IaDRGCZH0p5GPUp7PhRU9QVgFcDDd51BaPkk77ZjqFwh6DZTAEmGg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-environment-visitor': 7.22.5 '@babel/helper-member-expression-to-functions': 7.22.5 '@babel/helper-optimise-call-expression': 7.22.5 @@ -1205,19 +1203,19 @@ packages: resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 /@babel/helper-skip-transparent-expression-wrappers@7.22.5: resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 /@babel/helper-split-export-declaration@7.22.6: resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 /@babel/helper-string-parser@7.22.5: resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==} @@ -1231,170 +1229,169 @@ packages: resolution: {integrity: sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==} engines: {node: '>=6.9.0'} - /@babel/helpers@7.22.6: - resolution: {integrity: sha512-YjDs6y/fVOYFV8hAf1rxd1QvR9wJe1pDBZ2AREKq/SDayfPzgk0PBnVuTCE5X1acEpMMNOVUqoe+OwiZGJ+OaA==} + /@babel/helpers@7.22.10: + resolution: {integrity: sha512-a41J4NW8HyZa1I1vAndrraTlPZ/eZoga2ZgS7fEr0tZJGVU4xqdE80CEm0CcNjha5EZ8fTBYLKHF0kqDUuAwQw==} engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.22.5 - '@babel/traverse': 7.22.8 - '@babel/types': 7.22.5 + '@babel/traverse': 7.22.10 + '@babel/types': 7.22.10 transitivePeerDependencies: - supports-color - /@babel/highlight@7.22.5: - resolution: {integrity: sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==} + /@babel/highlight@7.22.10: + resolution: {integrity: sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==} engines: {node: '>=6.9.0'} - requiresBuild: true dependencies: '@babel/helper-validator-identifier': 7.22.5 chalk: 2.4.2 js-tokens: 4.0.0 - /@babel/parser@7.22.7: - resolution: {integrity: sha512-7NF8pOkHP5o2vpmGgNGcfAeCvOYhGLyA3Z4eBQkT1RJlWu47n63bCs93QfJ2hIAFCil7L5P2IWhs1oToVgrL0Q==} + /@babel/parser@7.22.10: + resolution: {integrity: sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ==} engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 - /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.22.9): + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.22.10): resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.22.9): + /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.22.10): resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.22.9): + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.22.10): resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.22.9): + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.22.10): resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.22.9): + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.22.10): resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.22.9): + /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.22.9): + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.22.10): resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.22.9): + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.22.10): resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.22.9): + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.22.10): resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.22.9): + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.22.10): resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.22.9): + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.22.10): resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.22.9): + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.22.10): resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.22.9): + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.22.10): resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.22.9): + /@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-typescript@7.22.9(@babel/core@7.22.9): - resolution: {integrity: sha512-BnVR1CpKiuD0iobHPaM1iLvcwPYN2uVFAqoLVSpEDKWuOikoCv5HbKLxclhKYUXlWkX86DoZGtqI4XhbOsyrMg==} + /@babel/plugin-transform-typescript@7.22.10(@babel/core@7.22.10): + resolution: {integrity: sha512-7++c8I/ymsDo4QQBAgbraXLzIM6jmfao11KgIBEYZRReWzNWH9NtNgJcyrZiXsOPh523FQm6LfpLyy/U5fn46A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.9(@babel/core@7.22.9) + '@babel/helper-create-class-features-plugin': 7.22.10(@babel/core@7.22.10) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.22.10) /@babel/standalone@7.22.9: resolution: {integrity: sha512-RRUFpN2WiHaczMqIhmy7VoruvSw+c3NSq6BczondQ6elJXtKzr9cAWWsWWZvtZ/rYFQpoQlch5VxQe4aWTt8LA==} @@ -1404,29 +1401,29 @@ packages: resolution: {integrity: sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.22.5 - '@babel/parser': 7.22.7 - '@babel/types': 7.22.5 + '@babel/code-frame': 7.22.10 + '@babel/parser': 7.22.10 + '@babel/types': 7.22.10 - /@babel/traverse@7.22.8: - resolution: {integrity: sha512-y6LPR+wpM2I3qJrsheCTwhIinzkETbplIgPBbwvqPKc+uljeA5gP+3nP8irdYt1mjQaDnlIcG+dw8OjAco4GXw==} + /@babel/traverse@7.22.10: + resolution: {integrity: sha512-Q/urqV4pRByiNNpb/f5OSv28ZlGJiFiiTh+GAHktbIrkPhPbl90+uW6SmpoLyZqutrg9AEaEf3Q/ZBRHBXgxig==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.22.5 - '@babel/generator': 7.22.9 + '@babel/code-frame': 7.22.10 + '@babel/generator': 7.22.10 '@babel/helper-environment-visitor': 7.22.5 '@babel/helper-function-name': 7.22.5 '@babel/helper-hoist-variables': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.22.7 - '@babel/types': 7.22.5 + '@babel/parser': 7.22.10 + '@babel/types': 7.22.10 debug: 4.3.4 globals: 11.12.0 transitivePeerDependencies: - supports-color - /@babel/types@7.22.5: - resolution: {integrity: sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==} + /@babel/types@7.22.10: + resolution: {integrity: sha512-obaoigiLrlDZ7TUQln/8m4mSqIW2QFeOrCQc9r+xsaHGNoplVNYlRVpsfE8Vj35GEm2ZH4ZhrNYogs/3fj85kg==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-string-parser': 7.22.5 @@ -2182,7 +2179,7 @@ packages: resolution: {integrity: sha512-ZqCqEISr58Ce3U+buNFJYUktLJZOggfyvR+bZMaiV1e8B1SIvJbwZMrYz3gx/KAPn9EXmOmN+uB08yLCjWkQQg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@jest/types': 29.6.1 '@jridgewell/trace-mapping': 0.3.18 babel-plugin-istanbul: 6.1.1 @@ -2457,7 +2454,7 @@ packages: fs-extra: 11.1.1 git-url-parse: 13.1.0 is-docker: 3.0.0 - jiti: 1.19.1 + jiti: 1.19.3 mri: 1.2.0 nanoid: 4.0.2 node-fetch: 3.3.2 @@ -2465,7 +2462,7 @@ packages: parse-git-config: 3.0.0 pathe: 1.1.1 rc9: 2.1.1 - std-env: 3.3.3 + std-env: 3.4.0 /@nuxt/ui-templates@1.3.1: resolution: {integrity: sha512-5gc02Pu1HycOVUWJ8aYsWeeXcSTPe8iX8+KIrhyEtEoOSkY0eMBuo0ssljB8wALuEmepv31DlYe5gpiRwkjESA==} @@ -3307,23 +3304,23 @@ packages: - encoding - supports-color - /@vitejs/plugin-vue-jsx@3.0.1(vite@4.4.9)(vue@3.3.4): - resolution: {integrity: sha512-+Jb7ggL48FSPS1uhPnJbJwWa9Sr90vQ+d0InW+AhBM22n+cfuYqJZDckBc+W3QSHe1WDvewMZfa4wZOtk5pRgw==} + /@vitejs/plugin-vue-jsx@3.0.2(vite@4.4.9)(vue@3.3.4): + resolution: {integrity: sha512-obF26P2Z4Ogy3cPp07B4VaW6rpiu0ue4OT2Y15UxT5BZZ76haUY9guOsZV3uWh/I6xc+VeiW+ZVabRE82FyzWw==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: vite: ^4.0.0 vue: ^3.0.0 dependencies: - '@babel/core': 7.22.9 - '@babel/plugin-transform-typescript': 7.22.9(@babel/core@7.22.9) - '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.22.9) + '@babel/core': 7.22.10 + '@babel/plugin-transform-typescript': 7.22.10(@babel/core@7.22.10) + '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.22.10) vite: 4.4.9(@types/node@18.17.5) vue: 3.3.4 transitivePeerDependencies: - supports-color - /@vitejs/plugin-vue@4.2.3(vite@4.4.9)(vue@3.3.4): - resolution: {integrity: sha512-R6JDUfiZbJA9cMiguQ7jxALsgiprjBeHL5ikpXfJCH62pPHtI+JdJ5xWj6Ev73yXSlYl86+blXn1kZHQ7uElxw==} + /@vitejs/plugin-vue@4.3.1(vite@4.4.9)(vue@3.3.4): + resolution: {integrity: sha512-tUBEtWcF7wFtII7ayNiLNDTCE1X1afySEo+XNVMNkFXaThENyCowIEX095QqbJZGTgoOcSVDJGlnde2NG4jtbQ==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: vite: ^4.0.0 @@ -3340,14 +3337,6 @@ packages: chai: 4.3.7 dev: true - /@vitest/expect@0.34.1: - resolution: {integrity: sha512-q2CD8+XIsQ+tHwypnoCk8Mnv5e6afLFvinVGCq3/BOT4kQdVQmY6rRfyKkwcg635lbliLPqbunXZr+L1ssUWiQ==} - dependencies: - '@vitest/spy': 0.34.1 - '@vitest/utils': 0.34.1 - chai: 4.3.7 - dev: true - /@vitest/runner@0.33.0: resolution: {integrity: sha512-UPfACnmCB6HKRHTlcgCoBh6ppl6fDn+J/xR8dTufWiKt/74Y9bHci5CKB8tESSV82zKYtkBJo9whU3mNvfaisg==} dependencies: @@ -3356,14 +3345,6 @@ packages: pathe: 1.1.1 dev: true - /@vitest/runner@0.34.1: - resolution: {integrity: sha512-YfQMpYzDsYB7yqgmlxZ06NI4LurHWfrH7Wy3Pvf/z/vwUSgq1zLAb1lWcItCzQG+NVox+VvzlKQrYEXb47645g==} - dependencies: - '@vitest/utils': 0.34.1 - p-limit: 4.0.0 - pathe: 1.1.1 - dev: true - /@vitest/snapshot@0.33.0: resolution: {integrity: sha512-tJjrl//qAHbyHajpFvr8Wsk8DIOODEebTu7pgBrP07iOepR5jYkLFiqLq2Ltxv+r0uptUb4izv1J8XBOwKkVYA==} dependencies: @@ -3372,26 +3353,12 @@ packages: pretty-format: 29.6.2 dev: true - /@vitest/snapshot@0.34.1: - resolution: {integrity: sha512-0O9LfLU0114OqdF8lENlrLsnn024Tb1CsS9UwG0YMWY2oGTQfPtkW+B/7ieyv0X9R2Oijhi3caB1xgGgEgclSQ==} - dependencies: - magic-string: 0.30.2 - pathe: 1.1.1 - pretty-format: 29.6.2 - dev: true - /@vitest/spy@0.33.0: resolution: {integrity: sha512-Kv+yZ4hnH1WdiAkPUQTpRxW8kGtH8VRTnus7ZTGovFYM1ZezJpvGtb9nPIjPnptHbsyIAxYZsEpVPYgtpjGnrg==} dependencies: tinyspy: 2.1.1 dev: true - /@vitest/spy@0.34.1: - resolution: {integrity: sha512-UT4WcI3EAPUNO8n6y9QoEqynGGEPmmRxC+cLzneFFXpmacivjHZsNbiKD88KUScv5DCHVDgdBsLD7O7s1enFcQ==} - dependencies: - tinyspy: 2.1.1 - dev: true - /@vitest/ui@0.33.0(vitest@0.33.0): resolution: {integrity: sha512-7gbAjLqt30R4bodkJAutdpy4ncv+u5IKTHYTow1c2q+FOxZUC9cKOSqMUxjwaaTwLN+EnDnmXYPtg3CoahaUzQ==} peerDependencies: @@ -3404,7 +3371,7 @@ packages: pathe: 1.1.1 picocolors: 1.0.0 sirv: 2.0.3 - vitest: 0.33.0(happy-dom@10.10.0) + vitest: 0.33.0(happy-dom@10.10.4) dev: true /@vitest/utils@0.33.0: @@ -3415,14 +3382,6 @@ packages: pretty-format: 29.6.2 dev: true - /@vitest/utils@0.34.1: - resolution: {integrity: sha512-/ql9dsFi4iuEbiNcjNHQWXBum7aL8pyhxvfnD9gNtbjR9fUKAjxhj4AA3yfLXg6gJpMGGecvtF8Au2G9y3q47Q==} - dependencies: - diff-sequences: 29.4.3 - loupe: 2.3.6 - pretty-format: 29.6.2 - dev: true - /@volar/language-core@1.10.0: resolution: {integrity: sha512-ddyWwSYqcbEZNFHm+Z3NZd6M7Ihjcwl/9B5cZd8kECdimVXUFdFi60XHWD27nrWtUQIsUYIG7Ca1WBwV2u2LSQ==} dependencies: @@ -3473,7 +3432,7 @@ packages: vue: optional: true dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 '@rollup/pluginutils': 5.0.2(rollup@3.27.2) '@vue/compiler-sfc': 3.3.4 ast-kit: 0.9.4(rollup@3.27.2) @@ -3487,17 +3446,17 @@ packages: /@vue/babel-helper-vue-transform-on@1.1.5: resolution: {integrity: sha512-SgUymFpMoAyWeYWLAY+MkCK3QEROsiUnfaw5zxOVD/M64KQs8D/4oK6Q5omVA2hnvEOE0SCkH2TZxs/jnnUj7w==} - /@vue/babel-plugin-jsx@1.1.5(@babel/core@7.22.9): + /@vue/babel-plugin-jsx@1.1.5(@babel/core@7.22.10): resolution: {integrity: sha512-nKs1/Bg9U1n3qSWnsHhCVQtAzI6aQXqua8j/bZrau8ywT1ilXQbK4FwEJGmU8fV7tcpuFvWmmN7TMmV1OBma1g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-module-imports': 7.22.5 - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.10) '@babel/template': 7.22.5 - '@babel/traverse': 7.22.8 - '@babel/types': 7.22.5 + '@babel/traverse': 7.22.10 + '@babel/types': 7.22.10 '@vue/babel-helper-vue-transform-on': 1.1.5 camelcase: 6.3.0 html-tags: 3.3.1 @@ -3508,7 +3467,7 @@ packages: /@vue/compiler-core@3.3.4: resolution: {integrity: sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==} dependencies: - '@babel/parser': 7.22.7 + '@babel/parser': 7.22.10 '@vue/shared': 3.3.4 estree-walker: 2.0.2 source-map-js: 1.0.2 @@ -3522,7 +3481,7 @@ packages: /@vue/compiler-sfc@3.3.4: resolution: {integrity: sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==} dependencies: - '@babel/parser': 7.22.7 + '@babel/parser': 7.22.10 '@vue/compiler-core': 3.3.4 '@vue/compiler-dom': 3.3.4 '@vue/compiler-ssr': 3.3.4 @@ -3563,7 +3522,7 @@ packages: /@vue/reactivity-transform@3.3.4: resolution: {integrity: sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==} dependencies: - '@babel/parser': 7.22.7 + '@babel/parser': 7.22.10 '@vue/compiler-core': 3.3.4 '@vue/shared': 3.3.4 estree-walker: 2.0.2 @@ -4120,7 +4079,7 @@ packages: resolution: {integrity: sha512-UrZHsdj87OS6NM+IXRii+asdAUA/P0SMa4r1NrZvsUy72hDvCYwk8c9PsbKf1MvJ0BvP+rF1B8tFP54eT370Tg==} engines: {node: '>=16.14.0'} dependencies: - '@babel/parser': 7.22.7 + '@babel/parser': 7.22.10 '@rollup/pluginutils': 5.0.2(rollup@3.27.2) pathe: 1.1.1 transitivePeerDependencies: @@ -4138,8 +4097,8 @@ packages: resolution: {integrity: sha512-vdCU9JvpsrxWxvJiRHAr8If8cu07LWJXDPhkqLiP4ErbN1fu/mK623QGmU4Qbn2Nq4Mx0vR/Q017B6+HcHg1aQ==} engines: {node: '>=16.14.0'} dependencies: - '@babel/parser': 7.22.7 - '@babel/types': 7.22.5 + '@babel/parser': 7.22.10 + '@babel/types': 7.22.10 dev: false /async-sema@3.1.1: @@ -4182,31 +4141,31 @@ packages: - supports-color dev: true - /babel-preset-current-node-syntax@1.0.1(@babel/core@7.22.9): + /babel-preset-current-node-syntax@1.0.1(@babel/core@7.22.10): resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.9 - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.9) - '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.22.9) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.22.9) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.22.9) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.9) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.9) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.9) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.9) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.9) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.9) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.9) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.22.9) + '@babel/core': 7.22.10 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.10) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.22.10) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.22.10) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.22.10) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.10) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.10) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.10) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.10) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.10) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.10) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.10) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.22.10) dev: true /babel-walk@3.0.0-canary-5: resolution: {integrity: sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw==} engines: {node: '>= 10.0.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 dev: false /bail@2.0.2: @@ -4328,7 +4287,7 @@ packages: defu: 6.1.2 dotenv: 16.3.1 giget: 1.1.2 - jiti: 1.19.1 + jiti: 1.19.3 mlly: 1.4.0 ohash: 1.1.3 pathe: 1.1.1 @@ -4463,7 +4422,7 @@ packages: pkg-types: 1.0.3 scule: 1.0.0 semver: 7.5.4 - std-env: 3.3.3 + std-env: 3.4.0 yaml: 2.3.1 transitivePeerDependencies: - supports-color @@ -4687,8 +4646,8 @@ packages: /constantinople@4.0.1: resolution: {integrity: sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw==} dependencies: - '@babel/parser': 7.22.7 - '@babel/types': 7.22.5 + '@babel/parser': 7.22.10 + '@babel/types': 7.22.10 dev: false /convert-gitmoji@0.1.3: @@ -6028,7 +5987,7 @@ packages: typescript: '>3.6.0' webpack: ^5.11.0 dependencies: - '@babel/code-frame': 7.22.5 + '@babel/code-frame': 7.22.10 chalk: 4.1.2 chokidar: 3.5.3 cosmiconfig: 7.1.0 @@ -6350,8 +6309,8 @@ packages: uncrypto: 0.1.3 unenv: 1.7.1 - /happy-dom@10.10.0: - resolution: {integrity: sha512-rpWFSemZoid3OKuzMs47CDUOnAYV10vYlXaVBPD+dBDHTAFkyIIpkHXx8gd/uWMyf+XOluQNnxImWp17SprE2Q==} + /happy-dom@10.10.4: + resolution: {integrity: sha512-aEEFGSSs4DEJbxXvSMsIvJvvdsZbJZQEgtHsU4GgwNKbSbFxtgu6vXHmn4XoXnuElIbXV0xhbJiiQTxPnTmJcw==} dependencies: css.escape: 1.5.1 entities: 4.5.0 @@ -6931,8 +6890,8 @@ packages: resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} engines: {node: '>=8'} dependencies: - '@babel/core': 7.22.9 - '@babel/parser': 7.22.7 + '@babel/core': 7.22.10 + '@babel/parser': 7.22.10 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.0 semver: 6.3.1 @@ -6997,7 +6956,7 @@ packages: resolution: {integrity: sha512-vnIGYEjoPSuRqV8W9t+Wow95SDp6KPX2Uf7EoeG9G99J2OVh7OSwpS4B6J0NfpEIpfkBNHlBZpA2rblEuEFhZQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/code-frame': 7.22.5 + '@babel/code-frame': 7.22.10 '@jest/types': 29.6.1 '@types/stack-utils': 2.0.1 chalk: 4.1.2 @@ -7026,15 +6985,15 @@ packages: resolution: {integrity: sha512-1OdjqvqmRdGNvWXr/YZHuyhh5DeaLp1p/F8Tht/MrMw4Kr1Uu/j4lRG+iKl1DAqUJDWxtQBMk41Lnf/JETYBRA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/core': 7.22.9 - '@babel/generator': 7.22.9 - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.22.9) - '@babel/types': 7.22.5 + '@babel/core': 7.22.10 + '@babel/generator': 7.22.10 + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.22.10) + '@babel/types': 7.22.10 '@jest/expect-utils': 29.6.2 '@jest/transform': 29.6.2 '@jest/types': 29.6.1 - babel-preset-current-node-syntax: 1.0.1(@babel/core@7.22.9) + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.22.10) chalk: 4.1.2 expect: 29.6.2 graceful-fs: 4.2.11 @@ -7078,8 +7037,8 @@ packages: merge-stream: 2.0.0 supports-color: 8.1.1 - /jiti@1.19.1: - resolution: {integrity: sha512-oVhqoRDaBXf7sjkll95LHVS6Myyyb1zaunVwk4Z0+WPSW4gjS0pl01zYKHScTuyEhQsFxV5L4DR5r+YqSyqyyg==} + /jiti@1.19.3: + resolution: {integrity: sha512-5eEbBDQT/jF1xg6l36P+mWGGoH9Spuy0PCdSr2dtWRDGC6ph/w9ZCL4lmESW8f8F7MwT3XKescfP0wnZWAKL9w==} hasBin: true /js-beautify@1.14.9: @@ -7237,7 +7196,7 @@ packages: get-port-please: 3.0.1 h3: 1.8.0 http-shutdown: 1.2.2 - jiti: 1.19.1 + jiti: 1.19.3 mlly: 1.4.0 node-forge: 1.3.1 pathe: 1.1.1 @@ -8010,7 +7969,7 @@ packages: esbuild: 0.18.20 fs-extra: 11.1.1 globby: 13.2.2 - jiti: 1.19.1 + jiti: 1.19.3 mlly: 1.4.0 mri: 1.2.0 pathe: 1.1.1 @@ -8111,7 +8070,7 @@ packages: http-graceful-shutdown: 3.1.13 http-proxy: 1.18.1 is-primitive: 3.0.1 - jiti: 1.19.1 + jiti: 1.19.3 klona: 2.0.6 knitwork: 1.0.0 listhen: 1.3.0 @@ -8135,7 +8094,7 @@ packages: serve-placeholder: 2.0.1 serve-static: 1.15.0 source-map-support: 0.5.21 - std-env: 3.3.3 + std-env: 3.4.0 ufo: 1.2.0 uncrypto: 0.1.3 unenv: 1.7.1 @@ -8288,7 +8247,7 @@ packages: dependencies: '@nuxt/kit': link:packages/kit defu: 6.1.2 - jiti: 1.19.1 + jiti: 1.19.3 pathe: 1.1.1 untyped: 1.4.0 transitivePeerDependencies: @@ -8306,7 +8265,7 @@ packages: - vue dev: true - /nuxt-vitest@0.10.2(@vitejs/plugin-vue-jsx@3.0.1)(@vitejs/plugin-vue@4.2.3)(happy-dom@10.10.0)(vite@4.4.9)(vitest@0.33.0)(vue-router@4.2.4)(vue@3.3.4): + /nuxt-vitest@0.10.2(@vitejs/plugin-vue-jsx@3.0.2)(@vitejs/plugin-vue@4.3.1)(happy-dom@10.10.4)(vite@4.4.9)(vitest@0.33.0)(vue-router@4.2.4)(vue@3.3.4): resolution: {integrity: sha512-cYEvFY5iU0fV3xccdunV1vAlgyda3Tf7HEyPGrI/4KMAouwtIDIyuu2SgU3WOFqpNbhbAQbI5COLISodOeUHBQ==} peerDependencies: '@vitejs/plugin-vue': '*' @@ -8315,16 +8274,16 @@ packages: vitest: ^0.24.5 || ^0.26.0 || ^0.27.0 || ^0.28.0 || ^0.29.0 || ^0.30.0 || ^0.33.0 dependencies: '@nuxt/kit': link:packages/kit - '@vitejs/plugin-vue': 4.2.3(vite@4.4.9)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': 3.0.1(vite@4.4.9)(vue@3.3.4) + '@vitejs/plugin-vue': 4.3.1(vite@4.4.9)(vue@3.3.4) + '@vitejs/plugin-vue-jsx': 3.0.2(vite@4.4.9)(vue@3.3.4) '@vitest/ui': 0.33.0(vitest@0.33.0) defu: 6.1.2 get-port-please: 3.0.1 perfect-debounce: 1.0.0 - std-env: 3.3.3 + std-env: 3.4.0 vite: 4.4.9(@types/node@18.17.5) - vitest: 0.33.0(happy-dom@10.10.0) - vitest-environment-nuxt: 0.10.2(happy-dom@10.10.0)(vitest@0.33.0)(vue-router@4.2.4)(vue@3.3.4) + vitest: 0.33.0(happy-dom@10.10.4) + vitest-environment-nuxt: 0.10.2(happy-dom@10.10.4)(vitest@0.33.0)(vue-router@4.2.4)(vue@3.3.4) transitivePeerDependencies: - '@vue/server-renderer' - happy-dom @@ -8519,7 +8478,7 @@ packages: resolution: {integrity: sha512-SZfJe/y9fbpeXZU+Kf7cSG2G7rnGP50hUYzCvcWyhp7hYzA3YXGthpkGfv6NSt0oo6QbcRyKwycg/6dpG5p8aw==} deprecated: Please migrate to https://github.com/unjs/magicast dependencies: - '@babel/parser': 7.22.7 + '@babel/parser': 7.22.10 '@types/estree': 1.0.1 recast: 0.22.0 dev: true @@ -8561,7 +8520,7 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} dependencies: - '@babel/code-frame': 7.22.5 + '@babel/code-frame': 7.22.10 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -8710,8 +8669,8 @@ packages: mlly: 1.4.0 pathe: 1.1.1 - /playwright-core@1.37.0: - resolution: {integrity: sha512-1c46jhTH/myQw6sesrcuHVtLoSNfJv8Pfy9t3rs6subY7kARv0HRw5PpyfPYPpPtQvBOmgbE6K+qgYUpj81LAA==} + /playwright-core@1.37.1: + resolution: {integrity: sha512-17EuQxlSIYCmEMwzMqusJ2ztDgJePjrbttaefgdsiqeLWidjYz9BxXaTaZWxH1J95SHGk6tjE+dwgWILJoUZfA==} engines: {node: '>=16'} hasBin: true dev: true @@ -8840,7 +8799,7 @@ packages: webpack: ^5.0.0 dependencies: cosmiconfig: 8.2.0 - jiti: 1.19.1 + jiti: 1.19.3 postcss: 8.4.28 semver: 7.5.4 webpack: 5.88.2 @@ -9603,7 +9562,7 @@ packages: rollup: 3.27.2 typescript: 5.1.6 optionalDependencies: - '@babel/code-frame': 7.22.5 + '@babel/code-frame': 7.22.10 dev: true /rollup-plugin-visualizer@5.9.2(rollup@3.27.2): @@ -9976,8 +9935,8 @@ packages: resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} engines: {node: '>= 0.8'} - /std-env@3.3.3: - resolution: {integrity: sha512-Rz6yejtVyWnVjC1RFvNmYL10kgjC49EOghxWn0RFqlCHGFpQx+Xe7yW3I4ceK1SGrWIGMjD5Kbue8W/udkbMJg==} + /std-env@3.4.0: + resolution: {integrity: sha512-YqHeQIIQ8r1VtUZOTOyjsAXAsjr369SplZ5rlQaiJTBsvodvPSCME7vuz8pnQltbQ0Cw0lyFo5Q8uyNwYQ58Xw==} /streamsearch@1.1.0: resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} @@ -10094,7 +10053,7 @@ packages: commander: 10.0.1 consola: 2.15.3 glob: 8.1.0 - jiti: 1.19.1 + jiti: 1.19.3 json5: 2.2.3 jsonc-parser: 3.2.0 lodash.template: 4.5.0 @@ -10275,11 +10234,6 @@ packages: engines: {node: '>=14.0.0'} dev: true - /tinypool@0.7.0: - resolution: {integrity: sha512-zSYNUlYSMhJ6Zdou4cJwo/p7w5nmAH17GRfU/ui3ctvjXFErXXkruT4MWW6poDeXgCaIBlGLrfU6TbTXxyGMww==} - engines: {node: '>=14.0.0'} - dev: true - /tinyspy@2.1.1: resolution: {integrity: sha512-XPJL2uSzcOyBMky6OFrusqWlzfFrXtE0hPuMgW8A2HmaqrPo4ZQHRN/V0QXN3FSjKxpsbRrFc5LI7KOwBsT1/w==} engines: {node: '>=14.0.0'} @@ -10481,7 +10435,7 @@ packages: esbuild: 0.17.19 globby: 13.2.2 hookable: 5.5.3 - jiti: 1.19.1 + jiti: 1.19.3 magic-string: 0.30.2 mkdist: 1.3.0(typescript@5.1.6) mlly: 1.4.0 @@ -10651,7 +10605,7 @@ packages: vue-router: optional: true dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 '@rollup/pluginutils': 5.0.2(rollup@3.27.2) '@vue-macros/common': 1.6.2(rollup@3.27.2)(vue@3.3.4) ast-walker-scope: 0.4.2 @@ -10741,11 +10695,11 @@ packages: resolution: {integrity: sha512-Egkr/s4zcMTEuulcIb7dgURS6QpN7DyqQYdf+jBtiaJvQ+eRsrtWUoX84SbvQWuLkXsOjM+8sJC9u6KoMK/U7Q==} hasBin: true dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/standalone': 7.22.9 - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 defu: 6.1.2 - jiti: 1.19.1 + jiti: 1.19.3 mri: 1.2.0 scule: 1.0.0 transitivePeerDependencies: @@ -10878,28 +10832,6 @@ packages: - supports-color - terser - /vite-node@0.34.1(@types/node@18.17.5): - resolution: {integrity: sha512-odAZAL9xFMuAg8aWd7nSPT+hU8u2r9gU3LRm9QKjxBEF2rRdWpMuqkrkjvyVQEdNFiBctqr2Gg4uJYizm5Le6w==} - engines: {node: '>=v14.18.0'} - hasBin: true - dependencies: - cac: 6.7.14 - debug: 4.3.4 - mlly: 1.4.0 - pathe: 1.1.1 - picocolors: 1.0.0 - vite: 4.4.9(@types/node@18.17.5) - transitivePeerDependencies: - - '@types/node' - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - /vite-plugin-checker@0.6.1(eslint@8.47.0)(typescript@5.1.6)(vite@4.4.9)(vue-tsc@1.8.8): resolution: {integrity: sha512-4fAiu3W/IwRJuJkkUZlWbLunSzsvijDf0eDN6g/MGh6BUK4SMclOTGbLJCPvdAcMOQvVmm8JyJeYLYd4//8CkA==} engines: {node: '>=14.16'} @@ -10931,7 +10863,7 @@ packages: vue-tsc: optional: true dependencies: - '@babel/code-frame': 7.22.5 + '@babel/code-frame': 7.22.10 ansi-escapes: 4.3.2 chalk: 4.1.2 chokidar: 3.5.3 @@ -10989,7 +10921,7 @@ packages: optionalDependencies: fsevents: 2.3.2 - /vitest-environment-nuxt@0.10.2(happy-dom@10.10.0)(vitest@0.33.0)(vue-router@4.2.4)(vue@3.3.4): + /vitest-environment-nuxt@0.10.2(happy-dom@10.10.4)(vitest@0.33.0)(vue-router@4.2.4)(vue@3.3.4): resolution: {integrity: sha512-CgOS0KW0zhyDVvfHbq+CbkCa/sA2Ui/SMrp0W0vDgzhaUTCuo7WtJ211HwYqGhj3YvSRopOByRPkUDFQjr3wiw==} peerDependencies: happy-dom: ^9.10.9 || ^10.0.0 @@ -11008,11 +10940,11 @@ packages: defu: 6.1.2 estree-walker: 3.0.3 h3: 1.8.0 - happy-dom: 10.10.0 + happy-dom: 10.10.4 magic-string: 0.30.2 ofetch: 1.1.1 unenv: 1.7.1 - vitest: 0.33.0(happy-dom@10.10.0) + vitest: 0.33.0(happy-dom@10.10.4) vue: 3.3.4 vue-router: 4.2.4(vue@3.3.4) whatwg-fetch: 3.6.17 @@ -11020,7 +10952,7 @@ packages: - '@vue/server-renderer' dev: true - /vitest@0.33.0(happy-dom@10.10.0): + /vitest@0.33.0(happy-dom@10.10.4): resolution: {integrity: sha512-1CxaugJ50xskkQ0e969R/hW47za4YXDUfWJDxip1hwbnhUjYolpfUn2AMOulqG/Dtd9WYAtkHmM/m3yKVrEejQ==} engines: {node: '>=v14.18.0'} hasBin: true @@ -11064,12 +10996,12 @@ packages: cac: 6.7.14 chai: 4.3.7 debug: 4.3.4 - happy-dom: 10.10.0 + happy-dom: 10.10.4 local-pkg: 0.4.3 magic-string: 0.30.2 pathe: 1.1.1 picocolors: 1.0.0 - std-env: 3.3.3 + std-env: 3.4.0 strip-literal: 1.3.0 tinybench: 2.5.0 tinypool: 0.6.0 @@ -11086,72 +11018,6 @@ packages: - terser dev: true - /vitest@0.34.1(happy-dom@10.10.0): - resolution: {integrity: sha512-G1PzuBEq9A75XSU88yO5G4vPT20UovbC/2osB2KEuV/FisSIIsw7m5y2xMdB7RsAGHAfg2lPmp2qKr3KWliVlQ==} - engines: {node: '>=v14.18.0'} - hasBin: true - peerDependencies: - '@edge-runtime/vm': '*' - '@vitest/browser': '*' - '@vitest/ui': '*' - happy-dom: '*' - jsdom: '*' - playwright: '*' - safaridriver: '*' - webdriverio: '*' - peerDependenciesMeta: - '@edge-runtime/vm': - optional: true - '@vitest/browser': - optional: true - '@vitest/ui': - optional: true - happy-dom: - optional: true - jsdom: - optional: true - playwright: - optional: true - safaridriver: - optional: true - webdriverio: - optional: true - dependencies: - '@types/chai': 4.3.5 - '@types/chai-subset': 1.3.3 - '@types/node': 18.17.5 - '@vitest/expect': 0.34.1 - '@vitest/runner': 0.34.1 - '@vitest/snapshot': 0.34.1 - '@vitest/spy': 0.34.1 - '@vitest/utils': 0.34.1 - acorn: 8.10.0 - acorn-walk: 8.2.0 - cac: 6.7.14 - chai: 4.3.7 - debug: 4.3.4 - happy-dom: 10.10.0 - local-pkg: 0.4.3 - magic-string: 0.30.2 - pathe: 1.1.1 - picocolors: 1.0.0 - std-env: 3.3.3 - strip-literal: 1.3.0 - tinybench: 2.5.0 - tinypool: 0.7.0 - vite: 4.4.9(@types/node@18.17.5) - vite-node: 0.34.1(@types/node@18.17.5) - why-is-node-running: 2.2.2 - transitivePeerDependencies: - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - /void-elements@3.1.0: resolution: {integrity: sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==} engines: {node: '>=0.10.0'} @@ -11448,7 +11314,7 @@ packages: chalk: 4.1.2 consola: 2.15.3 pretty-time: 1.1.0 - std-env: 3.3.3 + std-env: 3.4.0 webpack: 5.88.2 dev: false @@ -11520,8 +11386,8 @@ packages: resolution: {integrity: sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w==} engines: {node: '>= 10.0.0'} dependencies: - '@babel/parser': 7.22.7 - '@babel/types': 7.22.5 + '@babel/parser': 7.22.10 + '@babel/types': 7.22.10 assert-never: 1.2.1 babel-walk: 3.0.0-canary-5 dev: false diff --git a/test/bundle.test.ts b/test/bundle.test.ts index 3cd19a653c1b..2ce5d99d2256 100644 --- a/test/bundle.test.ts +++ b/test/bundle.test.ts @@ -35,7 +35,7 @@ describe.skipIf(process.env.SKIP_BUNDLE_SIZE === 'true' || process.env.ECOSYSTEM expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot('"64.6k"') const modules = await analyzeSizes('node_modules/**/*', serverDir) - expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"2352k"') + expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"2348k"') const packages = modules.files .filter(m => m.endsWith('package.json')) diff --git a/test/fixtures/basic-types/package.json b/test/fixtures/basic-types/package.json index 560bf99f7214..a286c1ef0db3 100644 --- a/test/fixtures/basic-types/package.json +++ b/test/fixtures/basic-types/package.json @@ -10,7 +10,7 @@ }, "devDependencies": { "ofetch": "latest", - "vitest": "latest", + "vitest": "0.33.0", "vue-router": "latest", "vue": "latest" } From 09971c62a0d66e44f30329e1c581a7f271b00e62 Mon Sep 17 00:00:00 2001 From: Julien Huang Date: Sat, 19 Aug 2023 16:37:12 +0200 Subject: [PATCH 113/147] docs: mention `NuxtIsland` in server only components docs (#22685) --- docs/2.guide/2.directory-structure/1.components.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/2.guide/2.directory-structure/1.components.md b/docs/2.guide/2.directory-structure/1.components.md index 89c7db94b288..70fab5e8c877 100644 --- a/docs/2.guide/2.directory-structure/1.components.md +++ b/docs/2.guide/2.directory-structure/1.components.md @@ -312,6 +312,8 @@ Now you can register server-only components with the `.server` suffix and use th ``` +Server-only components use `` under the hood, meaning that `lazy` prop and `#fallback` slot are both passed down to ``. + ::alert{type=info} Slots can be interactive and are wrapped within a `
` with `display: contents;` :: From 7b35a1fe4faed49fffe3427a0db4aabae138f4ae Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 21 Aug 2023 09:25:51 +0200 Subject: [PATCH 114/147] chore(deps): update all non-major dependencies (main) (#22705) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 4 +- packages/nuxt/package.json | 6 +- packages/schema/package.json | 4 +- packages/vite/package.json | 2 +- packages/webpack/package.json | 2 +- pnpm-lock.yaml | 230 ++++++++++++++++++++++------------ 6 files changed, 157 insertions(+), 91 deletions(-) diff --git a/package.json b/package.json index ed78ff9195c1..52455bd1cf2b 100644 --- a/package.json +++ b/package.json @@ -45,7 +45,7 @@ "@nuxt/webpack-builder": "workspace:*", "@nuxtjs/eslint-config-typescript": "12.0.0", "@types/fs-extra": "11.0.1", - "@types/node": "18.17.5", + "@types/node": "18.17.6", "@types/semver": "7.5.0", "case-police": "0.6.1", "chalk": "5.3.0", @@ -54,7 +54,7 @@ "consola": "3.2.3", "devalue": "4.3.2", "eslint": "8.47.0", - "eslint-plugin-import": "2.28.0", + "eslint-plugin-import": "2.28.1", "eslint-plugin-jsdoc": "41.1.2", "eslint-plugin-no-only-tests": "3.1.0", "execa": "7.2.0", diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index 4858e5e3309e..c3cf5a807f40 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -58,9 +58,9 @@ "@nuxt/telemetry": "^2.4.1", "@nuxt/ui-templates": "^1.3.1", "@nuxt/vite-builder": "workspace:../vite", - "@unhead/dom": "^1.3.4", - "@unhead/ssr": "^1.3.4", - "@unhead/vue": "^1.3.4", + "@unhead/dom": "^1.3.5", + "@unhead/ssr": "^1.3.5", + "@unhead/vue": "^1.3.5", "@vue/shared": "^3.3.4", "acorn": "8.10.0", "c12": "^1.4.2", diff --git a/packages/schema/package.json b/packages/schema/package.json index 69bd3b349bd7..c05afaefc7e7 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -30,11 +30,11 @@ "@types/file-loader": "5.0.1", "@types/pug": "2.0.6", "@types/sass-loader": "8.0.5", - "@unhead/schema": "1.3.4", + "@unhead/schema": "1.3.5", "@vitejs/plugin-vue": "4.3.1", "@vitejs/plugin-vue-jsx": "3.0.2", "@vue/compiler-core": "3.3.4", - "esbuild-loader": "4.0.0", + "esbuild-loader": "4.0.1", "h3": "1.8.0", "ignore": "5.2.4", "nitropack": "2.5.2", diff --git a/packages/vite/package.json b/packages/vite/package.json index 7bcd7c2aeed9..0b174d10a36c 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -59,7 +59,7 @@ "unplugin": "^1.4.0", "vite": "^4.4.9", "vite-node": "^0.33.0", - "vite-plugin-checker": "^0.6.1", + "vite-plugin-checker": "^0.6.2", "vue-bundle-renderer": "^2.0.0" }, "peerDependencies": { diff --git a/packages/webpack/package.json b/packages/webpack/package.json index 67313fff0c06..99b154c49aef 100644 --- a/packages/webpack/package.json +++ b/packages/webpack/package.json @@ -26,7 +26,7 @@ "css-minimizer-webpack-plugin": "^5.0.1", "cssnano": "^6.0.1", "defu": "^6.1.2", - "esbuild-loader": "^4.0.0", + "esbuild-loader": "^4.0.1", "escape-string-regexp": "^5.0.0", "estree-walker": "^3.0.3", "file-loader": "^6.2.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5ee3c22e6bc5..f3304391ca6d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -36,8 +36,8 @@ importers: specifier: 11.0.1 version: 11.0.1 '@types/node': - specifier: 18.17.5 - version: 18.17.5 + specifier: 18.17.6 + version: 18.17.6 '@types/semver': specifier: 7.5.0 version: 7.5.0 @@ -63,8 +63,8 @@ importers: specifier: 8.47.0 version: 8.47.0 eslint-plugin-import: - specifier: 2.28.0 - version: 2.28.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.47.0) + specifier: 2.28.1 + version: 2.28.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.47.0) eslint-plugin-jsdoc: specifier: 41.1.2 version: 41.1.2(eslint@8.47.0) @@ -130,7 +130,7 @@ importers: version: 1.2.0 vite: specifier: 4.4.9 - version: 4.4.9(@types/node@18.17.5) + version: 4.4.9(@types/node@18.17.6) vitest: specifier: 0.33.0 version: 0.33.0(happy-dom@10.10.4) @@ -233,7 +233,7 @@ importers: version: 1.2.1 vite: specifier: 4.4.9 - version: 4.4.9(@types/node@18.17.5) + version: 4.4.9(@types/node@18.17.6) vitest: specifier: 0.33.0 version: 0.33.0(happy-dom@10.10.4) @@ -368,14 +368,14 @@ importers: specifier: ^14.18.0 || >=16.10.0 version: 18.17.5 '@unhead/dom': - specifier: ^1.3.4 - version: 1.3.4 + specifier: ^1.3.5 + version: 1.3.5 '@unhead/ssr': - specifier: ^1.3.4 - version: 1.3.4 + specifier: ^1.3.5 + version: 1.3.5 '@unhead/vue': - specifier: ^1.3.4 - version: 1.3.4(vue@3.3.4) + specifier: ^1.3.5 + version: 1.3.5(vue@3.3.4) '@vue/shared': specifier: ^3.3.4 version: 3.3.4 @@ -583,8 +583,8 @@ importers: specifier: 8.0.5 version: 8.0.5 '@unhead/schema': - specifier: 1.3.4 - version: 1.3.4 + specifier: 1.3.5 + version: 1.3.5 '@vitejs/plugin-vue': specifier: 4.3.1 version: 4.3.1(vite@4.4.9)(vue@3.3.4) @@ -595,8 +595,8 @@ importers: specifier: 3.3.4 version: 3.3.4 esbuild-loader: - specifier: 4.0.0 - version: 4.0.0(webpack@5.88.2) + specifier: 4.0.1 + version: 4.0.1(webpack@5.88.2) h3: specifier: 1.8.0 version: 1.8.0 @@ -614,7 +614,7 @@ importers: version: 2.3.1 vite: specifier: 4.4.9 - version: 4.4.9(@types/node@18.17.5) + version: 4.4.9(@types/node@18.17.6) vue: specifier: 3.3.4 version: 3.3.4 @@ -777,13 +777,13 @@ importers: version: 1.4.0 vite: specifier: 4.4.9 - version: 4.4.9(@types/node@18.17.5) + version: 4.4.9(@types/node@18.17.6) vite-node: specifier: ^0.33.0 - version: 0.33.0(@types/node@18.17.5) + version: 0.33.0(@types/node@18.17.6) vite-plugin-checker: - specifier: ^0.6.1 - version: 0.6.1(eslint@8.47.0)(typescript@5.1.6)(vite@4.4.9)(vue-tsc@1.8.8) + specifier: ^0.6.2 + version: 0.6.2(eslint@8.47.0)(typescript@5.1.6)(vite@4.4.9)(vue-tsc@1.8.8) vue-bundle-renderer: specifier: ^2.0.0 version: 2.0.0 @@ -831,8 +831,8 @@ importers: specifier: ^6.1.2 version: 6.1.2 esbuild-loader: - specifier: ^4.0.0 - version: 4.0.0(webpack@5.88.2) + specifier: ^4.0.1 + version: 4.0.1(webpack@5.88.2) escape-string-regexp: specifier: ^5.0.0 version: 5.0.0 @@ -2124,7 +2124,7 @@ packages: dependencies: '@jest/fake-timers': 29.6.2 '@jest/types': 29.6.1 - '@types/node': 18.17.5 + '@types/node': 18.17.6 jest-mock: 29.6.2 dev: true @@ -2151,7 +2151,7 @@ packages: dependencies: '@jest/types': 29.6.1 '@sinonjs/fake-timers': 10.3.0 - '@types/node': 18.17.5 + '@types/node': 18.17.6 jest-message-util: 29.6.2 jest-mock: 29.6.2 jest-util: 29.6.2 @@ -2205,7 +2205,7 @@ packages: '@jest/schemas': 29.6.0 '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 18.17.5 + '@types/node': 18.17.6 '@types/yargs': 17.0.24 chalk: 4.1.2 @@ -2500,8 +2500,8 @@ packages: '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.47.0)(typescript@5.1.6) '@typescript-eslint/parser': 5.62.0(eslint@8.47.0)(typescript@5.1.6) eslint: 8.47.0 - eslint-import-resolver-typescript: 3.5.5(@typescript-eslint/parser@5.62.0)(eslint-plugin-import@2.28.0)(eslint@8.47.0) - eslint-plugin-import: 2.28.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.47.0) + eslint-import-resolver-typescript: 3.5.5(@typescript-eslint/parser@5.62.0)(eslint-plugin-import@2.28.1)(eslint@8.47.0) + eslint-plugin-import: 2.28.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.47.0) eslint-plugin-vue: 9.16.1(eslint@8.47.0) transitivePeerDependencies: - eslint-import-resolver-node @@ -2516,8 +2516,8 @@ packages: eslint: ^8.23.0 dependencies: eslint: 8.47.0 - eslint-config-standard: 17.1.0(eslint-plugin-import@2.28.0)(eslint-plugin-n@15.7.0)(eslint-plugin-promise@6.1.1)(eslint@8.47.0) - eslint-plugin-import: 2.28.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.47.0) + eslint-config-standard: 17.1.0(eslint-plugin-import@2.28.1)(eslint-plugin-n@15.7.0)(eslint-plugin-promise@6.1.1)(eslint@8.47.0) + eslint-plugin-import: 2.28.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.47.0) eslint-plugin-n: 15.7.0(eslint@8.47.0) eslint-plugin-node: 11.1.0(eslint@8.47.0) eslint-plugin-promise: 6.1.1(eslint@8.47.0) @@ -2855,7 +2855,7 @@ packages: /@types/connect@3.4.35: resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} dependencies: - '@types/node': 18.17.5 + '@types/node': 18.17.6 dev: true /@types/debug@4.1.8: @@ -2899,7 +2899,7 @@ packages: /@types/graceful-fs@4.1.6: resolution: {integrity: sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==} dependencies: - '@types/node': 18.17.5 + '@types/node': 18.17.6 dev: true /@types/hash-sum@1.0.0: @@ -2915,7 +2915,7 @@ packages: /@types/http-proxy@1.17.11: resolution: {integrity: sha512-HC8G7c1WmaF2ekqpnFq626xd3Zz0uvaqFmBJNRZCGEZCXkvSdJoNFn/8Ygbd9fKNQj8UzLdCETaI0UWPAjK7IA==} dependencies: - '@types/node': 18.17.5 + '@types/node': 18.17.6 /@types/istanbul-lib-coverage@2.0.4: resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} @@ -2940,7 +2940,7 @@ packages: /@types/jsonfile@6.1.1: resolution: {integrity: sha512-GSgiRCVeapDN+3pqA35IkQwasaCh/0YFH5dEF6S88iDvEn901DjOeH3/QPY+XYP1DFzDZPvIvfeEgk+7br5png==} dependencies: - '@types/node': 18.17.5 + '@types/node': 18.17.6 dev: true /@types/lodash-es@4.17.8: @@ -2970,12 +2970,15 @@ packages: /@types/node-sass@4.11.3: resolution: {integrity: sha512-wXPCn3t9uu5rR4zXNSLasZHQMuRzUKBsdi4MsgT8uq4Lp1gQQo+T2G23tGj4SSgDHeNBle6vGseZtM2XV/X9bw==} dependencies: - '@types/node': 18.17.5 + '@types/node': 18.17.6 dev: true /@types/node@18.17.5: resolution: {integrity: sha512-xNbS75FxH6P4UXTPUJp/zNPq6/xsfdJKussCWNOnz4aULWIRwMgP1LgaB5RiBnMX1DPCYenuqGZfnIAx5mbFLA==} + /@types/node@18.17.6: + resolution: {integrity: sha512-fGmT/P7z7ecA6bv/ia5DlaWCH4YeZvAQMNpUhrJjtAhOhZfoxS1VLUgU2pdk63efSjQaOJWdXMuAJsws+8I6dg==} + /@types/normalize-package-data@2.4.1: resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} dev: true @@ -3082,7 +3085,7 @@ packages: /@types/webpack-sources@3.2.0: resolution: {integrity: sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg==} dependencies: - '@types/node': 18.17.5 + '@types/node': 18.17.6 '@types/source-list-map': 0.1.2 source-map: 0.7.4 dev: true @@ -3096,7 +3099,7 @@ packages: /@types/webpack@4.41.33: resolution: {integrity: sha512-PPajH64Ft2vWevkerISMtnZ8rTs4YmRbs+23c402J0INmxDKCrhZNvwZYtzx96gY2wAtXdrK1BS2fiC8MlLr3g==} dependencies: - '@types/node': 18.17.5 + '@types/node': 18.17.6 '@types/tapable': 1.0.8 '@types/uglify-js': 3.17.1 '@types/webpack-sources': 3.2.0 @@ -3242,41 +3245,41 @@ packages: eslint-visitor-keys: 3.4.3 dev: true - /@unhead/dom@1.3.4: - resolution: {integrity: sha512-wQK31cqjcZHqmMLI0PEDbzigp0KwQjG4P/H8BybcARvGQoaWdgZkiOu+iYmW0sl7e5V08CBL+PXiyiJ1TU6K3Q==} + /@unhead/dom@1.3.5: + resolution: {integrity: sha512-WwwiJ85VugfvCgydizuOXlGGbVUY+JLOB1Ls7gEqJO2WIMGSKYA+5ILn17UmCUXGBVWpLdELbedjkTmxIdXPJw==} dependencies: - '@unhead/schema': 1.3.4 - '@unhead/shared': 1.3.4 + '@unhead/schema': 1.3.5 + '@unhead/shared': 1.3.5 dev: false - /@unhead/schema@1.3.4: - resolution: {integrity: sha512-9a/5l6YpyW36ud0AKRkHzIVc9mWBxFqvE/ASFLjef2trmHhIVNewu5hjegotAO3uNSxC32AX4FoeJBgTDpYmHA==} + /@unhead/schema@1.3.5: + resolution: {integrity: sha512-K1ubX/0pFGhjhiPRBemWl94ca6fyZYAQP5DUSwyW+VMqjWqzlE5rdjtUU0vsmHQOaFRFUCpTX4w4dtHdv3ut+Q==} dependencies: hookable: 5.5.3 zhead: 2.0.10 - /@unhead/shared@1.3.4: - resolution: {integrity: sha512-cBi6gIdSxl5kNrVWJS3zTXsyTeF6JQmub2SQEWzLnCy/+S/1K0pmrbj5d1B01AKBVKgJ4UVS+AaAfKfXKyv4tg==} + /@unhead/shared@1.3.5: + resolution: {integrity: sha512-r5diAXP9qxhZz3Nvxjk69dkhsdduvW+cPnOdzPWhpbCk1lHugGz+if09AX+M7NoAlLJQBmqFiFkTZS/JrtTZhg==} dependencies: - '@unhead/schema': 1.3.4 + '@unhead/schema': 1.3.5 dev: false - /@unhead/ssr@1.3.4: - resolution: {integrity: sha512-aovNY0LPMZbOSJ46arLIV9y7kj6agqFnI1HtK+mupbGgTkEIwQhlrL1Xm8P8SP0HijR4j4Wkv9qOErMeVmzlUg==} + /@unhead/ssr@1.3.5: + resolution: {integrity: sha512-5akS3enT8kZxxaL8PPJh7uK/vCfJ8SI7A6JO8RvF9SOUfv3pwqvw5GboKiAgzEbIf1oDzka/vDGaLD8TvtJSCw==} dependencies: - '@unhead/schema': 1.3.4 - '@unhead/shared': 1.3.4 + '@unhead/schema': 1.3.5 + '@unhead/shared': 1.3.5 dev: false - /@unhead/vue@1.3.4(vue@3.3.4): - resolution: {integrity: sha512-+LIQ/2W2Kyo0+Z3OvdpOh54tx+LOVURt9dbudHdol2wpioZ6JN6VJlOBBaesIrHqj48fSQP10GdaZDqrIkNUgw==} + /@unhead/vue@1.3.5(vue@3.3.4): + resolution: {integrity: sha512-9i5dvtk27BFqNrrTLv1A9hHfbAaKDn6NuzMI8945Js41A/uEs0kVAmvdtVMCL9s3dy6jWqme/Th4JUzVS5tl+g==} peerDependencies: vue: '>=2.7 || >=3' dependencies: - '@unhead/schema': 1.3.4 - '@unhead/shared': 1.3.4 + '@unhead/schema': 1.3.5 + '@unhead/shared': 1.3.5 hookable: 5.5.3 - unhead: 1.3.4 + unhead: 1.3.5 vue: 3.3.4 dev: false @@ -3314,7 +3317,7 @@ packages: '@babel/core': 7.22.10 '@babel/plugin-transform-typescript': 7.22.10(@babel/core@7.22.10) '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.22.10) - vite: 4.4.9(@types/node@18.17.5) + vite: 4.4.9(@types/node@18.17.6) vue: 3.3.4 transitivePeerDependencies: - supports-color @@ -5285,13 +5288,13 @@ packages: resolution: {integrity: sha512-MEl9uirslVwqQU369iHNWZXsI8yaZYGg/D65aOgZkeyFJwHYSxilf7rQzXKI7DdDuBPrBXbfk3sl9hJhmd5AUw==} dev: true - /esbuild-loader@4.0.0(webpack@5.88.2): - resolution: {integrity: sha512-J7TJWyHV2YHmflZaXLZ0Vf4wYmixDyGTw26bt4Ok+XOqSyYA4VWAVt2zJGqIfCA7TwZRDKN8hvus4akN2yAbmA==} + /esbuild-loader@4.0.1(webpack@5.88.2): + resolution: {integrity: sha512-y65bkn+qJX+FEXQESLL3cv8c1KSjVRXE0+TDT4bBBYxqaOcq4AidQL03bgHqnDgS+HZBhqtEPdM9tWk36/cWjQ==} peerDependencies: webpack: ^4.40.0 || ^5.0.0 dependencies: esbuild: 0.19.2 - get-tsconfig: 4.6.2 + get-tsconfig: 4.7.0 loader-utils: 2.0.4 webpack: 5.88.2 webpack-sources: 1.4.3 @@ -5408,7 +5411,7 @@ packages: resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} engines: {node: '>=12'} - /eslint-config-standard@17.1.0(eslint-plugin-import@2.28.0)(eslint-plugin-n@15.7.0)(eslint-plugin-promise@6.1.1)(eslint@8.47.0): + /eslint-config-standard@17.1.0(eslint-plugin-import@2.28.1)(eslint-plugin-n@15.7.0)(eslint-plugin-promise@6.1.1)(eslint@8.47.0): resolution: {integrity: sha512-IwHwmaBNtDK4zDHQukFDW5u/aTb8+meQWZvNFWkiGmbWjD6bqyuSSBxxXKkCftCUzc1zwCH2m/baCNDLGmuO5Q==} engines: {node: '>=12.0.0'} peerDependencies: @@ -5418,7 +5421,7 @@ packages: eslint-plugin-promise: ^6.0.0 dependencies: eslint: 8.47.0 - eslint-plugin-import: 2.28.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.47.0) + eslint-plugin-import: 2.28.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.47.0) eslint-plugin-n: 15.7.0(eslint@8.47.0) eslint-plugin-promise: 6.1.1(eslint@8.47.0) dev: true @@ -5433,7 +5436,7 @@ packages: - supports-color dev: true - /eslint-import-resolver-typescript@3.5.5(@typescript-eslint/parser@5.62.0)(eslint-plugin-import@2.28.0)(eslint@8.47.0): + /eslint-import-resolver-typescript@3.5.5(@typescript-eslint/parser@5.62.0)(eslint-plugin-import@2.28.1)(eslint@8.47.0): resolution: {integrity: sha512-TdJqPHs2lW5J9Zpe17DZNQuDnox4xo2o+0tE7Pggain9Rbc19ik8kFtXdxZ250FVx2kF4vlt2RSf4qlUpG7bhw==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -5444,7 +5447,7 @@ packages: enhanced-resolve: 5.15.0 eslint: 8.47.0 eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.8)(eslint-import-resolver-typescript@3.5.5)(eslint@8.47.0) - eslint-plugin-import: 2.28.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.47.0) + eslint-plugin-import: 2.28.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.47.0) get-tsconfig: 4.6.2 globby: 13.2.2 is-core-module: 2.13.0 @@ -5482,7 +5485,7 @@ packages: debug: 3.2.7 eslint: 8.47.0 eslint-import-resolver-node: 0.3.8 - eslint-import-resolver-typescript: 3.5.5(@typescript-eslint/parser@5.62.0)(eslint-plugin-import@2.28.0)(eslint@8.47.0) + eslint-import-resolver-typescript: 3.5.5(@typescript-eslint/parser@5.62.0)(eslint-plugin-import@2.28.1)(eslint@8.47.0) transitivePeerDependencies: - supports-color dev: true @@ -5509,8 +5512,8 @@ packages: regexpp: 3.2.0 dev: true - /eslint-plugin-import@2.28.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.47.0): - resolution: {integrity: sha512-B8s/n+ZluN7sxj9eUf7/pRFERX0r5bnFA2dCaLHy2ZeaQEAz0k+ZZkFWRFHJAqxfxQDx6KLv9LeIki7cFdwW+Q==} + /eslint-plugin-import@2.28.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.47.0): + resolution: {integrity: sha512-9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A==} engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' @@ -5536,7 +5539,6 @@ packages: object.fromentries: 2.0.6 object.groupby: 1.0.0 object.values: 1.1.6 - resolve: 1.22.4 semver: 6.3.1 tsconfig-paths: 3.14.2 transitivePeerDependencies: @@ -5831,7 +5833,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/expect-utils': 29.6.2 - '@types/node': 18.17.5 + '@types/node': 18.17.6 jest-get-type: 29.4.3 jest-matcher-utils: 29.6.2 jest-message-util: 29.6.2 @@ -6141,6 +6143,12 @@ packages: resolution: {integrity: sha512-E5XrT4CbbXcXWy+1jChlZmrmCwd5KGx502kDCXJJ7y898TtWW9FwoG5HfOLVRKmlmDGkWN2HM9Ho+/Y8F0sJDg==} dependencies: resolve-pkg-maps: 1.0.0 + dev: true + + /get-tsconfig@4.7.0: + resolution: {integrity: sha512-pmjiZ7xtB8URYm74PlGJozDNyhvsVLUcpBa8DZBG3bWHwaHa9bPiRpiSfovw+fjhwONSCWKRyk+JQHEGZmMrzw==} + dependencies: + resolve-pkg-maps: 1.0.0 /giget@1.1.2: resolution: {integrity: sha512-HsLoS07HiQ5oqvObOI+Qb2tyZH4Gj5nYGfF9qQcZNrPw+uEFhdXtgJr01aO2pWadGHucajYDLxxbtQkm97ON2A==} @@ -6929,7 +6937,7 @@ packages: dependencies: '@jest/types': 29.6.1 '@types/graceful-fs': 4.1.6 - '@types/node': 18.17.5 + '@types/node': 18.17.6 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -6972,7 +6980,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.1 - '@types/node': 18.17.5 + '@types/node': 18.17.6 jest-util: 29.6.2 dev: true @@ -7014,7 +7022,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.1 - '@types/node': 18.17.5 + '@types/node': 18.17.6 chalk: 4.1.2 ci-info: 3.8.0 graceful-fs: 4.2.11 @@ -7024,7 +7032,7 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 18.17.5 + '@types/node': 18.17.6 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -7032,7 +7040,7 @@ packages: resolution: {integrity: sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@types/node': 18.17.5 + '@types/node': 18.17.6 jest-util: 29.6.2 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -8281,7 +8289,7 @@ packages: get-port-please: 3.0.1 perfect-debounce: 1.0.0 std-env: 3.4.0 - vite: 4.4.9(@types/node@18.17.5) + vite: 4.4.9(@types/node@18.17.6) vitest: 0.33.0(happy-dom@10.10.4) vitest-environment-nuxt: 0.10.2(happy-dom@10.10.4)(vitest@0.33.0)(vue-router@4.2.4)(vue@3.3.4) transitivePeerDependencies: @@ -10479,12 +10487,12 @@ packages: node-fetch-native: 1.2.0 pathe: 1.1.1 - /unhead@1.3.4: - resolution: {integrity: sha512-cSl5Xsmb99JzV0lE0D9TQxU9sU2vu3ZMdeIBy48Y0J6XVVY4WXVAyhbeSzhLVRaBfjYn7O43BGsgN7TjxSCSrg==} + /unhead@1.3.5: + resolution: {integrity: sha512-T7WBnrRvpvYw4PntaSfz45atpr83ZlZvZ5vULhbMZtiv/wlFYuknd/wWT8+EPfCJjVStyJX4MZ1DH8ux0h3QIQ==} dependencies: - '@unhead/dom': 1.3.4 - '@unhead/schema': 1.3.4 - '@unhead/shared': 1.3.4 + '@unhead/dom': 1.3.5 + '@unhead/schema': 1.3.5 + '@unhead/shared': 1.3.5 hookable: 5.5.3 dev: false @@ -10831,9 +10839,32 @@ packages: - sugarss - supports-color - terser + dev: true - /vite-plugin-checker@0.6.1(eslint@8.47.0)(typescript@5.1.6)(vite@4.4.9)(vue-tsc@1.8.8): - resolution: {integrity: sha512-4fAiu3W/IwRJuJkkUZlWbLunSzsvijDf0eDN6g/MGh6BUK4SMclOTGbLJCPvdAcMOQvVmm8JyJeYLYd4//8CkA==} + /vite-node@0.33.0(@types/node@18.17.6): + resolution: {integrity: sha512-19FpHYbwWWxDr73ruNahC+vtEdza52kA90Qb3La98yZ0xULqV8A5JLNPUff0f5zID4984tW7l3DH2przTJUZSw==} + engines: {node: '>=v14.18.0'} + hasBin: true + dependencies: + cac: 6.7.14 + debug: 4.3.4 + mlly: 1.4.0 + pathe: 1.1.1 + picocolors: 1.0.0 + vite: 4.4.9(@types/node@18.17.6) + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: false + + /vite-plugin-checker@0.6.2(eslint@8.47.0)(typescript@5.1.6)(vite@4.4.9)(vue-tsc@1.8.8): + resolution: {integrity: sha512-YvvvQ+IjY09BX7Ab+1pjxkELQsBd4rPhWNw8WLBeFVxu/E7O+n6VYAqNsKdK/a2luFlX/sMpoWdGFfg4HvwdJQ==} engines: {node: '>=14.16'} peerDependencies: eslint: '>=7' @@ -10878,7 +10909,7 @@ packages: strip-ansi: 6.0.1 tiny-invariant: 1.3.1 typescript: 5.1.6 - vite: 4.4.9(@types/node@18.17.5) + vite: 4.4.9(@types/node@18.17.6) vscode-languageclient: 7.0.0 vscode-languageserver: 7.0.0 vscode-languageserver-textdocument: 1.0.8 @@ -10921,6 +10952,41 @@ packages: optionalDependencies: fsevents: 2.3.2 + /vite@4.4.9(@types/node@18.17.6): + resolution: {integrity: sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==} + engines: {node: ^14.18.0 || >=16.0.0} + hasBin: true + peerDependencies: + '@types/node': '>= 14' + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 18.17.6 + esbuild: 0.18.20 + postcss: 8.4.28 + rollup: 3.27.2 + optionalDependencies: + fsevents: 2.3.2 + /vitest-environment-nuxt@0.10.2(happy-dom@10.10.4)(vitest@0.33.0)(vue-router@4.2.4)(vue@3.3.4): resolution: {integrity: sha512-CgOS0KW0zhyDVvfHbq+CbkCa/sA2Ui/SMrp0W0vDgzhaUTCuo7WtJ211HwYqGhj3YvSRopOByRPkUDFQjr3wiw==} peerDependencies: From a2f2a4748e30dfa1f9141bd0aad6b008efdae9df Mon Sep 17 00:00:00 2001 From: pooya parsa Date: Wed, 23 Aug 2023 09:30:53 +0200 Subject: [PATCH 115/147] feat(nuxt): upgrade nitro + reduce node-specific usage (#22515) Co-authored-by: Heb --- .../2.guide/2.directory-structure/1.server.md | 2 +- docs/3.api/1.composables/use-request-event.md | 2 +- package.json | 2 +- packages/kit/package.json | 2 +- packages/nuxi/package.json | 2 +- packages/nuxi/src/commands/analyze.ts | 4 +- packages/nuxt/package.json | 2 +- packages/nuxt/src/app/composables/cookie.ts | 4 +- packages/nuxt/src/app/composables/ssr.ts | 5 +- packages/nuxt/src/core/nitro.ts | 6 +- packages/nuxt/src/core/runtime/nitro/error.ts | 14 +- .../nuxt/src/core/runtime/nitro/renderer.ts | 38 +- packages/schema/package.json | 2 +- packages/vite/src/client.ts | 9 +- packages/vite/src/vite-node.ts | 2 +- pnpm-lock.yaml | 582 ++++++++++-------- test/bundle.test.ts | 53 +- 17 files changed, 367 insertions(+), 364 deletions(-) diff --git a/docs/2.guide/2.directory-structure/1.server.md b/docs/2.guide/2.directory-structure/1.server.md index 55b10d57473e..68e418f4ff99 100644 --- a/docs/2.guide/2.directory-structure/1.server.md +++ b/docs/2.guide/2.directory-structure/1.server.md @@ -14,7 +14,7 @@ Nuxt automatically scans files inside these directories to register API and serv Each file should export a default function defined with `defineEventHandler()` or `eventHandler()` (alias). -The handler can directly return JSON data, a `Promise` or use `event.node.res.end()` to send a response. +The handler can directly return JSON data, a `Promise`, or use `event.node.res.end()` to send a response. **Example:** Create the `/api/hello` route with `server/api/hello.ts` file: diff --git a/docs/3.api/1.composables/use-request-event.md b/docs/3.api/1.composables/use-request-event.md index bb71f4e75fcd..68ddeeec8511 100644 --- a/docs/3.api/1.composables/use-request-event.md +++ b/docs/3.api/1.composables/use-request-event.md @@ -12,7 +12,7 @@ Within your pages, components, and plugins you can use `useRequestEvent` to acce const event = useRequestEvent() // Get the URL -const url = event.node.req.url +const url = event.path ``` ::alert{icon=👉} diff --git a/package.json b/package.json index 52455bd1cf2b..d6fc6ed6dd33 100644 --- a/package.json +++ b/package.json @@ -64,7 +64,7 @@ "happy-dom": "10.10.4", "jiti": "1.19.3", "markdownlint-cli": "^0.33.0", - "nitropack": "2.5.2", + "nitropack": "2.6.0", "nuxi": "workspace:*", "nuxt": "workspace:*", "nuxt-vitest": "0.10.2", diff --git a/packages/kit/package.json b/packages/kit/package.json index e6f552bf9066..a81789ecafc7 100644 --- a/packages/kit/package.json +++ b/packages/kit/package.json @@ -44,7 +44,7 @@ "@types/lodash-es": "4.17.8", "@types/semver": "7.5.0", "lodash-es": "4.17.21", - "nitropack": "2.5.2", + "nitropack": "2.6.0", "unbuild": "latest", "vite": "4.4.9", "vitest": "0.33.0", diff --git a/packages/nuxi/package.json b/packages/nuxi/package.json index da0a5a5aa624..ec0070de6d8a 100644 --- a/packages/nuxi/package.json +++ b/packages/nuxi/package.json @@ -41,7 +41,7 @@ "listhen": "1.3.0", "mlly": "1.4.0", "mri": "1.2.0", - "nitropack": "2.5.2", + "nitropack": "2.6.0", "ohash": "1.1.3", "pathe": "1.1.1", "perfect-debounce": "1.0.0", diff --git a/packages/nuxi/src/commands/analyze.ts b/packages/nuxi/src/commands/analyze.ts index 36323082d6b1..caf21d29ccc3 100644 --- a/packages/nuxi/src/commands/analyze.ts +++ b/packages/nuxi/src/commands/analyze.ts @@ -1,6 +1,6 @@ import { promises as fsp } from 'node:fs' import { join, resolve } from 'pathe' -import { createApp, eventHandler, lazyEventHandler, toNodeListener } from 'h3' +import { createApp, eventHandler, lazyEventHandler, send, toNodeListener } from 'h3' import { listen } from 'listhen' import type { NuxtAnalyzeMeta } from '@nuxt/schema' import { defu } from 'defu' @@ -77,7 +77,7 @@ export default defineNuxtCommand({ const serveFile = (filePath: string) => lazyEventHandler(async () => { const contents = await fsp.readFile(filePath, 'utf-8') - return eventHandler((event) => { event.node.res.end(contents) }) + return eventHandler(event => send(event, contents)) }) console.info('Starting stats server...') diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index c3cf5a807f40..e22aab143fd3 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -81,7 +81,7 @@ "knitwork": "^1.0.0", "magic-string": "^0.30.2", "mlly": "^1.4.0", - "nitropack": "^2.5.2", + "nitropack": "^2.6.0", "nuxi": "workspace:../nuxi", "nypm": "^0.3.0", "ofetch": "^1.1.1", diff --git a/packages/nuxt/src/app/composables/cookie.ts b/packages/nuxt/src/app/composables/cookie.ts index c5925c892d4e..a6eaed851103 100644 --- a/packages/nuxt/src/app/composables/cookie.ts +++ b/packages/nuxt/src/app/composables/cookie.ts @@ -2,7 +2,7 @@ import type { Ref } from 'vue' import { getCurrentInstance, nextTick, onUnmounted, ref, toRaw, watch } from 'vue' import type { CookieParseOptions, CookieSerializeOptions } from 'cookie-es' import { parse, serialize } from 'cookie-es' -import { deleteCookie, getCookie, setCookie } from 'h3' +import { deleteCookie, getCookie, getRequestHeader, setCookie } from 'h3' import type { H3Event } from 'h3' import destr from 'destr' import { isEqual } from 'ohash' @@ -80,7 +80,7 @@ export function useCookie (name: string, _opts?: function readRawCookies (opts: CookieOptions = {}): Record | undefined { if (import.meta.server) { - return parse(useRequestEvent()?.node.req.headers.cookie || '', opts) + return parse(getRequestHeader(useRequestEvent(), 'cookie') || '', opts) } else if (import.meta.client) { return parse(document.cookie, opts) } diff --git a/packages/nuxt/src/app/composables/ssr.ts b/packages/nuxt/src/app/composables/ssr.ts index c72e3c137362..f81b0d8d5c35 100644 --- a/packages/nuxt/src/app/composables/ssr.ts +++ b/packages/nuxt/src/app/composables/ssr.ts @@ -1,5 +1,5 @@ import type { H3Event } from 'h3' -import { setResponseStatus as _setResponseStatus } from 'h3' +import { setResponseStatus as _setResponseStatus, getRequestHeaders } from 'h3' import type { NuxtApp } from '../nuxt' import { useNuxtApp } from '../nuxt' @@ -7,7 +7,8 @@ export function useRequestHeaders (include: K[]): { [ export function useRequestHeaders (): Readonly> export function useRequestHeaders (include?: any[]) { if (import.meta.client) { return {} } - const headers = useNuxtApp().ssrContext?.event.node.req.headers ?? {} + const event = useNuxtApp().ssrContext?.event + const headers = event ? getRequestHeaders(event) : {} if (!include) { return headers } return Object.fromEntries(include.map(key => key.toLowerCase()).filter(key => headers[key]).map(key => [key, headers[key]])) } diff --git a/packages/nuxt/src/core/nitro.ts b/packages/nuxt/src/core/nitro.ts index eaed6dd2d6b9..686af285a581 100644 --- a/packages/nuxt/src/core/nitro.ts +++ b/packages/nuxt/src/core/nitro.ts @@ -35,7 +35,6 @@ export async function initNitro (nuxt: Nuxt & { _nitro?: Nitro }) { console.warn(`[nuxt] Could not load custom \`spaLoadingTemplate\` path as it does not exist: \`${spaLoadingTemplate}\`.`) } - // @ts-expect-error `typescriptBundlerResolution` coming in next nitro version const nitroConfig: NitroConfig = defu(_nitroConfig, { debug: nuxt.options.debug, rootDir: nuxt.options.rootDir, @@ -44,9 +43,8 @@ export async function initNitro (nuxt: Nuxt & { _nitro?: Nitro }) { dev: nuxt.options.dev, buildDir: nuxt.options.buildDir, experimental: { - // @ts-expect-error `typescriptBundlerResolution` coming in next nitro version - typescriptBundlerResolution: nuxt.options.experimental.typescriptBundlerResolution || nuxt.options.typescript?.tsConfig?.compilerOptions?.moduleResolution?.toLowerCase() === 'bundler' || _nitroConfig.typescript?.tsConfig?.compilerOptions?.moduleResolution?.toLowerCase() === 'bundler', - asyncContext: nuxt.options.experimental.asyncContext + asyncContext: nuxt.options.experimental.asyncContext, + typescriptBundlerResolution: nuxt.options.experimental.typescriptBundlerResolution || nuxt.options.typescript?.tsConfig?.compilerOptions?.moduleResolution?.toLowerCase() === 'bundler' || _nitroConfig.typescript?.tsConfig?.compilerOptions?.moduleResolution?.toLowerCase() === 'bundler' }, imports: { autoImport: nuxt.options.imports.autoImport as boolean, diff --git a/packages/nuxt/src/core/runtime/nitro/error.ts b/packages/nuxt/src/core/runtime/nitro/error.ts index 1a0fc620231f..a85570f523b4 100644 --- a/packages/nuxt/src/core/runtime/nitro/error.ts +++ b/packages/nuxt/src/core/runtime/nitro/error.ts @@ -1,7 +1,7 @@ import { joinURL, withQuery } from 'ufo' import type { NitroErrorHandler } from 'nitropack' import type { H3Error } from 'h3' -import { getRequestHeaders, setResponseHeader, setResponseStatus } from 'h3' +import { getRequestHeaders, send, setResponseHeader, setResponseStatus } from 'h3' import { useNitroApp, useRuntimeConfig } from '#internal/nitro' import { isJsonRequest, normalizeError } from '#internal/nitro/utils' @@ -11,7 +11,7 @@ export default async function errorhandler (error: H3Error, // Create an error object const errorObject = { - url: event.node.req.url, + url: event.path, statusCode, statusMessage, message, @@ -41,12 +41,11 @@ export default async function errorhandler (error: H3Error, // JSON response if (isJsonRequest(event)) { setResponseHeader(event, 'Content-Type', 'application/json') - event.node.res.end(JSON.stringify(errorObject)) - return + return send(event, JSON.stringify(errorObject)) } // HTML response (via SSR) - const isErrorPage = event.node.req.url?.startsWith('/__nuxt_error') + const isErrorPage = event.path.startsWith('/__nuxt_error') const res = !isErrorPage ? await useNitroApp().localFetch(withQuery(joinURL(useRuntimeConfig().app.baseURL, '/__nuxt_error'), errorObject), { headers: getRequestHeaders(event) as Record, @@ -67,8 +66,7 @@ export default async function errorhandler (error: H3Error, } if (event.handled) { return } setResponseHeader(event, 'Content-Type', 'text/html;charset=UTF-8') - event.node.res.end(template(errorObject)) - return + return send(event, template(errorObject)) } const html = await res.text() @@ -79,5 +77,5 @@ export default async function errorhandler (error: H3Error, } setResponseStatus(event, res.status && res.status !== 200 ? res.status : undefined, res.statusText) - event.node.res.end(html) + return send(event, html) } diff --git a/packages/nuxt/src/core/runtime/nitro/renderer.ts b/packages/nuxt/src/core/runtime/nitro/renderer.ts index 1cfda97721cc..bc2b75cb9a13 100644 --- a/packages/nuxt/src/core/runtime/nitro/renderer.ts +++ b/packages/nuxt/src/core/runtime/nitro/renderer.ts @@ -9,7 +9,7 @@ import { import type { RenderResponse } from 'nitropack' import type { Manifest } from 'vite' import type { H3Event } from 'h3' -import { appendResponseHeader, createError, getQuery, readBody, writeEarlyHints } from 'h3' +import { appendResponseHeader, createError, getQuery, getResponseStatus, getResponseStatusText, readBody, writeEarlyHints } from 'h3' import devalue from '@nuxt/devalue' import { stringify, uneval } from 'devalue' import destr from 'destr' @@ -170,16 +170,16 @@ const islandPropCache = import.meta.prerender ? useStorage('internal:nuxt:preren async function getIslandContext (event: H3Event): Promise { // TODO: Strict validation for url - let url = event.node.req.url || '' - if (import.meta.prerender && event.node.req.url && await islandPropCache!.hasItem(event.node.req.url)) { + let url = event.path || '' + if (import.meta.prerender && event.path && await islandPropCache!.hasItem(event.path)) { // rehydrate props from cache so we can rerender island if cache does not have it any more - url = await islandPropCache!.getItem(event.node.req.url) as string + url = await islandPropCache!.getItem(event.path) as string } url = url.substring('/__nuxt_island'.length + 1) || '' const [componentName, hashId] = url.split('?')[0].split('_') // TODO: Validate context - const context = event.node.req.method === 'GET' ? getQuery(event) : await readBody(event) + const context = event.method === 'GET' ? getQuery(event) : await readBody(event) const ctx: NuxtIslandContext = { url: '/', @@ -202,7 +202,7 @@ export default defineRenderHandler(async (event): Promise : null @@ -210,7 +210,7 @@ export default defineRenderHandler(async (event): Promise> + if (import.meta.prerender && islandContext && event.path && await islandCache!.hasItem(event.path)) { + return islandCache!.getItem(event.path) as Promise> } // Request url - let url = ssrError?.url as string || islandContext?.url || event.node.req.url! + let url = ssrError?.url as string || islandContext?.url || event.path // Whether we are rendering payload route const isRenderingPayload = PAYLOAD_URL_RE.test(url) && !islandContext if (isRenderingPayload) { url = url.substring(0, url.lastIndexOf('/')) || '/' + + event._path = url event.node.req.url = url if (import.meta.prerender && await payloadCache!.hasItem(url)) { return payloadCache!.getItem(url) as Promise> @@ -435,8 +437,8 @@ export default defineRenderHandler(async (event): Promise { - // Workaround: vite devmiddleware modifies req.url - const originalURL = event.node.req.url! - const viteRoutes = viteServer.middlewares.stack.map(m => m.route).filter(r => r.length > 1) - if (!originalURL.startsWith(clientConfig.base!) && !viteRoutes.some(route => originalURL.startsWith(route))) { + if (!event.path.startsWith(clientConfig.base!) && !viteRoutes.some(route => event.path.startsWith(route))) { // @ts-expect-error _skip_transform is a private property event.node.req._skip_transform = true } + // Workaround: vite devmiddleware modifies req.url + const _originalPath = event.node.req.url await new Promise((resolve, reject) => { viteServer.middlewares.handle(event.node.req, event.node.res, (err: Error) => { - event.node.req.url = originalURL + event.node.req.url = _originalPath return err ? reject(err) : resolve(null) }) }) diff --git a/packages/vite/src/vite-node.ts b/packages/vite/src/vite-node.ts index 72252af72582..9f3a8e93cc33 100644 --- a/packages/vite/src/vite-node.ts +++ b/packages/vite/src/vite-node.ts @@ -141,7 +141,7 @@ function createViteNodeApp (ctx: ViteBuildContext, invalidates: Set = ne } return eventHandler(async (event) => { - const moduleId = decodeURI(event.node.req.url!).substring(1) + const moduleId = decodeURI(event.path).substring(1) if (moduleId === '/') { throw createError({ statusCode: 400 }) } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f3304391ca6d..ff09d7714f48 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -93,8 +93,8 @@ importers: specifier: ^0.33.0 version: 0.33.0 nitropack: - specifier: 2.5.2 - version: 2.5.2 + specifier: 2.6.0 + version: 2.6.0 nuxi: specifier: workspace:* version: link:packages/nuxi @@ -208,7 +208,7 @@ importers: version: 2.3.1 unimport: specifier: ^3.1.3 - version: 3.1.3(rollup@3.27.2) + version: 3.1.3(rollup@3.28.1) untyped: specifier: ^1.4.0 version: 1.4.0 @@ -226,11 +226,11 @@ importers: specifier: 4.17.21 version: 4.17.21 nitropack: - specifier: 2.5.2 - version: 2.5.2 + specifier: 2.6.0 + version: 2.6.0 unbuild: specifier: latest - version: 1.2.1 + version: 2.0.0(typescript@5.1.6) vite: specifier: 4.4.9 version: 4.4.9(@types/node@18.17.6) @@ -317,8 +317,8 @@ importers: specifier: 1.2.0 version: 1.2.0 nitropack: - specifier: 2.5.2 - version: 2.5.2 + specifier: 2.6.0 + version: 2.6.0 ohash: specifier: 1.1.3 version: 1.1.3 @@ -342,7 +342,7 @@ importers: version: 1.2.0 unbuild: specifier: latest - version: 1.2.1 + version: 2.0.0(typescript@5.1.6) packages/nuxt: dependencies: @@ -366,7 +366,7 @@ importers: version: link:../vite '@types/node': specifier: ^14.18.0 || >=16.10.0 - version: 18.17.5 + version: 18.17.6 '@unhead/dom': specifier: ^1.3.5 version: 1.3.5 @@ -437,8 +437,8 @@ importers: specifier: ^1.4.0 version: 1.4.0 nitropack: - specifier: ^2.5.2 - version: 2.5.2 + specifier: ^2.6.0 + version: 2.6.0 nuxi: specifier: workspace:* version: link:../nuxi @@ -447,7 +447,7 @@ importers: version: 0.3.0 ofetch: specifier: ^1.1.1 - version: 1.1.1 + version: 1.2.1 ohash: specifier: ^1.1.3 version: 1.1.3 @@ -489,13 +489,13 @@ importers: version: 1.7.1 unimport: specifier: ^3.1.3 - version: 3.1.3(rollup@3.27.2) + version: 3.1.3(rollup@3.28.1) unplugin: specifier: ^1.4.0 version: 1.4.0 unplugin-vue-router: specifier: ^0.6.4 - version: 0.6.4(rollup@3.27.2)(vue-router@4.2.4)(vue@3.3.4) + version: 0.6.4(rollup@3.28.1)(vue-router@4.2.4)(vue@3.3.4) untyped: specifier: ^1.4.0 version: 1.4.0 @@ -529,10 +529,10 @@ importers: version: 4.3.1(vite@4.4.9)(vue@3.3.4) unbuild: specifier: latest - version: 1.2.1 + version: 2.0.0(typescript@5.1.6) vite: specifier: 4.4.9 - version: 4.4.9(@types/node@18.17.5) + version: 4.4.9(@types/node@18.17.6) vitest: specifier: 0.33.0 version: 0.33.0(happy-dom@10.10.4) @@ -565,7 +565,7 @@ importers: version: 1.2.0 unimport: specifier: ^3.1.3 - version: 3.1.3(rollup@3.27.2) + version: 3.1.3(rollup@3.28.1) untyped: specifier: ^1.4.0 version: 1.4.0 @@ -604,11 +604,11 @@ importers: specifier: 5.2.4 version: 5.2.4 nitropack: - specifier: 2.5.2 - version: 2.5.2 + specifier: 2.6.0 + version: 2.6.0 unbuild: specifier: latest - version: 1.2.1 + version: 2.0.0(typescript@5.1.6) unctx: specifier: 2.3.1 version: 2.3.1 @@ -656,7 +656,7 @@ importers: version: 3.0.1 ofetch: specifier: ^1.1.1 - version: 1.1.1 + version: 1.2.1 pathe: specifier: ^1.1.1 version: 1.1.1 @@ -675,7 +675,7 @@ importers: version: 1.37.1 unbuild: specifier: latest - version: 1.2.1 + version: 2.0.0(typescript@5.1.6) vitest: specifier: 0.33.0 version: 0.33.0(happy-dom@10.10.4) @@ -687,7 +687,7 @@ importers: version: link:../kit '@rollup/plugin-replace': specifier: ^5.0.2 - version: 5.0.2(rollup@3.27.2) + version: 5.0.2(rollup@3.28.1) '@vitejs/plugin-vue': specifier: ^4.3.1 version: 4.3.1(vite@4.4.9)(vue@3.3.4) @@ -762,7 +762,7 @@ importers: version: 10.1.3(postcss@8.4.28) rollup-plugin-visualizer: specifier: ^5.9.2 - version: 5.9.2(rollup@3.27.2) + version: 5.9.2(rollup@3.28.1) std-env: specifier: ^3.4.0 version: 3.4.0 @@ -802,7 +802,7 @@ importers: version: 11.0.1 unbuild: specifier: latest - version: 1.2.1 + version: 2.0.0(typescript@5.1.6) vue: specifier: 3.3.4 version: 3.3.4 @@ -959,7 +959,7 @@ importers: version: 0.1.1 unbuild: specifier: latest - version: 1.2.1 + version: 2.0.0(typescript@5.1.6) vue: specifier: 3.3.4 version: 3.3.4 @@ -1000,7 +1000,7 @@ importers: devDependencies: ofetch: specifier: latest - version: 1.1.1 + version: 1.2.1 vitest: specifier: 0.33.0 version: 0.33.0(happy-dom@10.10.4) @@ -1064,6 +1064,7 @@ packages: /@babel/code-frame@7.22.10: resolution: {integrity: sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==} engines: {node: '>=6.9.0'} + requiresBuild: true dependencies: '@babel/highlight': 7.22.10 chalk: 2.4.2 @@ -1242,6 +1243,7 @@ packages: /@babel/highlight@7.22.10: resolution: {integrity: sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==} engines: {node: '>=6.9.0'} + requiresBuild: true dependencies: '@babel/helper-validator-identifier': 7.22.5 chalk: 2.4.2 @@ -2260,12 +2262,24 @@ packages: - encoding - supports-color - /@netlify/functions@1.6.0: - resolution: {integrity: sha512-6G92AlcpFrQG72XU8YH8pg94eDnq7+Q0YJhb8x4qNpdGsvuzvrfHWBmqFGp/Yshmv4wex9lpsTRZOocdrA2erQ==} + /@netlify/functions@2.0.1: + resolution: {integrity: sha512-YrgCmz078II0LKknXKj5NbtGBuzek1JC+ZYi4xHcLhZD+HIGlerlmkhnVydWVPoA7fdd2IeSUd9CFFL7bY+y5Q==} engines: {node: '>=14.0.0'} dependencies: + '@netlify/serverless-functions-api': 1.7.1 is-promise: 4.0.0 + /@netlify/node-cookies@0.1.0: + resolution: {integrity: sha512-OAs1xG+FfLX0LoRASpqzVntVV/RpYkgpI0VrUnw2u0Q1qiZUzcPffxRK8HF3gc4GjuhG5ahOEMJ9bswBiZPq0g==} + engines: {node: ^14.16.0 || >=16.0.0} + + /@netlify/serverless-functions-api@1.7.1: + resolution: {integrity: sha512-vF9g62n+BFfBXtWtmVBJ5debyMERVDtuLlMlKDPYBp6QjEuJnaggxczLlRofZ2mtsBXs7mAlna6gIcBswFLJJQ==} + engines: {node: ^14.18.0 || >=16.0.0} + dependencies: + '@netlify/node-cookies': 0.1.0 + urlpattern-polyfill: 8.0.2 + /@nodelib/fs.scandir@2.1.5: resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -2303,6 +2317,7 @@ packages: - '@azure/identity' - '@azure/keyvault-secrets' - '@azure/storage-blob' + - '@capacitor/preferences' - '@planetscale/database' - '@upstash/redis' - '@vercel/kv' @@ -2405,7 +2420,7 @@ packages: unist-util-position: 5.0.0 unist-util-stringify-position: 4.0.0 unist-util-visit: 5.0.0 - unstorage: 1.8.0 + unstorage: 1.9.0 ws: 8.13.0 transitivePeerDependencies: - '@azure/app-configuration' @@ -2414,10 +2429,12 @@ packages: - '@azure/identity' - '@azure/keyvault-secrets' - '@azure/storage-blob' + - '@capacitor/preferences' - '@planetscale/database' - '@upstash/redis' - '@vercel/kv' - bufferutil + - idb-keyval - supports-color - utf-8-validate dev: true @@ -2458,7 +2475,7 @@ packages: mri: 1.2.0 nanoid: 4.0.2 node-fetch: 3.3.2 - ofetch: 1.1.1 + ofetch: 1.2.1 parse-git-config: 3.0.0 pathe: 1.1.1 rc9: 2.1.1 @@ -2607,6 +2624,15 @@ packages: micromatch: 4.0.5 napi-wasm: 1.1.0 + /@parcel/watcher-wasm@2.3.0-alpha.3: + resolution: {integrity: sha512-kTkqlYhGhCM9EaoZMyjNzqKRSdTyp/vN+/uoJ2fzN+UCiWUI+jMKacwnBgu13T1F0mrcNqEWtYEXTRaZmnml1w==} + engines: {node: '>= 10.0.0'} + dependencies: + is-glob: 4.0.3 + micromatch: 4.0.5 + bundledDependencies: + - napi-wasm + /@parcel/watcher-win32-arm64@2.2.0: resolution: {integrity: sha512-z225cPn3aygJsyVUOWwfyW+fY0Tvk7N3XCOl66qUPFxpbuXeZuiuuJemmtm8vxyqa3Ur7peU/qJxrpC64aeI7Q==} engines: {node: '>= 10.0.0'} @@ -2665,7 +2691,7 @@ packages: /@polka/url@1.0.0-next.21: resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==} - /@rollup/plugin-alias@5.0.0(rollup@3.27.2): + /@rollup/plugin-alias@5.0.0(rollup@3.28.1): resolution: {integrity: sha512-l9hY5chSCjuFRPsnRm16twWBiSApl2uYFLsepQYwtBuAxNMQ/1dJqADld40P0Jkqm65GRTLy/AC6hnpVebtLsA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -2674,10 +2700,10 @@ packages: rollup: optional: true dependencies: - rollup: 3.27.2 + rollup: 3.28.1 slash: 4.0.0 - /@rollup/plugin-commonjs@24.1.0(rollup@3.27.2): + /@rollup/plugin-commonjs@24.1.0(rollup@3.28.1): resolution: {integrity: sha512-eSL45hjhCWI0jCCXcNtLVqM5N1JlBGvlFfY0m6oOYnLCJ6N0qEXoZql4sY2MOUArzhH4SA/qBpTxvvZp2Sc+DQ==} engines: {node: '>=14.0.0'} peerDependencies: @@ -2686,17 +2712,17 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.2(rollup@3.27.2) + '@rollup/pluginutils': 5.0.3(rollup@3.28.1) commondir: 1.0.1 estree-walker: 2.0.2 glob: 8.1.0 is-reference: 1.2.1 magic-string: 0.30.2 - rollup: 3.27.2 + rollup: 3.28.1 dev: true - /@rollup/plugin-commonjs@25.0.3(rollup@3.27.2): - resolution: {integrity: sha512-uBdtWr/H3BVcgm97MUdq2oJmqBR23ny1hOrWe2PKo9FTbjsGqg32jfasJUKYAI5ouqacjRnj65mBB/S79F+GQA==} + /@rollup/plugin-commonjs@25.0.4(rollup@3.28.1): + resolution: {integrity: sha512-L92Vz9WUZXDnlQQl3EwbypJR4+DM2EbsO+/KOcEkP4Mc6Ct453EeDB2uH9lgRwj4w5yflgNpq9pHOiY8aoUXBQ==} engines: {node: '>=14.0.0'} peerDependencies: rollup: ^2.68.0||^3.0.0 @@ -2704,15 +2730,15 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.2(rollup@3.27.2) + '@rollup/pluginutils': 5.0.3(rollup@3.28.1) commondir: 1.0.1 estree-walker: 2.0.2 glob: 8.1.0 is-reference: 1.2.1 magic-string: 0.30.2 - rollup: 3.27.2 + rollup: 3.28.1 - /@rollup/plugin-inject@5.0.3(rollup@3.27.2): + /@rollup/plugin-inject@5.0.3(rollup@3.28.1): resolution: {integrity: sha512-411QlbL+z2yXpRWFXSmw/teQRMkXcAAC8aYTemc15gwJRpvEVDQwoe+N/HTFD8RFG8+88Bme9DK2V9CVm7hJdA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -2721,12 +2747,12 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.2(rollup@3.27.2) + '@rollup/pluginutils': 5.0.3(rollup@3.28.1) estree-walker: 2.0.2 magic-string: 0.30.2 - rollup: 3.27.2 + rollup: 3.28.1 - /@rollup/plugin-json@6.0.0(rollup@3.27.2): + /@rollup/plugin-json@6.0.0(rollup@3.28.1): resolution: {integrity: sha512-i/4C5Jrdr1XUarRhVu27EEwjt4GObltD7c+MkCIpO2QIbojw8MUs+CCTqOphQi3Qtg1FLmYt+l+6YeoIf51J7w==} engines: {node: '>=14.0.0'} peerDependencies: @@ -2735,11 +2761,11 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.2(rollup@3.27.2) - rollup: 3.27.2 + '@rollup/pluginutils': 5.0.3(rollup@3.28.1) + rollup: 3.28.1 - /@rollup/plugin-node-resolve@15.1.0(rollup@3.27.2): - resolution: {integrity: sha512-xeZHCgsiZ9pzYVgAo9580eCGqwh/XCEUM9q6iQfGNocjgkufHAqC3exA+45URvhiYV8sBF9RlBai650eNs7AsA==} + /@rollup/plugin-node-resolve@15.2.1(rollup@3.28.1): + resolution: {integrity: sha512-nsbUg588+GDSu8/NS8T4UAshO6xeaOfINNuXeVHcKV02LJtoRaM1SiOacClw4kws1SFiNhdLGxlbMY9ga/zs/w==} engines: {node: '>=14.0.0'} peerDependencies: rollup: ^2.78.0||^3.0.0 @@ -2747,15 +2773,15 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.2(rollup@3.27.2) + '@rollup/pluginutils': 5.0.3(rollup@3.28.1) '@types/resolve': 1.20.2 deepmerge: 4.3.1 is-builtin-module: 3.2.1 is-module: 1.0.0 resolve: 1.22.4 - rollup: 3.27.2 + rollup: 3.28.1 - /@rollup/plugin-replace@5.0.2(rollup@3.27.2): + /@rollup/plugin-replace@5.0.2(rollup@3.28.1): resolution: {integrity: sha512-M9YXNekv/C/iHHK+cvORzfRYfPbq0RDD8r0G+bMiTXjNGKulPnCT9O3Ss46WfhI6ZOCgApOP7xAdmCQJ+U2LAA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -2764,11 +2790,11 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.2(rollup@3.27.2) + '@rollup/pluginutils': 5.0.3(rollup@3.28.1) magic-string: 0.30.2 - rollup: 3.27.2 + rollup: 3.28.1 - /@rollup/plugin-terser@0.4.3(rollup@3.27.2): + /@rollup/plugin-terser@0.4.3(rollup@3.28.1): resolution: {integrity: sha512-EF0oejTMtkyhrkwCdg0HJ0IpkcaVg1MMSf2olHb2Jp+1mnLM04OhjpJWGma4HobiDTF0WCyViWuvadyE9ch2XA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -2777,12 +2803,12 @@ packages: rollup: optional: true dependencies: - rollup: 3.27.2 + rollup: 3.28.1 serialize-javascript: 6.0.1 smob: 1.4.0 terser: 5.19.2 - /@rollup/plugin-wasm@6.1.3(rollup@3.27.2): + /@rollup/plugin-wasm@6.1.3(rollup@3.28.1): resolution: {integrity: sha512-7ItTTeyauE6lwdDtQWceEHZ9+txbi4RRy0mYPFn9BW7rD7YdgBDu7HTHsLtHrRzJc313RM/1m6GKgV3np/aEaw==} engines: {node: '>=14.0.0'} peerDependencies: @@ -2791,7 +2817,7 @@ packages: rollup: optional: true dependencies: - rollup: 3.27.2 + rollup: 3.28.1 /@rollup/pluginutils@4.2.1: resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} @@ -2800,8 +2826,8 @@ packages: estree-walker: 2.0.2 picomatch: 2.3.1 - /@rollup/pluginutils@5.0.2(rollup@3.27.2): - resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==} + /@rollup/pluginutils@5.0.3(rollup@3.28.1): + resolution: {integrity: sha512-hfllNN4a80rwNQ9QCxhxuHCGHMAvabXqxNdaChUSSadMre7t4iEUI6fFAhBOn/eIYTgYVhBv7vCLsAJ4u3lf3g==} engines: {node: '>=14.0.0'} peerDependencies: rollup: ^1.20.0||^2.0.0||^3.0.0 @@ -2812,7 +2838,7 @@ packages: '@types/estree': 1.0.1 estree-walker: 2.0.2 picomatch: 2.3.1 - rollup: 3.27.2 + rollup: 3.28.1 /@sinclair/typebox@0.27.8: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} @@ -2893,7 +2919,7 @@ packages: resolution: {integrity: sha512-MxObHvNl4A69ofaTRU8DFqvgzzv8s9yRtaPPm5gud9HDNvpB3GPQFvNuTWAI59B9huVGV5jXYJwbCsmBsOGYWA==} dependencies: '@types/jsonfile': 6.1.1 - '@types/node': 18.17.5 + '@types/node': 18.17.6 dev: true /@types/graceful-fs@4.1.6: @@ -2973,9 +2999,6 @@ packages: '@types/node': 18.17.6 dev: true - /@types/node@18.17.5: - resolution: {integrity: sha512-xNbS75FxH6P4UXTPUJp/zNPq6/xsfdJKussCWNOnz4aULWIRwMgP1LgaB5RiBnMX1DPCYenuqGZfnIAx5mbFLA==} - /@types/node@18.17.6: resolution: {integrity: sha512-fGmT/P7z7ecA6bv/ia5DlaWCH4YeZvAQMNpUhrJjtAhOhZfoxS1VLUgU2pdk63efSjQaOJWdXMuAJsws+8I6dg==} @@ -2998,7 +3021,7 @@ packages: /@types/prompts@2.4.4: resolution: {integrity: sha512-p5N9uoTH76lLvSAaYSZtBCdEXzpOOufsRjnhjVSrZGXikVGHX9+cc9ERtHRV4hvBKHyZb1bg4K+56Bd2TqUn4A==} dependencies: - '@types/node': 18.17.5 + '@types/node': 18.17.6 kleur: 3.0.3 dev: true @@ -3012,7 +3035,7 @@ packages: /@types/sass-loader@8.0.5: resolution: {integrity: sha512-3b3lQ+UwWanaPBzOcP1YeNTR4q0Klt2UEezhdIjDXkTnQ93F+fnv+z1tMsQBAopY0b+c5ATN5pHQ+vfzxaRnFg==} dependencies: - '@types/node': 18.17.5 + '@types/node': 18.17.6 '@types/node-sass': 4.11.3 '@types/webpack': 4.41.33 sass: 1.64.2 @@ -3059,7 +3082,7 @@ packages: /@types/webpack-bundle-analyzer@4.6.0: resolution: {integrity: sha512-XeQmQCCXdZdap+A/60UKmxW5Mz31Vp9uieGlHB3T4z/o2OLVLtTI3bvTuS6A2OWd/rbAAQiGGWIEFQACu16szA==} dependencies: - '@types/node': 18.17.5 + '@types/node': 18.17.6 tapable: 2.2.1 webpack: 5.88.2 transitivePeerDependencies: @@ -3287,8 +3310,8 @@ packages: resolution: {integrity: sha512-2WoM6O9VyuHDPAnvCXr7LBJQ8ZRHDnuQAFsL1dWXp561Iq2l9whdNtPuMcozLGJGUUrFfVBXIrHY4sfxxScgWg==} dev: true - /@vercel/nft@0.22.6: - resolution: {integrity: sha512-gTsFnnT4mGxodr4AUlW3/urY+8JKKB452LwF3m477RFUJTAaDmcz2JqFuInzvdybYIeyIv1sSONEJxsxnbQ5JQ==} + /@vercel/nft@0.23.1: + resolution: {integrity: sha512-NE0xSmGWVhgHF1OIoir71XAd0W0C1UE3nzFyhpFiMr3rVhetww7NvM1kc41trBsPG37Bh+dE5FYCTMzM/gBu0w==} engines: {node: '>=14'} hasBin: true dependencies: @@ -3329,7 +3352,7 @@ packages: vite: ^4.0.0 vue: ^3.2.25 dependencies: - vite: 4.4.9(@types/node@18.17.5) + vite: 4.4.9(@types/node@18.17.6) vue: 3.3.4 /@vitest/expect@0.33.0: @@ -3426,7 +3449,7 @@ packages: vue-template-compiler: 2.7.14 dev: true - /@vue-macros/common@1.6.2(rollup@3.27.2)(vue@3.3.4): + /@vue-macros/common@1.6.2(rollup@3.28.1)(vue@3.3.4): resolution: {integrity: sha512-1RtMew9RxBvPgUhwQPBismenqHzfeFGycJbrseZ7RQsofE0FG7zoHeElYS1LADTcLXN6lA7FAnE7VlW7MaHu2w==} engines: {node: '>=16.14.0'} peerDependencies: @@ -3436,9 +3459,9 @@ packages: optional: true dependencies: '@babel/types': 7.22.10 - '@rollup/pluginutils': 5.0.2(rollup@3.27.2) + '@rollup/pluginutils': 5.0.3(rollup@3.28.1) '@vue/compiler-sfc': 3.3.4 - ast-kit: 0.9.4(rollup@3.27.2) + ast-kit: 0.9.4(rollup@3.28.1) local-pkg: 0.4.3 magic-string-ast: 0.3.0 vue: 3.3.4 @@ -3954,11 +3977,26 @@ packages: normalize-path: 3.0.0 readable-stream: 2.3.8 - /archiver@5.3.1: - resolution: {integrity: sha512-8KyabkmbYrH+9ibcTScQ1xCJC/CGcugdVIwB+53f5sZziXgwUh3iXlAlANMxcZyDEfTHMe6+Z5FofV8nopXP7w==} + /archiver-utils@3.0.3: + resolution: {integrity: sha512-fXzpEZTKgBJMWy0eUT0/332CAQnJ27OJd7sGcvNZzxS2Yzg7iITivMhXOm+zUTO4vT8ZqlPCqiaLPmB8qWhWRA==} engines: {node: '>= 10'} dependencies: - archiver-utils: 2.1.0 + glob: 7.2.3 + graceful-fs: 4.2.11 + lazystream: 1.0.1 + lodash.defaults: 4.2.0 + lodash.difference: 4.5.0 + lodash.flatten: 4.4.0 + lodash.isplainobject: 4.0.6 + lodash.union: 4.6.0 + normalize-path: 3.0.0 + readable-stream: 3.6.2 + + /archiver@6.0.0: + resolution: {integrity: sha512-EPGa+bYaxaMiCT8DCbEDqFz8IjeBSExrJzyUOJx2FBkFJ/OZzJuso3lMSk901M50gMqXxTQcumlGajOFlXhVhw==} + engines: {node: '>= 12.0.0'} + dependencies: + archiver-utils: 3.0.3 async: 3.2.4 buffer-crc32: 0.2.13 readable-stream: 3.6.2 @@ -4078,12 +4116,12 @@ packages: resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} dev: true - /ast-kit@0.9.4(rollup@3.27.2): + /ast-kit@0.9.4(rollup@3.28.1): resolution: {integrity: sha512-UrZHsdj87OS6NM+IXRii+asdAUA/P0SMa4r1NrZvsUy72hDvCYwk8c9PsbKf1MvJ0BvP+rF1B8tFP54eT370Tg==} engines: {node: '>=16.14.0'} dependencies: '@babel/parser': 7.22.10 - '@rollup/pluginutils': 5.0.2(rollup@3.27.2) + '@rollup/pluginutils': 5.0.3(rollup@3.28.1) pathe: 1.1.1 transitivePeerDependencies: - rollup @@ -4418,8 +4456,8 @@ packages: convert-gitmoji: 0.1.3 execa: 7.2.0 mri: 1.2.0 - node-fetch-native: 1.2.0 - ofetch: 1.1.1 + node-fetch-native: 1.4.0 + ofetch: 1.2.1 open: 9.1.0 pathe: 1.1.1 pkg-types: 1.0.3 @@ -5092,11 +5130,11 @@ packages: tslib: 2.6.1 dev: true - /dot-prop@7.2.0: - resolution: {integrity: sha512-Ol/IPXUARn9CSbkrdV4VJo7uCy1I3VuSiWCaFSg+8BdUOzF9n3jefIpcgAydvUZbTdEBZs2vEiTiS9m61ssiDA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + /dot-prop@8.0.2: + resolution: {integrity: sha512-xaBe6ZT4DHPkg0k4Ytbvn5xoxgpG0jOS1dYxSOwAHPuNLjP3/OzN0gH55SrLqpx8cBfSaVt91lXYkApjb+nYdQ==} + engines: {node: '>=16'} dependencies: - type-fest: 2.19.0 + type-fest: 3.13.1 /dotenv@16.3.1: resolution: {integrity: sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==} @@ -5448,7 +5486,7 @@ packages: eslint: 8.47.0 eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.8)(eslint-import-resolver-typescript@3.5.5)(eslint@8.47.0) eslint-plugin-import: 2.28.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.47.0) - get-tsconfig: 4.6.2 + get-tsconfig: 4.7.0 globby: 13.2.2 is-core-module: 2.13.0 is-glob: 4.0.3 @@ -5793,9 +5831,6 @@ packages: resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} engines: {node: '>= 0.6'} - /eventemitter3@4.0.7: - resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} - /events@3.3.0: resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} engines: {node: '>=0.8.x'} @@ -5959,15 +5994,6 @@ packages: tabbable: 6.2.0 dev: true - /follow-redirects@1.15.2: - resolution: {integrity: sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==} - engines: {node: '>=4.0'} - peerDependencies: - debug: '*' - peerDependenciesMeta: - debug: - optional: true - /for-each@0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} dependencies: @@ -6139,12 +6165,6 @@ packages: get-intrinsic: 1.2.1 dev: true - /get-tsconfig@4.6.2: - resolution: {integrity: sha512-E5XrT4CbbXcXWy+1jChlZmrmCwd5KGx502kDCXJJ7y898TtWW9FwoG5HfOLVRKmlmDGkWN2HM9Ho+/Y8F0sJDg==} - dependencies: - resolve-pkg-maps: 1.0.0 - dev: true - /get-tsconfig@4.7.0: resolution: {integrity: sha512-pmjiZ7xtB8URYm74PlGJozDNyhvsVLUcpBa8DZBG3bWHwaHa9bPiRpiSfovw+fjhwONSCWKRyk+JQHEGZmMrzw==} dependencies: @@ -6158,7 +6178,7 @@ packages: defu: 6.1.2 https-proxy-agent: 5.0.1 mri: 1.2.0 - node-fetch-native: 1.2.0 + node-fetch-native: 1.4.0 pathe: 1.1.1 tar: 6.1.15 transitivePeerDependencies: @@ -6312,10 +6332,10 @@ packages: defu: 6.1.2 destr: 2.0.1 iron-webcrypto: 0.8.0 - radix3: 1.0.1 + radix3: 1.1.0 ufo: 1.2.0 uncrypto: 0.1.3 - unenv: 1.7.1 + unenv: 1.7.3 /happy-dom@10.10.4: resolution: {integrity: sha512-aEEFGSSs4DEJbxXvSMsIvJvvdsZbJZQEgtHsU4GgwNKbSbFxtgu6vXHmn4XoXnuElIbXV0xhbJiiQTxPnTmJcw==} @@ -6499,24 +6519,6 @@ packages: statuses: 2.0.1 toidentifier: 1.0.1 - /http-graceful-shutdown@3.1.13: - resolution: {integrity: sha512-Ci5LRufQ8AtrQ1U26AevS8QoMXDOhnAHCJI3eZu1com7mZGHxREmw3dNj85ftpQokQCvak8nI2pnFS8zyM1M+Q==} - engines: {node: '>=4.0.0'} - dependencies: - debug: 4.3.4 - transitivePeerDependencies: - - supports-color - - /http-proxy@1.18.1: - resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} - engines: {node: '>=8.0.0'} - dependencies: - eventemitter3: 4.0.7 - follow-redirects: 1.15.2 - requires-port: 1.0.0 - transitivePeerDependencies: - - debug - /http-shutdown@1.2.2: resolution: {integrity: sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw==} engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} @@ -6530,6 +6532,9 @@ packages: transitivePeerDependencies: - supports-color + /httpxy@0.1.2: + resolution: {integrity: sha512-8IldwriN7eS7Pe1pPRE6L7S1LW551lBJ3N9oI4HLYGZTXl2JBkdINEi+mDZwhwykw1OBVI2li3zhPSi7r1N8lQ==} + /human-signals@2.1.0: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} engines: {node: '>=10.17.0'} @@ -7210,7 +7215,28 @@ packages: pathe: 1.1.1 ufo: 1.2.0 untun: 0.1.1 - uqr: 0.1.0 + uqr: 0.1.2 + + /listhen@1.4.0: + resolution: {integrity: sha512-gEOMJKTak+WLjPITBVbv2kR0WKVUSnl5XPwvoFYheyaQPzh/jdA+pRZeUujJkjabNMDsBxwuaYH7HYLpzzGEJA==} + hasBin: true + dependencies: + '@parcel/watcher': 2.2.0 + '@parcel/watcher-wasm': 2.3.0-alpha.3 + citty: 0.1.2 + clipboardy: 3.0.0 + consola: 3.2.3 + defu: 6.1.2 + get-port-please: 3.0.1 + h3: 1.8.0 + http-shutdown: 1.2.2 + jiti: 1.19.3 + mlly: 1.4.0 + node-forge: 1.3.1 + pathe: 1.1.1 + ufo: 1.2.0 + untun: 0.1.1 + uqr: 0.1.2 /loader-runner@4.3.0: resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} @@ -7334,8 +7360,8 @@ packages: tslib: 2.6.1 dev: true - /lru-cache@10.0.0: - resolution: {integrity: sha512-svTf/fzsKHffP42sujkO/Rjs37BCIsQVRCeNYIm9WN8rgT7ffoUnRtZCqU+6BqcSBdv8gwJeTz8knJpgACeQMw==} + /lru-cache@10.0.1: + resolution: {integrity: sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==} engines: {node: 14 || >=16.14} /lru-cache@5.1.1: @@ -8039,25 +8065,25 @@ packages: /neo-async@2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} - /nitropack@2.5.2: - resolution: {integrity: sha512-hXEHY9NJmOOETFFTPCBB9PB0+txoAbU/fB2ovUF6UMRo4ucQZztYnZdX+YSxa6FVz6eONvcxXvf9/9s6t08KWw==} - engines: {node: ^14.16.0 || ^16.11.0 || >=17.0.0} + /nitropack@2.6.0: + resolution: {integrity: sha512-swhwjrNz0Zc5pBBrL3jdd4v1aJKNv0XbjCk1OreOm0zRbP8WxreGP5sAGpwDVpMH9mpIxyz5A5OSBzKa2lkkuQ==} + engines: {node: ^16.11.0 || >=17.0.0} hasBin: true dependencies: '@cloudflare/kv-asset-handler': 0.3.0 - '@netlify/functions': 1.6.0 - '@rollup/plugin-alias': 5.0.0(rollup@3.27.2) - '@rollup/plugin-commonjs': 25.0.3(rollup@3.27.2) - '@rollup/plugin-inject': 5.0.3(rollup@3.27.2) - '@rollup/plugin-json': 6.0.0(rollup@3.27.2) - '@rollup/plugin-node-resolve': 15.1.0(rollup@3.27.2) - '@rollup/plugin-replace': 5.0.2(rollup@3.27.2) - '@rollup/plugin-terser': 0.4.3(rollup@3.27.2) - '@rollup/plugin-wasm': 6.1.3(rollup@3.27.2) - '@rollup/pluginutils': 5.0.2(rollup@3.27.2) + '@netlify/functions': 2.0.1 + '@rollup/plugin-alias': 5.0.0(rollup@3.28.1) + '@rollup/plugin-commonjs': 25.0.4(rollup@3.28.1) + '@rollup/plugin-inject': 5.0.3(rollup@3.28.1) + '@rollup/plugin-json': 6.0.0(rollup@3.28.1) + '@rollup/plugin-node-resolve': 15.2.1(rollup@3.28.1) + '@rollup/plugin-replace': 5.0.2(rollup@3.28.1) + '@rollup/plugin-terser': 0.4.3(rollup@3.28.1) + '@rollup/plugin-wasm': 6.1.3(rollup@3.28.1) + '@rollup/pluginutils': 5.0.3(rollup@3.28.1) '@types/http-proxy': 1.17.11 - '@vercel/nft': 0.22.6 - archiver: 5.3.1 + '@vercel/nft': 0.23.1 + archiver: 6.0.0 c12: 1.4.2 chalk: 5.3.0 chokidar: 3.5.3 @@ -8066,8 +8092,8 @@ packages: cookie-es: 1.0.0 defu: 6.1.2 destr: 2.0.1 - dot-prop: 7.2.0 - esbuild: 0.18.20 + dot-prop: 8.0.2 + esbuild: 0.19.2 escape-string-regexp: 5.0.0 etag: 1.8.1 fs-extra: 11.1.1 @@ -8075,39 +8101,38 @@ packages: gzip-size: 7.0.0 h3: 1.8.0 hookable: 5.5.3 - http-graceful-shutdown: 3.1.13 - http-proxy: 1.18.1 + httpxy: 0.1.2 is-primitive: 3.0.1 jiti: 1.19.3 klona: 2.0.6 knitwork: 1.0.0 - listhen: 1.3.0 + listhen: 1.4.0 magic-string: 0.30.2 mime: 3.0.0 mlly: 1.4.0 mri: 1.2.0 - node-fetch-native: 1.2.0 - ofetch: 1.1.1 + node-fetch-native: 1.4.0 + ofetch: 1.2.1 ohash: 1.1.3 - openapi-typescript: 6.4.0 + openapi-typescript: 6.5.3 pathe: 1.1.1 perfect-debounce: 1.0.0 pkg-types: 1.0.3 pretty-bytes: 6.1.1 - radix3: 1.0.1 - rollup: 3.27.2 - rollup-plugin-visualizer: 5.9.2(rollup@3.27.2) + radix3: 1.1.0 + rollup: 3.28.1 + rollup-plugin-visualizer: 5.9.2(rollup@3.28.1) scule: 1.0.0 semver: 7.5.4 serve-placeholder: 2.0.1 serve-static: 1.15.0 - source-map-support: 0.5.21 - std-env: 3.4.0 + std-env: 3.4.3 ufo: 1.2.0 uncrypto: 0.1.3 - unenv: 1.7.1 - unimport: 3.1.3(rollup@3.27.2) - unstorage: 1.8.0 + unctx: 2.3.1 + unenv: 1.7.3 + unimport: 3.1.3(rollup@3.28.1) + unstorage: 1.9.0 transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -8115,11 +8140,12 @@ packages: - '@azure/identity' - '@azure/keyvault-secrets' - '@azure/storage-blob' + - '@capacitor/preferences' - '@planetscale/database' - '@upstash/redis' - '@vercel/kv' - - debug - encoding + - idb-keyval - supports-color /no-case@3.0.4: @@ -8146,8 +8172,8 @@ packages: lodash: 4.17.21 dev: true - /node-fetch-native@1.2.0: - resolution: {integrity: sha512-5IAMBTl9p6PaAjYCnMv5FmqIF6GcZnawAVnzaCG0rX2aYZJ4CxEkZNtVPuTRug7fL7wyM5BQYTlAzcyMPi6oTQ==} + /node-fetch-native@1.4.0: + resolution: {integrity: sha512-F5kfEj95kX8tkDhUCYdV8dg3/8Olx/94zB8+ZNthFs6Bz31UpUi8Xh40TN3thLwXgrwXry1pEg9lJ++tLWTcqA==} /node-fetch@2.6.12: resolution: {integrity: sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g==} @@ -8370,7 +8396,15 @@ packages: resolution: {integrity: sha512-SSMoktrp9SNLi20BWfB/BnnKcL0RDigXThD/mZBeQxkIRv1xrd9183MtLdsqRYLYSqW0eTr5t8w8MqjNhvoOQQ==} dependencies: destr: 2.0.1 - node-fetch-native: 1.2.0 + node-fetch-native: 1.4.0 + ufo: 1.2.0 + dev: true + + /ofetch@1.2.1: + resolution: {integrity: sha512-WEX1TEfGuAFJhzRW6Qv9RcxCyek+YogEeXlCWl1XoqBSW2fc6jU4LTk3VotwC1YfXv8Uz06LSofU6uW/ZIT+6g==} + dependencies: + destr: 2.0.1 + node-fetch-native: 1.4.0 ufo: 1.2.0 /ohash@1.1.3: @@ -8417,8 +8451,8 @@ packages: is-wsl: 2.2.0 dev: true - /openapi-typescript@6.4.0: - resolution: {integrity: sha512-qTa5HGcVdTic2zmvC+aE3tEJqFUZGkXFk8ygAexTPzsHY3a0etay8bBSQjdNP4ZI8TaA+gtHJtTKvhkUhJd6Jw==} + /openapi-typescript@6.5.3: + resolution: {integrity: sha512-iVOgf1wf/6R73Cg9wcxMAD/P3+/TJ8HQruLyv3WRDu29Pwnmp7ZUJ897Kb401jW7Ao/L4JjisropHQJW62BXtA==} hasBin: true dependencies: ansi-colors: 4.1.3 @@ -8601,7 +8635,7 @@ packages: resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} engines: {node: '>=16 || 14 >=14.17'} dependencies: - lru-cache: 10.0.0 + lru-cache: 10.0.1 minipass: 7.0.2 dev: true @@ -9276,8 +9310,8 @@ packages: lodash.isequal: 4.5.0 dev: false - /radix3@1.0.1: - resolution: {integrity: sha512-y+AcwZ3HcUIGc9zGsNVf5+BY/LxL+z+4h4J3/pp8jxSmy1STaCocPS3qrj4tA5ehUSzqtqK+0Aygvz/r/8vy4g==} + /radix3@1.1.0: + resolution: {integrity: sha512-pNsHDxbGORSvuSScqNJ+3Km6QAVqk8CfsCBIEoDgpqLrkD2f3QM4I7d1ozJJ172OmIcoUcerZaNWqtLkRXTV3A==} /randombytes@2.1.0: resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} @@ -9519,9 +9553,6 @@ packages: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} - /requires-port@1.0.0: - resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} - /resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} @@ -9559,7 +9590,7 @@ packages: glob: 10.3.3 dev: true - /rollup-plugin-dts@5.3.1(rollup@3.27.2)(typescript@5.1.6): + /rollup-plugin-dts@5.3.1(rollup@3.28.1)(typescript@5.1.6): resolution: {integrity: sha512-gusMi+Z4gY/JaEQeXnB0RUdU82h1kF0WYzCWgVmV4p3hWXqelaKuCvcJawfeg+EKn2T1Ie+YWF2OiN1/L8bTVg==} engines: {node: '>=v14.21.3'} peerDependencies: @@ -9567,13 +9598,27 @@ packages: typescript: ^4.1 || ^5.0 dependencies: magic-string: 0.30.2 - rollup: 3.27.2 + rollup: 3.28.1 + typescript: 5.1.6 + optionalDependencies: + '@babel/code-frame': 7.22.10 + dev: true + + /rollup-plugin-dts@6.0.0(rollup@3.28.1)(typescript@5.1.6): + resolution: {integrity: sha512-A996xSZDAqnx/KfFttzC8mDEuyMjsRpiLCrlGc8effhK8KhE3AG0g1woQiITgFc5HSE8HWU7ccR9CiQ3vXgUlQ==} + engines: {node: '>=v18.17.1'} + peerDependencies: + rollup: ^3.25.0 + typescript: ^4.5 || ^5.0 + dependencies: + magic-string: 0.30.2 + rollup: 3.28.1 typescript: 5.1.6 optionalDependencies: '@babel/code-frame': 7.22.10 dev: true - /rollup-plugin-visualizer@5.9.2(rollup@3.27.2): + /rollup-plugin-visualizer@5.9.2(rollup@3.28.1): resolution: {integrity: sha512-waHktD5mlWrYFrhOLbti4YgQCn1uR24nYsNuXxg7LkPH8KdTXVWR9DNY1WU0QqokyMixVXJS4J04HNrVTMP01A==} engines: {node: '>=14'} hasBin: true @@ -9585,12 +9630,12 @@ packages: dependencies: open: 8.4.2 picomatch: 2.3.1 - rollup: 3.27.2 + rollup: 3.28.1 source-map: 0.7.4 yargs: 17.7.2 - /rollup@3.27.2: - resolution: {integrity: sha512-YGwmHf7h2oUHkVBT248x0yt6vZkYQ3/rvE5iQuVBh3WO8GcJ6BNeOkpoX1yMHIiBm18EMLjBPIoUDkhgnyxGOQ==} + /rollup@3.28.1: + resolution: {integrity: sha512-R9OMQmIHJm9znrU3m3cpE8uhN0fGdXiawME7aZIpQqvpS/85+Vt1Hq1/yVIcYfOmaQiHjvXkQAoJukvLpau6Yw==} engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true optionalDependencies: @@ -9946,6 +9991,9 @@ packages: /std-env@3.4.0: resolution: {integrity: sha512-YqHeQIIQ8r1VtUZOTOyjsAXAsjr369SplZ5rlQaiJTBsvodvPSCME7vuz8pnQltbQ0Cw0lyFo5Q8uyNwYQ58Xw==} + /std-env@3.4.3: + resolution: {integrity: sha512-f9aPhy8fYBuMN+sNfakZV18U39PbalgjXG3lLB9WkaYTxijru61wb57V9wxxNthXM5Sd88ETBWi29qLAsHO52Q==} + /streamsearch@1.1.0: resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} engines: {node: '>=10.0.0'} @@ -10356,9 +10404,9 @@ packages: engines: {node: '>=8'} dev: true - /type-fest@2.19.0: - resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} - engines: {node: '>=12.20'} + /type-fest@3.13.1: + resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==} + engines: {node: '>=14.16'} /typed-array-buffer@1.0.0: resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} @@ -10431,12 +10479,12 @@ packages: resolution: {integrity: sha512-J4efk69Aye43tWcBPCsLK7TIRppGrEN4pAlDzRKo3HSE6MgTSTBxSEuE3ccx7ixc62JvGQ/CoFXYqqF2AHozow==} hasBin: true dependencies: - '@rollup/plugin-alias': 5.0.0(rollup@3.27.2) - '@rollup/plugin-commonjs': 24.1.0(rollup@3.27.2) - '@rollup/plugin-json': 6.0.0(rollup@3.27.2) - '@rollup/plugin-node-resolve': 15.1.0(rollup@3.27.2) - '@rollup/plugin-replace': 5.0.2(rollup@3.27.2) - '@rollup/pluginutils': 5.0.2(rollup@3.27.2) + '@rollup/plugin-alias': 5.0.0(rollup@3.28.1) + '@rollup/plugin-commonjs': 24.1.0(rollup@3.28.1) + '@rollup/plugin-json': 6.0.0(rollup@3.28.1) + '@rollup/plugin-node-resolve': 15.2.1(rollup@3.28.1) + '@rollup/plugin-replace': 5.0.2(rollup@3.28.1) + '@rollup/pluginutils': 5.0.3(rollup@3.28.1) chalk: 5.3.0 consola: 3.2.3 defu: 6.1.2 @@ -10451,8 +10499,47 @@ packages: pathe: 1.1.1 pkg-types: 1.0.3 pretty-bytes: 6.1.1 - rollup: 3.27.2 - rollup-plugin-dts: 5.3.1(rollup@3.27.2)(typescript@5.1.6) + rollup: 3.28.1 + rollup-plugin-dts: 5.3.1(rollup@3.28.1)(typescript@5.1.6) + scule: 1.0.0 + typescript: 5.1.6 + untyped: 1.4.0 + transitivePeerDependencies: + - sass + - supports-color + dev: true + + /unbuild@2.0.0(typescript@5.1.6): + resolution: {integrity: sha512-JWCUYx3Oxdzvw2J9kTAp+DKE8df/BnH/JTSj6JyA4SH40ECdFu7FoJJcrm8G92B7TjofQ6GZGjJs50TRxoH6Wg==} + hasBin: true + peerDependencies: + typescript: ^5.1.6 + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@rollup/plugin-alias': 5.0.0(rollup@3.28.1) + '@rollup/plugin-commonjs': 25.0.4(rollup@3.28.1) + '@rollup/plugin-json': 6.0.0(rollup@3.28.1) + '@rollup/plugin-node-resolve': 15.2.1(rollup@3.28.1) + '@rollup/plugin-replace': 5.0.2(rollup@3.28.1) + '@rollup/pluginutils': 5.0.3(rollup@3.28.1) + chalk: 5.3.0 + citty: 0.1.2 + consola: 3.2.3 + defu: 6.1.2 + esbuild: 0.19.2 + globby: 13.2.2 + hookable: 5.5.3 + jiti: 1.19.3 + magic-string: 0.30.2 + mkdist: 1.3.0(typescript@5.1.6) + mlly: 1.4.0 + pathe: 1.1.1 + pkg-types: 1.0.3 + pretty-bytes: 6.1.1 + rollup: 3.28.1 + rollup-plugin-dts: 6.0.0(rollup@3.28.1)(typescript@5.1.6) scule: 1.0.0 typescript: 5.1.6 untyped: 1.4.0 @@ -10484,7 +10571,17 @@ packages: consola: 3.2.3 defu: 6.1.2 mime: 3.0.0 - node-fetch-native: 1.2.0 + node-fetch-native: 1.4.0 + pathe: 1.1.1 + dev: false + + /unenv@1.7.3: + resolution: {integrity: sha512-5NGaBSP0acq5FAnjw9m6sA/QaImYkEjpYXPc99l/KUIb1qbxki1PSvX3ZNnK3pWIC2XwIHrOul2P7FiHyWgeXA==} + dependencies: + consola: 3.2.3 + defu: 6.1.2 + mime: 3.0.0 + node-fetch-native: 1.4.0 pathe: 1.1.1 /unhead@1.3.5: @@ -10508,10 +10605,10 @@ packages: vfile: 5.3.7 dev: true - /unimport@3.1.3(rollup@3.27.2): + /unimport@3.1.3(rollup@3.28.1): resolution: {integrity: sha512-up4TE2yA+nMyyErGTjbYGVw95MriGa2hVRXQ3/JRp7984cwwqULcnBjHaovVpsO8tZc2j0fvgGu9yiBKOyxvYw==} dependencies: - '@rollup/pluginutils': 5.0.2(rollup@3.27.2) + '@rollup/pluginutils': 5.0.3(rollup@3.28.1) escape-string-regexp: 5.0.0 fast-glob: 3.3.1 local-pkg: 0.4.3 @@ -10605,7 +10702,7 @@ packages: resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} engines: {node: '>= 10.0.0'} - /unplugin-vue-router@0.6.4(rollup@3.27.2)(vue-router@4.2.4)(vue@3.3.4): + /unplugin-vue-router@0.6.4(rollup@3.28.1)(vue-router@4.2.4)(vue@3.3.4): resolution: {integrity: sha512-9THVhhtbVFxbsIibjK59oPwMI1UCxRWRPX7azSkTUABsxovlOXJys5SJx0kd/0oKIqNJuYgkRfAgPuO77SqCOg==} peerDependencies: vue-router: ^4.1.0 @@ -10614,8 +10711,8 @@ packages: optional: true dependencies: '@babel/types': 7.22.10 - '@rollup/pluginutils': 5.0.2(rollup@3.27.2) - '@vue-macros/common': 1.6.2(rollup@3.27.2)(vue@3.3.4) + '@rollup/pluginutils': 5.0.3(rollup@3.28.1) + '@vue-macros/common': 1.6.2(rollup@3.28.1)(vue@3.3.4) ast-walker-scope: 0.4.2 chokidar: 3.5.3 fast-glob: 3.3.1 @@ -10640,8 +10737,8 @@ packages: webpack-sources: 3.2.3 webpack-virtual-modules: 0.5.0 - /unstorage@1.8.0: - resolution: {integrity: sha512-Wl6a0fYIIPx8yWIHAVNzsNRcIpagVnBV05UXeIFCNqPZ5tu0w0MPE+eTjpRe/yxCD60K7qX55K5Px/PeKvNntw==} + /unstorage@1.9.0: + resolution: {integrity: sha512-VpD8ZEYc/le8DZCrny3bnqKE4ZjioQxBRnWE+j5sGNvziPjeDlaS1NaFFHzl/kkXaO3r7UaF8MGQrs14+1B4pQ==} peerDependencies: '@azure/app-configuration': ^1.4.1 '@azure/cosmos': ^3.17.3 @@ -10649,9 +10746,11 @@ packages: '@azure/identity': ^3.2.3 '@azure/keyvault-secrets': ^4.7.0 '@azure/storage-blob': ^12.14.0 - '@planetscale/database': ^1.7.0 - '@upstash/redis': ^1.21.0 + '@capacitor/preferences': ^5.0.0 + '@planetscale/database': ^1.8.0 + '@upstash/redis': ^1.22.0 '@vercel/kv': ^0.2.2 + idb-keyval: ^6.2.1 peerDependenciesMeta: '@azure/app-configuration': optional: true @@ -10665,12 +10764,16 @@ packages: optional: true '@azure/storage-blob': optional: true + '@capacitor/preferences': + optional: true '@planetscale/database': optional: true '@upstash/redis': optional: true '@vercel/kv': optional: true + idb-keyval: + optional: true dependencies: anymatch: 3.1.3 chokidar: 3.5.3 @@ -10678,10 +10781,10 @@ packages: h3: 1.8.0 ioredis: 5.3.2 listhen: 1.3.0 - lru-cache: 10.0.0 + lru-cache: 10.0.1 mri: 1.2.0 - node-fetch-native: 1.2.0 - ofetch: 1.1.1 + node-fetch-native: 1.4.0 + ofetch: 1.2.1 ufo: 1.2.0 transitivePeerDependencies: - supports-color @@ -10735,8 +10838,8 @@ packages: tslib: 2.6.1 dev: true - /uqr@0.1.0: - resolution: {integrity: sha512-jFCDB0ptDeUbNyU52pY2TMawACz0gBNo20Aw8R58s/4Avux/ZuqP8qZh3Q9XA4wU8ztWwEWsStI+tNNEEUHdyQ==} + /uqr@0.1.2: + resolution: {integrity: sha512-MJu7ypHq6QasgF5YRTjqscSzQp/W11zoUk6kvmlH+fmWEs63Y0Eib13hYFwAzagRJcVY8WVnlV+eBDUGMJ5IbA==} /uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} @@ -10760,6 +10863,9 @@ packages: webpack: 5.88.2 dev: false + /urlpattern-polyfill@8.0.2: + resolution: {integrity: sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==} + /util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} @@ -10819,28 +10925,6 @@ packages: vfile-message: 3.1.4 dev: true - /vite-node@0.33.0(@types/node@18.17.5): - resolution: {integrity: sha512-19FpHYbwWWxDr73ruNahC+vtEdza52kA90Qb3La98yZ0xULqV8A5JLNPUff0f5zID4984tW7l3DH2przTJUZSw==} - engines: {node: '>=v14.18.0'} - hasBin: true - dependencies: - cac: 6.7.14 - debug: 4.3.4 - mlly: 1.4.0 - pathe: 1.1.1 - picocolors: 1.0.0 - vite: 4.4.9(@types/node@18.17.5) - transitivePeerDependencies: - - '@types/node' - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - /vite-node@0.33.0(@types/node@18.17.6): resolution: {integrity: sha512-19FpHYbwWWxDr73ruNahC+vtEdza52kA90Qb3La98yZ0xULqV8A5JLNPUff0f5zID4984tW7l3DH2przTJUZSw==} engines: {node: '>=v14.18.0'} @@ -10861,7 +10945,6 @@ packages: - sugarss - supports-color - terser - dev: false /vite-plugin-checker@0.6.2(eslint@8.47.0)(typescript@5.1.6)(vite@4.4.9)(vue-tsc@1.8.8): resolution: {integrity: sha512-YvvvQ+IjY09BX7Ab+1pjxkELQsBd4rPhWNw8WLBeFVxu/E7O+n6VYAqNsKdK/a2luFlX/sMpoWdGFfg4HvwdJQ==} @@ -10917,41 +11000,6 @@ packages: vue-tsc: 1.8.8(typescript@5.1.6) dev: false - /vite@4.4.9(@types/node@18.17.5): - resolution: {integrity: sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==} - engines: {node: ^14.18.0 || >=16.0.0} - hasBin: true - peerDependencies: - '@types/node': '>= 14' - less: '*' - lightningcss: ^1.21.0 - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - dependencies: - '@types/node': 18.17.5 - esbuild: 0.18.20 - postcss: 8.4.28 - rollup: 3.27.2 - optionalDependencies: - fsevents: 2.3.2 - /vite@4.4.9(@types/node@18.17.6): resolution: {integrity: sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==} engines: {node: ^14.18.0 || >=16.0.0} @@ -10983,7 +11031,7 @@ packages: '@types/node': 18.17.6 esbuild: 0.18.20 postcss: 8.4.28 - rollup: 3.27.2 + rollup: 3.28.1 optionalDependencies: fsevents: 2.3.2 @@ -11008,8 +11056,8 @@ packages: h3: 1.8.0 happy-dom: 10.10.4 magic-string: 0.30.2 - ofetch: 1.1.1 - unenv: 1.7.1 + ofetch: 1.2.1 + unenv: 1.7.3 vitest: 0.33.0(happy-dom@10.10.4) vue: 3.3.4 vue-router: 4.2.4(vue@3.3.4) @@ -11051,7 +11099,7 @@ packages: dependencies: '@types/chai': 4.3.5 '@types/chai-subset': 1.3.3 - '@types/node': 18.17.5 + '@types/node': 18.17.6 '@vitest/expect': 0.33.0 '@vitest/runner': 0.33.0 '@vitest/snapshot': 0.33.0 @@ -11071,8 +11119,8 @@ packages: strip-literal: 1.3.0 tinybench: 2.5.0 tinypool: 0.6.0 - vite: 4.4.9(@types/node@18.17.5) - vite-node: 0.33.0(@types/node@18.17.5) + vite: 4.4.9(@types/node@18.17.6) + vite-node: 0.33.0(@types/node@18.17.6) why-is-node-running: 2.2.2 transitivePeerDependencies: - less diff --git a/test/bundle.test.ts b/test/bundle.test.ts index 2ce5d99d2256..cdbfb53a0bab 100644 --- a/test/bundle.test.ts +++ b/test/bundle.test.ts @@ -19,7 +19,7 @@ describe.skipIf(process.env.SKIP_BUNDLE_SIZE === 'true' || process.env.ECOSYSTEM for (const outputDir of ['.output', '.output-inline']) { it('default client bundle size', async () => { const clientStats = await analyzeSizes('**/*.js', join(rootDir, outputDir, 'public')) - expect.soft(roundToKilobytes(clientStats.totalBytes)).toMatchInlineSnapshot('"95.7k"') + expect.soft(roundToKilobytes(clientStats.totalBytes)).toMatchInlineSnapshot('"96.4k"') expect(clientStats.files.map(f => f.replace(/\..*\.js/, '.js'))).toMatchInlineSnapshot(` [ "_nuxt/entry.js", @@ -32,10 +32,10 @@ describe.skipIf(process.env.SKIP_BUNDLE_SIZE === 'true' || process.env.ECOSYSTEM const serverDir = join(rootDir, '.output/server') const serverStats = await analyzeSizes(['**/*.mjs', '!node_modules'], serverDir) - expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot('"64.6k"') + expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot('"305k"') const modules = await analyzeSizes('node_modules/**/*', serverDir) - expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"2348k"') + expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"1822k"') const packages = modules.files .filter(m => m.endsWith('package.json')) @@ -55,33 +55,12 @@ describe.skipIf(process.env.SKIP_BUNDLE_SIZE === 'true' || process.env.ECOSYSTEM "@vue/runtime-dom", "@vue/server-renderer", "@vue/shared", - "cookie-es", - "debug", - "defu", - "destr", "devalue", "estree-walker", - "h3", - "has-flag", "hookable", - "http-graceful-shutdown", - "iron-webcrypto", - "klona", - "ms", - "node-fetch-native", - "ofetch", - "ohash", - "pathe", - "radix3", - "scule", "source-map-js", - "supports-color", "ufo", - "uncrypto", - "unctx", - "unenv", "unhead", - "unstorage", "vue", "vue-bundle-renderer", ] @@ -92,10 +71,10 @@ describe.skipIf(process.env.SKIP_BUNDLE_SIZE === 'true' || process.env.ECOSYSTEM const serverDir = join(rootDir, '.output-inline/server') const serverStats = await analyzeSizes(['**/*.mjs', '!node_modules'], serverDir) - expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot('"370k"') + expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot('"611k"') const modules = await analyzeSizes('node_modules/**/*', serverDir) - expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"613k"') + expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"70.9k"') const packages = modules.files .filter(m => m.endsWith('package.json')) @@ -106,31 +85,9 @@ describe.skipIf(process.env.SKIP_BUNDLE_SIZE === 'true' || process.env.ECOSYSTEM "@unhead/dom", "@unhead/shared", "@unhead/ssr", - "cookie-es", - "debug", - "defu", - "destr", "devalue", - "h3", - "has-flag", "hookable", - "http-graceful-shutdown", - "iron-webcrypto", - "klona", - "ms", - "node-fetch-native", - "ofetch", - "ohash", - "pathe", - "radix3", - "scule", - "supports-color", - "ufo", - "uncrypto", - "unctx", - "unenv", "unhead", - "unstorage", ] `) }) From 60c1eec047d951358cc6f49e2262c64015adfda7 Mon Sep 17 00:00:00 2001 From: eternalltruth <72864060+eternalltruth@users.noreply.github.com> Date: Wed, 23 Aug 2023 15:46:44 +0800 Subject: [PATCH 116/147] docs: add additional type generics to `useFetch` docs (#22755) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: 李杰 --- docs/3.api/1.composables/use-fetch.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/3.api/1.composables/use-fetch.md b/docs/3.api/1.composables/use-fetch.md index bdfdab9af203..f25564539c9f 100644 --- a/docs/3.api/1.composables/use-fetch.md +++ b/docs/3.api/1.composables/use-fetch.md @@ -10,12 +10,12 @@ It automatically generates a key based on URL and fetch options, provides type h ## Type ```ts [Signature] -function useFetch( +function useFetch( url: string | Request | Ref | () => string | Request, options?: UseFetchOptions -): Promise> +): Promise> -type UseFetchOptions = { +type UseFetchOptions = { key?: string method?: string query?: SearchParams From 16a200a65aa9d97adea875a66303f5d8d15fb1ef Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 23 Aug 2023 09:11:00 +0100 Subject: [PATCH 117/147] chore(deps): update all non-major dependencies (main) (#22721) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Daniel Roe --- package.json | 12 +- packages/nuxi/package.json | 4 +- packages/nuxt/package.json | 10 +- packages/schema/package.json | 4 +- packages/test-utils/package.json | 4 +- packages/vite/package.json | 6 +- packages/webpack/package.json | 4 +- pnpm-lock.yaml | 547 +++++++++++++++---------------- test/bundle.test.ts | 4 +- 9 files changed, 283 insertions(+), 312 deletions(-) diff --git a/package.json b/package.json index d6fc6ed6dd33..5e5c7c0d2fb0 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,7 @@ "nuxt": "workspace:*", "vite": "4.4.9", "vue": "3.3.4", - "magic-string": "^0.30.2" + "magic-string": "^0.30.3" }, "devDependencies": { "@actions/core": "1.10.0", @@ -45,11 +45,11 @@ "@nuxt/webpack-builder": "workspace:*", "@nuxtjs/eslint-config-typescript": "12.0.0", "@types/fs-extra": "11.0.1", - "@types/node": "18.17.6", + "@types/node": "18.17.8", "@types/semver": "7.5.0", "case-police": "0.6.1", "chalk": "5.3.0", - "changelogen": "0.5.4", + "changelogen": "0.5.5", "cheerio": "1.0.0-rc.12", "consola": "3.2.3", "devalue": "4.3.2", @@ -61,19 +61,19 @@ "fs-extra": "11.1.1", "globby": "13.2.2", "h3": "1.8.0", - "happy-dom": "10.10.4", + "happy-dom": "10.11.0", "jiti": "1.19.3", "markdownlint-cli": "^0.33.0", "nitropack": "2.6.0", "nuxi": "workspace:*", "nuxt": "workspace:*", "nuxt-vitest": "0.10.2", - "ofetch": "1.1.1", + "ofetch": "1.2.1", "pathe": "1.1.1", "playwright-core": "1.37.1", "rimraf": "5.0.1", "semver": "7.5.4", - "std-env": "3.4.0", + "std-env": "3.4.3", "typescript": "5.1.6", "ufo": "1.2.0", "vite": "4.4.9", diff --git a/packages/nuxi/package.json b/packages/nuxi/package.json index ec0070de6d8a..408b3d502b93 100644 --- a/packages/nuxi/package.json +++ b/packages/nuxi/package.json @@ -38,7 +38,7 @@ "giget": "1.1.2", "h3": "1.8.0", "jiti": "1.19.3", - "listhen": "1.3.0", + "listhen": "1.4.0", "mlly": "1.4.0", "mri": "1.2.0", "nitropack": "2.6.0", @@ -52,7 +52,7 @@ "unbuild": "latest" }, "optionalDependencies": { - "fsevents": "~2.3.2" + "fsevents": "~2.3.3" }, "engines": { "node": "^14.18.0 || >=16.10.0" diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index e22aab143fd3..f19b9a3678c5 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -79,25 +79,25 @@ "jiti": "^1.19.3", "klona": "^2.0.6", "knitwork": "^1.0.0", - "magic-string": "^0.30.2", + "magic-string": "^0.30.3", "mlly": "^1.4.0", "nitropack": "^2.6.0", "nuxi": "workspace:../nuxi", "nypm": "^0.3.0", - "ofetch": "^1.1.1", + "ofetch": "^1.2.1", "ohash": "^1.1.3", "pathe": "^1.1.1", "perfect-debounce": "^1.0.0", "pkg-types": "^1.0.3", "prompts": "^2.4.2", "scule": "^1.0.0", - "std-env": "^3.4.0", + "std-env": "^3.4.3", "strip-literal": "^1.3.0", "ufo": "^1.2.0", "ultrahtml": "^1.3.0", "uncrypto": "^0.1.3", "unctx": "^2.3.1", - "unenv": "^1.7.1", + "unenv": "^1.7.3", "unimport": "^3.1.3", "unplugin": "^1.4.0", "unplugin-vue-router": "^0.6.4", @@ -112,7 +112,7 @@ "@types/estree": "1.0.1", "@types/fs-extra": "11.0.1", "@types/prompts": "2.4.4", - "@vitejs/plugin-vue": "4.3.1", + "@vitejs/plugin-vue": "4.3.3", "unbuild": "latest", "vite": "4.4.9", "vitest": "0.33.0" diff --git a/packages/schema/package.json b/packages/schema/package.json index a57e39321f3c..edf63f0e4f53 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -31,7 +31,7 @@ "@types/pug": "2.0.6", "@types/sass-loader": "8.0.5", "@unhead/schema": "1.3.5", - "@vitejs/plugin-vue": "4.3.1", + "@vitejs/plugin-vue": "4.3.3", "@vitejs/plugin-vue-jsx": "3.0.2", "@vue/compiler-core": "3.3.4", "esbuild-loader": "4.0.1", @@ -55,7 +55,7 @@ "pathe": "^1.1.1", "pkg-types": "^1.0.3", "postcss-import-resolver": "^2.0.0", - "std-env": "^3.4.0", + "std-env": "^3.4.3", "ufo": "^1.2.0", "unimport": "^3.1.3", "untyped": "^1.4.0" diff --git a/packages/test-utils/package.json b/packages/test-utils/package.json index ae57d9e7b1a1..6738f00b6eca 100644 --- a/packages/test-utils/package.json +++ b/packages/test-utils/package.json @@ -28,12 +28,12 @@ "defu": "^6.1.2", "execa": "^7.2.0", "get-port-please": "^3.0.1", - "ofetch": "^1.1.1", + "ofetch": "^1.2.1", "pathe": "^1.1.1", "ufo": "^1.2.0" }, "devDependencies": { - "@jest/globals": "29.6.2", + "@jest/globals": "29.6.3", "playwright-core": "1.37.1", "unbuild": "latest", "vitest": "0.33.0" diff --git a/packages/vite/package.json b/packages/vite/package.json index 0b174d10a36c..ebbf827bddca 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -28,7 +28,7 @@ "dependencies": { "@nuxt/kit": "workspace:../kit", "@rollup/plugin-replace": "^5.0.2", - "@vitejs/plugin-vue": "^4.3.1", + "@vitejs/plugin-vue": "^4.3.3", "@vitejs/plugin-vue-jsx": "^3.0.2", "autoprefixer": "^10.4.15", "clear": "^0.1.0", @@ -43,7 +43,7 @@ "get-port-please": "^3.0.1", "h3": "^1.8.0", "knitwork": "^1.0.0", - "magic-string": "^0.30.2", + "magic-string": "^0.30.3", "mlly": "^1.4.0", "ohash": "^1.1.3", "pathe": "^1.1.1", @@ -53,7 +53,7 @@ "postcss-import": "^15.1.0", "postcss-url": "^10.1.3", "rollup-plugin-visualizer": "^5.9.2", - "std-env": "^3.4.0", + "std-env": "^3.4.3", "strip-literal": "^1.3.0", "ufo": "^1.2.0", "unplugin": "^1.4.0", diff --git a/packages/webpack/package.json b/packages/webpack/package.json index 99b154c49aef..c8e6d86f4577 100644 --- a/packages/webpack/package.json +++ b/packages/webpack/package.json @@ -35,7 +35,7 @@ "h3": "^1.8.0", "hash-sum": "^2.0.0", "lodash-es": "^4.17.21", - "magic-string": "^0.30.2", + "magic-string": "^0.30.3", "memfs": "^4.2.1", "mini-css-extract-plugin": "^2.7.6", "mlly": "^1.4.0", @@ -47,7 +47,7 @@ "postcss-loader": "^7.3.3", "postcss-url": "^10.1.3", "pug-plain-loader": "^1.1.0", - "std-env": "^3.4.0", + "std-env": "^3.4.3", "time-fix-plugin": "^2.0.7", "ufo": "^1.2.0", "unplugin": "^1.4.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ff09d7714f48..87c809a91b87 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -14,7 +14,7 @@ overrides: nuxt: workspace:* vite: 4.4.9 vue: 3.3.4 - magic-string: ^0.30.2 + magic-string: ^0.30.3 importers: @@ -36,8 +36,8 @@ importers: specifier: 11.0.1 version: 11.0.1 '@types/node': - specifier: 18.17.6 - version: 18.17.6 + specifier: 18.17.8 + version: 18.17.8 '@types/semver': specifier: 7.5.0 version: 7.5.0 @@ -48,8 +48,8 @@ importers: specifier: 5.3.0 version: 5.3.0 changelogen: - specifier: 0.5.4 - version: 0.5.4 + specifier: 0.5.5 + version: 0.5.5 cheerio: specifier: 1.0.0-rc.12 version: 1.0.0-rc.12 @@ -84,8 +84,8 @@ importers: specifier: 1.8.0 version: 1.8.0 happy-dom: - specifier: 10.10.4 - version: 10.10.4 + specifier: 10.11.0 + version: 10.11.0 jiti: specifier: 1.19.3 version: 1.19.3 @@ -103,10 +103,10 @@ importers: version: link:packages/nuxt nuxt-vitest: specifier: 0.10.2 - version: 0.10.2(@vitejs/plugin-vue-jsx@3.0.2)(@vitejs/plugin-vue@4.3.1)(happy-dom@10.10.4)(vite@4.4.9)(vitest@0.33.0)(vue-router@4.2.4)(vue@3.3.4) + version: 0.10.2(@vitejs/plugin-vue-jsx@3.0.2)(@vitejs/plugin-vue@4.3.3)(happy-dom@10.11.0)(vite@4.4.9)(vitest@0.33.0)(vue-router@4.2.4)(vue@3.3.4) ofetch: - specifier: 1.1.1 - version: 1.1.1 + specifier: 1.2.1 + version: 1.2.1 pathe: specifier: 1.1.1 version: 1.1.1 @@ -120,8 +120,8 @@ importers: specifier: 7.5.4 version: 7.5.4 std-env: - specifier: 3.4.0 - version: 3.4.0 + specifier: 3.4.3 + version: 3.4.3 typescript: specifier: 5.1.6 version: 5.1.6 @@ -130,13 +130,13 @@ importers: version: 1.2.0 vite: specifier: 4.4.9 - version: 4.4.9(@types/node@18.17.6) + version: 4.4.9(@types/node@18.17.8) vitest: specifier: 0.33.0 - version: 0.33.0(happy-dom@10.10.4) + version: 0.33.0(happy-dom@10.11.0) vitest-environment-nuxt: specifier: 0.10.2 - version: 0.10.2(happy-dom@10.10.4)(vitest@0.33.0)(vue-router@4.2.4)(vue@3.3.4) + version: 0.10.2(happy-dom@10.11.0)(vitest@0.33.0)(vue-router@4.2.4)(vue@3.3.4) vue: specifier: 3.3.4 version: 3.3.4 @@ -233,10 +233,10 @@ importers: version: 2.0.0(typescript@5.1.6) vite: specifier: 4.4.9 - version: 4.4.9(@types/node@18.17.6) + version: 4.4.9(@types/node@18.17.8) vitest: specifier: 0.33.0 - version: 0.33.0(happy-dom@10.10.4) + version: 0.33.0(happy-dom@10.11.0) webpack: specifier: 5.88.2 version: 5.88.2 @@ -244,8 +244,8 @@ importers: packages/nuxi: optionalDependencies: fsevents: - specifier: ~2.3.2 - version: 2.3.2 + specifier: ~2.3.3 + version: 2.3.3 devDependencies: '@nuxt/kit': specifier: workspace:* @@ -308,8 +308,8 @@ importers: specifier: 1.19.3 version: 1.19.3 listhen: - specifier: 1.3.0 - version: 1.3.0 + specifier: 1.4.0 + version: 1.4.0 mlly: specifier: 1.4.0 version: 1.4.0 @@ -366,7 +366,7 @@ importers: version: link:../vite '@types/node': specifier: ^14.18.0 || >=16.10.0 - version: 18.17.6 + version: 18.17.8 '@unhead/dom': specifier: ^1.3.5 version: 1.3.5 @@ -431,8 +431,8 @@ importers: specifier: ^1.0.0 version: 1.0.0 magic-string: - specifier: ^0.30.2 - version: 0.30.2 + specifier: ^0.30.3 + version: 0.30.3 mlly: specifier: ^1.4.0 version: 1.4.0 @@ -446,7 +446,7 @@ importers: specifier: ^0.3.0 version: 0.3.0 ofetch: - specifier: ^1.1.1 + specifier: ^1.2.1 version: 1.2.1 ohash: specifier: ^1.1.3 @@ -467,8 +467,8 @@ importers: specifier: ^1.0.0 version: 1.0.0 std-env: - specifier: ^3.4.0 - version: 3.4.0 + specifier: ^3.4.3 + version: 3.4.3 strip-literal: specifier: ^1.3.0 version: 1.3.0 @@ -485,8 +485,8 @@ importers: specifier: ^2.3.1 version: 2.3.1 unenv: - specifier: ^1.7.1 - version: 1.7.1 + specifier: ^1.7.3 + version: 1.7.3 unimport: specifier: ^3.1.3 version: 3.1.3(rollup@3.28.1) @@ -525,17 +525,17 @@ importers: specifier: 2.4.4 version: 2.4.4 '@vitejs/plugin-vue': - specifier: 4.3.1 - version: 4.3.1(vite@4.4.9)(vue@3.3.4) + specifier: 4.3.3 + version: 4.3.3(vite@4.4.9)(vue@3.3.4) unbuild: specifier: latest version: 2.0.0(typescript@5.1.6) vite: specifier: 4.4.9 - version: 4.4.9(@types/node@18.17.6) + version: 4.4.9(@types/node@18.17.8) vitest: specifier: 0.33.0 - version: 0.33.0(happy-dom@10.10.4) + version: 0.33.0(happy-dom@10.11.0) packages/schema: dependencies: @@ -558,8 +558,8 @@ importers: specifier: ^2.0.0 version: 2.0.0 std-env: - specifier: ^3.4.0 - version: 3.4.0 + specifier: ^3.4.3 + version: 3.4.3 ufo: specifier: ^1.2.0 version: 1.2.0 @@ -586,8 +586,8 @@ importers: specifier: 1.3.5 version: 1.3.5 '@vitejs/plugin-vue': - specifier: 4.3.1 - version: 4.3.1(vite@4.4.9)(vue@3.3.4) + specifier: 4.3.3 + version: 4.3.3(vite@4.4.9)(vue@3.3.4) '@vitejs/plugin-vue-jsx': specifier: 3.0.2 version: 3.0.2(vite@4.4.9)(vue@3.3.4) @@ -614,7 +614,7 @@ importers: version: 2.3.1 vite: specifier: 4.4.9 - version: 4.4.9(@types/node@18.17.6) + version: 4.4.9(@types/node@18.17.8) vue: specifier: 3.3.4 version: 3.3.4 @@ -655,7 +655,7 @@ importers: specifier: ^3.0.1 version: 3.0.1 ofetch: - specifier: ^1.1.1 + specifier: ^1.2.1 version: 1.2.1 pathe: specifier: ^1.1.1 @@ -668,8 +668,8 @@ importers: version: 3.3.4 devDependencies: '@jest/globals': - specifier: 29.6.2 - version: 29.6.2 + specifier: 29.6.3 + version: 29.6.3 playwright-core: specifier: 1.37.1 version: 1.37.1 @@ -678,7 +678,7 @@ importers: version: 2.0.0(typescript@5.1.6) vitest: specifier: 0.33.0 - version: 0.33.0(happy-dom@10.10.4) + version: 0.33.0(happy-dom@10.11.0) packages/vite: dependencies: @@ -689,8 +689,8 @@ importers: specifier: ^5.0.2 version: 5.0.2(rollup@3.28.1) '@vitejs/plugin-vue': - specifier: ^4.3.1 - version: 4.3.1(vite@4.4.9)(vue@3.3.4) + specifier: ^4.3.3 + version: 4.3.3(vite@4.4.9)(vue@3.3.4) '@vitejs/plugin-vue-jsx': specifier: ^3.0.2 version: 3.0.2(vite@4.4.9)(vue@3.3.4) @@ -734,8 +734,8 @@ importers: specifier: ^1.0.0 version: 1.0.0 magic-string: - specifier: ^0.30.2 - version: 0.30.2 + specifier: ^0.30.3 + version: 0.30.3 mlly: specifier: ^1.4.0 version: 1.4.0 @@ -764,8 +764,8 @@ importers: specifier: ^5.9.2 version: 5.9.2(rollup@3.28.1) std-env: - specifier: ^3.4.0 - version: 3.4.0 + specifier: ^3.4.3 + version: 3.4.3 strip-literal: specifier: ^1.3.0 version: 1.3.0 @@ -777,10 +777,10 @@ importers: version: 1.4.0 vite: specifier: 4.4.9 - version: 4.4.9(@types/node@18.17.6) + version: 4.4.9(@types/node@18.17.8) vite-node: specifier: ^0.33.0 - version: 0.33.0(@types/node@18.17.6) + version: 0.33.0(@types/node@18.17.8) vite-plugin-checker: specifier: ^0.6.2 version: 0.6.2(eslint@8.47.0)(typescript@5.1.6)(vite@4.4.9)(vue-tsc@1.8.8) @@ -858,8 +858,8 @@ importers: specifier: ^4.17.21 version: 4.17.21 magic-string: - specifier: ^0.30.2 - version: 0.30.2 + specifier: ^0.30.3 + version: 0.30.3 memfs: specifier: ^4.2.1 version: 4.2.1(quill-delta@5.1.0)(rxjs@7.8.1)(tslib@2.6.1) @@ -894,8 +894,8 @@ importers: specifier: ^1.1.0 version: 1.1.0(pug@3.0.2) std-env: - specifier: ^3.4.0 - version: 3.4.0 + specifier: ^3.4.3 + version: 3.4.3 time-fix-plugin: specifier: ^2.0.7 version: 2.0.7(webpack@5.88.2) @@ -1003,7 +1003,7 @@ importers: version: 1.2.1 vitest: specifier: 0.33.0 - version: 0.33.0(happy-dom@10.10.4) + version: 0.33.0(happy-dom@10.11.0) vue: specifier: 3.3.4 version: 3.3.4 @@ -2120,78 +2120,78 @@ packages: engines: {node: '>=8'} dev: true - /@jest/environment@29.6.2: - resolution: {integrity: sha512-AEcW43C7huGd/vogTddNNTDRpO6vQ2zaQNrttvWV18ArBx9Z56h7BIsXkNFJVOO4/kblWEQz30ckw0+L3izc+Q==} + /@jest/environment@29.6.3: + resolution: {integrity: sha512-u/u3cCztYCfgBiGHsamqP5x+XvucftOGPbf5RJQxfpeC1y4AL8pCjKvPDA3oCmdhZYPgk5AE0VOD/flweR69WA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/fake-timers': 29.6.2 - '@jest/types': 29.6.1 - '@types/node': 18.17.6 - jest-mock: 29.6.2 + '@jest/fake-timers': 29.6.3 + '@jest/types': 29.6.3 + '@types/node': 18.17.8 + jest-mock: 29.6.3 dev: true - /@jest/expect-utils@29.6.2: - resolution: {integrity: sha512-6zIhM8go3RV2IG4aIZaZbxwpOzz3ZiM23oxAlkquOIole+G6TrbeXnykxWYlqF7kz2HlBjdKtca20x9atkEQYg==} + /@jest/expect-utils@29.6.3: + resolution: {integrity: sha512-nvOEW4YoqRKD9HBJ9OJ6przvIvP9qilp5nAn1462P5ZlL/MM9SgPEZFyjTGPfs7QkocdUsJa6KjHhyRn4ueItA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - jest-get-type: 29.4.3 + jest-get-type: 29.6.3 dev: true - /@jest/expect@29.6.2: - resolution: {integrity: sha512-m6DrEJxVKjkELTVAztTLyS/7C92Y2b0VYqmDROYKLLALHn8T/04yPs70NADUYPrV3ruI+H3J0iUIuhkjp7vkfg==} + /@jest/expect@29.6.3: + resolution: {integrity: sha512-Ic08XbI2jlg6rECy+CGwk/8NDa6VE7UmIG6++9OTPAMnQmNGY28hu69Nf629CWv6T7YMODLbONxDFKdmQeI9FA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - expect: 29.6.2 - jest-snapshot: 29.6.2 + expect: 29.6.3 + jest-snapshot: 29.6.3 transitivePeerDependencies: - supports-color dev: true - /@jest/fake-timers@29.6.2: - resolution: {integrity: sha512-euZDmIlWjm1Z0lJ1D0f7a0/y5Kh/koLFMUBE5SUYWrmy8oNhJpbTBDAP6CxKnadcMLDoDf4waRYCe35cH6G6PA==} + /@jest/fake-timers@29.6.3: + resolution: {integrity: sha512-pa1wmqvbj6eX0nMvOM2VDAWvJOI5A/Mk3l8O7n7EsAh71sMZblaKO9iT4GjIj0LwwK3CP/Jp1ypEV0x3m89RvA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 29.6.1 + '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 - '@types/node': 18.17.6 - jest-message-util: 29.6.2 - jest-mock: 29.6.2 - jest-util: 29.6.2 + '@types/node': 18.17.8 + jest-message-util: 29.6.3 + jest-mock: 29.6.3 + jest-util: 29.6.3 dev: true - /@jest/globals@29.6.2: - resolution: {integrity: sha512-cjuJmNDjs6aMijCmSa1g2TNG4Lby/AeU7/02VtpW+SLcZXzOLK2GpN2nLqcFjmhy3B3AoPeQVx7BnyOf681bAw==} + /@jest/globals@29.6.3: + resolution: {integrity: sha512-RB+uI+CZMHntzlnOPlll5x/jgRff3LEPl/td/jzMXiIgR0iIhKq9qm1HLU+EC52NuoVy/1swit/sDGjVn4bc6A==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/environment': 29.6.2 - '@jest/expect': 29.6.2 - '@jest/types': 29.6.1 - jest-mock: 29.6.2 + '@jest/environment': 29.6.3 + '@jest/expect': 29.6.3 + '@jest/types': 29.6.3 + jest-mock: 29.6.3 transitivePeerDependencies: - supports-color dev: true - /@jest/schemas@29.6.0: - resolution: {integrity: sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==} + /@jest/schemas@29.6.3: + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@sinclair/typebox': 0.27.8 - /@jest/transform@29.6.2: - resolution: {integrity: sha512-ZqCqEISr58Ce3U+buNFJYUktLJZOggfyvR+bZMaiV1e8B1SIvJbwZMrYz3gx/KAPn9EXmOmN+uB08yLCjWkQQg==} + /@jest/transform@29.6.3: + resolution: {integrity: sha512-dPIc3DsvMZ/S8ut4L2ViCj265mKO0owB0wfzBv2oGzL9pQ+iRvJewHqLBmsGb7XFb5UotWIEtvY5A/lnylaIoQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@babel/core': 7.22.10 - '@jest/types': 29.6.1 + '@jest/types': 29.6.3 '@jridgewell/trace-mapping': 0.3.18 babel-plugin-istanbul: 6.1.1 chalk: 4.1.2 convert-source-map: 2.0.0 fast-json-stable-stringify: 2.1.0 graceful-fs: 4.2.11 - jest-haste-map: 29.6.2 - jest-regex-util: 29.4.3 - jest-util: 29.6.2 + jest-haste-map: 29.6.3 + jest-regex-util: 29.6.3 + jest-util: 29.6.3 micromatch: 4.0.5 pirates: 4.0.6 slash: 3.0.0 @@ -2200,14 +2200,14 @@ packages: - supports-color dev: true - /@jest/types@29.6.1: - resolution: {integrity: sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==} + /@jest/types@29.6.3: + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/schemas': 29.6.0 + '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 18.17.6 + '@types/node': 18.17.8 '@types/yargs': 17.0.24 chalk: 4.1.2 @@ -2393,7 +2393,7 @@ packages: detab: 3.0.2 json5: 2.2.3 knitwork: 1.0.0 - listhen: 1.3.0 + listhen: 1.4.0 mdast-util-to-hast: 12.3.0 mdurl: 1.0.1 ohash: 1.1.3 @@ -2479,7 +2479,7 @@ packages: parse-git-config: 3.0.0 pathe: 1.1.1 rc9: 2.1.1 - std-env: 3.4.0 + std-env: 3.4.3 /@nuxt/ui-templates@1.3.1: resolution: {integrity: sha512-5gc02Pu1HycOVUWJ8aYsWeeXcSTPe8iX8+KIrhyEtEoOSkY0eMBuo0ssljB8wALuEmepv31DlYe5gpiRwkjESA==} @@ -2616,14 +2616,6 @@ packages: requiresBuild: true optional: true - /@parcel/watcher-wasm@2.3.0-alpha.1: - resolution: {integrity: sha512-wo6065l1MQ6SJPPchYw/q8J+pFL40qBXLu4Td2CXeQ/+mUk8NenNqC75P/P1Cyvpam0kfk91iszd+XL+xKDQww==} - engines: {node: '>= 10.0.0'} - dependencies: - is-glob: 4.0.3 - micromatch: 4.0.5 - napi-wasm: 1.1.0 - /@parcel/watcher-wasm@2.3.0-alpha.3: resolution: {integrity: sha512-kTkqlYhGhCM9EaoZMyjNzqKRSdTyp/vN+/uoJ2fzN+UCiWUI+jMKacwnBgu13T1F0mrcNqEWtYEXTRaZmnml1w==} engines: {node: '>= 10.0.0'} @@ -2717,7 +2709,7 @@ packages: estree-walker: 2.0.2 glob: 8.1.0 is-reference: 1.2.1 - magic-string: 0.30.2 + magic-string: 0.30.3 rollup: 3.28.1 dev: true @@ -2735,7 +2727,7 @@ packages: estree-walker: 2.0.2 glob: 8.1.0 is-reference: 1.2.1 - magic-string: 0.30.2 + magic-string: 0.30.3 rollup: 3.28.1 /@rollup/plugin-inject@5.0.3(rollup@3.28.1): @@ -2749,7 +2741,7 @@ packages: dependencies: '@rollup/pluginutils': 5.0.3(rollup@3.28.1) estree-walker: 2.0.2 - magic-string: 0.30.2 + magic-string: 0.30.3 rollup: 3.28.1 /@rollup/plugin-json@6.0.0(rollup@3.28.1): @@ -2791,7 +2783,7 @@ packages: optional: true dependencies: '@rollup/pluginutils': 5.0.3(rollup@3.28.1) - magic-string: 0.30.2 + magic-string: 0.30.3 rollup: 3.28.1 /@rollup/plugin-terser@0.4.3(rollup@3.28.1): @@ -2881,7 +2873,7 @@ packages: /@types/connect@3.4.35: resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} dependencies: - '@types/node': 18.17.6 + '@types/node': 18.17.8 dev: true /@types/debug@4.1.8: @@ -2919,13 +2911,13 @@ packages: resolution: {integrity: sha512-MxObHvNl4A69ofaTRU8DFqvgzzv8s9yRtaPPm5gud9HDNvpB3GPQFvNuTWAI59B9huVGV5jXYJwbCsmBsOGYWA==} dependencies: '@types/jsonfile': 6.1.1 - '@types/node': 18.17.6 + '@types/node': 18.17.8 dev: true /@types/graceful-fs@4.1.6: resolution: {integrity: sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==} dependencies: - '@types/node': 18.17.6 + '@types/node': 18.17.8 dev: true /@types/hash-sum@1.0.0: @@ -2941,7 +2933,7 @@ packages: /@types/http-proxy@1.17.11: resolution: {integrity: sha512-HC8G7c1WmaF2ekqpnFq626xd3Zz0uvaqFmBJNRZCGEZCXkvSdJoNFn/8Ygbd9fKNQj8UzLdCETaI0UWPAjK7IA==} dependencies: - '@types/node': 18.17.6 + '@types/node': 18.17.8 /@types/istanbul-lib-coverage@2.0.4: resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} @@ -2966,7 +2958,7 @@ packages: /@types/jsonfile@6.1.1: resolution: {integrity: sha512-GSgiRCVeapDN+3pqA35IkQwasaCh/0YFH5dEF6S88iDvEn901DjOeH3/QPY+XYP1DFzDZPvIvfeEgk+7br5png==} dependencies: - '@types/node': 18.17.6 + '@types/node': 18.17.8 dev: true /@types/lodash-es@4.17.8: @@ -2996,11 +2988,11 @@ packages: /@types/node-sass@4.11.3: resolution: {integrity: sha512-wXPCn3t9uu5rR4zXNSLasZHQMuRzUKBsdi4MsgT8uq4Lp1gQQo+T2G23tGj4SSgDHeNBle6vGseZtM2XV/X9bw==} dependencies: - '@types/node': 18.17.6 + '@types/node': 18.17.8 dev: true - /@types/node@18.17.6: - resolution: {integrity: sha512-fGmT/P7z7ecA6bv/ia5DlaWCH4YeZvAQMNpUhrJjtAhOhZfoxS1VLUgU2pdk63efSjQaOJWdXMuAJsws+8I6dg==} + /@types/node@18.17.8: + resolution: {integrity: sha512-Av/7MqX/iNKwT9Tr60V85NqMnsmh8ilfJoBlIVibkXfitk9Q22D9Y5mSpm+FvG5DET7EbVfB40bOiLzKgYFgPw==} /@types/normalize-package-data@2.4.1: resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} @@ -3021,7 +3013,7 @@ packages: /@types/prompts@2.4.4: resolution: {integrity: sha512-p5N9uoTH76lLvSAaYSZtBCdEXzpOOufsRjnhjVSrZGXikVGHX9+cc9ERtHRV4hvBKHyZb1bg4K+56Bd2TqUn4A==} dependencies: - '@types/node': 18.17.6 + '@types/node': 18.17.8 kleur: 3.0.3 dev: true @@ -3035,7 +3027,7 @@ packages: /@types/sass-loader@8.0.5: resolution: {integrity: sha512-3b3lQ+UwWanaPBzOcP1YeNTR4q0Klt2UEezhdIjDXkTnQ93F+fnv+z1tMsQBAopY0b+c5ATN5pHQ+vfzxaRnFg==} dependencies: - '@types/node': 18.17.6 + '@types/node': 18.17.8 '@types/node-sass': 4.11.3 '@types/webpack': 4.41.33 sass: 1.64.2 @@ -3082,7 +3074,7 @@ packages: /@types/webpack-bundle-analyzer@4.6.0: resolution: {integrity: sha512-XeQmQCCXdZdap+A/60UKmxW5Mz31Vp9uieGlHB3T4z/o2OLVLtTI3bvTuS6A2OWd/rbAAQiGGWIEFQACu16szA==} dependencies: - '@types/node': 18.17.6 + '@types/node': 18.17.8 tapable: 2.2.1 webpack: 5.88.2 transitivePeerDependencies: @@ -3108,7 +3100,7 @@ packages: /@types/webpack-sources@3.2.0: resolution: {integrity: sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg==} dependencies: - '@types/node': 18.17.6 + '@types/node': 18.17.8 '@types/source-list-map': 0.1.2 source-map: 0.7.4 dev: true @@ -3122,7 +3114,7 @@ packages: /@types/webpack@4.41.33: resolution: {integrity: sha512-PPajH64Ft2vWevkerISMtnZ8rTs4YmRbs+23c402J0INmxDKCrhZNvwZYtzx96gY2wAtXdrK1BS2fiC8MlLr3g==} dependencies: - '@types/node': 18.17.6 + '@types/node': 18.17.8 '@types/tapable': 1.0.8 '@types/uglify-js': 3.17.1 '@types/webpack-sources': 3.2.0 @@ -3340,19 +3332,19 @@ packages: '@babel/core': 7.22.10 '@babel/plugin-transform-typescript': 7.22.10(@babel/core@7.22.10) '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.22.10) - vite: 4.4.9(@types/node@18.17.6) + vite: 4.4.9(@types/node@18.17.8) vue: 3.3.4 transitivePeerDependencies: - supports-color - /@vitejs/plugin-vue@4.3.1(vite@4.4.9)(vue@3.3.4): - resolution: {integrity: sha512-tUBEtWcF7wFtII7ayNiLNDTCE1X1afySEo+XNVMNkFXaThENyCowIEX095QqbJZGTgoOcSVDJGlnde2NG4jtbQ==} + /@vitejs/plugin-vue@4.3.3(vite@4.4.9)(vue@3.3.4): + resolution: {integrity: sha512-ssxyhIAZqB0TrpUg6R0cBpCuMk9jTIlO1GNSKKQD6S8VjnXi6JXKfUXjSsxey9IwQiaRGsO1WnW9Rkl1L6AJVw==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: vite: ^4.0.0 vue: ^3.2.25 dependencies: - vite: 4.4.9(@types/node@18.17.6) + vite: 4.4.9(@types/node@18.17.8) vue: 3.3.4 /@vitest/expect@0.33.0: @@ -3374,9 +3366,9 @@ packages: /@vitest/snapshot@0.33.0: resolution: {integrity: sha512-tJjrl//qAHbyHajpFvr8Wsk8DIOODEebTu7pgBrP07iOepR5jYkLFiqLq2Ltxv+r0uptUb4izv1J8XBOwKkVYA==} dependencies: - magic-string: 0.30.2 + magic-string: 0.30.3 pathe: 1.1.1 - pretty-format: 29.6.2 + pretty-format: 29.6.3 dev: true /@vitest/spy@0.33.0: @@ -3397,15 +3389,15 @@ packages: pathe: 1.1.1 picocolors: 1.0.0 sirv: 2.0.3 - vitest: 0.33.0(happy-dom@10.10.4) + vitest: 0.33.0(happy-dom@10.11.0) dev: true /@vitest/utils@0.33.0: resolution: {integrity: sha512-pF1w22ic965sv+EN6uoePkAOTkAPWM03Ri/jXNyMIKBb/XHLDPfhLvf/Fa9g0YECevAIz56oVYXhodLvLQ/awA==} dependencies: - diff-sequences: 29.4.3 + diff-sequences: 29.6.3 loupe: 2.3.6 - pretty-format: 29.6.2 + pretty-format: 29.6.3 dev: true /@volar/language-core@1.10.0: @@ -3514,7 +3506,7 @@ packages: '@vue/reactivity-transform': 3.3.4 '@vue/shared': 3.3.4 estree-walker: 2.0.2 - magic-string: 0.30.2 + magic-string: 0.30.3 postcss: 8.4.28 source-map-js: 1.0.2 @@ -3552,7 +3544,7 @@ packages: '@vue/compiler-core': 3.3.4 '@vue/shared': 3.3.4 estree-walker: 2.0.2 - magic-string: 0.30.2 + magic-string: 0.30.3 /@vue/reactivity@3.3.4: resolution: {integrity: sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==} @@ -4446,15 +4438,15 @@ packages: tslib: 2.6.1 dev: true - /changelogen@0.5.4: - resolution: {integrity: sha512-ady7TjLW3ZKMWzVF8MG3vJRqLVctNTGIZnO5XoFbMbcC59BVNTZXNXL8tovB+OK6DHLk4NeTHUWzdwMaKmFyUA==} + /changelogen@0.5.5: + resolution: {integrity: sha512-IzgToIJ/R9NhVKmL+PW33ozYkv53bXvufDNUSH3GTKXq1iCHGgkbgbtqEWbo8tnWNnt7nPDpjL8PwSG2iS8RVw==} hasBin: true dependencies: c12: 1.4.2 colorette: 2.0.20 consola: 3.2.3 convert-gitmoji: 0.1.3 - execa: 7.2.0 + execa: 8.0.1 mri: 1.2.0 node-fetch-native: 1.4.0 ofetch: 1.2.1 @@ -4463,7 +4455,7 @@ packages: pkg-types: 1.0.3 scule: 1.0.0 semver: 7.5.4 - std-env: 3.4.0 + std-env: 3.4.3 yaml: 2.3.1 transitivePeerDependencies: - supports-color @@ -4531,7 +4523,7 @@ packages: normalize-path: 3.0.0 readdirp: 3.6.0 optionalDependencies: - fsevents: 2.3.2 + fsevents: 2.3.3 /chownr@2.0.0: resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} @@ -4805,7 +4797,7 @@ packages: dependencies: '@jridgewell/trace-mapping': 0.3.18 cssnano: 6.0.1(postcss@8.4.28) - jest-worker: 29.6.2 + jest-worker: 29.6.3 postcss: 8.4.28 schema-utils: 4.2.0 serialize-javascript: 6.0.1 @@ -5067,8 +5059,8 @@ packages: /devalue@4.3.2: resolution: {integrity: sha512-KqFl6pOgOW+Y6wJgu80rHpo2/3H07vr8ntR9rkkFIRETewbf5GaYYcakYfiKz89K+sLsuPkQIZaXDMjUObZwWg==} - /diff-sequences@29.4.3: - resolution: {integrity: sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==} + /diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: true @@ -5863,16 +5855,30 @@ packages: signal-exit: 3.0.7 strip-final-newline: 3.0.0 - /expect@29.6.2: - resolution: {integrity: sha512-iAErsLxJ8C+S02QbLAwgSGSezLQK+XXRDt8IuFXFpwCNw2ECmzZSmjKcCaFVp5VRMk+WAvz6h6jokzEzBFZEuA==} + /execa@8.0.1: + resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} + engines: {node: '>=16.17'} + 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 + dev: true + + /expect@29.6.3: + resolution: {integrity: sha512-x1vY4LlEMWUYVZQrFi4ZANXFwqYbJ/JNQspLVvzhW2BNY28aNcXMQH6imBbt+RBf5sVRTodYHXtSP/TLEU0Dxw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/expect-utils': 29.6.2 - '@types/node': 18.17.6 - jest-get-type: 29.4.3 - jest-matcher-utils: 29.6.2 - jest-message-util: 29.6.2 - jest-util: 29.6.2 + '@jest/expect-utils': 29.6.3 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.6.3 + jest-message-util: 29.6.3 + jest-util: 29.6.3 dev: true /extend@3.0.2: @@ -6077,8 +6083,8 @@ packages: /fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - /fsevents@2.3.2: - resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] requiresBuild: true @@ -6157,6 +6163,11 @@ packages: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} engines: {node: '>=10'} + /get-stream@8.0.1: + resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} + engines: {node: '>=16'} + dev: true + /get-symbol-description@1.0.0: resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} engines: {node: '>= 0.4'} @@ -6337,8 +6348,8 @@ packages: uncrypto: 0.1.3 unenv: 1.7.3 - /happy-dom@10.10.4: - resolution: {integrity: sha512-aEEFGSSs4DEJbxXvSMsIvJvvdsZbJZQEgtHsU4GgwNKbSbFxtgu6vXHmn4XoXnuElIbXV0xhbJiiQTxPnTmJcw==} + /happy-dom@10.11.0: + resolution: {integrity: sha512-CmUT4LOLzvAsbYqgTJESrPyvF0gxLDkDG/KK1o/HYU7+c9o/VVIKXl3feJZnuCYbGqemw7meiQaZcL4SMgn1jQ==} dependencies: css.escape: 1.5.1 entities: 4.5.0 @@ -6543,6 +6554,11 @@ packages: resolution: {integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==} engines: {node: '>=14.18.0'} + /human-signals@5.0.0: + resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} + engines: {node: '>=16.17.0'} + dev: true + /hyperdyperid@1.2.0: resolution: {integrity: sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A==} engines: {node: '>=10.18'} @@ -6921,81 +6937,81 @@ packages: '@pkgjs/parseargs': 0.11.0 dev: true - /jest-diff@29.6.2: - resolution: {integrity: sha512-t+ST7CB9GX5F2xKwhwCf0TAR17uNDiaPTZnVymP9lw0lssa9vG+AFyDZoeIHStU3WowFFwT+ky+er0WVl2yGhA==} + /jest-diff@29.6.3: + resolution: {integrity: sha512-3sw+AdWnwH9sSNohMRKA7JiYUJSRr/WS6+sEFfBuhxU5V5GlEVKfvUn8JuMHE0wqKowemR1C2aHy8VtXbaV8dQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: chalk: 4.1.2 - diff-sequences: 29.4.3 - jest-get-type: 29.4.3 - pretty-format: 29.6.2 + diff-sequences: 29.6.3 + jest-get-type: 29.6.3 + pretty-format: 29.6.3 dev: true - /jest-get-type@29.4.3: - resolution: {integrity: sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==} + /jest-get-type@29.6.3: + resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: true - /jest-haste-map@29.6.2: - resolution: {integrity: sha512-+51XleTDAAysvU8rT6AnS1ZJ+WHVNqhj1k6nTvN2PYP+HjU3kqlaKQ1Lnw3NYW3bm2r8vq82X0Z1nDDHZMzHVA==} + /jest-haste-map@29.6.3: + resolution: {integrity: sha512-GecR5YavfjkhOytEFHAeI6aWWG3f/cOKNB1YJvj/B76xAmeVjy4zJUYobGF030cRmKaO1FBw3V8CZZ6KVh9ZSw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 29.6.1 + '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.6 - '@types/node': 18.17.6 + '@types/node': 18.17.8 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 - jest-regex-util: 29.4.3 - jest-util: 29.6.2 - jest-worker: 29.6.2 + jest-regex-util: 29.6.3 + jest-util: 29.6.3 + jest-worker: 29.6.3 micromatch: 4.0.5 walker: 1.0.8 optionalDependencies: - fsevents: 2.3.2 + fsevents: 2.3.3 dev: true - /jest-matcher-utils@29.6.2: - resolution: {integrity: sha512-4LiAk3hSSobtomeIAzFTe+N8kL6z0JtF3n6I4fg29iIW7tt99R7ZcIFW34QkX+DuVrf+CUe6wuVOpm7ZKFJzZQ==} + /jest-matcher-utils@29.6.3: + resolution: {integrity: sha512-6ZrMYINZdwduSt5Xu18/n49O1IgXdjsfG7NEZaQws9k69eTKWKcVbJBw/MZsjOZe2sSyJFmuzh8042XWwl54Zg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: chalk: 4.1.2 - jest-diff: 29.6.2 - jest-get-type: 29.4.3 - pretty-format: 29.6.2 + jest-diff: 29.6.3 + jest-get-type: 29.6.3 + pretty-format: 29.6.3 dev: true - /jest-message-util@29.6.2: - resolution: {integrity: sha512-vnIGYEjoPSuRqV8W9t+Wow95SDp6KPX2Uf7EoeG9G99J2OVh7OSwpS4B6J0NfpEIpfkBNHlBZpA2rblEuEFhZQ==} + /jest-message-util@29.6.3: + resolution: {integrity: sha512-FtzaEEHzjDpQp51HX4UMkPZjy46ati4T5pEMyM6Ik48ztu4T9LQplZ6OsimHx7EuM9dfEh5HJa6D3trEftu3dA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@babel/code-frame': 7.22.10 - '@jest/types': 29.6.1 + '@jest/types': 29.6.3 '@types/stack-utils': 2.0.1 chalk: 4.1.2 graceful-fs: 4.2.11 micromatch: 4.0.5 - pretty-format: 29.6.2 + pretty-format: 29.6.3 slash: 3.0.0 stack-utils: 2.0.6 dev: true - /jest-mock@29.6.2: - resolution: {integrity: sha512-hoSv3lb3byzdKfwqCuT6uTscan471GUECqgNYykg6ob0yiAw3zYc7OrPnI9Qv8Wwoa4lC7AZ9hyS4AiIx5U2zg==} + /jest-mock@29.6.3: + resolution: {integrity: sha512-Z7Gs/mOyTSR4yPsaZ72a/MtuK6RnC3JYqWONe48oLaoEcYwEDxqvbXz85G4SJrm2Z5Ar9zp6MiHF4AlFlRM4Pg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 29.6.1 - '@types/node': 18.17.6 - jest-util: 29.6.2 + '@jest/types': 29.6.3 + '@types/node': 18.17.8 + jest-util: 29.6.3 dev: true - /jest-regex-util@29.4.3: - resolution: {integrity: sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==} + /jest-regex-util@29.6.3: + resolution: {integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: true - /jest-snapshot@29.6.2: - resolution: {integrity: sha512-1OdjqvqmRdGNvWXr/YZHuyhh5DeaLp1p/F8Tht/MrMw4Kr1Uu/j4lRG+iKl1DAqUJDWxtQBMk41Lnf/JETYBRA==} + /jest-snapshot@29.6.3: + resolution: {integrity: sha512-66Iu7H1ojiveQMGFnKecHIZPPPBjZwfQEnF6wxqpxGf57sV3YSUtAb5/sTKM5TPa3OndyxZp1wxHFbmgVhc53w==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@babel/core': 7.22.10 @@ -7003,31 +7019,31 @@ packages: '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.10) '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.22.10) '@babel/types': 7.22.10 - '@jest/expect-utils': 29.6.2 - '@jest/transform': 29.6.2 - '@jest/types': 29.6.1 + '@jest/expect-utils': 29.6.3 + '@jest/transform': 29.6.3 + '@jest/types': 29.6.3 babel-preset-current-node-syntax: 1.0.1(@babel/core@7.22.10) chalk: 4.1.2 - expect: 29.6.2 + expect: 29.6.3 graceful-fs: 4.2.11 - jest-diff: 29.6.2 - jest-get-type: 29.4.3 - jest-matcher-utils: 29.6.2 - jest-message-util: 29.6.2 - jest-util: 29.6.2 + jest-diff: 29.6.3 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.6.3 + jest-message-util: 29.6.3 + jest-util: 29.6.3 natural-compare: 1.4.0 - pretty-format: 29.6.2 + pretty-format: 29.6.3 semver: 7.5.4 transitivePeerDependencies: - supports-color dev: true - /jest-util@29.6.2: - resolution: {integrity: sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==} + /jest-util@29.6.3: + resolution: {integrity: sha512-QUjna/xSy4B32fzcKTSz1w7YYzgiHrjjJjevdRf61HYk998R5vVMMNmrHESYZVDS5DSWs+1srPLPKxXPkeSDOA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 29.6.1 - '@types/node': 18.17.6 + '@jest/types': 29.6.3 + '@types/node': 18.17.8 chalk: 4.1.2 ci-info: 3.8.0 graceful-fs: 4.2.11 @@ -7037,16 +7053,16 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 18.17.6 + '@types/node': 18.17.8 merge-stream: 2.0.0 supports-color: 8.1.1 - /jest-worker@29.6.2: - resolution: {integrity: sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ==} + /jest-worker@29.6.3: + resolution: {integrity: sha512-wacANXecZ/GbQakpf2CClrqrlwsYYDSXFd4fIGdL+dXpM2GWoJ+6bhQ7vR3TKi3+gkSfBkjy1/khH/WrYS4Q6g==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@types/node': 18.17.6 - jest-util: 29.6.2 + '@types/node': 18.17.8 + jest-util: 29.6.3 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -7196,27 +7212,6 @@ packages: uc.micro: 1.0.6 dev: true - /listhen@1.3.0: - resolution: {integrity: sha512-QhlP01ReqSXpu8OgBaFQjYMU/4YJTCWLFtoDTxBhitPQWfu0UuBoG2HizMysaRkUEAr/CVxB/20T8ni0zQDPtw==} - hasBin: true - dependencies: - '@parcel/watcher': 2.2.0 - '@parcel/watcher-wasm': 2.3.0-alpha.1 - citty: 0.1.2 - clipboardy: 3.0.0 - consola: 3.2.3 - defu: 6.1.2 - get-port-please: 3.0.1 - h3: 1.8.0 - http-shutdown: 1.2.2 - jiti: 1.19.3 - mlly: 1.4.0 - node-forge: 1.3.1 - pathe: 1.1.1 - ufo: 1.2.0 - untun: 0.1.1 - uqr: 0.1.2 - /listhen@1.4.0: resolution: {integrity: sha512-gEOMJKTak+WLjPITBVbv2kR0WKVUSnl5XPwvoFYheyaQPzh/jdA+pRZeUujJkjabNMDsBxwuaYH7HYLpzzGEJA==} hasBin: true @@ -7379,11 +7374,11 @@ packages: resolution: {integrity: sha512-0shqecEPgdFpnI3AP90epXyxZy9g6CRZ+SZ7BcqFwYmtFEnZ1jpevcV5HoyVnlDS9gCnc1UIg3Rsvp3Ci7r8OA==} engines: {node: '>=16.14.0'} dependencies: - magic-string: 0.30.2 + magic-string: 0.30.3 dev: false - /magic-string@0.30.2: - resolution: {integrity: sha512-lNZdu7pewtq/ZvWUp9Wpf/x7WzMTsR26TWV03BRZrXFsv+BI6dy8RAiKgm1uM/kyR0rCfUcqvOlXKG66KhIGug==} + /magic-string@0.30.3: + resolution: {integrity: sha512-B7xGbll2fG/VjP+SWg4sX3JynwIU0mjoTc6MPpKNuIvftk6u6vqhDnk1R80b8C2GBR6ywqy+1DcKBrevBg+bmw==} engines: {node: '>=12'} dependencies: '@jridgewell/sourcemap-codec': 1.4.15 @@ -8052,9 +8047,6 @@ packages: engines: {node: ^14 || ^16 || >=18} hasBin: true - /napi-wasm@1.1.0: - resolution: {integrity: sha512-lHwIAJbmLSjF9VDRm9GoVOy9AGp3aIvkjv+Kvz9h16QR3uSVYH78PNQUnT2U4X53mhlnV2M7wrhibQ3GHicDmg==} - /natural-compare-lite@1.4.0: resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} dev: true @@ -8107,7 +8099,7 @@ packages: klona: 2.0.6 knitwork: 1.0.0 listhen: 1.4.0 - magic-string: 0.30.2 + magic-string: 0.30.3 mime: 3.0.0 mlly: 1.4.0 mri: 1.2.0 @@ -8299,7 +8291,7 @@ packages: - vue dev: true - /nuxt-vitest@0.10.2(@vitejs/plugin-vue-jsx@3.0.2)(@vitejs/plugin-vue@4.3.1)(happy-dom@10.10.4)(vite@4.4.9)(vitest@0.33.0)(vue-router@4.2.4)(vue@3.3.4): + /nuxt-vitest@0.10.2(@vitejs/plugin-vue-jsx@3.0.2)(@vitejs/plugin-vue@4.3.3)(happy-dom@10.11.0)(vite@4.4.9)(vitest@0.33.0)(vue-router@4.2.4)(vue@3.3.4): resolution: {integrity: sha512-cYEvFY5iU0fV3xccdunV1vAlgyda3Tf7HEyPGrI/4KMAouwtIDIyuu2SgU3WOFqpNbhbAQbI5COLISodOeUHBQ==} peerDependencies: '@vitejs/plugin-vue': '*' @@ -8308,16 +8300,16 @@ packages: vitest: ^0.24.5 || ^0.26.0 || ^0.27.0 || ^0.28.0 || ^0.29.0 || ^0.30.0 || ^0.33.0 dependencies: '@nuxt/kit': link:packages/kit - '@vitejs/plugin-vue': 4.3.1(vite@4.4.9)(vue@3.3.4) + '@vitejs/plugin-vue': 4.3.3(vite@4.4.9)(vue@3.3.4) '@vitejs/plugin-vue-jsx': 3.0.2(vite@4.4.9)(vue@3.3.4) '@vitest/ui': 0.33.0(vitest@0.33.0) defu: 6.1.2 get-port-please: 3.0.1 perfect-debounce: 1.0.0 - std-env: 3.4.0 - vite: 4.4.9(@types/node@18.17.6) - vitest: 0.33.0(happy-dom@10.10.4) - vitest-environment-nuxt: 0.10.2(happy-dom@10.10.4)(vitest@0.33.0)(vue-router@4.2.4)(vue@3.3.4) + std-env: 3.4.3 + vite: 4.4.9(@types/node@18.17.8) + vitest: 0.33.0(happy-dom@10.11.0) + vitest-environment-nuxt: 0.10.2(happy-dom@10.11.0)(vitest@0.33.0)(vue-router@4.2.4)(vue@3.3.4) transitivePeerDependencies: - '@vue/server-renderer' - happy-dom @@ -8392,14 +8384,6 @@ packages: es-abstract: 1.22.1 dev: true - /ofetch@1.1.1: - resolution: {integrity: sha512-SSMoktrp9SNLi20BWfB/BnnKcL0RDigXThD/mZBeQxkIRv1xrd9183MtLdsqRYLYSqW0eTr5t8w8MqjNhvoOQQ==} - dependencies: - destr: 2.0.1 - node-fetch-native: 1.4.0 - ufo: 1.2.0 - dev: true - /ofetch@1.2.1: resolution: {integrity: sha512-WEX1TEfGuAFJhzRW6Qv9RcxCyek+YogEeXlCWl1XoqBSW2fc6jU4LTk3VotwC1YfXv8Uz06LSofU6uW/ZIT+6g==} dependencies: @@ -8680,7 +8664,7 @@ packages: consola: 3.2.3 csstype: 3.1.2 defu: 6.1.2 - magic-string: 0.30.2 + magic-string: 0.30.3 nanoid: 4.0.2 ohash: 1.1.3 paneer: 0.1.0 @@ -9148,11 +9132,11 @@ packages: resolution: {integrity: sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==} engines: {node: ^14.13.1 || >=16.0.0} - /pretty-format@29.6.2: - resolution: {integrity: sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==} + /pretty-format@29.6.3: + resolution: {integrity: sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/schemas': 29.6.0 + '@jest/schemas': 29.6.3 ansi-styles: 5.2.0 react-is: 18.2.0 dev: true @@ -9597,7 +9581,7 @@ packages: rollup: ^3.0 typescript: ^4.1 || ^5.0 dependencies: - magic-string: 0.30.2 + magic-string: 0.30.3 rollup: 3.28.1 typescript: 5.1.6 optionalDependencies: @@ -9611,7 +9595,7 @@ packages: rollup: ^3.25.0 typescript: ^4.5 || ^5.0 dependencies: - magic-string: 0.30.2 + magic-string: 0.30.3 rollup: 3.28.1 typescript: 5.1.6 optionalDependencies: @@ -9639,7 +9623,7 @@ packages: engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true optionalDependencies: - fsevents: 2.3.2 + fsevents: 2.3.3 /run-applescript@5.0.0: resolution: {integrity: sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==} @@ -9988,9 +9972,6 @@ packages: resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} engines: {node: '>= 0.8'} - /std-env@3.4.0: - resolution: {integrity: sha512-YqHeQIIQ8r1VtUZOTOyjsAXAsjr369SplZ5rlQaiJTBsvodvPSCME7vuz8pnQltbQ0Cw0lyFo5Q8uyNwYQ58Xw==} - /std-env@3.4.3: resolution: {integrity: sha512-f9aPhy8fYBuMN+sNfakZV18U39PbalgjXG3lLB9WkaYTxijru61wb57V9wxxNthXM5Sd88ETBWi29qLAsHO52Q==} @@ -10492,7 +10473,7 @@ packages: globby: 13.2.2 hookable: 5.5.3 jiti: 1.19.3 - magic-string: 0.30.2 + magic-string: 0.30.3 mkdist: 1.3.0(typescript@5.1.6) mlly: 1.4.0 mri: 1.2.0 @@ -10532,7 +10513,7 @@ packages: globby: 13.2.2 hookable: 5.5.3 jiti: 1.19.3 - magic-string: 0.30.2 + magic-string: 0.30.3 mkdist: 1.3.0(typescript@5.1.6) mlly: 1.4.0 pathe: 1.1.1 @@ -10556,7 +10537,7 @@ packages: dependencies: acorn: 8.10.0 estree-walker: 3.0.3 - magic-string: 0.30.2 + magic-string: 0.30.3 unplugin: 1.4.0 /undici@5.23.0: @@ -10565,16 +10546,6 @@ packages: dependencies: busboy: 1.6.0 - /unenv@1.7.1: - resolution: {integrity: sha512-iINrdDcqoAjGqoIeOW85TIfI13KGgW1VWwqNO/IzcvvZ/JGBApMAQPZhWcKhE5oC/woFSpCSXg5lc7r1UaLPng==} - dependencies: - consola: 3.2.3 - defu: 6.1.2 - mime: 3.0.0 - node-fetch-native: 1.4.0 - pathe: 1.1.1 - dev: false - /unenv@1.7.3: resolution: {integrity: sha512-5NGaBSP0acq5FAnjw9m6sA/QaImYkEjpYXPc99l/KUIb1qbxki1PSvX3ZNnK3pWIC2XwIHrOul2P7FiHyWgeXA==} dependencies: @@ -10612,7 +10583,7 @@ packages: escape-string-regexp: 5.0.0 fast-glob: 3.3.1 local-pkg: 0.4.3 - magic-string: 0.30.2 + magic-string: 0.30.3 mlly: 1.4.0 pathe: 1.1.1 pkg-types: 1.0.3 @@ -10780,7 +10751,7 @@ packages: destr: 2.0.1 h3: 1.8.0 ioredis: 5.3.2 - listhen: 1.3.0 + listhen: 1.4.0 lru-cache: 10.0.1 mri: 1.2.0 node-fetch-native: 1.4.0 @@ -10925,7 +10896,7 @@ packages: vfile-message: 3.1.4 dev: true - /vite-node@0.33.0(@types/node@18.17.6): + /vite-node@0.33.0(@types/node@18.17.8): resolution: {integrity: sha512-19FpHYbwWWxDr73ruNahC+vtEdza52kA90Qb3La98yZ0xULqV8A5JLNPUff0f5zID4984tW7l3DH2przTJUZSw==} engines: {node: '>=v14.18.0'} hasBin: true @@ -10935,7 +10906,7 @@ packages: mlly: 1.4.0 pathe: 1.1.1 picocolors: 1.0.0 - vite: 4.4.9(@types/node@18.17.6) + vite: 4.4.9(@types/node@18.17.8) transitivePeerDependencies: - '@types/node' - less @@ -10992,7 +10963,7 @@ packages: strip-ansi: 6.0.1 tiny-invariant: 1.3.1 typescript: 5.1.6 - vite: 4.4.9(@types/node@18.17.6) + vite: 4.4.9(@types/node@18.17.8) vscode-languageclient: 7.0.0 vscode-languageserver: 7.0.0 vscode-languageserver-textdocument: 1.0.8 @@ -11000,7 +10971,7 @@ packages: vue-tsc: 1.8.8(typescript@5.1.6) dev: false - /vite@4.4.9(@types/node@18.17.6): + /vite@4.4.9(@types/node@18.17.8): resolution: {integrity: sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true @@ -11028,14 +10999,14 @@ packages: terser: optional: true dependencies: - '@types/node': 18.17.6 + '@types/node': 18.17.8 esbuild: 0.18.20 postcss: 8.4.28 rollup: 3.28.1 optionalDependencies: - fsevents: 2.3.2 + fsevents: 2.3.3 - /vitest-environment-nuxt@0.10.2(happy-dom@10.10.4)(vitest@0.33.0)(vue-router@4.2.4)(vue@3.3.4): + /vitest-environment-nuxt@0.10.2(happy-dom@10.11.0)(vitest@0.33.0)(vue-router@4.2.4)(vue@3.3.4): resolution: {integrity: sha512-CgOS0KW0zhyDVvfHbq+CbkCa/sA2Ui/SMrp0W0vDgzhaUTCuo7WtJ211HwYqGhj3YvSRopOByRPkUDFQjr3wiw==} peerDependencies: happy-dom: ^9.10.9 || ^10.0.0 @@ -11054,11 +11025,11 @@ packages: defu: 6.1.2 estree-walker: 3.0.3 h3: 1.8.0 - happy-dom: 10.10.4 - magic-string: 0.30.2 + happy-dom: 10.11.0 + magic-string: 0.30.3 ofetch: 1.2.1 unenv: 1.7.3 - vitest: 0.33.0(happy-dom@10.10.4) + vitest: 0.33.0(happy-dom@10.11.0) vue: 3.3.4 vue-router: 4.2.4(vue@3.3.4) whatwg-fetch: 3.6.17 @@ -11066,7 +11037,7 @@ packages: - '@vue/server-renderer' dev: true - /vitest@0.33.0(happy-dom@10.10.4): + /vitest@0.33.0(happy-dom@10.11.0): resolution: {integrity: sha512-1CxaugJ50xskkQ0e969R/hW47za4YXDUfWJDxip1hwbnhUjYolpfUn2AMOulqG/Dtd9WYAtkHmM/m3yKVrEejQ==} engines: {node: '>=v14.18.0'} hasBin: true @@ -11099,7 +11070,7 @@ packages: dependencies: '@types/chai': 4.3.5 '@types/chai-subset': 1.3.3 - '@types/node': 18.17.6 + '@types/node': 18.17.8 '@vitest/expect': 0.33.0 '@vitest/runner': 0.33.0 '@vitest/snapshot': 0.33.0 @@ -11110,17 +11081,17 @@ packages: cac: 6.7.14 chai: 4.3.7 debug: 4.3.4 - happy-dom: 10.10.4 + happy-dom: 10.11.0 local-pkg: 0.4.3 - magic-string: 0.30.2 + magic-string: 0.30.3 pathe: 1.1.1 picocolors: 1.0.0 - std-env: 3.4.0 + std-env: 3.4.3 strip-literal: 1.3.0 tinybench: 2.5.0 tinypool: 0.6.0 - vite: 4.4.9(@types/node@18.17.6) - vite-node: 0.33.0(@types/node@18.17.6) + vite: 4.4.9(@types/node@18.17.8) + vite-node: 0.33.0(@types/node@18.17.8) why-is-node-running: 2.2.2 transitivePeerDependencies: - less @@ -11428,7 +11399,7 @@ packages: chalk: 4.1.2 consola: 2.15.3 pretty-time: 1.1.0 - std-env: 3.4.0 + std-env: 3.4.3 webpack: 5.88.2 dev: false diff --git a/test/bundle.test.ts b/test/bundle.test.ts index cdbfb53a0bab..1329c90ff8e8 100644 --- a/test/bundle.test.ts +++ b/test/bundle.test.ts @@ -32,7 +32,7 @@ describe.skipIf(process.env.SKIP_BUNDLE_SIZE === 'true' || process.env.ECOSYSTEM const serverDir = join(rootDir, '.output/server') const serverStats = await analyzeSizes(['**/*.mjs', '!node_modules'], serverDir) - expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot('"305k"') + expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot('"297k"') const modules = await analyzeSizes('node_modules/**/*', serverDir) expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"1822k"') @@ -71,7 +71,7 @@ describe.skipIf(process.env.SKIP_BUNDLE_SIZE === 'true' || process.env.ECOSYSTEM const serverDir = join(rootDir, '.output-inline/server') const serverStats = await analyzeSizes(['**/*.mjs', '!node_modules'], serverDir) - expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot('"611k"') + expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot('"603k"') const modules = await analyzeSizes('node_modules/**/*', serverDir) expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"70.9k"') From e058a10525518f0c290a2432172734b7596e5387 Mon Sep 17 00:00:00 2001 From: Jabin <37999218+JabinPeng@users.noreply.github.com> Date: Wed, 23 Aug 2023 19:09:52 +0800 Subject: [PATCH 118/147] docs: add additional type generics to `useAsyncData` (#22760) --- docs/3.api/1.composables/use-async-data.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/3.api/1.composables/use-async-data.md b/docs/3.api/1.composables/use-async-data.md index 169a8d6a5185..6577e5c19c71 100644 --- a/docs/3.api/1.composables/use-async-data.md +++ b/docs/3.api/1.composables/use-async-data.md @@ -12,15 +12,15 @@ Within your pages, components, and plugins you can use useAsyncData to get acces ## Type ```ts [Signature] -function useAsyncData( +function useAsyncData( handler: (nuxtApp?: NuxtApp) => Promise, options?: AsyncDataOptions -): AsyncData -function useAsyncData( +): AsyncData +function useAsyncData( key: string, handler: (nuxtApp?: NuxtApp) => Promise, options?: AsyncDataOptions -): Promise> +): Promise type AsyncDataOptions = { server?: boolean From aa37de48f7131686b8040eb7a55883e6b8feb452 Mon Sep 17 00:00:00 2001 From: Julien Huang Date: Wed, 23 Aug 2023 17:23:17 +0200 Subject: [PATCH 119/147] fix(nuxt): warn when ignoring duplicate island/server component (#22709) --- packages/nuxt/src/components/scan.ts | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/packages/nuxt/src/components/scan.ts b/packages/nuxt/src/components/scan.ts index 3ca401816ce3..bad558dd3845 100644 --- a/packages/nuxt/src/components/scan.ts +++ b/packages/nuxt/src/components/scan.ts @@ -95,10 +95,7 @@ export async function scanComponents (dirs: ComponentsDir[], srcDir: string): Pr const componentName = resolveComponentName(fileName, prefixParts) if (resolvedNames.has(componentName + suffix) || resolvedNames.has(componentName)) { - console.warn(`[nuxt] Two component files resolving to the same name \`${componentName}\`:\n` + - `\n - ${filePath}` + - `\n - ${resolvedNames.get(componentName)}` - ) + warnAboutDuplicateComponent(componentName, filePath, resolvedNames.get(componentName) || resolvedNames.get(componentName + suffix)!) continue } resolvedNames.set(componentName + suffix, filePath) @@ -136,10 +133,14 @@ export async function scanComponents (dirs: ComponentsDir[], srcDir: string): Pr continue } - // Ignore component if component is already defined (with same mode) - if (!components.some(c => c.pascalName === component.pascalName && ['all', component.mode].includes(c.mode))) { - components.push(component) + const existingComponent = components.find(c => c.pascalName === component.pascalName && ['all', component.mode].includes(c.mode)) + if (existingComponent) { + // Ignore component if component is already defined (with same mode) + warnAboutDuplicateComponent(componentName, filePath, existingComponent.filePath) + continue } + + components.push(component) } scannedPaths.push(dir.path) } @@ -174,3 +175,10 @@ export function resolveComponentName (fileName: string, prefixParts: string[]) { return pascalCase(componentNameParts) + pascalCase(fileNameParts) } + +function warnAboutDuplicateComponent (componentName: string, filePath: string, duplicatePath: string) { + console.warn(`[nuxt] Two component files resolving to the same name \`${componentName}\`:\n` + + `\n - ${filePath}` + + `\n - ${duplicatePath}` + ) +} From e94b30d31407c63533ca249c6e339c596477e9aa Mon Sep 17 00:00:00 2001 From: Mihailo Bursac Date: Wed, 23 Aug 2023 18:58:10 +0200 Subject: [PATCH 120/147] perf(nuxt): reduce multiple calls to `.toLowerCase()` (#22743) --- packages/nuxt/src/components/scan.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/nuxt/src/components/scan.ts b/packages/nuxt/src/components/scan.ts index bad558dd3845..cfee6e2ad01a 100644 --- a/packages/nuxt/src/components/scan.ts +++ b/packages/nuxt/src/components/scan.ts @@ -38,7 +38,8 @@ export async function scanComponents (dirs: ComponentsDir[], srcDir: string): Pr const directory = basename(dir.path) if (!siblings.includes(directory)) { - const caseCorrected = siblings.find(sibling => sibling.toLowerCase() === directory.toLowerCase()) + const directoryLowerCase = directory.toLowerCase() + const caseCorrected = siblings.find(sibling => sibling.toLowerCase() === directoryLowerCase) if (caseCorrected) { const nuxt = useNuxt() const original = relative(nuxt.options.srcDir, dir.path) From 585c26e973085b3a6f1000e0a34df0ae459f125b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 23 Aug 2023 18:44:33 +0100 Subject: [PATCH 121/147] chore(deps): update all non-major dependencies (main) (#22770) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Daniel Roe --- packages/kit/package.json | 2 +- packages/nuxt/package.json | 8 ++-- packages/schema/package.json | 4 +- pnpm-lock.yaml | 80 ++++++++++++++++++------------------ test/bundle.test.ts | 4 +- 5 files changed, 49 insertions(+), 49 deletions(-) diff --git a/packages/kit/package.json b/packages/kit/package.json index a81789ecafc7..c8a5fe64fae9 100644 --- a/packages/kit/package.json +++ b/packages/kit/package.json @@ -36,7 +36,7 @@ "semver": "^7.5.4", "ufo": "^1.2.0", "unctx": "^2.3.1", - "unimport": "^3.1.3", + "unimport": "^3.2.0", "untyped": "^1.4.0" }, "devDependencies": { diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index f19b9a3678c5..c54d17d5351d 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -58,9 +58,9 @@ "@nuxt/telemetry": "^2.4.1", "@nuxt/ui-templates": "^1.3.1", "@nuxt/vite-builder": "workspace:../vite", - "@unhead/dom": "^1.3.5", - "@unhead/ssr": "^1.3.5", - "@unhead/vue": "^1.3.5", + "@unhead/dom": "^1.3.7", + "@unhead/ssr": "^1.3.7", + "@unhead/vue": "^1.3.7", "@vue/shared": "^3.3.4", "acorn": "8.10.0", "c12": "^1.4.2", @@ -98,7 +98,7 @@ "uncrypto": "^0.1.3", "unctx": "^2.3.1", "unenv": "^1.7.3", - "unimport": "^3.1.3", + "unimport": "^3.2.0", "unplugin": "^1.4.0", "unplugin-vue-router": "^0.6.4", "untyped": "^1.4.0", diff --git a/packages/schema/package.json b/packages/schema/package.json index edf63f0e4f53..d033688982ef 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -30,7 +30,7 @@ "@types/file-loader": "5.0.1", "@types/pug": "2.0.6", "@types/sass-loader": "8.0.5", - "@unhead/schema": "1.3.5", + "@unhead/schema": "1.3.7", "@vitejs/plugin-vue": "4.3.3", "@vitejs/plugin-vue-jsx": "3.0.2", "@vue/compiler-core": "3.3.4", @@ -57,7 +57,7 @@ "postcss-import-resolver": "^2.0.0", "std-env": "^3.4.3", "ufo": "^1.2.0", - "unimport": "^3.1.3", + "unimport": "^3.2.0", "untyped": "^1.4.0" }, "engines": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 87c809a91b87..cc343156c09d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -207,8 +207,8 @@ importers: specifier: ^2.3.1 version: 2.3.1 unimport: - specifier: ^3.1.3 - version: 3.1.3(rollup@3.28.1) + specifier: ^3.2.0 + version: 3.2.0(rollup@3.28.1) untyped: specifier: ^1.4.0 version: 1.4.0 @@ -368,14 +368,14 @@ importers: specifier: ^14.18.0 || >=16.10.0 version: 18.17.8 '@unhead/dom': - specifier: ^1.3.5 - version: 1.3.5 + specifier: ^1.3.7 + version: 1.3.7 '@unhead/ssr': - specifier: ^1.3.5 - version: 1.3.5 + specifier: ^1.3.7 + version: 1.3.7 '@unhead/vue': - specifier: ^1.3.5 - version: 1.3.5(vue@3.3.4) + specifier: ^1.3.7 + version: 1.3.7(vue@3.3.4) '@vue/shared': specifier: ^3.3.4 version: 3.3.4 @@ -488,8 +488,8 @@ importers: specifier: ^1.7.3 version: 1.7.3 unimport: - specifier: ^3.1.3 - version: 3.1.3(rollup@3.28.1) + specifier: ^3.2.0 + version: 3.2.0(rollup@3.28.1) unplugin: specifier: ^1.4.0 version: 1.4.0 @@ -564,8 +564,8 @@ importers: specifier: ^1.2.0 version: 1.2.0 unimport: - specifier: ^3.1.3 - version: 3.1.3(rollup@3.28.1) + specifier: ^3.2.0 + version: 3.2.0(rollup@3.28.1) untyped: specifier: ^1.4.0 version: 1.4.0 @@ -583,8 +583,8 @@ importers: specifier: 8.0.5 version: 8.0.5 '@unhead/schema': - specifier: 1.3.5 - version: 1.3.5 + specifier: 1.3.7 + version: 1.3.7 '@vitejs/plugin-vue': specifier: 4.3.3 version: 4.3.3(vite@4.4.9)(vue@3.3.4) @@ -3260,41 +3260,41 @@ packages: eslint-visitor-keys: 3.4.3 dev: true - /@unhead/dom@1.3.5: - resolution: {integrity: sha512-WwwiJ85VugfvCgydizuOXlGGbVUY+JLOB1Ls7gEqJO2WIMGSKYA+5ILn17UmCUXGBVWpLdELbedjkTmxIdXPJw==} + /@unhead/dom@1.3.7: + resolution: {integrity: sha512-utDjimElXvPrpArysKbrUFWacF4exwXB5tOZ9H3SUJOJxIPtz4GZZgkPTPv+UHV9Z+21MP/a6dFldc5j9EAO4A==} dependencies: - '@unhead/schema': 1.3.5 - '@unhead/shared': 1.3.5 + '@unhead/schema': 1.3.7 + '@unhead/shared': 1.3.7 dev: false - /@unhead/schema@1.3.5: - resolution: {integrity: sha512-K1ubX/0pFGhjhiPRBemWl94ca6fyZYAQP5DUSwyW+VMqjWqzlE5rdjtUU0vsmHQOaFRFUCpTX4w4dtHdv3ut+Q==} + /@unhead/schema@1.3.7: + resolution: {integrity: sha512-C0+wA2ZZl4d2Aj0z3mFoDKDTv/22z0Tu5giXj+T+iEmfAir9k6kH2UrrCDMkHUP/mRnBSEg1URBrFq2al34VKg==} dependencies: hookable: 5.5.3 zhead: 2.0.10 - /@unhead/shared@1.3.5: - resolution: {integrity: sha512-r5diAXP9qxhZz3Nvxjk69dkhsdduvW+cPnOdzPWhpbCk1lHugGz+if09AX+M7NoAlLJQBmqFiFkTZS/JrtTZhg==} + /@unhead/shared@1.3.7: + resolution: {integrity: sha512-73bs2B5wCMCr+X81qbEVPwFd/7pN8SXSgsSSwq9KkhmB+hC3bipiDST+Fe1h7F80lZ4iu9EwjrNxNlXw+tLjsw==} dependencies: - '@unhead/schema': 1.3.5 + '@unhead/schema': 1.3.7 dev: false - /@unhead/ssr@1.3.5: - resolution: {integrity: sha512-5akS3enT8kZxxaL8PPJh7uK/vCfJ8SI7A6JO8RvF9SOUfv3pwqvw5GboKiAgzEbIf1oDzka/vDGaLD8TvtJSCw==} + /@unhead/ssr@1.3.7: + resolution: {integrity: sha512-6FNA2h4AA3I52YQUJ7JqAi0JmixFTa/hM9UWoLDGu9FpFJKiQfRX4s1bm8RPaLC+HTR/GhGdUcwkT4gxU54SLg==} dependencies: - '@unhead/schema': 1.3.5 - '@unhead/shared': 1.3.5 + '@unhead/schema': 1.3.7 + '@unhead/shared': 1.3.7 dev: false - /@unhead/vue@1.3.5(vue@3.3.4): - resolution: {integrity: sha512-9i5dvtk27BFqNrrTLv1A9hHfbAaKDn6NuzMI8945Js41A/uEs0kVAmvdtVMCL9s3dy6jWqme/Th4JUzVS5tl+g==} + /@unhead/vue@1.3.7(vue@3.3.4): + resolution: {integrity: sha512-ekvE592mAJxwoscCt/6Z2gwXHb4IzWIUsy/vcBXd/aEo0bOPww9qObCyS3/GxhknRdItDhJOwfO9CId+bSRG8Q==} peerDependencies: vue: '>=2.7 || >=3' dependencies: - '@unhead/schema': 1.3.5 - '@unhead/shared': 1.3.5 + '@unhead/schema': 1.3.7 + '@unhead/shared': 1.3.7 hookable: 5.5.3 - unhead: 1.3.5 + unhead: 1.3.7 vue: 3.3.4 dev: false @@ -8123,7 +8123,7 @@ packages: uncrypto: 0.1.3 unctx: 2.3.1 unenv: 1.7.3 - unimport: 3.1.3(rollup@3.28.1) + unimport: 3.2.0(rollup@3.28.1) unstorage: 1.9.0 transitivePeerDependencies: - '@azure/app-configuration' @@ -10555,12 +10555,12 @@ packages: node-fetch-native: 1.4.0 pathe: 1.1.1 - /unhead@1.3.5: - resolution: {integrity: sha512-T7WBnrRvpvYw4PntaSfz45atpr83ZlZvZ5vULhbMZtiv/wlFYuknd/wWT8+EPfCJjVStyJX4MZ1DH8ux0h3QIQ==} + /unhead@1.3.7: + resolution: {integrity: sha512-XRkDIaIK325UyKwSqV6fDbFKJ4HYuT5mCEnIhUqNBtUYv6b7jdXzYTfUiZSb1ciJyTqvzRHFWDtmGtJo1L375Q==} dependencies: - '@unhead/dom': 1.3.5 - '@unhead/schema': 1.3.5 - '@unhead/shared': 1.3.5 + '@unhead/dom': 1.3.7 + '@unhead/schema': 1.3.7 + '@unhead/shared': 1.3.7 hookable: 5.5.3 dev: false @@ -10576,8 +10576,8 @@ packages: vfile: 5.3.7 dev: true - /unimport@3.1.3(rollup@3.28.1): - resolution: {integrity: sha512-up4TE2yA+nMyyErGTjbYGVw95MriGa2hVRXQ3/JRp7984cwwqULcnBjHaovVpsO8tZc2j0fvgGu9yiBKOyxvYw==} + /unimport@3.2.0(rollup@3.28.1): + resolution: {integrity: sha512-9buxPxkNwxwxAlH/RfOFHxtQTUrlmBGi9Ai9HezY2yYbkoOhgJTYPI6+WqxI1EZphoM9cw1SHoCFRkXSb8/fjQ==} dependencies: '@rollup/pluginutils': 5.0.3(rollup@3.28.1) escape-string-regexp: 5.0.0 diff --git a/test/bundle.test.ts b/test/bundle.test.ts index 1329c90ff8e8..f4f94d924e68 100644 --- a/test/bundle.test.ts +++ b/test/bundle.test.ts @@ -19,7 +19,7 @@ describe.skipIf(process.env.SKIP_BUNDLE_SIZE === 'true' || process.env.ECOSYSTEM for (const outputDir of ['.output', '.output-inline']) { it('default client bundle size', async () => { const clientStats = await analyzeSizes('**/*.js', join(rootDir, outputDir, 'public')) - expect.soft(roundToKilobytes(clientStats.totalBytes)).toMatchInlineSnapshot('"96.4k"') + expect.soft(roundToKilobytes(clientStats.totalBytes)).toMatchInlineSnapshot('"96.1k"') expect(clientStats.files.map(f => f.replace(/\..*\.js/, '.js'))).toMatchInlineSnapshot(` [ "_nuxt/entry.js", @@ -74,7 +74,7 @@ describe.skipIf(process.env.SKIP_BUNDLE_SIZE === 'true' || process.env.ECOSYSTEM expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot('"603k"') const modules = await analyzeSizes('node_modules/**/*', serverDir) - expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"70.9k"') + expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"70.5k"') const packages = modules.files .filter(m => m.endsWith('package.json')) From 815230c1b5c0116290e75cf26483e5ca03889eff Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Wed, 23 Aug 2023 21:03:10 +0100 Subject: [PATCH 122/147] test: add regression test for escaping payload (#22774) --- test/fixtures/basic/pages/json-payload.vue | 1 + 1 file changed, 1 insertion(+) diff --git a/test/fixtures/basic/pages/json-payload.vue b/test/fixtures/basic/pages/json-payload.vue index 40f2e4177e7e..586db8fe3317 100644 --- a/test/fixtures/basic/pages/json-payload.vue +++ b/test/fixtures/basic/pages/json-payload.vue @@ -1,6 +1,7 @@ + + diff --git a/test/hmr.test.ts b/test/hmr.test.ts index bf1d2410214c..1af0b08de7ed 100644 --- a/test/hmr.test.ts +++ b/test/hmr.test.ts @@ -3,7 +3,7 @@ import { fileURLToPath } from 'node:url' import { describe, expect, it } from 'vitest' import { isWindows } from 'std-env' import { join } from 'pathe' -import { $fetch, setup } from '@nuxt/test-utils' +import { $fetch, fetch, setup } from '@nuxt/test-utils' import { expectWithPolling, renderPage } from './utils' @@ -70,15 +70,33 @@ if (process.env.TEST_ENV !== 'built' && !isWindows) { }, 60_000) it('should detect new routes', async () => { - const html = await $fetch('/some-404') - expect(html).toContain('catchall at some-404') + await expectWithPolling( + () => $fetch('/some-404').then(r => r.includes('catchall at some-404')).catch(() => null), + true + ) // write new page route const indexVue = await fsp.readFile(join(fixturePath, 'pages/index.vue'), 'utf8') await fsp.writeFile(join(fixturePath, 'pages/some-404.vue'), indexVue) await expectWithPolling( - () => $fetch('/some-404').then(r => r.includes('Hello Nuxt 3')), + () => $fetch('/some-404').then(r => r.includes('Hello Nuxt 3')).catch(() => null), + true + ) + }) + + it('should hot reload route rules', async () => { + await expectWithPolling( + () => fetch('/route-rules/inline').then(r => r.headers.get('x-extend') === 'added in routeRules').catch(() => null), + true + ) + + // write new page route + const file = await fsp.readFile(join(fixturePath, 'pages/route-rules/inline.vue'), 'utf8') + await fsp.writeFile(join(fixturePath, 'pages/route-rules/inline.vue'), file.replace('added in routeRules', 'edited in dev')) + + await expectWithPolling( + () => fetch('/route-rules/inline').then(r => r.headers.get('x-extend') === 'edited in dev').catch(() => null), true ) }) From 330900bcbe6c6de41d7f7aa97affef70c20dba30 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 23 Aug 2023 21:40:42 +0100 Subject: [PATCH 125/147] chore(deps): update dependency ofetch to v1.3.2 (main) (#22772) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Daniel Roe --- package.json | 2 +- packages/nuxt/package.json | 2 +- packages/test-utils/package.json | 2 +- pnpm-lock.yaml | 28 ++++++++++++++-------------- test/bundle.test.ts | 4 ++-- 5 files changed, 19 insertions(+), 19 deletions(-) diff --git a/package.json b/package.json index 5e5c7c0d2fb0..b061da781dbc 100644 --- a/package.json +++ b/package.json @@ -68,7 +68,7 @@ "nuxi": "workspace:*", "nuxt": "workspace:*", "nuxt-vitest": "0.10.2", - "ofetch": "1.2.1", + "ofetch": "1.3.2", "pathe": "1.1.1", "playwright-core": "1.37.1", "rimraf": "5.0.1", diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index c54d17d5351d..7237fe0a6d9d 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -84,7 +84,7 @@ "nitropack": "^2.6.0", "nuxi": "workspace:../nuxi", "nypm": "^0.3.0", - "ofetch": "^1.2.1", + "ofetch": "^1.3.2", "ohash": "^1.1.3", "pathe": "^1.1.1", "perfect-debounce": "^1.0.0", diff --git a/packages/test-utils/package.json b/packages/test-utils/package.json index 6738f00b6eca..bff1c0d997e9 100644 --- a/packages/test-utils/package.json +++ b/packages/test-utils/package.json @@ -28,7 +28,7 @@ "defu": "^6.1.2", "execa": "^7.2.0", "get-port-please": "^3.0.1", - "ofetch": "^1.2.1", + "ofetch": "^1.3.2", "pathe": "^1.1.1", "ufo": "^1.2.0" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cc343156c09d..642f3aa238fa 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -105,8 +105,8 @@ importers: specifier: 0.10.2 version: 0.10.2(@vitejs/plugin-vue-jsx@3.0.2)(@vitejs/plugin-vue@4.3.3)(happy-dom@10.11.0)(vite@4.4.9)(vitest@0.33.0)(vue-router@4.2.4)(vue@3.3.4) ofetch: - specifier: 1.2.1 - version: 1.2.1 + specifier: 1.3.2 + version: 1.3.2 pathe: specifier: 1.1.1 version: 1.1.1 @@ -446,8 +446,8 @@ importers: specifier: ^0.3.0 version: 0.3.0 ofetch: - specifier: ^1.2.1 - version: 1.2.1 + specifier: ^1.3.2 + version: 1.3.2 ohash: specifier: ^1.1.3 version: 1.1.3 @@ -655,8 +655,8 @@ importers: specifier: ^3.0.1 version: 3.0.1 ofetch: - specifier: ^1.2.1 - version: 1.2.1 + specifier: ^1.3.2 + version: 1.3.2 pathe: specifier: ^1.1.1 version: 1.1.1 @@ -1000,7 +1000,7 @@ importers: devDependencies: ofetch: specifier: latest - version: 1.2.1 + version: 1.3.2 vitest: specifier: 0.33.0 version: 0.33.0(happy-dom@10.11.0) @@ -2475,7 +2475,7 @@ packages: mri: 1.2.0 nanoid: 4.0.2 node-fetch: 3.3.2 - ofetch: 1.2.1 + ofetch: 1.3.2 parse-git-config: 3.0.0 pathe: 1.1.1 rc9: 2.1.1 @@ -4449,7 +4449,7 @@ packages: execa: 8.0.1 mri: 1.2.0 node-fetch-native: 1.4.0 - ofetch: 1.2.1 + ofetch: 1.3.2 open: 9.1.0 pathe: 1.1.1 pkg-types: 1.0.3 @@ -8104,7 +8104,7 @@ packages: mlly: 1.4.0 mri: 1.2.0 node-fetch-native: 1.4.0 - ofetch: 1.2.1 + ofetch: 1.3.2 ohash: 1.1.3 openapi-typescript: 6.5.3 pathe: 1.1.1 @@ -8384,8 +8384,8 @@ packages: es-abstract: 1.22.1 dev: true - /ofetch@1.2.1: - resolution: {integrity: sha512-WEX1TEfGuAFJhzRW6Qv9RcxCyek+YogEeXlCWl1XoqBSW2fc6jU4LTk3VotwC1YfXv8Uz06LSofU6uW/ZIT+6g==} + /ofetch@1.3.2: + resolution: {integrity: sha512-XphiqMCUugscBfS7EjEfe8s3Hb5kfrTqdk9QAYl9z/wvhI3g97EpQdldqd0zAWqQXInHEqkRBQ08reMFHQwjDA==} dependencies: destr: 2.0.1 node-fetch-native: 1.4.0 @@ -10755,7 +10755,7 @@ packages: lru-cache: 10.0.1 mri: 1.2.0 node-fetch-native: 1.4.0 - ofetch: 1.2.1 + ofetch: 1.3.2 ufo: 1.2.0 transitivePeerDependencies: - supports-color @@ -11027,7 +11027,7 @@ packages: h3: 1.8.0 happy-dom: 10.11.0 magic-string: 0.30.3 - ofetch: 1.2.1 + ofetch: 1.3.2 unenv: 1.7.3 vitest: 0.33.0(happy-dom@10.11.0) vue: 3.3.4 diff --git a/test/bundle.test.ts b/test/bundle.test.ts index f4f94d924e68..d3bb3203903d 100644 --- a/test/bundle.test.ts +++ b/test/bundle.test.ts @@ -19,7 +19,7 @@ describe.skipIf(process.env.SKIP_BUNDLE_SIZE === 'true' || process.env.ECOSYSTEM for (const outputDir of ['.output', '.output-inline']) { it('default client bundle size', async () => { const clientStats = await analyzeSizes('**/*.js', join(rootDir, outputDir, 'public')) - expect.soft(roundToKilobytes(clientStats.totalBytes)).toMatchInlineSnapshot('"96.1k"') + expect.soft(roundToKilobytes(clientStats.totalBytes)).toMatchInlineSnapshot('"96.4k"') expect(clientStats.files.map(f => f.replace(/\..*\.js/, '.js'))).toMatchInlineSnapshot(` [ "_nuxt/entry.js", @@ -71,7 +71,7 @@ describe.skipIf(process.env.SKIP_BUNDLE_SIZE === 'true' || process.env.ECOSYSTEM const serverDir = join(rootDir, '.output-inline/server') const serverStats = await analyzeSizes(['**/*.mjs', '!node_modules'], serverDir) - expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot('"603k"') + expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot('"604k"') const modules = await analyzeSizes('node_modules/**/*', serverDir) expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"70.5k"') From 9d3702c7c2e0abce706e5deb3b4a5be25e6b32db Mon Sep 17 00:00:00 2001 From: Colin McDonnell Date: Wed, 23 Aug 2023 23:44:43 -0700 Subject: [PATCH 126/147] docs: add instructions for Bun package manager (#22779) --- docs/1.getting-started/2.installation.md | 8 ++++++++ docs/2.guide/2.directory-structure/1.node_modules.md | 2 +- docs/2.guide/3.going-further/11.edge-channel.md | 4 ++-- docs/5.community/4.contribution.md | 2 +- 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/docs/1.getting-started/2.installation.md b/docs/1.getting-started/2.installation.md index e04c15e7c14d..fc88fa668d1a 100644 --- a/docs/1.getting-started/2.installation.md +++ b/docs/1.getting-started/2.installation.md @@ -88,6 +88,10 @@ npm install pnpm install ``` +```bash [bun] +bun install +``` + :: ## Development Server @@ -108,6 +112,10 @@ npm run dev -- -o pnpm dev -o ``` +```bash [pnpm] +bun run dev -o +``` + :: ::alert{type=success icon=✨ .font-bold} diff --git a/docs/2.guide/2.directory-structure/1.node_modules.md b/docs/2.guide/2.directory-structure/1.node_modules.md index fdbccb406205..08a598ae2827 100644 --- a/docs/2.guide/2.directory-structure/1.node_modules.md +++ b/docs/2.guide/2.directory-structure/1.node_modules.md @@ -7,4 +7,4 @@ head.title: "node_modules/" # Node modules Directory -The package manager ([`npm`](https://docs.npmjs.com/cli/v7/commands/npm) or [`yarn`](https://yarnpkg.com/) or [`pnpm`](https://pnpm.io/cli/install)) creates the [`node_modules/` directory](/docs/guide/directory-structure/node_modules) to store the dependencies of your project. +The package manager ([`npm`](https://docs.npmjs.com/cli/v7/commands/npm) or [`yarn`](https://yarnpkg.com/) or [`pnpm`](https://pnpm.io/cli/install) or [`bun`](https://bun.sh/package-manager)) creates the [`node_modules/` directory](/docs/guide/directory-structure/node_modules) to store the dependencies of your project. diff --git a/docs/2.guide/3.going-further/11.edge-channel.md b/docs/2.guide/3.going-further/11.edge-channel.md index b78e2c4dfdf7..3bfe1ecaca31 100644 --- a/docs/2.guide/3.going-further/11.edge-channel.md +++ b/docs/2.guide/3.going-further/11.edge-channel.md @@ -30,7 +30,7 @@ Update `nuxt` dependency inside `package.json`: } ``` -Remove lockfile (`package-lock.json`, `yarn.lock`, or `pnpm-lock.yaml`) and reinstall dependencies. +Remove lockfile (`package-lock.json`, `yarn.lock`, `pnpm-lock.yaml`, or `bun.lockb`) and reinstall dependencies. ## Opting Out From the Edge Channel @@ -45,7 +45,7 @@ Update `nuxt` dependency inside `package.json`: } ``` -Remove lockfile (`package-lock.json`, `yarn.lock`, or `pnpm-lock.yaml`) and reinstall dependencies. +Remove lockfile (`package-lock.json`, `yarn.lock`, `pnpm-lock.yaml`, or `bun.lockb`) and reinstall dependencies. ## Using Latest `nuxi` CLI From Edge diff --git a/docs/5.community/4.contribution.md b/docs/5.community/4.contribution.md index aa9000339158..2651311756c0 100644 --- a/docs/5.community/4.contribution.md +++ b/docs/5.community/4.contribution.md @@ -157,7 +157,7 @@ We recommend using [VS Code](https://code.visualstudio.com/) along with the [ESL #### No Prettier -Since ESLint is already configured to format the code, there is no need to duplicate the functionality with Prettier. To format the code, you can run `yarn lint --fix` or `pnpm lint --fix` or referring the [ESLint section](#use-eslint) for IDE Setup. +Since ESLint is already configured to format the code, there is no need to duplicate the functionality with Prettier. To format the code, you can run `yarn lint --fix`, `pnpm lint --fix`, or `bun run lint --fix` or referring the [ESLint section](#use-eslint) for IDE Setup. If you have Prettier installed in your editor, we recommend you disable it when working on the project to avoid conflict. From a28ee6b0141c71a6d34d631bc310a63e5df0a110 Mon Sep 17 00:00:00 2001 From: Muhammad Mahmoud Date: Thu, 24 Aug 2023 11:12:21 +0300 Subject: [PATCH 127/147] docs: fix typo in bun package manager name (#22781) --- docs/1.getting-started/2.installation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/1.getting-started/2.installation.md b/docs/1.getting-started/2.installation.md index fc88fa668d1a..7c6b4cb12d44 100644 --- a/docs/1.getting-started/2.installation.md +++ b/docs/1.getting-started/2.installation.md @@ -112,7 +112,7 @@ npm run dev -- -o pnpm dev -o ``` -```bash [pnpm] +```bash [bun] bun run dev -o ``` From 6f7d86be787eea78dba12ad00caa7af9891a93b9 Mon Sep 17 00:00:00 2001 From: Jongmin Yoon Date: Thu, 24 Aug 2023 21:06:29 +0900 Subject: [PATCH 128/147] fix(nuxt): recreate `asyncData` when `immediate` is disabled (#20980) --- docs/3.api/1.composables/use-async-data.md | 8 +++---- docs/3.api/1.composables/use-fetch.md | 19 ++++++++-------- .../nuxt/src/app/composables/asyncData.ts | 2 +- test/basic.test.ts | 20 +++++++++++++++++ test/fixtures/basic/pages/index.vue | 3 +++ .../immediate-remove-unmounted.vue | 22 +++++++++++++++++++ 6 files changed, 60 insertions(+), 14 deletions(-) create mode 100644 test/fixtures/basic/pages/useAsyncData/immediate-remove-unmounted.vue diff --git a/docs/3.api/1.composables/use-async-data.md b/docs/3.api/1.composables/use-async-data.md index 6577e5c19c71..841f5d6085c4 100644 --- a/docs/3.api/1.composables/use-async-data.md +++ b/docs/3.api/1.composables/use-async-data.md @@ -25,11 +25,11 @@ function useAsyncData( type AsyncDataOptions = { server?: boolean lazy?: boolean + immediate?: boolean default?: () => DataT | Ref | null transform?: (input: DataT) => DataT pick?: string[] watch?: WatchSource[] - immediate?: boolean } type AsyncData = { @@ -53,13 +53,13 @@ type AsyncDataRequestStatus = 'idle' | 'pending' | 'success' | 'error' * **key**: a unique key to ensure that data fetching can be properly de-duplicated across requests. If you do not provide a key, then a key that is unique to the file name and line number of the instance of [`useAsyncData`](/docs/api/composables/use-async-data) will be generated for you. * **handler**: an asynchronous function that returns a value * **options**: - * _lazy_: whether to resolve the async function after loading the route, instead of blocking client-side navigation (defaults to `false`) - * _default_: a factory function to set the default value of the data, before the async function resolves - particularly useful with the `lazy: true` option * _server_: whether to fetch the data on the server (defaults to `true`) + * _lazy_: whether to resolve the async function after loading the route, instead of blocking client-side navigation (defaults to `false`) + * _immediate_: when set to `false`, will prevent the request from firing immediately. (defaults to `true`) + * _default_: a factory function to set the default value of the `data`, before the async function resolves - useful with the `lazy: true` or `immediate: false` option * _transform_: a function that can be used to alter `handler` function result after resolving * _pick_: only pick specified keys in this array from the `handler` function result * _watch_: watch reactive sources to auto-refresh - * _immediate_: When set to `false`, will prevent the request from firing immediately. (defaults to `true`) Under the hood, `lazy: false` uses `` to block the loading of the route before the data has been fetched. Consider using `lazy: true` and implementing a loading state instead for a snappier user experience. diff --git a/docs/3.api/1.composables/use-fetch.md b/docs/3.api/1.composables/use-fetch.md index f25564539c9f..b3bdc3cd1191 100644 --- a/docs/3.api/1.composables/use-fetch.md +++ b/docs/3.api/1.composables/use-fetch.md @@ -29,7 +29,7 @@ type UseFetchOptions = { default?: () => DataT transform?: (input: DataT) => DataT pick?: string[] - watch?: WatchSource[] + watch?: WatchSource[] | false } type AsyncData = { @@ -63,14 +63,15 @@ type AsyncDataRequestStatus = 'idle' | 'pending' | 'success' | 'error' All fetch options can be given a `computed` or `ref` value. These will be watched and new requests made automatically with any new values if they are updated. :: -* **Options (from [`useAsyncData`](/docs/api/composables/use-async-data) )**: - * `key`: a unique key to ensure that data fetching can be properly de-duplicated across requests, if not provided, it will be generated based on the static code location where [`useAsyncData`](/docs/api/composables/use-async-data) is used. - * `server`: Whether to fetch the data on the server (defaults to `true`). - * `default`: A factory function to set the default value of the data, before the async function resolves - particularly useful with the `lazy: true` option. - * `pick`: Only pick specified keys in this array from the `handler` function result. - * `watch`: Watch an array of reactive sources and auto-refresh the fetch result when they change. Fetch options and URL are watched by default. You can completely ignore reactive sources by using `watch: false`. Together with `immediate: false`, this allows for a fully-manual `useFetch`. - * `transform`: A function that can be used to alter `handler` function result after resolving. - * `immediate`: When set to `false`, will prevent the request from firing immediately. (defaults to `true`) +* **Options (from `useAsyncData`)**: + * `key`: a unique key to ensure that data fetching can be properly de-duplicated across requests, if not provided, it will be generated based on the static code location where `useAsyncData` is used. + * `server`: whether to fetch the data on the server (defaults to `true`) + * `lazy`: whether to resolve the async function after loading the route, instead of blocking client-side navigation (defaults to `false`) + * `immediate`: when set to `false`, will prevent the request from firing immediately. (defaults to `true`) + * `default`: a factory function to set the default value of the `data`, before the async function resolves - useful with the `lazy: true` or `immediate: false` option + * `transform`: a function that can be used to alter `handler` function result after resolving + * `pick`: only pick specified keys in this array from the `handler` function result + * `watch`: watch an array of reactive sources and auto-refresh the fetch result when they change. Fetch options and URL are watched by default. You can completely ignore reactive sources by using `watch: false`. Together with `immediate: false`, this allows for a fully-manual `useFetch`. ::alert{type=warning} If you provide a function or ref as the `url` parameter, or if you provide functions as arguments to the `options` parameter, then the [`useFetch`](/docs/api/composables/use-fetch) call will not match other [`useFetch`](/docs/api/composables/use-fetch) calls elsewhere in your codebase, even if the options seem to be identical. If you wish to force a match, you may provide your own key in `options`. diff --git a/packages/nuxt/src/app/composables/asyncData.ts b/packages/nuxt/src/app/composables/asyncData.ts index b086e705bc86..cd50a3c549cc 100644 --- a/packages/nuxt/src/app/composables/asyncData.ts +++ b/packages/nuxt/src/app/composables/asyncData.ts @@ -145,7 +145,7 @@ export function useAsyncData< const hasCachedData = () => getCachedData() !== undefined // Create or use a shared asyncData entity - if (!nuxt._asyncData[key]) { + if (!nuxt._asyncData[key] || !options.immediate) { nuxt._asyncData[key] = { data: ref(getCachedData() ?? options.default!()), pending: ref(!hasCachedData()), diff --git a/test/basic.test.ts b/test/basic.test.ts index b6748654f5ea..9e8e7d40fff7 100644 --- a/test/basic.test.ts +++ b/test/basic.test.ts @@ -1848,6 +1848,26 @@ describe.skipIf(isWindows)('useAsyncData', () => { await page.locator('#status5-values').getByText('idle,pending,success').waitFor() await page.close() }) + + it('data is null after navigation when immediate false', async () => { + const page = await createPage('/useAsyncData/immediate-remove-unmounted') + await page.waitForLoadState('networkidle') + await page.waitForFunction(() => window.useNuxtApp?.()._route.fullPath === '/useAsyncData/immediate-remove-unmounted') + expect(await page.locator('#immediate-data').getByText('null').textContent()).toBe('null') + + await page.click('#execute-btn') + expect(await page.locator('#immediate-data').getByText(',').textContent()).not.toContain('null') + + await page.click('#to-index') + + await page.click('#to-immediate-remove-unmounted') + expect(await page.locator('#immediate-data').getByText('null').textContent()).toBe('null') + + await page.click('#execute-btn') + expect(await page.locator('#immediate-data').getByText(',').textContent()).not.toContain('null') + + await page.close() + }) }) describe.runIf(isDev())('component testing', () => { diff --git a/test/fixtures/basic/pages/index.vue b/test/fixtures/basic/pages/index.vue index eda06465a94d..3d7d5fe2f0b7 100644 --- a/test/fixtures/basic/pages/index.vue +++ b/test/fixtures/basic/pages/index.vue @@ -26,6 +26,9 @@ islands + + Immediate remove unmounted + Chunk error diff --git a/test/fixtures/basic/pages/useAsyncData/immediate-remove-unmounted.vue b/test/fixtures/basic/pages/useAsyncData/immediate-remove-unmounted.vue new file mode 100644 index 000000000000..eded79b477c9 --- /dev/null +++ b/test/fixtures/basic/pages/useAsyncData/immediate-remove-unmounted.vue @@ -0,0 +1,22 @@ + + + From 23723305dacf0a0d951e14c37e5795fba8c5a752 Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Thu, 24 Aug 2023 13:06:44 +0100 Subject: [PATCH 129/147] feat(schema): support setting `hidden` sourcemaps (#22787) --- packages/nuxt/src/components/module.ts | 12 ++++++------ packages/nuxt/src/core/nuxt.ts | 14 +++++++------- packages/nuxt/src/imports/module.ts | 4 ++-- packages/nuxt/src/pages/module.ts | 2 +- packages/schema/src/config/build.ts | 2 +- packages/vite/src/client.ts | 10 +++++----- packages/vite/src/server.ts | 4 ++-- packages/vite/src/vite.ts | 2 +- packages/webpack/src/configs/client.ts | 6 ++++-- packages/webpack/src/configs/server.ts | 7 ++++++- packages/webpack/src/webpack.ts | 4 ++-- 11 files changed, 37 insertions(+), 30 deletions(-) diff --git a/packages/nuxt/src/components/module.ts b/packages/nuxt/src/components/module.ts index d9a638872f18..b0c858692e43 100644 --- a/packages/nuxt/src/components/module.ts +++ b/packages/nuxt/src/components/module.ts @@ -208,16 +208,16 @@ export default defineNuxtModule({ config.plugins = config.plugins || [] if (nuxt.options.experimental.treeshakeClientOnly && isServer) { config.plugins.push(TreeShakeTemplatePlugin.vite({ - sourcemap: nuxt.options.sourcemap[mode], + sourcemap: !!nuxt.options.sourcemap[mode], getComponents })) } config.plugins.push(clientFallbackAutoIdPlugin.vite({ - sourcemap: nuxt.options.sourcemap[mode], + sourcemap: !!nuxt.options.sourcemap[mode], rootDir: nuxt.options.rootDir })) config.plugins.push(loaderPlugin.vite({ - sourcemap: nuxt.options.sourcemap[mode], + sourcemap: !!nuxt.options.sourcemap[mode], getComponents, mode, transform: typeof nuxt.options.components === 'object' && !Array.isArray(nuxt.options.components) ? nuxt.options.components.transform : undefined, @@ -252,16 +252,16 @@ export default defineNuxtModule({ config.plugins = config.plugins || [] if (nuxt.options.experimental.treeshakeClientOnly && mode === 'server') { config.plugins.push(TreeShakeTemplatePlugin.webpack({ - sourcemap: nuxt.options.sourcemap[mode], + sourcemap: !!nuxt.options.sourcemap[mode], getComponents })) } config.plugins.push(clientFallbackAutoIdPlugin.webpack({ - sourcemap: nuxt.options.sourcemap[mode], + sourcemap: !!nuxt.options.sourcemap[mode], rootDir: nuxt.options.rootDir })) config.plugins.push(loaderPlugin.webpack({ - sourcemap: nuxt.options.sourcemap[mode], + sourcemap: !!nuxt.options.sourcemap[mode], getComponents, mode, transform: typeof nuxt.options.components === 'object' && !Array.isArray(nuxt.options.components) ? nuxt.options.components.transform : undefined, diff --git a/packages/nuxt/src/core/nuxt.ts b/packages/nuxt/src/core/nuxt.ts index b703f6494482..f992ec2433dc 100644 --- a/packages/nuxt/src/core/nuxt.ts +++ b/packages/nuxt/src/core/nuxt.ts @@ -94,14 +94,14 @@ async function initNuxt (nuxt: Nuxt) { if (nuxt.options.experimental.localLayerAliases) { // Add layer aliasing support for ~, ~~, @ and @@ aliases addVitePlugin(() => LayerAliasingPlugin.vite({ - sourcemap: nuxt.options.sourcemap.server || nuxt.options.sourcemap.client, + sourcemap: !!nuxt.options.sourcemap.server || !!nuxt.options.sourcemap.client, dev: nuxt.options.dev, root: nuxt.options.srcDir, // skip top-level layer (user's project) as the aliases will already be correctly resolved layers: nuxt.options._layers.slice(1) })) addWebpackPlugin(() => LayerAliasingPlugin.webpack({ - sourcemap: nuxt.options.sourcemap.server || nuxt.options.sourcemap.client, + sourcemap: !!nuxt.options.sourcemap.server || !!nuxt.options.sourcemap.client, dev: nuxt.options.dev, root: nuxt.options.srcDir, // skip top-level layer (user's project) as the aliases will already be correctly resolved @@ -113,7 +113,7 @@ async function initNuxt (nuxt: Nuxt) { nuxt.hook('modules:done', () => { // Add unctx transform const options = { - sourcemap: nuxt.options.sourcemap.server || nuxt.options.sourcemap.client, + sourcemap: !!nuxt.options.sourcemap.server || !!nuxt.options.sourcemap.client, transformerOptions: nuxt.options.optimization.asyncTransforms } addVitePlugin(() => UnctxTransformPlugin.vite(options)) @@ -121,7 +121,7 @@ async function initNuxt (nuxt: Nuxt) { // Add composable tree-shaking optimisations const serverTreeShakeOptions: TreeShakeComposablesPluginOptions = { - sourcemap: nuxt.options.sourcemap.server, + sourcemap: !!nuxt.options.sourcemap.server, composables: nuxt.options.optimization.treeShake.composables.server } if (Object.keys(serverTreeShakeOptions.composables).length) { @@ -129,7 +129,7 @@ async function initNuxt (nuxt: Nuxt) { addWebpackPlugin(() => TreeShakeComposablesPlugin.webpack(serverTreeShakeOptions), { client: false }) } const clientTreeShakeOptions: TreeShakeComposablesPluginOptions = { - sourcemap: nuxt.options.sourcemap.client, + sourcemap: !!nuxt.options.sourcemap.client, composables: nuxt.options.optimization.treeShake.composables.client } if (Object.keys(clientTreeShakeOptions.composables).length) { @@ -140,8 +140,8 @@ async function initNuxt (nuxt: Nuxt) { if (!nuxt.options.dev) { // DevOnly component tree-shaking - build time only - addVitePlugin(() => DevOnlyPlugin.vite({ sourcemap: nuxt.options.sourcemap.server || nuxt.options.sourcemap.client })) - addWebpackPlugin(() => DevOnlyPlugin.webpack({ sourcemap: nuxt.options.sourcemap.server || nuxt.options.sourcemap.client })) + addVitePlugin(() => DevOnlyPlugin.vite({ sourcemap: !!nuxt.options.sourcemap.server || !!nuxt.options.sourcemap.client })) + addWebpackPlugin(() => DevOnlyPlugin.webpack({ sourcemap: !!nuxt.options.sourcemap.server || !!nuxt.options.sourcemap.client })) } // Transform initial composable call within ` + + From 53f7c1dfaad369df2be36884828e485fb5b065dc Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Thu, 24 Aug 2023 13:45:24 +0100 Subject: [PATCH 131/147] refactor(nuxt): import `useNitroApp` from subpath (#22785) --- packages/nuxt/src/core/runtime/nitro/error.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/nuxt/src/core/runtime/nitro/error.ts b/packages/nuxt/src/core/runtime/nitro/error.ts index a85570f523b4..d0f176b189ce 100644 --- a/packages/nuxt/src/core/runtime/nitro/error.ts +++ b/packages/nuxt/src/core/runtime/nitro/error.ts @@ -2,7 +2,8 @@ import { joinURL, withQuery } from 'ufo' import type { NitroErrorHandler } from 'nitropack' import type { H3Error } from 'h3' import { getRequestHeaders, send, setResponseHeader, setResponseStatus } from 'h3' -import { useNitroApp, useRuntimeConfig } from '#internal/nitro' +import { useRuntimeConfig } from '#internal/nitro' +import { useNitroApp } from '#internal/nitro/app' import { isJsonRequest, normalizeError } from '#internal/nitro/utils' export default async function errorhandler (error: H3Error, event) { From b633764e0d3129a3a3d3edaea6da5dd9e40bd18a Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Thu, 24 Aug 2023 14:48:55 +0100 Subject: [PATCH 132/147] fix(schema): mark schema as free of side effects (#22793) --- packages/schema/package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/schema/package.json b/packages/schema/package.json index d033688982ef..2dc97aebfff4 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -5,6 +5,7 @@ "license": "MIT", "type": "module", "types": "./dist/index.d.ts", + "sideEffects": false, "exports": { ".": { "types": "./dist/index.d.ts", From f06ee59d4a6bccd6645b61031a9df09f95b5b42f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 24 Aug 2023 20:33:21 +0100 Subject: [PATCH 133/147] chore(deps): update all non-major dependencies (main) (#22777) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Daniel Roe --- .github/workflows/autofix-docs.yml | 2 +- .github/workflows/autofix.yml | 2 +- .github/workflows/changelogensets.yml | 2 +- .github/workflows/ci.yml | 14 +- .github/workflows/dependency-review.yml | 2 +- .github/workflows/docs-e2e.yml | 2 +- .github/workflows/docs.yml | 2 +- .github/workflows/introspect.yml | 2 +- .github/workflows/nuxt2-edge.yml | 2 +- .github/workflows/release-pr.yml | 2 +- .github/workflows/reproduire.yml | 2 +- .github/workflows/scorecards.yml | 2 +- package.json | 6 +- packages/kit/package.json | 2 +- packages/nuxi/package.json | 2 +- packages/nuxt/package.json | 6 +- packages/schema/package.json | 2 +- packages/test-utils/package.json | 4 +- packages/vite/package.json | 2 +- packages/webpack/package.json | 2 +- pnpm-lock.yaml | 474 ++++++++++++------------ test/bundle.test.ts | 4 +- 22 files changed, 277 insertions(+), 263 deletions(-) diff --git a/.github/workflows/autofix-docs.yml b/.github/workflows/autofix-docs.yml index a20580336043..2e16eabe9ec6 100644 --- a/.github/workflows/autofix-docs.yml +++ b/.github/workflows/autofix-docs.yml @@ -17,7 +17,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 + - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 - run: corepack enable - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d # v3.8.1 with: diff --git a/.github/workflows/autofix.yml b/.github/workflows/autofix.yml index dd160355a94a..432cde27aa68 100644 --- a/.github/workflows/autofix.yml +++ b/.github/workflows/autofix.yml @@ -13,7 +13,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 + - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 - run: corepack enable - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d # v3.8.1 with: diff --git a/.github/workflows/changelogensets.yml b/.github/workflows/changelogensets.yml index 0d961caefab9..3ebb3ee07e45 100644 --- a/.github/workflows/changelogensets.yml +++ b/.github/workflows/changelogensets.yml @@ -19,7 +19,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 + - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 with: fetch-depth: 0 - run: corepack enable diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 685e6777a435..ee6b2780931f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -38,7 +38,7 @@ jobs: timeout-minutes: 10 steps: - - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 + - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 - run: corepack enable - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d # v3.8.1 with: @@ -75,7 +75,7 @@ jobs: - build steps: - - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 + - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 - run: corepack enable - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d # v3.8.1 with: @@ -114,7 +114,7 @@ jobs: module: ['bundler', 'node'] steps: - - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 + - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 - run: corepack enable - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d # v3.8.1 with: @@ -142,7 +142,7 @@ jobs: timeout-minutes: 10 steps: - - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 + - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 - run: corepack enable - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d # v3.8.1 with: @@ -178,7 +178,7 @@ jobs: timeout-minutes: 15 steps: - - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 + - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 - run: corepack enable - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d # v3.8.1 with: @@ -250,7 +250,7 @@ jobs: timeout-minutes: 20 steps: - - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 + - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 with: fetch-depth: 0 - run: corepack enable @@ -289,7 +289,7 @@ jobs: timeout-minutes: 20 steps: - - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 + - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 with: fetch-depth: 0 - run: corepack enable diff --git a/.github/workflows/dependency-review.yml b/.github/workflows/dependency-review.yml index 072a9ae47c40..da83c3abfe25 100644 --- a/.github/workflows/dependency-review.yml +++ b/.github/workflows/dependency-review.yml @@ -17,6 +17,6 @@ jobs: runs-on: ubuntu-latest steps: - name: 'Checkout Repository' - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 + uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 - name: 'Dependency Review' uses: actions/dependency-review-action@f6fff72a3217f580d5afd49a46826795305b63c7 # v3.0.8 diff --git a/.github/workflows/docs-e2e.yml b/.github/workflows/docs-e2e.yml index d8bd4c8d328a..ba94c2f8da8c 100644 --- a/.github/workflows/docs-e2e.yml +++ b/.github/workflows/docs-e2e.yml @@ -21,7 +21,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 + - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 - run: corepack enable - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d # v3.8.1 with: diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index e60a7c879090..461316066e2c 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -20,7 +20,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 + - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 - run: corepack enable - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d # v3.8.1 with: diff --git a/.github/workflows/introspect.yml b/.github/workflows/introspect.yml index 82d22a5cbbba..9d94f7beb1d9 100644 --- a/.github/workflows/introspect.yml +++ b/.github/workflows/introspect.yml @@ -21,7 +21,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 + - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 # From https://github.com/rhysd/actionlint/blob/main/docs/usage.md#use-actionlint-on-github-actions - name: Check workflow files run: | diff --git a/.github/workflows/nuxt2-edge.yml b/.github/workflows/nuxt2-edge.yml index bcb463d81ad3..057f0b4ee31f 100644 --- a/.github/workflows/nuxt2-edge.yml +++ b/.github/workflows/nuxt2-edge.yml @@ -21,7 +21,7 @@ jobs: permissions: id-token: write steps: - - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 + - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 with: ref: '2.x' fetch-depth: 0 # All history diff --git a/.github/workflows/release-pr.yml b/.github/workflows/release-pr.yml index 7705caeecd29..64f47e6a691f 100644 --- a/.github/workflows/release-pr.yml +++ b/.github/workflows/release-pr.yml @@ -29,7 +29,7 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 + - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 with: ref: refs/pull/${{ github.event.issue.number }}/merge fetch-depth: 0 diff --git a/.github/workflows/reproduire.yml b/.github/workflows/reproduire.yml index 9eeb4f7ac321..9586bd970bcd 100644 --- a/.github/workflows/reproduire.yml +++ b/.github/workflows/reproduire.yml @@ -10,7 +10,7 @@ jobs: reproduire: runs-on: ubuntu-latest steps: - - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 + - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 - uses: Hebilicious/reproduire@4b686ae9cbb72dad60f001d278b6e3b2ce40a9ac # v0.0.9-mp with: label: needs reproduction diff --git a/.github/workflows/scorecards.yml b/.github/workflows/scorecards.yml index d6f8357a9cff..db434826b42f 100644 --- a/.github/workflows/scorecards.yml +++ b/.github/workflows/scorecards.yml @@ -31,7 +31,7 @@ jobs: steps: - name: "Checkout code" - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 + uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 with: persist-credentials: false diff --git a/package.json b/package.json index b061da781dbc..24ca871be533 100644 --- a/package.json +++ b/package.json @@ -45,7 +45,7 @@ "@nuxt/webpack-builder": "workspace:*", "@nuxtjs/eslint-config-typescript": "12.0.0", "@types/fs-extra": "11.0.1", - "@types/node": "18.17.8", + "@types/node": "18.17.9", "@types/semver": "7.5.0", "case-police": "0.6.1", "chalk": "5.3.0", @@ -74,8 +74,8 @@ "rimraf": "5.0.1", "semver": "7.5.4", "std-env": "3.4.3", - "typescript": "5.1.6", - "ufo": "1.2.0", + "typescript": "5.2.2", + "ufo": "1.3.0", "vite": "4.4.9", "vitest": "0.33.0", "vitest-environment-nuxt": "0.10.2", diff --git a/packages/kit/package.json b/packages/kit/package.json index c8a5fe64fae9..41bcaf513783 100644 --- a/packages/kit/package.json +++ b/packages/kit/package.json @@ -34,7 +34,7 @@ "pkg-types": "^1.0.3", "scule": "^1.0.0", "semver": "^7.5.4", - "ufo": "^1.2.0", + "ufo": "^1.3.0", "unctx": "^2.3.1", "unimport": "^3.2.0", "untyped": "^1.4.0" diff --git a/packages/nuxi/package.json b/packages/nuxi/package.json index 408b3d502b93..230c7839fa3f 100644 --- a/packages/nuxi/package.json +++ b/packages/nuxi/package.json @@ -48,7 +48,7 @@ "pkg-types": "1.0.3", "scule": "1.0.0", "semver": "7.5.4", - "ufo": "1.2.0", + "ufo": "1.3.0", "unbuild": "latest" }, "optionalDependencies": { diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index 7237fe0a6d9d..ba4dc821c176 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -83,7 +83,7 @@ "mlly": "^1.4.0", "nitropack": "^2.6.0", "nuxi": "workspace:../nuxi", - "nypm": "^0.3.0", + "nypm": "^0.3.1", "ofetch": "^1.3.2", "ohash": "^1.1.3", "pathe": "^1.1.1", @@ -93,7 +93,7 @@ "scule": "^1.0.0", "std-env": "^3.4.3", "strip-literal": "^1.3.0", - "ufo": "^1.2.0", + "ufo": "^1.3.0", "ultrahtml": "^1.3.0", "uncrypto": "^0.1.3", "unctx": "^2.3.1", @@ -108,7 +108,7 @@ "vue-router": "^4.2.4" }, "devDependencies": { - "@parcel/watcher": "2.2.0", + "@parcel/watcher": "2.3.0", "@types/estree": "1.0.1", "@types/fs-extra": "11.0.1", "@types/prompts": "2.4.4", diff --git a/packages/schema/package.json b/packages/schema/package.json index 2dc97aebfff4..ef7d5d395504 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -57,7 +57,7 @@ "pkg-types": "^1.0.3", "postcss-import-resolver": "^2.0.0", "std-env": "^3.4.3", - "ufo": "^1.2.0", + "ufo": "^1.3.0", "unimport": "^3.2.0", "untyped": "^1.4.0" }, diff --git a/packages/test-utils/package.json b/packages/test-utils/package.json index bff1c0d997e9..58c5778d48db 100644 --- a/packages/test-utils/package.json +++ b/packages/test-utils/package.json @@ -30,10 +30,10 @@ "get-port-please": "^3.0.1", "ofetch": "^1.3.2", "pathe": "^1.1.1", - "ufo": "^1.2.0" + "ufo": "^1.3.0" }, "devDependencies": { - "@jest/globals": "29.6.3", + "@jest/globals": "29.6.4", "playwright-core": "1.37.1", "unbuild": "latest", "vitest": "0.33.0" diff --git a/packages/vite/package.json b/packages/vite/package.json index ebbf827bddca..de42a2e9c408 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -55,7 +55,7 @@ "rollup-plugin-visualizer": "^5.9.2", "std-env": "^3.4.3", "strip-literal": "^1.3.0", - "ufo": "^1.2.0", + "ufo": "^1.3.0", "unplugin": "^1.4.0", "vite": "^4.4.9", "vite-node": "^0.33.0", diff --git a/packages/webpack/package.json b/packages/webpack/package.json index c8e6d86f4577..538f452a7b3c 100644 --- a/packages/webpack/package.json +++ b/packages/webpack/package.json @@ -49,7 +49,7 @@ "pug-plain-loader": "^1.1.0", "std-env": "^3.4.3", "time-fix-plugin": "^2.0.7", - "ufo": "^1.2.0", + "ufo": "^1.3.0", "unplugin": "^1.4.0", "url-loader": "^4.1.1", "vue-bundle-renderer": "^2.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 642f3aa238fa..79db54178523 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -31,13 +31,13 @@ importers: version: link:packages/webpack '@nuxtjs/eslint-config-typescript': specifier: 12.0.0 - version: 12.0.0(eslint@8.47.0)(typescript@5.1.6) + version: 12.0.0(eslint@8.47.0)(typescript@5.2.2) '@types/fs-extra': specifier: 11.0.1 version: 11.0.1 '@types/node': - specifier: 18.17.8 - version: 18.17.8 + specifier: 18.17.9 + version: 18.17.9 '@types/semver': specifier: 7.5.0 version: 7.5.0 @@ -123,14 +123,14 @@ importers: specifier: 3.4.3 version: 3.4.3 typescript: - specifier: 5.1.6 - version: 5.1.6 + specifier: 5.2.2 + version: 5.2.2 ufo: - specifier: 1.2.0 - version: 1.2.0 + specifier: 1.3.0 + version: 1.3.0 vite: specifier: 4.4.9 - version: 4.4.9(@types/node@18.17.8) + version: 4.4.9(@types/node@18.17.9) vitest: specifier: 0.33.0 version: 0.33.0(happy-dom@10.11.0) @@ -148,7 +148,7 @@ importers: version: 4.2.4(vue@3.3.4) vue-tsc: specifier: 1.8.8 - version: 1.8.8(typescript@5.1.6) + version: 1.8.8(typescript@5.2.2) .website: devDependencies: @@ -201,8 +201,8 @@ importers: specifier: ^7.5.4 version: 7.5.4 ufo: - specifier: ^1.2.0 - version: 1.2.0 + specifier: ^1.3.0 + version: 1.3.0 unctx: specifier: ^2.3.1 version: 2.3.1 @@ -230,10 +230,10 @@ importers: version: 2.6.0 unbuild: specifier: latest - version: 2.0.0(typescript@5.1.6) + version: 2.0.0(typescript@5.2.2) vite: specifier: 4.4.9 - version: 4.4.9(@types/node@18.17.8) + version: 4.4.9(@types/node@18.17.9) vitest: specifier: 0.33.0 version: 0.33.0(happy-dom@10.11.0) @@ -338,11 +338,11 @@ importers: specifier: 7.5.4 version: 7.5.4 ufo: - specifier: 1.2.0 - version: 1.2.0 + specifier: 1.3.0 + version: 1.3.0 unbuild: specifier: latest - version: 2.0.0(typescript@5.1.6) + version: 2.0.0(typescript@5.2.2) packages/nuxt: dependencies: @@ -366,7 +366,7 @@ importers: version: link:../vite '@types/node': specifier: ^14.18.0 || >=16.10.0 - version: 18.17.8 + version: 18.17.9 '@unhead/dom': specifier: ^1.3.7 version: 1.3.7 @@ -443,8 +443,8 @@ importers: specifier: workspace:* version: link:../nuxi nypm: - specifier: ^0.3.0 - version: 0.3.0 + specifier: ^0.3.1 + version: 0.3.1 ofetch: specifier: ^1.3.2 version: 1.3.2 @@ -473,8 +473,8 @@ importers: specifier: ^1.3.0 version: 1.3.0 ufo: - specifier: ^1.2.0 - version: 1.2.0 + specifier: ^1.3.0 + version: 1.3.0 ultrahtml: specifier: ^1.3.0 version: 1.3.0 @@ -513,8 +513,8 @@ importers: version: 4.2.4(vue@3.3.4) devDependencies: '@parcel/watcher': - specifier: 2.2.0 - version: 2.2.0 + specifier: 2.3.0 + version: 2.3.0 '@types/estree': specifier: 1.0.1 version: 1.0.1 @@ -529,10 +529,10 @@ importers: version: 4.3.3(vite@4.4.9)(vue@3.3.4) unbuild: specifier: latest - version: 2.0.0(typescript@5.1.6) + version: 2.0.0(typescript@5.2.2) vite: specifier: 4.4.9 - version: 4.4.9(@types/node@18.17.8) + version: 4.4.9(@types/node@18.17.9) vitest: specifier: 0.33.0 version: 0.33.0(happy-dom@10.11.0) @@ -561,8 +561,8 @@ importers: specifier: ^3.4.3 version: 3.4.3 ufo: - specifier: ^1.2.0 - version: 1.2.0 + specifier: ^1.3.0 + version: 1.3.0 unimport: specifier: ^3.2.0 version: 3.2.0(rollup@3.28.1) @@ -608,13 +608,13 @@ importers: version: 2.6.0 unbuild: specifier: latest - version: 2.0.0(typescript@5.1.6) + version: 2.0.0(typescript@5.2.2) unctx: specifier: 2.3.1 version: 2.3.1 vite: specifier: 4.4.9 - version: 4.4.9(@types/node@18.17.8) + version: 4.4.9(@types/node@18.17.9) vue: specifier: 3.3.4 version: 3.3.4 @@ -661,21 +661,21 @@ importers: specifier: ^1.1.1 version: 1.1.1 ufo: - specifier: ^1.2.0 - version: 1.2.0 + specifier: ^1.3.0 + version: 1.3.0 vue: specifier: ^3.3.4 version: 3.3.4 devDependencies: '@jest/globals': - specifier: 29.6.3 - version: 29.6.3 + specifier: 29.6.4 + version: 29.6.4 playwright-core: specifier: 1.37.1 version: 1.37.1 unbuild: specifier: latest - version: 2.0.0(typescript@5.1.6) + version: 2.0.0(typescript@5.2.2) vitest: specifier: 0.33.0 version: 0.33.0(happy-dom@10.11.0) @@ -770,20 +770,20 @@ importers: specifier: ^1.3.0 version: 1.3.0 ufo: - specifier: ^1.2.0 - version: 1.2.0 + specifier: ^1.3.0 + version: 1.3.0 unplugin: specifier: ^1.4.0 version: 1.4.0 vite: specifier: 4.4.9 - version: 4.4.9(@types/node@18.17.8) + version: 4.4.9(@types/node@18.17.9) vite-node: specifier: ^0.33.0 - version: 0.33.0(@types/node@18.17.8) + version: 0.33.0(@types/node@18.17.9) vite-plugin-checker: specifier: ^0.6.2 - version: 0.6.2(eslint@8.47.0)(typescript@5.1.6)(vite@4.4.9)(vue-tsc@1.8.8) + version: 0.6.2(eslint@8.47.0)(typescript@5.2.2)(vite@4.4.9)(vue-tsc@1.8.8) vue-bundle-renderer: specifier: ^2.0.0 version: 2.0.0 @@ -802,7 +802,7 @@ importers: version: 11.0.1 unbuild: specifier: latest - version: 2.0.0(typescript@5.1.6) + version: 2.0.0(typescript@5.2.2) vue: specifier: 3.3.4 version: 3.3.4 @@ -844,7 +844,7 @@ importers: version: 6.2.0(webpack@5.88.2) fork-ts-checker-webpack-plugin: specifier: ^8.0.0 - version: 8.0.0(typescript@5.1.6)(webpack@5.88.2) + version: 8.0.0(typescript@5.2.2)(webpack@5.88.2) fs-extra: specifier: ^11.1.1 version: 11.1.1 @@ -900,8 +900,8 @@ importers: specifier: ^2.0.7 version: 2.0.7(webpack@5.88.2) ufo: - specifier: ^1.2.0 - version: 1.2.0 + specifier: ^1.3.0 + version: 1.3.0 unplugin: specifier: ^1.4.0 version: 1.4.0 @@ -959,7 +959,7 @@ importers: version: 0.1.1 unbuild: specifier: latest - version: 2.0.0(typescript@5.1.6) + version: 2.0.0(typescript@5.2.2) vue: specifier: 3.3.4 version: 3.3.4 @@ -984,7 +984,7 @@ importers: devDependencies: ufo: specifier: latest - version: 1.2.0 + version: 1.3.0 unplugin: specifier: latest version: 1.4.0 @@ -2120,51 +2120,51 @@ packages: engines: {node: '>=8'} dev: true - /@jest/environment@29.6.3: - resolution: {integrity: sha512-u/u3cCztYCfgBiGHsamqP5x+XvucftOGPbf5RJQxfpeC1y4AL8pCjKvPDA3oCmdhZYPgk5AE0VOD/flweR69WA==} + /@jest/environment@29.6.4: + resolution: {integrity: sha512-sQ0SULEjA1XUTHmkBRl7A1dyITM9yb1yb3ZNKPX3KlTd6IG7mWUe3e2yfExtC2Zz1Q+mMckOLHmL/qLiuQJrBQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/fake-timers': 29.6.3 + '@jest/fake-timers': 29.6.4 '@jest/types': 29.6.3 - '@types/node': 18.17.8 + '@types/node': 18.17.9 jest-mock: 29.6.3 dev: true - /@jest/expect-utils@29.6.3: - resolution: {integrity: sha512-nvOEW4YoqRKD9HBJ9OJ6przvIvP9qilp5nAn1462P5ZlL/MM9SgPEZFyjTGPfs7QkocdUsJa6KjHhyRn4ueItA==} + /@jest/expect-utils@29.6.4: + resolution: {integrity: sha512-FEhkJhqtvBwgSpiTrocquJCdXPsyvNKcl/n7A3u7X4pVoF4bswm11c9d4AV+kfq2Gpv/mM8x7E7DsRvH+djkrg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: jest-get-type: 29.6.3 dev: true - /@jest/expect@29.6.3: - resolution: {integrity: sha512-Ic08XbI2jlg6rECy+CGwk/8NDa6VE7UmIG6++9OTPAMnQmNGY28hu69Nf629CWv6T7YMODLbONxDFKdmQeI9FA==} + /@jest/expect@29.6.4: + resolution: {integrity: sha512-Warhsa7d23+3X5bLbrbYvaehcgX5TLYhI03JKoedTiI8uJU4IhqYBWF7OSSgUyz4IgLpUYPkK0AehA5/fRclAA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - expect: 29.6.3 - jest-snapshot: 29.6.3 + expect: 29.6.4 + jest-snapshot: 29.6.4 transitivePeerDependencies: - supports-color dev: true - /@jest/fake-timers@29.6.3: - resolution: {integrity: sha512-pa1wmqvbj6eX0nMvOM2VDAWvJOI5A/Mk3l8O7n7EsAh71sMZblaKO9iT4GjIj0LwwK3CP/Jp1ypEV0x3m89RvA==} + /@jest/fake-timers@29.6.4: + resolution: {integrity: sha512-6UkCwzoBK60edXIIWb0/KWkuj7R7Qq91vVInOe3De6DSpaEiqjKcJw4F7XUet24Wupahj9J6PlR09JqJ5ySDHw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 - '@types/node': 18.17.8 + '@types/node': 18.17.9 jest-message-util: 29.6.3 jest-mock: 29.6.3 jest-util: 29.6.3 dev: true - /@jest/globals@29.6.3: - resolution: {integrity: sha512-RB+uI+CZMHntzlnOPlll5x/jgRff3LEPl/td/jzMXiIgR0iIhKq9qm1HLU+EC52NuoVy/1swit/sDGjVn4bc6A==} + /@jest/globals@29.6.4: + resolution: {integrity: sha512-wVIn5bdtjlChhXAzVXavcY/3PEjf4VqM174BM3eGL5kMxLiZD5CLnbmkEyA1Dwh9q8XjP6E8RwjBsY/iCWrWsA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/environment': 29.6.3 - '@jest/expect': 29.6.3 + '@jest/environment': 29.6.4 + '@jest/expect': 29.6.4 '@jest/types': 29.6.3 jest-mock: 29.6.3 transitivePeerDependencies: @@ -2177,8 +2177,8 @@ packages: dependencies: '@sinclair/typebox': 0.27.8 - /@jest/transform@29.6.3: - resolution: {integrity: sha512-dPIc3DsvMZ/S8ut4L2ViCj265mKO0owB0wfzBv2oGzL9pQ+iRvJewHqLBmsGb7XFb5UotWIEtvY5A/lnylaIoQ==} + /@jest/transform@29.6.4: + resolution: {integrity: sha512-8thgRSiXUqtr/pPGY/OsyHuMjGyhVnWrFAwoxmIemlBuiMyU1WFs0tXoNxzcr4A4uErs/ABre76SGmrr5ab/AA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@babel/core': 7.22.10 @@ -2189,7 +2189,7 @@ packages: convert-source-map: 2.0.0 fast-json-stable-stringify: 2.1.0 graceful-fs: 4.2.11 - jest-haste-map: 29.6.3 + jest-haste-map: 29.6.4 jest-regex-util: 29.6.3 jest-util: 29.6.3 micromatch: 4.0.5 @@ -2207,7 +2207,7 @@ packages: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 18.17.8 + '@types/node': 18.17.9 '@types/yargs': 17.0.24 chalk: 4.1.2 @@ -2375,7 +2375,7 @@ packages: nuxt-config-schema: 0.4.6 nuxt-icon: 0.3.3(vue@3.3.4) pinceau: 0.18.9(postcss@8.4.28) - ufo: 1.2.0 + ufo: 1.3.0 transitivePeerDependencies: - postcss - sass @@ -2414,7 +2414,7 @@ packages: shiki-es: 0.14.0 slugify: 1.6.6 socket.io-client: 4.7.2 - ufo: 1.2.0 + ufo: 1.3.0 unified: 10.1.2 unist-builder: 4.0.0 unist-util-position: 5.0.0 @@ -2493,7 +2493,7 @@ packages: nuxt-component-meta: 0.5.3 nuxt-config-schema: 0.4.6 socket.io-client: 4.7.2 - ufo: 1.2.0 + ufo: 1.3.0 transitivePeerDependencies: - bufferutil - supports-color @@ -2508,14 +2508,14 @@ packages: pathe: 1.1.1 dev: true - /@nuxtjs/eslint-config-typescript@12.0.0(eslint@8.47.0)(typescript@5.1.6): + /@nuxtjs/eslint-config-typescript@12.0.0(eslint@8.47.0)(typescript@5.2.2): resolution: {integrity: sha512-HJR0ho5MYuOCFjkL+eMX/VXbUwy36J12DUMVy+dj3Qz1GYHwX92Saxap3urFzr8oPkzzFiuOknDivfCeRBWakg==} peerDependencies: eslint: ^8.23.0 dependencies: '@nuxtjs/eslint-config': 12.0.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.47.0) - '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.47.0)(typescript@5.1.6) - '@typescript-eslint/parser': 5.62.0(eslint@8.47.0)(typescript@5.1.6) + '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.47.0)(typescript@5.2.2) + '@typescript-eslint/parser': 5.62.0(eslint@8.47.0)(typescript@5.2.2) eslint: 8.47.0 eslint-import-resolver-typescript: 3.5.5(@typescript-eslint/parser@5.62.0)(eslint-plugin-import@2.28.1)(eslint@8.47.0) eslint-plugin-import: 2.28.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.47.0) @@ -2552,64 +2552,72 @@ packages: resolution: {integrity: sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==} dev: true - /@parcel/watcher-android-arm64@2.2.0: - resolution: {integrity: sha512-nU2wh00CTQT9rr1TIKTjdQ9lAGYpmz6XuKw0nAwAN+S2A5YiD55BK1u+E5WMCT8YOIDe/n6gaj4o/Bi9294SSQ==} + /@parcel/watcher-android-arm64@2.3.0: + resolution: {integrity: sha512-f4o9eA3dgk0XRT3XhB0UWpWpLnKgrh1IwNJKJ7UJek7eTYccQ8LR7XUWFKqw6aEq5KUNlCcGvSzKqSX/vtWVVA==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [android] requiresBuild: true optional: true - /@parcel/watcher-darwin-arm64@2.2.0: - resolution: {integrity: sha512-cJl0UZDcodciy3TDMomoK/Huxpjlkkim3SyMgWzjovHGOZKNce9guLz2dzuFwfObBFCjfznbFMIvAZ5syXotYw==} + /@parcel/watcher-darwin-arm64@2.3.0: + resolution: {integrity: sha512-mKY+oijI4ahBMc/GygVGvEdOq0L4DxhYgwQqYAz/7yPzuGi79oXrZG52WdpGA1wLBPrYb0T8uBaGFo7I6rvSKw==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [darwin] requiresBuild: true optional: true - /@parcel/watcher-darwin-x64@2.2.0: - resolution: {integrity: sha512-QI77zxaGrCV1StKcoRYfsUfmUmvPMPfQrubkBBy5XujV2fwaLgZivQOTQMBgp5K2+E19u1ufpspKXAPqSzpbyg==} + /@parcel/watcher-darwin-x64@2.3.0: + resolution: {integrity: sha512-20oBj8LcEOnLE3mgpy6zuOq8AplPu9NcSSSfyVKgfOhNAc4eF4ob3ldj0xWjGGbOF7Dcy1Tvm6ytvgdjlfUeow==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [darwin] requiresBuild: true optional: true - /@parcel/watcher-linux-arm-glibc@2.2.0: - resolution: {integrity: sha512-I2GPBcAXazPzabCmfsa3HRRW+MGlqxYd8g8RIueJU+a4o5nyNZDz0CR1cu0INT0QSQXEZV7w6UE8Hz9CF8u3Pg==} + /@parcel/watcher-freebsd-x64@2.3.0: + resolution: {integrity: sha512-7LftKlaHunueAEiojhCn+Ef2CTXWsLgTl4hq0pkhkTBFI3ssj2bJXmH2L67mKpiAD5dz66JYk4zS66qzdnIOgw==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + optional: true + + /@parcel/watcher-linux-arm-glibc@2.3.0: + resolution: {integrity: sha512-1apPw5cD2xBv1XIHPUlq0cO6iAaEUQ3BcY0ysSyD9Kuyw4MoWm1DV+W9mneWI+1g6OeP6dhikiFE6BlU+AToTQ==} engines: {node: '>= 10.0.0'} cpu: [arm] os: [linux] requiresBuild: true optional: true - /@parcel/watcher-linux-arm64-glibc@2.2.0: - resolution: {integrity: sha512-St5mlfp+2lS9AmgixUqfwJa/DwVmTCJxC1HcOubUTz6YFOKIlkHCeUa1Bxi4E/tR/HSez8+heXHL8HQkJ4Bd8g==} + /@parcel/watcher-linux-arm64-glibc@2.3.0: + resolution: {integrity: sha512-mQ0gBSQEiq1k/MMkgcSB0Ic47UORZBmWoAWlMrTW6nbAGoLZP+h7AtUM7H3oDu34TBFFvjy4JCGP43JlylkTQA==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [linux] requiresBuild: true optional: true - /@parcel/watcher-linux-arm64-musl@2.2.0: - resolution: {integrity: sha512-jS+qfhhoOBVWwMLP65MaG8xdInMK30pPW8wqTCg2AAuVJh5xepMbzkhHJ4zURqHiyY3EiIRuYu4ONJKCxt8iqA==} + /@parcel/watcher-linux-arm64-musl@2.3.0: + resolution: {integrity: sha512-LXZAExpepJew0Gp8ZkJ+xDZaTQjLHv48h0p0Vw2VMFQ8A+RKrAvpFuPVCVwKJCr5SE+zvaG+Etg56qXvTDIedw==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [linux] requiresBuild: true optional: true - /@parcel/watcher-linux-x64-glibc@2.2.0: - resolution: {integrity: sha512-xJvJ7R2wJdi47WZBFS691RDOWvP1j/IAs3EXaWVhDI8FFITbWrWaln7KoNcR0Y3T+ZwimFY/cfb0PNht1q895g==} + /@parcel/watcher-linux-x64-glibc@2.3.0: + resolution: {integrity: sha512-P7Wo91lKSeSgMTtG7CnBS6WrA5otr1K7shhSjKHNePVmfBHDoAOHYRXgUmhiNfbcGk0uMCHVcdbfxtuiZCHVow==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [linux] requiresBuild: true optional: true - /@parcel/watcher-linux-x64-musl@2.2.0: - resolution: {integrity: sha512-D+NMpgr23a+RI5mu8ZPKWy7AqjBOkURFDgP5iIXXEf/K3hm0jJ3ogzi0Ed2237B/CdYREimCgXyeiAlE/FtwyA==} + /@parcel/watcher-linux-x64-musl@2.3.0: + resolution: {integrity: sha512-+kiRE1JIq8QdxzwoYY+wzBs9YbJ34guBweTK8nlzLKimn5EQ2b2FSC+tAOpq302BuIMjyuUGvBiUhEcLIGMQ5g==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [linux] @@ -2625,24 +2633,32 @@ packages: bundledDependencies: - napi-wasm - /@parcel/watcher-win32-arm64@2.2.0: - resolution: {integrity: sha512-z225cPn3aygJsyVUOWwfyW+fY0Tvk7N3XCOl66qUPFxpbuXeZuiuuJemmtm8vxyqa3Ur7peU/qJxrpC64aeI7Q==} + /@parcel/watcher-win32-arm64@2.3.0: + resolution: {integrity: sha512-35gXCnaz1AqIXpG42evcoP2+sNL62gZTMZne3IackM+6QlfMcJLy3DrjuL6Iks7Czpd3j4xRBzez3ADCj1l7Aw==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [win32] requiresBuild: true optional: true - /@parcel/watcher-win32-x64@2.2.0: - resolution: {integrity: sha512-JqGW0RJ61BkKx+yYzIURt9s53P7xMVbv0uxYPzAXLBINGaFmkIKSuUPyBVfy8TMbvp93lvF4SPBNDzVRJfvgOw==} + /@parcel/watcher-win32-ia32@2.3.0: + resolution: {integrity: sha512-FJS/IBQHhRpZ6PiCjFt1UAcPr0YmCLHRbTc00IBTrelEjlmmgIVLeOx4MSXzx2HFEy5Jo5YdhGpxCuqCyDJ5ow==} + engines: {node: '>= 10.0.0'} + cpu: [ia32] + os: [win32] + requiresBuild: true + optional: true + + /@parcel/watcher-win32-x64@2.3.0: + resolution: {integrity: sha512-dLx+0XRdMnVI62kU3wbXvbIRhLck4aE28bIGKbRGS7BJNt54IIj9+c/Dkqb+7DJEbHUZAX1bwaoM8PqVlHJmCA==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [win32] requiresBuild: true optional: true - /@parcel/watcher@2.2.0: - resolution: {integrity: sha512-71S4TF+IMyAn24PK4KSkdKtqJDR3zRzb0HE3yXpacItqTM7XfF2f5q9NEGLEVl0dAaBAGfNwDCjH120y25F6Tg==} + /@parcel/watcher@2.3.0: + resolution: {integrity: sha512-pW7QaFiL11O0BphO+bq3MgqeX/INAk9jgBldVDYjlQPO4VddoZnF22TcF9onMhnLVHuNqBJeRf+Fj7eezi/+rQ==} engines: {node: '>= 10.0.0'} dependencies: detect-libc: 1.0.3 @@ -2650,16 +2666,18 @@ packages: micromatch: 4.0.5 node-addon-api: 7.0.0 optionalDependencies: - '@parcel/watcher-android-arm64': 2.2.0 - '@parcel/watcher-darwin-arm64': 2.2.0 - '@parcel/watcher-darwin-x64': 2.2.0 - '@parcel/watcher-linux-arm-glibc': 2.2.0 - '@parcel/watcher-linux-arm64-glibc': 2.2.0 - '@parcel/watcher-linux-arm64-musl': 2.2.0 - '@parcel/watcher-linux-x64-glibc': 2.2.0 - '@parcel/watcher-linux-x64-musl': 2.2.0 - '@parcel/watcher-win32-arm64': 2.2.0 - '@parcel/watcher-win32-x64': 2.2.0 + '@parcel/watcher-android-arm64': 2.3.0 + '@parcel/watcher-darwin-arm64': 2.3.0 + '@parcel/watcher-darwin-x64': 2.3.0 + '@parcel/watcher-freebsd-x64': 2.3.0 + '@parcel/watcher-linux-arm-glibc': 2.3.0 + '@parcel/watcher-linux-arm64-glibc': 2.3.0 + '@parcel/watcher-linux-arm64-musl': 2.3.0 + '@parcel/watcher-linux-x64-glibc': 2.3.0 + '@parcel/watcher-linux-x64-musl': 2.3.0 + '@parcel/watcher-win32-arm64': 2.3.0 + '@parcel/watcher-win32-ia32': 2.3.0 + '@parcel/watcher-win32-x64': 2.3.0 /@pkgjs/parseargs@0.11.0: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} @@ -2873,7 +2891,7 @@ packages: /@types/connect@3.4.35: resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} dependencies: - '@types/node': 18.17.8 + '@types/node': 18.17.9 dev: true /@types/debug@4.1.8: @@ -2911,13 +2929,13 @@ packages: resolution: {integrity: sha512-MxObHvNl4A69ofaTRU8DFqvgzzv8s9yRtaPPm5gud9HDNvpB3GPQFvNuTWAI59B9huVGV5jXYJwbCsmBsOGYWA==} dependencies: '@types/jsonfile': 6.1.1 - '@types/node': 18.17.8 + '@types/node': 18.17.9 dev: true /@types/graceful-fs@4.1.6: resolution: {integrity: sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==} dependencies: - '@types/node': 18.17.8 + '@types/node': 18.17.9 dev: true /@types/hash-sum@1.0.0: @@ -2933,7 +2951,7 @@ packages: /@types/http-proxy@1.17.11: resolution: {integrity: sha512-HC8G7c1WmaF2ekqpnFq626xd3Zz0uvaqFmBJNRZCGEZCXkvSdJoNFn/8Ygbd9fKNQj8UzLdCETaI0UWPAjK7IA==} dependencies: - '@types/node': 18.17.8 + '@types/node': 18.17.9 /@types/istanbul-lib-coverage@2.0.4: resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} @@ -2958,7 +2976,7 @@ packages: /@types/jsonfile@6.1.1: resolution: {integrity: sha512-GSgiRCVeapDN+3pqA35IkQwasaCh/0YFH5dEF6S88iDvEn901DjOeH3/QPY+XYP1DFzDZPvIvfeEgk+7br5png==} dependencies: - '@types/node': 18.17.8 + '@types/node': 18.17.9 dev: true /@types/lodash-es@4.17.8: @@ -2988,11 +3006,11 @@ packages: /@types/node-sass@4.11.3: resolution: {integrity: sha512-wXPCn3t9uu5rR4zXNSLasZHQMuRzUKBsdi4MsgT8uq4Lp1gQQo+T2G23tGj4SSgDHeNBle6vGseZtM2XV/X9bw==} dependencies: - '@types/node': 18.17.8 + '@types/node': 18.17.9 dev: true - /@types/node@18.17.8: - resolution: {integrity: sha512-Av/7MqX/iNKwT9Tr60V85NqMnsmh8ilfJoBlIVibkXfitk9Q22D9Y5mSpm+FvG5DET7EbVfB40bOiLzKgYFgPw==} + /@types/node@18.17.9: + resolution: {integrity: sha512-fxaKquqYcPOGwE7tC1anJaPJ0GHyOVzfA2oUoXECjBjrtsIz4YJvtNYsq8LUcjEUehEF+jGpx8Z+lFrtT6z0tg==} /@types/normalize-package-data@2.4.1: resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} @@ -3013,7 +3031,7 @@ packages: /@types/prompts@2.4.4: resolution: {integrity: sha512-p5N9uoTH76lLvSAaYSZtBCdEXzpOOufsRjnhjVSrZGXikVGHX9+cc9ERtHRV4hvBKHyZb1bg4K+56Bd2TqUn4A==} dependencies: - '@types/node': 18.17.8 + '@types/node': 18.17.9 kleur: 3.0.3 dev: true @@ -3027,7 +3045,7 @@ packages: /@types/sass-loader@8.0.5: resolution: {integrity: sha512-3b3lQ+UwWanaPBzOcP1YeNTR4q0Klt2UEezhdIjDXkTnQ93F+fnv+z1tMsQBAopY0b+c5ATN5pHQ+vfzxaRnFg==} dependencies: - '@types/node': 18.17.8 + '@types/node': 18.17.9 '@types/node-sass': 4.11.3 '@types/webpack': 4.41.33 sass: 1.64.2 @@ -3074,7 +3092,7 @@ packages: /@types/webpack-bundle-analyzer@4.6.0: resolution: {integrity: sha512-XeQmQCCXdZdap+A/60UKmxW5Mz31Vp9uieGlHB3T4z/o2OLVLtTI3bvTuS6A2OWd/rbAAQiGGWIEFQACu16szA==} dependencies: - '@types/node': 18.17.8 + '@types/node': 18.17.9 tapable: 2.2.1 webpack: 5.88.2 transitivePeerDependencies: @@ -3100,7 +3118,7 @@ packages: /@types/webpack-sources@3.2.0: resolution: {integrity: sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg==} dependencies: - '@types/node': 18.17.8 + '@types/node': 18.17.9 '@types/source-list-map': 0.1.2 source-map: 0.7.4 dev: true @@ -3114,7 +3132,7 @@ packages: /@types/webpack@4.41.33: resolution: {integrity: sha512-PPajH64Ft2vWevkerISMtnZ8rTs4YmRbs+23c402J0INmxDKCrhZNvwZYtzx96gY2wAtXdrK1BS2fiC8MlLr3g==} dependencies: - '@types/node': 18.17.8 + '@types/node': 18.17.9 '@types/tapable': 1.0.8 '@types/uglify-js': 3.17.1 '@types/webpack-sources': 3.2.0 @@ -3130,7 +3148,7 @@ packages: dependencies: '@types/yargs-parser': 21.0.0 - /@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.47.0)(typescript@5.1.6): + /@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.47.0)(typescript@5.2.2): resolution: {integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -3142,23 +3160,23 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.6.2 - '@typescript-eslint/parser': 5.62.0(eslint@8.47.0)(typescript@5.1.6) + '@typescript-eslint/parser': 5.62.0(eslint@8.47.0)(typescript@5.2.2) '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/type-utils': 5.62.0(eslint@8.47.0)(typescript@5.1.6) - '@typescript-eslint/utils': 5.62.0(eslint@8.47.0)(typescript@5.1.6) + '@typescript-eslint/type-utils': 5.62.0(eslint@8.47.0)(typescript@5.2.2) + '@typescript-eslint/utils': 5.62.0(eslint@8.47.0)(typescript@5.2.2) debug: 4.3.4 eslint: 8.47.0 graphemer: 1.4.0 ignore: 5.2.4 natural-compare-lite: 1.4.0 semver: 7.5.4 - tsutils: 3.21.0(typescript@5.1.6) - typescript: 5.1.6 + tsutils: 3.21.0(typescript@5.2.2) + typescript: 5.2.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@5.62.0(eslint@8.47.0)(typescript@5.1.6): + /@typescript-eslint/parser@5.62.0(eslint@8.47.0)(typescript@5.2.2): resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -3170,10 +3188,10 @@ packages: dependencies: '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.1.6) + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.2.2) debug: 4.3.4 eslint: 8.47.0 - typescript: 5.1.6 + typescript: 5.2.2 transitivePeerDependencies: - supports-color dev: true @@ -3186,7 +3204,7 @@ packages: '@typescript-eslint/visitor-keys': 5.62.0 dev: true - /@typescript-eslint/type-utils@5.62.0(eslint@8.47.0)(typescript@5.1.6): + /@typescript-eslint/type-utils@5.62.0(eslint@8.47.0)(typescript@5.2.2): resolution: {integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -3196,12 +3214,12 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.1.6) - '@typescript-eslint/utils': 5.62.0(eslint@8.47.0)(typescript@5.1.6) + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.2.2) + '@typescript-eslint/utils': 5.62.0(eslint@8.47.0)(typescript@5.2.2) debug: 4.3.4 eslint: 8.47.0 - tsutils: 3.21.0(typescript@5.1.6) - typescript: 5.1.6 + tsutils: 3.21.0(typescript@5.2.2) + typescript: 5.2.2 transitivePeerDependencies: - supports-color dev: true @@ -3211,7 +3229,7 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/typescript-estree@5.62.0(typescript@5.1.6): + /@typescript-eslint/typescript-estree@5.62.0(typescript@5.2.2): resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -3226,13 +3244,13 @@ packages: globby: 11.1.0 is-glob: 4.0.3 semver: 7.5.4 - tsutils: 3.21.0(typescript@5.1.6) - typescript: 5.1.6 + tsutils: 3.21.0(typescript@5.2.2) + typescript: 5.2.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils@5.62.0(eslint@8.47.0)(typescript@5.1.6): + /@typescript-eslint/utils@5.62.0(eslint@8.47.0)(typescript@5.2.2): resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -3243,7 +3261,7 @@ packages: '@types/semver': 7.5.0 '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.1.6) + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.2.2) eslint: 8.47.0 eslint-scope: 5.1.1 semver: 7.5.4 @@ -3332,7 +3350,7 @@ packages: '@babel/core': 7.22.10 '@babel/plugin-transform-typescript': 7.22.10(@babel/core@7.22.10) '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.22.10) - vite: 4.4.9(@types/node@18.17.8) + vite: 4.4.9(@types/node@18.17.9) vue: 3.3.4 transitivePeerDependencies: - supports-color @@ -3344,7 +3362,7 @@ packages: vite: ^4.0.0 vue: ^3.2.25 dependencies: - vite: 4.4.9(@types/node@18.17.8) + vite: 4.4.9(@types/node@18.17.9) vue: 3.3.4 /@vitest/expect@0.33.0: @@ -3519,7 +3537,7 @@ packages: /@vue/devtools-api@6.5.0: resolution: {integrity: sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==} - /@vue/language-core@1.8.8(typescript@5.1.6): + /@vue/language-core@1.8.8(typescript@5.2.2): resolution: {integrity: sha512-i4KMTuPazf48yMdYoebTkgSOJdFraE4pQf0B+FTOFkbB+6hAfjrSou/UmYWRsWyZV6r4Rc6DDZdI39CJwL0rWw==} peerDependencies: typescript: '*' @@ -3534,7 +3552,7 @@ packages: '@vue/shared': 3.3.4 minimatch: 9.0.3 muggle-string: 0.3.1 - typescript: 5.1.6 + typescript: 5.2.2 vue-template-compiler: 2.7.14 /@vue/reactivity-transform@3.3.4: @@ -3590,11 +3608,11 @@ packages: vue-component-type-helpers: 1.8.4 dev: true - /@vue/typescript@1.8.8(typescript@5.1.6): + /@vue/typescript@1.8.8(typescript@5.2.2): resolution: {integrity: sha512-jUnmMB6egu5wl342eaUH236v8tdcEPXXkPgj+eI/F6JwW/lb+yAU6U07ZbQ3MVabZRlupIlPESB7ajgAGixhow==} dependencies: '@volar/typescript': 1.10.0 - '@vue/language-core': 1.8.8(typescript@5.1.6) + '@vue/language-core': 1.8.8(typescript@5.2.2) transitivePeerDependencies: - typescript @@ -4797,7 +4815,7 @@ packages: dependencies: '@jridgewell/trace-mapping': 0.3.18 cssnano: 6.0.1(postcss@8.4.28) - jest-worker: 29.6.3 + jest-worker: 29.6.4 postcss: 8.4.28 schema-utils: 4.2.0 serialize-javascript: 6.0.1 @@ -5511,7 +5529,7 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 5.62.0(eslint@8.47.0)(typescript@5.1.6) + '@typescript-eslint/parser': 5.62.0(eslint@8.47.0)(typescript@5.2.2) debug: 3.2.7 eslint: 8.47.0 eslint-import-resolver-node: 0.3.8 @@ -5552,7 +5570,7 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 5.62.0(eslint@8.47.0)(typescript@5.1.6) + '@typescript-eslint/parser': 5.62.0(eslint@8.47.0)(typescript@5.2.2) array-includes: 3.1.6 array.prototype.findlastindex: 1.2.2 array.prototype.flat: 1.3.1 @@ -5868,15 +5886,14 @@ packages: onetime: 6.0.0 signal-exit: 4.1.0 strip-final-newline: 3.0.0 - dev: true - /expect@29.6.3: - resolution: {integrity: sha512-x1vY4LlEMWUYVZQrFi4ZANXFwqYbJ/JNQspLVvzhW2BNY28aNcXMQH6imBbt+RBf5sVRTodYHXtSP/TLEU0Dxw==} + /expect@29.6.4: + resolution: {integrity: sha512-F2W2UyQ8XYyftHT57dtfg8Ue3X5qLgm2sSug0ivvLRH/VKNRL/pDxg/TH7zVzbQB0tu80clNFy6LU7OS/VSEKA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/expect-utils': 29.6.3 + '@jest/expect-utils': 29.6.4 jest-get-type: 29.6.3 - jest-matcher-utils: 29.6.3 + jest-matcher-utils: 29.6.4 jest-message-util: 29.6.3 jest-util: 29.6.3 dev: true @@ -5891,7 +5908,7 @@ packages: enhanced-resolve: 5.15.0 mlly: 1.4.0 pathe: 1.1.1 - ufo: 1.2.0 + ufo: 1.3.0 dev: false /fast-deep-equal@3.1.3: @@ -6014,7 +6031,7 @@ packages: signal-exit: 4.1.0 dev: true - /fork-ts-checker-webpack-plugin@8.0.0(typescript@5.1.6)(webpack@5.88.2): + /fork-ts-checker-webpack-plugin@8.0.0(typescript@5.2.2)(webpack@5.88.2): resolution: {integrity: sha512-mX3qW3idpueT2klaQXBzrIM/pHw+T0B/V9KHEvNrqijTq9NFnMZU6oreVxDYcf33P8a5cW+67PjodNHthGnNVg==} engines: {node: '>=12.13.0', yarn: '>=1.0.0'} peerDependencies: @@ -6033,7 +6050,7 @@ packages: schema-utils: 3.3.0 semver: 7.5.4 tapable: 2.2.1 - typescript: 5.1.6 + typescript: 5.2.2 webpack: 5.88.2 dev: false @@ -6166,7 +6183,6 @@ packages: /get-stream@8.0.1: resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} engines: {node: '>=16'} - dev: true /get-symbol-description@1.0.0: resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} @@ -6344,7 +6360,7 @@ packages: destr: 2.0.1 iron-webcrypto: 0.8.0 radix3: 1.1.0 - ufo: 1.2.0 + ufo: 1.3.0 uncrypto: 0.1.3 unenv: 1.7.3 @@ -6557,7 +6573,6 @@ packages: /human-signals@5.0.0: resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} engines: {node: '>=16.17.0'} - dev: true /hyperdyperid@1.2.0: resolution: {integrity: sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A==} @@ -6937,8 +6952,8 @@ packages: '@pkgjs/parseargs': 0.11.0 dev: true - /jest-diff@29.6.3: - resolution: {integrity: sha512-3sw+AdWnwH9sSNohMRKA7JiYUJSRr/WS6+sEFfBuhxU5V5GlEVKfvUn8JuMHE0wqKowemR1C2aHy8VtXbaV8dQ==} + /jest-diff@29.6.4: + resolution: {integrity: sha512-9F48UxR9e4XOEZvoUXEHSWY4qC4zERJaOfrbBg9JpbJOO43R1vN76REt/aMGZoY6GD5g84nnJiBIVlscegefpw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: chalk: 4.1.2 @@ -6952,31 +6967,31 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: true - /jest-haste-map@29.6.3: - resolution: {integrity: sha512-GecR5YavfjkhOytEFHAeI6aWWG3f/cOKNB1YJvj/B76xAmeVjy4zJUYobGF030cRmKaO1FBw3V8CZZ6KVh9ZSw==} + /jest-haste-map@29.6.4: + resolution: {integrity: sha512-12Ad+VNTDHxKf7k+M65sviyynRoZYuL1/GTuhEVb8RYsNSNln71nANRb/faSyWvx0j+gHcivChXHIoMJrGYjog==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.6 - '@types/node': 18.17.8 + '@types/node': 18.17.9 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 jest-regex-util: 29.6.3 jest-util: 29.6.3 - jest-worker: 29.6.3 + jest-worker: 29.6.4 micromatch: 4.0.5 walker: 1.0.8 optionalDependencies: fsevents: 2.3.3 dev: true - /jest-matcher-utils@29.6.3: - resolution: {integrity: sha512-6ZrMYINZdwduSt5Xu18/n49O1IgXdjsfG7NEZaQws9k69eTKWKcVbJBw/MZsjOZe2sSyJFmuzh8042XWwl54Zg==} + /jest-matcher-utils@29.6.4: + resolution: {integrity: sha512-KSzwyzGvK4HcfnserYqJHYi7sZVqdREJ9DMPAKVbS98JsIAvumihaNUbjrWw0St7p9IY7A9UskCW5MYlGmBQFQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: chalk: 4.1.2 - jest-diff: 29.6.3 + jest-diff: 29.6.4 jest-get-type: 29.6.3 pretty-format: 29.6.3 dev: true @@ -7001,7 +7016,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 18.17.8 + '@types/node': 18.17.9 jest-util: 29.6.3 dev: true @@ -7010,8 +7025,8 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: true - /jest-snapshot@29.6.3: - resolution: {integrity: sha512-66Iu7H1ojiveQMGFnKecHIZPPPBjZwfQEnF6wxqpxGf57sV3YSUtAb5/sTKM5TPa3OndyxZp1wxHFbmgVhc53w==} + /jest-snapshot@29.6.4: + resolution: {integrity: sha512-VC1N8ED7+4uboUKGIDsbvNAZb6LakgIPgAF4RSpF13dN6YaMokfRqO+BaqK4zIh6X3JffgwbzuGqDEjHm/MrvA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@babel/core': 7.22.10 @@ -7019,16 +7034,16 @@ packages: '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.10) '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.22.10) '@babel/types': 7.22.10 - '@jest/expect-utils': 29.6.3 - '@jest/transform': 29.6.3 + '@jest/expect-utils': 29.6.4 + '@jest/transform': 29.6.4 '@jest/types': 29.6.3 babel-preset-current-node-syntax: 1.0.1(@babel/core@7.22.10) chalk: 4.1.2 - expect: 29.6.3 + expect: 29.6.4 graceful-fs: 4.2.11 - jest-diff: 29.6.3 + jest-diff: 29.6.4 jest-get-type: 29.6.3 - jest-matcher-utils: 29.6.3 + jest-matcher-utils: 29.6.4 jest-message-util: 29.6.3 jest-util: 29.6.3 natural-compare: 1.4.0 @@ -7043,7 +7058,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 18.17.8 + '@types/node': 18.17.9 chalk: 4.1.2 ci-info: 3.8.0 graceful-fs: 4.2.11 @@ -7053,15 +7068,15 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 18.17.8 + '@types/node': 18.17.9 merge-stream: 2.0.0 supports-color: 8.1.1 - /jest-worker@29.6.3: - resolution: {integrity: sha512-wacANXecZ/GbQakpf2CClrqrlwsYYDSXFd4fIGdL+dXpM2GWoJ+6bhQ7vR3TKi3+gkSfBkjy1/khH/WrYS4Q6g==} + /jest-worker@29.6.4: + resolution: {integrity: sha512-6dpvFV4WjcWbDVGgHTWo/aupl8/LbBx2NSKfiwqf79xC/yeJjKHT1+StcKy/2KTmW16hE68ccKVOtXf+WZGz7Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@types/node': 18.17.8 + '@types/node': 18.17.9 jest-util: 29.6.3 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -7216,7 +7231,7 @@ packages: resolution: {integrity: sha512-gEOMJKTak+WLjPITBVbv2kR0WKVUSnl5XPwvoFYheyaQPzh/jdA+pRZeUujJkjabNMDsBxwuaYH7HYLpzzGEJA==} hasBin: true dependencies: - '@parcel/watcher': 2.2.0 + '@parcel/watcher': 2.3.0 '@parcel/watcher-wasm': 2.3.0-alpha.3 citty: 0.1.2 clipboardy: 3.0.0 @@ -7229,7 +7244,7 @@ packages: mlly: 1.4.0 node-forge: 1.3.1 pathe: 1.1.1 - ufo: 1.2.0 + ufo: 1.3.0 untun: 0.1.1 uqr: 0.1.2 @@ -7981,7 +7996,7 @@ packages: engines: {node: '>=10'} hasBin: true - /mkdist@1.3.0(typescript@5.1.6): + /mkdist@1.3.0(typescript@5.2.2): resolution: {integrity: sha512-ZQrUvcL7LkRdzMREpDyg9AT18N9Tl5jc2qeKAUeEw0KGsgykbHbuRvysGAzTuGtwuSg0WQyNit5jh/k+Er3JEg==} hasBin: true peerDependencies: @@ -8002,7 +8017,7 @@ packages: mlly: 1.4.0 mri: 1.2.0 pathe: 1.1.1 - typescript: 5.1.6 + typescript: 5.2.2 dev: true /mlly@1.4.0: @@ -8011,7 +8026,7 @@ packages: acorn: 8.10.0 pathe: 1.1.1 pkg-types: 1.0.3 - ufo: 1.2.0 + ufo: 1.3.0 /mri@1.2.0: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} @@ -8119,7 +8134,7 @@ packages: serve-placeholder: 2.0.1 serve-static: 1.15.0 std-env: 3.4.3 - ufo: 1.2.0 + ufo: 1.3.0 uncrypto: 0.1.3 unctx: 2.3.1 unenv: 1.7.3 @@ -8264,8 +8279,8 @@ packages: dependencies: '@nuxt/kit': link:packages/kit scule: 1.0.0 - typescript: 5.1.6 - vue-component-meta: 1.8.8(typescript@5.1.6) + typescript: 5.2.2 + vue-component-meta: 1.8.8(typescript@5.2.2) dev: true /nuxt-config-schema@0.4.6: @@ -8307,7 +8322,7 @@ packages: get-port-please: 3.0.1 perfect-debounce: 1.0.0 std-env: 3.4.3 - vite: 4.4.9(@types/node@18.17.8) + vite: 4.4.9(@types/node@18.17.9) vitest: 0.33.0(happy-dom@10.11.0) vitest-environment-nuxt: 0.10.2(happy-dom@10.11.0)(vitest@0.33.0)(vue-router@4.2.4)(vue@3.3.4) transitivePeerDependencies: @@ -8318,12 +8333,12 @@ packages: - vue-router dev: true - /nypm@0.3.0: - resolution: {integrity: sha512-OTyAXouN2VMCEHWnM5V+QWb+TwhIZjnB0X6yCH5sD/LgD74xbsH67YnTMEG97LMhDp8MPoWLPwskM71+wDdTzg==} + /nypm@0.3.1: + resolution: {integrity: sha512-WbyW4kp5TEIchdfdAUW4PdFlxl508nPAJsZml0ONk+A29vNHSW+3HEq3OmLvbDWYZrSVZ+Ios++7D/ENnv1YlA==} engines: {node: ^14.16.0 || >=16.10.0} dependencies: - execa: 7.2.0 - ufo: 1.2.0 + execa: 8.0.1 + ufo: 1.3.0 dev: false /object-assign@4.1.1: @@ -8389,7 +8404,7 @@ packages: dependencies: destr: 2.0.1 node-fetch-native: 1.4.0 - ufo: 1.2.0 + ufo: 1.3.0 /ohash@1.1.3: resolution: {integrity: sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==} @@ -9574,7 +9589,7 @@ packages: glob: 10.3.3 dev: true - /rollup-plugin-dts@5.3.1(rollup@3.28.1)(typescript@5.1.6): + /rollup-plugin-dts@5.3.1(rollup@3.28.1)(typescript@5.2.2): resolution: {integrity: sha512-gusMi+Z4gY/JaEQeXnB0RUdU82h1kF0WYzCWgVmV4p3hWXqelaKuCvcJawfeg+EKn2T1Ie+YWF2OiN1/L8bTVg==} engines: {node: '>=v14.21.3'} peerDependencies: @@ -9583,12 +9598,12 @@ packages: dependencies: magic-string: 0.30.3 rollup: 3.28.1 - typescript: 5.1.6 + typescript: 5.2.2 optionalDependencies: '@babel/code-frame': 7.22.10 dev: true - /rollup-plugin-dts@6.0.0(rollup@3.28.1)(typescript@5.1.6): + /rollup-plugin-dts@6.0.0(rollup@3.28.1)(typescript@5.2.2): resolution: {integrity: sha512-A996xSZDAqnx/KfFttzC8mDEuyMjsRpiLCrlGc8effhK8KhE3AG0g1woQiITgFc5HSE8HWU7ccR9CiQ3vXgUlQ==} engines: {node: '>=v18.17.1'} peerDependencies: @@ -9597,7 +9612,7 @@ packages: dependencies: magic-string: 0.30.3 rollup: 3.28.1 - typescript: 5.1.6 + typescript: 5.2.2 optionalDependencies: '@babel/code-frame': 7.22.10 dev: true @@ -9827,7 +9842,6 @@ packages: /signal-exit@4.1.0: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} - dev: true /sirv@1.0.19: resolution: {integrity: sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ==} @@ -10340,14 +10354,14 @@ packages: /tslib@2.6.1: resolution: {integrity: sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==} - /tsutils@3.21.0(typescript@5.1.6): + /tsutils@3.21.0(typescript@5.2.2): resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' dependencies: tslib: 1.14.1 - typescript: 5.1.6 + typescript: 5.2.2 dev: true /tunnel@0.0.6: @@ -10431,8 +10445,8 @@ packages: resolution: {integrity: sha512-OJabfkAg1WLZSqJAJ0Z6Sdt3utnbzr/jh+NAHoyWHJe8CMSy79Gm085094M9nvTPy22KzTVn5Zq5mbapCI/hPA==} dev: true - /typescript@5.1.6: - resolution: {integrity: sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==} + /typescript@5.2.2: + resolution: {integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==} engines: {node: '>=14.17'} hasBin: true @@ -10440,8 +10454,8 @@ packages: resolution: {integrity: sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==} dev: true - /ufo@1.2.0: - resolution: {integrity: sha512-RsPyTbqORDNDxqAdQPQBpgqhWle1VcTSou/FraClYlHf6TZnQcGslpLcAphNR+sQW4q5lLWLbOsRlh9j24baQg==} + /ufo@1.3.0: + resolution: {integrity: sha512-bRn3CsoojyNStCZe0BG0Mt4Nr/4KF+rhFlnNXybgqt5pXHNFRlqinSoQaTrGyzE4X8aHplSb+TorH+COin9Yxw==} /ultrahtml@1.3.0: resolution: {integrity: sha512-xmXvE8tC8t4PVqy0/g1fe7H9USY/Brr425q4dD/0QbQMQit7siCtb06+SCqE4GfU24nwsZz8Th1g7L7mm1lL5g==} @@ -10474,23 +10488,23 @@ packages: hookable: 5.5.3 jiti: 1.19.3 magic-string: 0.30.3 - mkdist: 1.3.0(typescript@5.1.6) + mkdist: 1.3.0(typescript@5.2.2) mlly: 1.4.0 mri: 1.2.0 pathe: 1.1.1 pkg-types: 1.0.3 pretty-bytes: 6.1.1 rollup: 3.28.1 - rollup-plugin-dts: 5.3.1(rollup@3.28.1)(typescript@5.1.6) + rollup-plugin-dts: 5.3.1(rollup@3.28.1)(typescript@5.2.2) scule: 1.0.0 - typescript: 5.1.6 + typescript: 5.2.2 untyped: 1.4.0 transitivePeerDependencies: - sass - supports-color dev: true - /unbuild@2.0.0(typescript@5.1.6): + /unbuild@2.0.0(typescript@5.2.2): resolution: {integrity: sha512-JWCUYx3Oxdzvw2J9kTAp+DKE8df/BnH/JTSj6JyA4SH40ECdFu7FoJJcrm8G92B7TjofQ6GZGjJs50TRxoH6Wg==} hasBin: true peerDependencies: @@ -10514,15 +10528,15 @@ packages: hookable: 5.5.3 jiti: 1.19.3 magic-string: 0.30.3 - mkdist: 1.3.0(typescript@5.1.6) + mkdist: 1.3.0(typescript@5.2.2) mlly: 1.4.0 pathe: 1.1.1 pkg-types: 1.0.3 pretty-bytes: 6.1.1 rollup: 3.28.1 - rollup-plugin-dts: 6.0.0(rollup@3.28.1)(typescript@5.1.6) + rollup-plugin-dts: 6.0.0(rollup@3.28.1)(typescript@5.2.2) scule: 1.0.0 - typescript: 5.1.6 + typescript: 5.2.2 untyped: 1.4.0 transitivePeerDependencies: - sass @@ -10756,7 +10770,7 @@ packages: mri: 1.2.0 node-fetch-native: 1.4.0 ofetch: 1.3.2 - ufo: 1.2.0 + ufo: 1.3.0 transitivePeerDependencies: - supports-color @@ -10896,7 +10910,7 @@ packages: vfile-message: 3.1.4 dev: true - /vite-node@0.33.0(@types/node@18.17.8): + /vite-node@0.33.0(@types/node@18.17.9): resolution: {integrity: sha512-19FpHYbwWWxDr73ruNahC+vtEdza52kA90Qb3La98yZ0xULqV8A5JLNPUff0f5zID4984tW7l3DH2przTJUZSw==} engines: {node: '>=v14.18.0'} hasBin: true @@ -10906,7 +10920,7 @@ packages: mlly: 1.4.0 pathe: 1.1.1 picocolors: 1.0.0 - vite: 4.4.9(@types/node@18.17.8) + vite: 4.4.9(@types/node@18.17.9) transitivePeerDependencies: - '@types/node' - less @@ -10917,7 +10931,7 @@ packages: - supports-color - terser - /vite-plugin-checker@0.6.2(eslint@8.47.0)(typescript@5.1.6)(vite@4.4.9)(vue-tsc@1.8.8): + /vite-plugin-checker@0.6.2(eslint@8.47.0)(typescript@5.2.2)(vite@4.4.9)(vue-tsc@1.8.8): resolution: {integrity: sha512-YvvvQ+IjY09BX7Ab+1pjxkELQsBd4rPhWNw8WLBeFVxu/E7O+n6VYAqNsKdK/a2luFlX/sMpoWdGFfg4HvwdJQ==} engines: {node: '>=14.16'} peerDependencies: @@ -10962,16 +10976,16 @@ packages: semver: 7.5.4 strip-ansi: 6.0.1 tiny-invariant: 1.3.1 - typescript: 5.1.6 - vite: 4.4.9(@types/node@18.17.8) + typescript: 5.2.2 + vite: 4.4.9(@types/node@18.17.9) vscode-languageclient: 7.0.0 vscode-languageserver: 7.0.0 vscode-languageserver-textdocument: 1.0.8 vscode-uri: 3.0.7 - vue-tsc: 1.8.8(typescript@5.1.6) + vue-tsc: 1.8.8(typescript@5.2.2) dev: false - /vite@4.4.9(@types/node@18.17.8): + /vite@4.4.9(@types/node@18.17.9): resolution: {integrity: sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true @@ -10999,7 +11013,7 @@ packages: terser: optional: true dependencies: - '@types/node': 18.17.8 + '@types/node': 18.17.9 esbuild: 0.18.20 postcss: 8.4.28 rollup: 3.28.1 @@ -11070,7 +11084,7 @@ packages: dependencies: '@types/chai': 4.3.5 '@types/chai-subset': 1.3.3 - '@types/node': 18.17.8 + '@types/node': 18.17.9 '@vitest/expect': 0.33.0 '@vitest/runner': 0.33.0 '@vitest/snapshot': 0.33.0 @@ -11090,8 +11104,8 @@ packages: strip-literal: 1.3.0 tinybench: 2.5.0 tinypool: 0.6.0 - vite: 4.4.9(@types/node@18.17.8) - vite-node: 0.33.0(@types/node@18.17.8) + vite: 4.4.9(@types/node@18.17.9) + vite-node: 0.33.0(@types/node@18.17.9) why-is-node-running: 2.2.2 transitivePeerDependencies: - less @@ -11151,9 +11165,9 @@ packages: /vue-bundle-renderer@2.0.0: resolution: {integrity: sha512-oYATTQyh8XVkUWe2kaKxhxKVuuzK2Qcehe+yr3bGiaQAhK3ry2kYE4FWOfL+KO3hVFwCdLmzDQTzYhTi9C+R2A==} dependencies: - ufo: 1.2.0 + ufo: 1.3.0 - /vue-component-meta@1.8.8(typescript@5.1.6): + /vue-component-meta@1.8.8(typescript@5.2.2): resolution: {integrity: sha512-iVwH7wGm6VpOAvQoMjFmv8Coe9oV61JqbRkUVx95Xegwb3hEYmltvv4hYvLwUjaev07JRkskPQctyzPBU3YFyQ==} peerDependencies: typescript: '*' @@ -11162,9 +11176,9 @@ packages: optional: true dependencies: '@volar/typescript': 1.10.0 - '@vue/language-core': 1.8.8(typescript@5.1.6) + '@vue/language-core': 1.8.8(typescript@5.2.2) typesafe-path: 0.2.2 - typescript: 5.1.6 + typescript: 5.2.2 vue-component-type-helpers: 1.8.8 dev: true @@ -11245,16 +11259,16 @@ packages: de-indent: 1.0.2 he: 1.2.0 - /vue-tsc@1.8.8(typescript@5.1.6): + /vue-tsc@1.8.8(typescript@5.2.2): resolution: {integrity: sha512-bSydNFQsF7AMvwWsRXD7cBIXaNs/KSjvzWLymq/UtKE36697sboX4EccSHFVxvgdBlI1frYPc/VMKJNB7DFeDQ==} hasBin: true peerDependencies: typescript: '*' dependencies: - '@vue/language-core': 1.8.8(typescript@5.1.6) - '@vue/typescript': 1.8.8(typescript@5.1.6) + '@vue/language-core': 1.8.8(typescript@5.2.2) + '@vue/typescript': 1.8.8(typescript@5.2.2) semver: 7.5.4 - typescript: 5.1.6 + typescript: 5.2.2 /vue@3.3.4: resolution: {integrity: sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw==} diff --git a/test/bundle.test.ts b/test/bundle.test.ts index d3bb3203903d..33668ab4c624 100644 --- a/test/bundle.test.ts +++ b/test/bundle.test.ts @@ -19,7 +19,7 @@ describe.skipIf(process.env.SKIP_BUNDLE_SIZE === 'true' || process.env.ECOSYSTEM for (const outputDir of ['.output', '.output-inline']) { it('default client bundle size', async () => { const clientStats = await analyzeSizes('**/*.js', join(rootDir, outputDir, 'public')) - expect.soft(roundToKilobytes(clientStats.totalBytes)).toMatchInlineSnapshot('"96.4k"') + expect.soft(roundToKilobytes(clientStats.totalBytes)).toMatchInlineSnapshot('"96.6k"') expect(clientStats.files.map(f => f.replace(/\..*\.js/, '.js'))).toMatchInlineSnapshot(` [ "_nuxt/entry.js", @@ -32,7 +32,7 @@ describe.skipIf(process.env.SKIP_BUNDLE_SIZE === 'true' || process.env.ECOSYSTEM const serverDir = join(rootDir, '.output/server') const serverStats = await analyzeSizes(['**/*.mjs', '!node_modules'], serverDir) - expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot('"297k"') + expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot('"298k"') const modules = await analyzeSizes('node_modules/**/*', serverDir) expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"1822k"') From a70904fd8b354ae40966027c5b841bc33ad00b7e Mon Sep 17 00:00:00 2001 From: Mihailo Bursac Date: Fri, 25 Aug 2023 09:50:46 +0200 Subject: [PATCH 134/147] perf(nuxt): reduce multiple calls to dirname (#22800) --- packages/vite/src/plugins/ssr-styles.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/vite/src/plugins/ssr-styles.ts b/packages/vite/src/plugins/ssr-styles.ts index c436c2fa8c07..cb779f689b08 100644 --- a/packages/vite/src/plugins/ssr-styles.ts +++ b/packages/vite/src/plugins/ssr-styles.ts @@ -75,11 +75,13 @@ export function ssrStylesPlugin (options: SSRStylePluginOptions): Plugin { source: '' }) + const baseDir = dirname(base) + emitted[file] = this.emitFile({ type: 'asset', name: `${filename(file)}-styles.mjs`, source: [ - ...files.map((css, i) => `import style_${i} from './${relative(dirname(base), this.getFileName(css))}';`), + ...files.map((css, i) => `import style_${i} from './${relative(baseDir, this.getFileName(css))}';`), `export default [${files.map((_, i) => `style_${i}`).join(', ')}]` ].join('\n') }) From 54a6eab406c839a7aff47e247b8955179a6f92e9 Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Fri, 25 Aug 2023 13:08:38 +0100 Subject: [PATCH 135/147] feat(kit,nuxt): respect nuxt ignore patterns in nitro (#22808) --- packages/kit/src/ignore.ts | 36 ++++++++++++++----- packages/kit/src/index.ts | 2 +- packages/nuxt/src/core/nitro.ts | 3 +- packages/schema/src/types/nuxt.ts | 1 + test/basic.test.ts | 8 +++++ test/fixtures/basic/.nuxtignore | 2 ++ .../fixtures/basic/public/ignore/public-asset | 1 + .../basic/server/routes/ignore/scanned.ts | 3 ++ 8 files changed, 45 insertions(+), 11 deletions(-) create mode 100644 test/fixtures/basic/public/ignore/public-asset create mode 100644 test/fixtures/basic/server/routes/ignore/scanned.ts diff --git a/packages/kit/src/ignore.ts b/packages/kit/src/ignore.ts index 825c3dbb6c3e..76e181df62da 100644 --- a/packages/kit/src/ignore.ts +++ b/packages/kit/src/ignore.ts @@ -1,6 +1,6 @@ import { existsSync, readFileSync } from 'node:fs' import ignore from 'ignore' -import { join, relative } from 'pathe' +import { join, relative, resolve } from 'pathe' import { tryUseNuxt } from './context' /** @@ -16,14 +16,7 @@ export function isIgnored (pathname: string): boolean { if (!nuxt._ignore) { nuxt._ignore = ignore(nuxt.options.ignoreOptions) - const resolvedIgnore = nuxt.options.ignore.flatMap(s => resolveGroupSyntax(s)) - - nuxt._ignore.add(resolvedIgnore) - - const nuxtignoreFile = join(nuxt.options.rootDir, '.nuxtignore') - if (existsSync(nuxtignoreFile)) { - nuxt._ignore.add(readFileSync(nuxtignoreFile, 'utf-8')) - } + nuxt._ignore.add(resolveIgnorePatterns()) } const cwds = nuxt.options._layers?.map(layer => layer.cwd).sort((a, b) => b.length - a.length) @@ -35,6 +28,31 @@ export function isIgnored (pathname: string): boolean { return !!(relativePath && nuxt._ignore.ignores(relativePath)) } +export function resolveIgnorePatterns (relativePath?: string): string[] { + const nuxt = tryUseNuxt() + + // Happens with CLI reloads + if (!nuxt) { + return [] + } + + if (!nuxt._ignorePatterns) { + nuxt._ignorePatterns = nuxt.options.ignore.flatMap(s => resolveGroupSyntax(s)) + + const nuxtignoreFile = join(nuxt.options.rootDir, '.nuxtignore') + if (existsSync(nuxtignoreFile)) { + const contents = readFileSync(nuxtignoreFile, 'utf-8') + nuxt._ignorePatterns.push(...contents.trim().split(/\r?\n/)) + } + } + + if (relativePath) { + return nuxt._ignorePatterns.map(p => p.startsWith('*') || p.startsWith('!*') ? p : relative(relativePath, resolve(nuxt.options.rootDir, p))) + } + + return nuxt._ignorePatterns +} + /** * This function turns string containing groups '**\/*.{spec,test}.{js,ts}' into an array of strings. * For example will '**\/*.{spec,test}.{js,ts}' be resolved to: diff --git a/packages/kit/src/index.ts b/packages/kit/src/index.ts index cdbba6e351ba..da2fe614ada4 100644 --- a/packages/kit/src/index.ts +++ b/packages/kit/src/index.ts @@ -14,7 +14,7 @@ export * from './build' export * from './compatibility' export * from './components' export * from './context' -export { isIgnored } from './ignore' +export { isIgnored, resolveIgnorePatterns } from './ignore' export * from './layout' export * from './pages' export * from './plugin' diff --git a/packages/nuxt/src/core/nitro.ts b/packages/nuxt/src/core/nitro.ts index 80f66b089272..917df7dc35ef 100644 --- a/packages/nuxt/src/core/nitro.ts +++ b/packages/nuxt/src/core/nitro.ts @@ -3,7 +3,7 @@ import { cpus } from 'node:os' import { join, relative, resolve } from 'pathe' import { build, copyPublicAssets, createDevServer, createNitro, prepare, prerender, scanHandlers, writeTypes } from 'nitropack' import type { Nitro, NitroConfig } from 'nitropack' -import { logger } from '@nuxt/kit' +import { logger, resolveIgnorePatterns } from '@nuxt/kit' import escapeRE from 'escape-string-regexp' import { defu } from 'defu' import fsExtra from 'fs-extra' @@ -207,6 +207,7 @@ export async function initNitro (nuxt: Nuxt & { _nitro?: Nitro }) { // Resolve user-provided paths nitroConfig.srcDir = resolve(nuxt.options.rootDir, nuxt.options.srcDir, nitroConfig.srcDir!) + nitroConfig.ignore = [...(nitroConfig.ignore || []), ...resolveIgnorePatterns(nitroConfig.srcDir)] // Add fallback server for `ssr: false` if (!nuxt.options.ssr) { diff --git a/packages/schema/src/types/nuxt.ts b/packages/schema/src/types/nuxt.ts index 52f68bb60d22..224c1190caf4 100644 --- a/packages/schema/src/types/nuxt.ts +++ b/packages/schema/src/types/nuxt.ts @@ -59,6 +59,7 @@ export interface Nuxt { // Private fields. _version: string _ignore?: Ignore + _ignorePatterns?: string[] /** The resolved Nuxt configuration. */ options: NuxtOptions diff --git a/test/basic.test.ts b/test/basic.test.ts index dcdd42ab5a0e..ec0b6ab1beb3 100644 --- a/test/basic.test.ts +++ b/test/basic.test.ts @@ -894,6 +894,14 @@ describe('ignore list', () => { const html = await $fetch('/ignore/composables') expect(html).toContain('was import ignored: true') }) + it('should ignore scanned nitro handlers in .nuxtignore', async () => { + const html = await $fetch('/ignore/scanned') + expect(html).not.toContain('this should be ignored') + }) + it.skipIf(isDev())('should ignore public assets in .nuxtignore', async () => { + const html = await $fetch('/ignore/public-asset') + expect(html).not.toContain('this should be ignored') + }) }) describe('server tree shaking', () => { diff --git a/test/fixtures/basic/.nuxtignore b/test/fixtures/basic/.nuxtignore index 03aa61780136..59e57a945400 100644 --- a/test/fixtures/basic/.nuxtignore +++ b/test/fixtures/basic/.nuxtignore @@ -1 +1,3 @@ composables/ignored.* +**/ignore/public-asset +server/routes/ignore/scanned.ts diff --git a/test/fixtures/basic/public/ignore/public-asset b/test/fixtures/basic/public/ignore/public-asset new file mode 100644 index 000000000000..9a0adbcc4b19 --- /dev/null +++ b/test/fixtures/basic/public/ignore/public-asset @@ -0,0 +1 @@ +this should be ignored diff --git a/test/fixtures/basic/server/routes/ignore/scanned.ts b/test/fixtures/basic/server/routes/ignore/scanned.ts new file mode 100644 index 000000000000..8b4f8b7d3b79 --- /dev/null +++ b/test/fixtures/basic/server/routes/ignore/scanned.ts @@ -0,0 +1,3 @@ +export default defineEventHandler(() => { + return 'this should be ignored' +}) From a352d59a582164e05a6afe3dd580c79eabc43970 Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Fri, 25 Aug 2023 13:26:23 +0100 Subject: [PATCH 136/147] fix(nuxt): default `spaLoadingTemplate` to `false` (#22798) --- packages/nuxt/src/core/nitro.ts | 6 ++++-- packages/schema/src/config/app.ts | 4 ++-- test/bundle.test.ts | 4 ++-- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/packages/nuxt/src/core/nitro.ts b/packages/nuxt/src/core/nitro.ts index 917df7dc35ef..73a7a8337727 100644 --- a/packages/nuxt/src/core/nitro.ts +++ b/packages/nuxt/src/core/nitro.ts @@ -31,7 +31,7 @@ export async function initNitro (nuxt: Nuxt & { _nitro?: Nitro }) { : [/node_modules/] const spaLoadingTemplate = nuxt.options.spaLoadingTemplate ?? resolve(nuxt.options.srcDir, 'app/spa-loading-template.html') - if (spaLoadingTemplate && nuxt.options.spaLoadingTemplate && !existsSync(spaLoadingTemplate)) { + if (spaLoadingTemplate && nuxt.options.spaLoadingTemplate && typeof spaLoadingTemplate !== 'boolean' && !existsSync(spaLoadingTemplate)) { console.warn(`[nuxt] Could not load custom \`spaLoadingTemplate\` path as it does not exist: \`${spaLoadingTemplate}\`.`) } @@ -89,7 +89,9 @@ export async function initNitro (nuxt: Nuxt & { _nitro?: Nitro }) { '#spa-template': () => { if (!spaLoadingTemplate) { return 'export const template = ""' } try { - return `export const template = ${JSON.stringify(readFileSync(spaLoadingTemplate, 'utf-8'))}` + if (spaLoadingTemplate !== true) { + return `export const template = ${JSON.stringify(readFileSync(spaLoadingTemplate, 'utf-8'))}` + } } catch {} return `export const template = ${JSON.stringify(defaultSpaLoadingTemplate({}))}` } diff --git a/packages/schema/src/config/app.ts b/packages/schema/src/config/app.ts index af468b54b05f..d7b75d15239b 100644 --- a/packages/schema/src/config/app.ts +++ b/packages/schema/src/config/app.ts @@ -241,10 +241,10 @@ export default defineUntypedSchema({ * } * * ``` - * @type {string | false} + * @type {string | boolean} */ spaLoadingTemplate: { - $resolve: async (val, get) => typeof val === 'string' ? resolve(await get('srcDir'), val) : (val ?? null) + $resolve: async (val, get) => typeof val === 'string' ? resolve(await get('srcDir'), val) : (val ?? false) }, /** diff --git a/test/bundle.test.ts b/test/bundle.test.ts index 33668ab4c624..f1005e216eb9 100644 --- a/test/bundle.test.ts +++ b/test/bundle.test.ts @@ -32,7 +32,7 @@ describe.skipIf(process.env.SKIP_BUNDLE_SIZE === 'true' || process.env.ECOSYSTEM const serverDir = join(rootDir, '.output/server') const serverStats = await analyzeSizes(['**/*.mjs', '!node_modules'], serverDir) - expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot('"298k"') + expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot('"297k"') const modules = await analyzeSizes('node_modules/**/*', serverDir) expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"1822k"') @@ -71,7 +71,7 @@ describe.skipIf(process.env.SKIP_BUNDLE_SIZE === 'true' || process.env.ECOSYSTEM const serverDir = join(rootDir, '.output-inline/server') const serverStats = await analyzeSizes(['**/*.mjs', '!node_modules'], serverDir) - expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot('"604k"') + expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot('"603k"') const modules = await analyzeSizes('node_modules/**/*', serverDir) expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"70.5k"') From 9bee320c7a83a9837b5a199844ca81537f6f3600 Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Fri, 25 Aug 2023 14:57:25 +0100 Subject: [PATCH 137/147] fix(nuxt): fully resolve `unctx` where possible (#22811) --- packages/nuxt/src/core/nuxt.ts | 10 +++++++--- packages/nuxt/src/core/plugins/unctx.ts | 2 +- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/packages/nuxt/src/core/nuxt.ts b/packages/nuxt/src/core/nuxt.ts index f992ec2433dc..36ccb593be3b 100644 --- a/packages/nuxt/src/core/nuxt.ts +++ b/packages/nuxt/src/core/nuxt.ts @@ -16,6 +16,7 @@ import importsModule from '../imports/module' import { distDir, pkgDir } from '../dirs' import { version } from '../../package.json' import { ImportProtectionPlugin, vueAppPatterns } from './plugins/import-protection' +import type { UnctxTransformPluginOptions } from './plugins/unctx' import { UnctxTransformPlugin } from './plugins/unctx' import type { TreeShakeComposablesPluginOptions } from './plugins/tree-shake' import { TreeShakeComposablesPlugin } from './plugins/tree-shake' @@ -110,12 +111,15 @@ async function initNuxt (nuxt: Nuxt) { })) } - nuxt.hook('modules:done', () => { + nuxt.hook('modules:done', async () => { // Add unctx transform const options = { sourcemap: !!nuxt.options.sourcemap.server || !!nuxt.options.sourcemap.client, - transformerOptions: nuxt.options.optimization.asyncTransforms - } + transformerOptions: { + ...nuxt.options.optimization.asyncTransforms, + helperModule: await tryResolveModule('unctx', nuxt.options.modulesDir) ?? 'unctx' + } + } satisfies UnctxTransformPluginOptions addVitePlugin(() => UnctxTransformPlugin.vite(options)) addWebpackPlugin(() => UnctxTransformPlugin.webpack(options)) diff --git a/packages/nuxt/src/core/plugins/unctx.ts b/packages/nuxt/src/core/plugins/unctx.ts index 19ce781e945e..1e458eda49cd 100644 --- a/packages/nuxt/src/core/plugins/unctx.ts +++ b/packages/nuxt/src/core/plugins/unctx.ts @@ -6,7 +6,7 @@ import { isJS, isVue } from '../utils' const TRANSFORM_MARKER = '/* _processed_nuxt_unctx_transform */\n' -interface UnctxTransformPluginOptions { +export interface UnctxTransformPluginOptions { sourcemap?: boolean transformerOptions: TransformerOptions } From b319087c9fcfb6e22782d03cbbb2a60e6918cc0d Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Fri, 25 Aug 2023 14:57:41 +0100 Subject: [PATCH 138/147] fix(vite): only mark nitro deps as externals when building (#22812) --- packages/vite/src/server.ts | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/packages/vite/src/server.ts b/packages/vite/src/server.ts index 741cd48d352f..03898ca7e3f6 100644 --- a/packages/vite/src/server.ts +++ b/packages/vite/src/server.ts @@ -15,7 +15,6 @@ import { transpile } from './utils/transpile' export async function buildServer (ctx: ViteBuildContext) { const helper = ctx.nuxt.options.nitro.imports !== false ? '' : 'globalThis.' const entry = ctx.nuxt.options.ssr ? ctx.entry : await resolvePath(resolve(ctx.nuxt.options.appDir, 'entry-spa')) - const nitroDependencies = await tryResolveModule('nitropack/package.json', ctx.nuxt.options.modulesDir).then(r => import(r!)).then(r => Object.keys(r.dependencies || {})).catch(() => []) const serverConfig: ViteConfig = vite.mergeConfig(ctx.config, vite.mergeConfig({ configFile: false, base: ctx.nuxt.options.dev @@ -62,11 +61,7 @@ export async function buildServer (ctx: ViteBuildContext) { }, ssr: { external: [ - '#internal/nitro', '#internal/nitro/utils', - // explicit dependencies we use in our ssr renderer - these can be inlined (if necessary) in the nitro build - 'unhead', '@unhead/ssr', '@unhead/vue', 'unctx', 'h3', 'devalue', '@nuxt/devalue', 'radix3', 'unstorage', 'hookable', - // dependencies we might share with nitro - these can be inlined (if necessary) in the nitro build - ...nitroDependencies + '#internal/nitro', '#internal/nitro/utils' ], noExternal: [ ...transpile({ isServer: true, isDev: ctx.nuxt.options.dev }), @@ -112,6 +107,17 @@ export async function buildServer (ctx: ViteBuildContext) { ] } satisfies vite.InlineConfig, ctx.nuxt.options.vite.$server || {})) + if (!ctx.nuxt.options.dev) { + const nitroDependencies = await tryResolveModule('nitropack/package.json', ctx.nuxt.options.modulesDir) + .then(r => import(r!)).then(r => Object.keys(r.dependencies || {})).catch(() => []) + serverConfig.ssr!.external!.push( + // explicit dependencies we use in our ssr renderer - these can be inlined (if necessary) in the nitro build + 'unhead', '@unhead/ssr', 'unctx', 'h3', 'devalue', '@nuxt/devalue', 'radix3', 'unstorage', 'hookable', + // dependencies we might share with nitro - these can be inlined (if necessary) in the nitro build + ...nitroDependencies + ) + } + serverConfig.customLogger = createViteLogger(serverConfig) await ctx.nuxt.callHook('vite:extendConfig', serverConfig, { isClient: false, isServer: true }) From da117ec616edb394f8aaa173056a31a4a22db247 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 25 Aug 2023 15:44:19 +0100 Subject: [PATCH 139/147] chore(deps): update all non-major dependencies (main) (#22803) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Daniel Roe --- package.json | 4 +- packages/nuxt/package.json | 2 +- packages/test-utils/package.json | 2 +- pnpm-lock.yaml | 110 +++++++++++++++---------------- 4 files changed, 59 insertions(+), 59 deletions(-) diff --git a/package.json b/package.json index 24ca871be533..642d9c5714ad 100644 --- a/package.json +++ b/package.json @@ -45,7 +45,7 @@ "@nuxt/webpack-builder": "workspace:*", "@nuxtjs/eslint-config-typescript": "12.0.0", "@types/fs-extra": "11.0.1", - "@types/node": "18.17.9", + "@types/node": "18.17.11", "@types/semver": "7.5.0", "case-police": "0.6.1", "chalk": "5.3.0", @@ -68,7 +68,7 @@ "nuxi": "workspace:*", "nuxt": "workspace:*", "nuxt-vitest": "0.10.2", - "ofetch": "1.3.2", + "ofetch": "1.3.3", "pathe": "1.1.1", "playwright-core": "1.37.1", "rimraf": "5.0.1", diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index ba4dc821c176..d09b63cf8d7c 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -84,7 +84,7 @@ "nitropack": "^2.6.0", "nuxi": "workspace:../nuxi", "nypm": "^0.3.1", - "ofetch": "^1.3.2", + "ofetch": "^1.3.3", "ohash": "^1.1.3", "pathe": "^1.1.1", "perfect-debounce": "^1.0.0", diff --git a/packages/test-utils/package.json b/packages/test-utils/package.json index 58c5778d48db..03cde41644b8 100644 --- a/packages/test-utils/package.json +++ b/packages/test-utils/package.json @@ -28,7 +28,7 @@ "defu": "^6.1.2", "execa": "^7.2.0", "get-port-please": "^3.0.1", - "ofetch": "^1.3.2", + "ofetch": "^1.3.3", "pathe": "^1.1.1", "ufo": "^1.3.0" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 79db54178523..872722a2e920 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -36,8 +36,8 @@ importers: specifier: 11.0.1 version: 11.0.1 '@types/node': - specifier: 18.17.9 - version: 18.17.9 + specifier: 18.17.11 + version: 18.17.11 '@types/semver': specifier: 7.5.0 version: 7.5.0 @@ -105,8 +105,8 @@ importers: specifier: 0.10.2 version: 0.10.2(@vitejs/plugin-vue-jsx@3.0.2)(@vitejs/plugin-vue@4.3.3)(happy-dom@10.11.0)(vite@4.4.9)(vitest@0.33.0)(vue-router@4.2.4)(vue@3.3.4) ofetch: - specifier: 1.3.2 - version: 1.3.2 + specifier: 1.3.3 + version: 1.3.3 pathe: specifier: 1.1.1 version: 1.1.1 @@ -130,7 +130,7 @@ importers: version: 1.3.0 vite: specifier: 4.4.9 - version: 4.4.9(@types/node@18.17.9) + version: 4.4.9(@types/node@18.17.11) vitest: specifier: 0.33.0 version: 0.33.0(happy-dom@10.11.0) @@ -233,7 +233,7 @@ importers: version: 2.0.0(typescript@5.2.2) vite: specifier: 4.4.9 - version: 4.4.9(@types/node@18.17.9) + version: 4.4.9(@types/node@18.17.11) vitest: specifier: 0.33.0 version: 0.33.0(happy-dom@10.11.0) @@ -366,7 +366,7 @@ importers: version: link:../vite '@types/node': specifier: ^14.18.0 || >=16.10.0 - version: 18.17.9 + version: 18.17.11 '@unhead/dom': specifier: ^1.3.7 version: 1.3.7 @@ -446,8 +446,8 @@ importers: specifier: ^0.3.1 version: 0.3.1 ofetch: - specifier: ^1.3.2 - version: 1.3.2 + specifier: ^1.3.3 + version: 1.3.3 ohash: specifier: ^1.1.3 version: 1.1.3 @@ -532,7 +532,7 @@ importers: version: 2.0.0(typescript@5.2.2) vite: specifier: 4.4.9 - version: 4.4.9(@types/node@18.17.9) + version: 4.4.9(@types/node@18.17.11) vitest: specifier: 0.33.0 version: 0.33.0(happy-dom@10.11.0) @@ -614,7 +614,7 @@ importers: version: 2.3.1 vite: specifier: 4.4.9 - version: 4.4.9(@types/node@18.17.9) + version: 4.4.9(@types/node@18.17.11) vue: specifier: 3.3.4 version: 3.3.4 @@ -655,8 +655,8 @@ importers: specifier: ^3.0.1 version: 3.0.1 ofetch: - specifier: ^1.3.2 - version: 1.3.2 + specifier: ^1.3.3 + version: 1.3.3 pathe: specifier: ^1.1.1 version: 1.1.1 @@ -777,10 +777,10 @@ importers: version: 1.4.0 vite: specifier: 4.4.9 - version: 4.4.9(@types/node@18.17.9) + version: 4.4.9(@types/node@18.17.11) vite-node: specifier: ^0.33.0 - version: 0.33.0(@types/node@18.17.9) + version: 0.33.0(@types/node@18.17.11) vite-plugin-checker: specifier: ^0.6.2 version: 0.6.2(eslint@8.47.0)(typescript@5.2.2)(vite@4.4.9)(vue-tsc@1.8.8) @@ -1000,7 +1000,7 @@ importers: devDependencies: ofetch: specifier: latest - version: 1.3.2 + version: 1.3.3 vitest: specifier: 0.33.0 version: 0.33.0(happy-dom@10.11.0) @@ -2126,7 +2126,7 @@ packages: dependencies: '@jest/fake-timers': 29.6.4 '@jest/types': 29.6.3 - '@types/node': 18.17.9 + '@types/node': 18.17.11 jest-mock: 29.6.3 dev: true @@ -2153,7 +2153,7 @@ packages: dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 - '@types/node': 18.17.9 + '@types/node': 18.17.11 jest-message-util: 29.6.3 jest-mock: 29.6.3 jest-util: 29.6.3 @@ -2207,7 +2207,7 @@ packages: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 18.17.9 + '@types/node': 18.17.11 '@types/yargs': 17.0.24 chalk: 4.1.2 @@ -2475,7 +2475,7 @@ packages: mri: 1.2.0 nanoid: 4.0.2 node-fetch: 3.3.2 - ofetch: 1.3.2 + ofetch: 1.3.3 parse-git-config: 3.0.0 pathe: 1.1.1 rc9: 2.1.1 @@ -2891,7 +2891,7 @@ packages: /@types/connect@3.4.35: resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} dependencies: - '@types/node': 18.17.9 + '@types/node': 18.17.11 dev: true /@types/debug@4.1.8: @@ -2929,13 +2929,13 @@ packages: resolution: {integrity: sha512-MxObHvNl4A69ofaTRU8DFqvgzzv8s9yRtaPPm5gud9HDNvpB3GPQFvNuTWAI59B9huVGV5jXYJwbCsmBsOGYWA==} dependencies: '@types/jsonfile': 6.1.1 - '@types/node': 18.17.9 + '@types/node': 18.17.11 dev: true /@types/graceful-fs@4.1.6: resolution: {integrity: sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==} dependencies: - '@types/node': 18.17.9 + '@types/node': 18.17.11 dev: true /@types/hash-sum@1.0.0: @@ -2951,7 +2951,7 @@ packages: /@types/http-proxy@1.17.11: resolution: {integrity: sha512-HC8G7c1WmaF2ekqpnFq626xd3Zz0uvaqFmBJNRZCGEZCXkvSdJoNFn/8Ygbd9fKNQj8UzLdCETaI0UWPAjK7IA==} dependencies: - '@types/node': 18.17.9 + '@types/node': 18.17.11 /@types/istanbul-lib-coverage@2.0.4: resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} @@ -2976,7 +2976,7 @@ packages: /@types/jsonfile@6.1.1: resolution: {integrity: sha512-GSgiRCVeapDN+3pqA35IkQwasaCh/0YFH5dEF6S88iDvEn901DjOeH3/QPY+XYP1DFzDZPvIvfeEgk+7br5png==} dependencies: - '@types/node': 18.17.9 + '@types/node': 18.17.11 dev: true /@types/lodash-es@4.17.8: @@ -3006,11 +3006,11 @@ packages: /@types/node-sass@4.11.3: resolution: {integrity: sha512-wXPCn3t9uu5rR4zXNSLasZHQMuRzUKBsdi4MsgT8uq4Lp1gQQo+T2G23tGj4SSgDHeNBle6vGseZtM2XV/X9bw==} dependencies: - '@types/node': 18.17.9 + '@types/node': 18.17.11 dev: true - /@types/node@18.17.9: - resolution: {integrity: sha512-fxaKquqYcPOGwE7tC1anJaPJ0GHyOVzfA2oUoXECjBjrtsIz4YJvtNYsq8LUcjEUehEF+jGpx8Z+lFrtT6z0tg==} + /@types/node@18.17.11: + resolution: {integrity: sha512-r3hjHPBu+3LzbGBa8DHnr/KAeTEEOrahkcL+cZc4MaBMTM+mk8LtXR+zw+nqfjuDZZzYTYgTcpHuP+BEQk069g==} /@types/normalize-package-data@2.4.1: resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} @@ -3031,7 +3031,7 @@ packages: /@types/prompts@2.4.4: resolution: {integrity: sha512-p5N9uoTH76lLvSAaYSZtBCdEXzpOOufsRjnhjVSrZGXikVGHX9+cc9ERtHRV4hvBKHyZb1bg4K+56Bd2TqUn4A==} dependencies: - '@types/node': 18.17.9 + '@types/node': 18.17.11 kleur: 3.0.3 dev: true @@ -3045,7 +3045,7 @@ packages: /@types/sass-loader@8.0.5: resolution: {integrity: sha512-3b3lQ+UwWanaPBzOcP1YeNTR4q0Klt2UEezhdIjDXkTnQ93F+fnv+z1tMsQBAopY0b+c5ATN5pHQ+vfzxaRnFg==} dependencies: - '@types/node': 18.17.9 + '@types/node': 18.17.11 '@types/node-sass': 4.11.3 '@types/webpack': 4.41.33 sass: 1.64.2 @@ -3092,7 +3092,7 @@ packages: /@types/webpack-bundle-analyzer@4.6.0: resolution: {integrity: sha512-XeQmQCCXdZdap+A/60UKmxW5Mz31Vp9uieGlHB3T4z/o2OLVLtTI3bvTuS6A2OWd/rbAAQiGGWIEFQACu16szA==} dependencies: - '@types/node': 18.17.9 + '@types/node': 18.17.11 tapable: 2.2.1 webpack: 5.88.2 transitivePeerDependencies: @@ -3118,7 +3118,7 @@ packages: /@types/webpack-sources@3.2.0: resolution: {integrity: sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg==} dependencies: - '@types/node': 18.17.9 + '@types/node': 18.17.11 '@types/source-list-map': 0.1.2 source-map: 0.7.4 dev: true @@ -3132,7 +3132,7 @@ packages: /@types/webpack@4.41.33: resolution: {integrity: sha512-PPajH64Ft2vWevkerISMtnZ8rTs4YmRbs+23c402J0INmxDKCrhZNvwZYtzx96gY2wAtXdrK1BS2fiC8MlLr3g==} dependencies: - '@types/node': 18.17.9 + '@types/node': 18.17.11 '@types/tapable': 1.0.8 '@types/uglify-js': 3.17.1 '@types/webpack-sources': 3.2.0 @@ -3350,7 +3350,7 @@ packages: '@babel/core': 7.22.10 '@babel/plugin-transform-typescript': 7.22.10(@babel/core@7.22.10) '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.22.10) - vite: 4.4.9(@types/node@18.17.9) + vite: 4.4.9(@types/node@18.17.11) vue: 3.3.4 transitivePeerDependencies: - supports-color @@ -3362,7 +3362,7 @@ packages: vite: ^4.0.0 vue: ^3.2.25 dependencies: - vite: 4.4.9(@types/node@18.17.9) + vite: 4.4.9(@types/node@18.17.11) vue: 3.3.4 /@vitest/expect@0.33.0: @@ -4467,7 +4467,7 @@ packages: execa: 8.0.1 mri: 1.2.0 node-fetch-native: 1.4.0 - ofetch: 1.3.2 + ofetch: 1.3.3 open: 9.1.0 pathe: 1.1.1 pkg-types: 1.0.3 @@ -6973,7 +6973,7 @@ packages: dependencies: '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.6 - '@types/node': 18.17.9 + '@types/node': 18.17.11 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -7016,7 +7016,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 18.17.9 + '@types/node': 18.17.11 jest-util: 29.6.3 dev: true @@ -7058,7 +7058,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 18.17.9 + '@types/node': 18.17.11 chalk: 4.1.2 ci-info: 3.8.0 graceful-fs: 4.2.11 @@ -7068,7 +7068,7 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 18.17.9 + '@types/node': 18.17.11 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -7076,7 +7076,7 @@ packages: resolution: {integrity: sha512-6dpvFV4WjcWbDVGgHTWo/aupl8/LbBx2NSKfiwqf79xC/yeJjKHT1+StcKy/2KTmW16hE68ccKVOtXf+WZGz7Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@types/node': 18.17.9 + '@types/node': 18.17.11 jest-util: 29.6.3 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -8119,7 +8119,7 @@ packages: mlly: 1.4.0 mri: 1.2.0 node-fetch-native: 1.4.0 - ofetch: 1.3.2 + ofetch: 1.3.3 ohash: 1.1.3 openapi-typescript: 6.5.3 pathe: 1.1.1 @@ -8322,7 +8322,7 @@ packages: get-port-please: 3.0.1 perfect-debounce: 1.0.0 std-env: 3.4.3 - vite: 4.4.9(@types/node@18.17.9) + vite: 4.4.9(@types/node@18.17.11) vitest: 0.33.0(happy-dom@10.11.0) vitest-environment-nuxt: 0.10.2(happy-dom@10.11.0)(vitest@0.33.0)(vue-router@4.2.4)(vue@3.3.4) transitivePeerDependencies: @@ -8399,8 +8399,8 @@ packages: es-abstract: 1.22.1 dev: true - /ofetch@1.3.2: - resolution: {integrity: sha512-XphiqMCUugscBfS7EjEfe8s3Hb5kfrTqdk9QAYl9z/wvhI3g97EpQdldqd0zAWqQXInHEqkRBQ08reMFHQwjDA==} + /ofetch@1.3.3: + resolution: {integrity: sha512-s1ZCMmQWXy4b5K/TW9i/DtiN8Ku+xCiHcjQ6/J/nDdssirrQNOoB165Zu8EqLMA2lln1JUth9a0aW9Ap2ctrUg==} dependencies: destr: 2.0.1 node-fetch-native: 1.4.0 @@ -10769,7 +10769,7 @@ packages: lru-cache: 10.0.1 mri: 1.2.0 node-fetch-native: 1.4.0 - ofetch: 1.3.2 + ofetch: 1.3.3 ufo: 1.3.0 transitivePeerDependencies: - supports-color @@ -10910,7 +10910,7 @@ packages: vfile-message: 3.1.4 dev: true - /vite-node@0.33.0(@types/node@18.17.9): + /vite-node@0.33.0(@types/node@18.17.11): resolution: {integrity: sha512-19FpHYbwWWxDr73ruNahC+vtEdza52kA90Qb3La98yZ0xULqV8A5JLNPUff0f5zID4984tW7l3DH2przTJUZSw==} engines: {node: '>=v14.18.0'} hasBin: true @@ -10920,7 +10920,7 @@ packages: mlly: 1.4.0 pathe: 1.1.1 picocolors: 1.0.0 - vite: 4.4.9(@types/node@18.17.9) + vite: 4.4.9(@types/node@18.17.11) transitivePeerDependencies: - '@types/node' - less @@ -10977,7 +10977,7 @@ packages: strip-ansi: 6.0.1 tiny-invariant: 1.3.1 typescript: 5.2.2 - vite: 4.4.9(@types/node@18.17.9) + vite: 4.4.9(@types/node@18.17.11) vscode-languageclient: 7.0.0 vscode-languageserver: 7.0.0 vscode-languageserver-textdocument: 1.0.8 @@ -10985,7 +10985,7 @@ packages: vue-tsc: 1.8.8(typescript@5.2.2) dev: false - /vite@4.4.9(@types/node@18.17.9): + /vite@4.4.9(@types/node@18.17.11): resolution: {integrity: sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true @@ -11013,7 +11013,7 @@ packages: terser: optional: true dependencies: - '@types/node': 18.17.9 + '@types/node': 18.17.11 esbuild: 0.18.20 postcss: 8.4.28 rollup: 3.28.1 @@ -11041,7 +11041,7 @@ packages: h3: 1.8.0 happy-dom: 10.11.0 magic-string: 0.30.3 - ofetch: 1.3.2 + ofetch: 1.3.3 unenv: 1.7.3 vitest: 0.33.0(happy-dom@10.11.0) vue: 3.3.4 @@ -11084,7 +11084,7 @@ packages: dependencies: '@types/chai': 4.3.5 '@types/chai-subset': 1.3.3 - '@types/node': 18.17.9 + '@types/node': 18.17.11 '@vitest/expect': 0.33.0 '@vitest/runner': 0.33.0 '@vitest/snapshot': 0.33.0 @@ -11104,8 +11104,8 @@ packages: strip-literal: 1.3.0 tinybench: 2.5.0 tinypool: 0.6.0 - vite: 4.4.9(@types/node@18.17.9) - vite-node: 0.33.0(@types/node@18.17.9) + vite: 4.4.9(@types/node@18.17.11) + vite-node: 0.33.0(@types/node@18.17.11) why-is-node-running: 2.2.2 transitivePeerDependencies: - less From abd5d857705fa830d6ef019cb8a5ed3c763b7cd5 Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Fri, 25 Aug 2023 16:20:32 +0100 Subject: [PATCH 140/147] feat(nuxt): migrate to new `nuxt/cli` (#22799) --- .gitignore | 1 + .stackblitz/codeflow.json | 1 - package.json | 3 +- packages/nuxi/README.md | 5 + packages/nuxi/bin/nuxi.mjs | 2 - packages/nuxi/build.config.ts | 31 ---- packages/nuxi/package.json | 60 ------- packages/nuxi/src/cli-run.ts | 5 - packages/nuxi/src/cli-wrapper.ts | 58 ------- packages/nuxi/src/cli.ts | 87 ---------- packages/nuxi/src/commands/add.ts | 62 ------- packages/nuxi/src/commands/analyze.ts | 110 ------------ packages/nuxi/src/commands/build-module.ts | 34 ---- packages/nuxi/src/commands/build.ts | 70 -------- packages/nuxi/src/commands/cleanup.ts | 15 -- packages/nuxi/src/commands/dev.ts | 190 --------------------- packages/nuxi/src/commands/devtools.ts | 24 --- packages/nuxi/src/commands/generate.ts | 14 -- packages/nuxi/src/commands/index.ts | 46 ----- packages/nuxi/src/commands/info.ts | 161 ----------------- packages/nuxi/src/commands/init.ts | 68 -------- packages/nuxi/src/commands/prepare.ts | 35 ---- packages/nuxi/src/commands/preview.ts | 55 ------ packages/nuxi/src/commands/test.ts | 43 ----- packages/nuxi/src/commands/typecheck.ts | 43 ----- packages/nuxi/src/commands/upgrade.ts | 74 -------- packages/nuxi/src/commands/usage.ts | 21 --- packages/nuxi/src/index.ts | 1 - packages/nuxi/src/run.ts | 13 -- packages/nuxi/src/utils/banner.ts | 21 --- packages/nuxi/src/utils/cjs.ts | 27 --- packages/nuxi/src/utils/diff.ts | 31 ---- packages/nuxi/src/utils/engines.ts | 12 -- packages/nuxi/src/utils/env.ts | 8 - packages/nuxi/src/utils/esm.ts | 13 -- packages/nuxi/src/utils/fs.ts | 45 ----- packages/nuxi/src/utils/help.ts | 20 --- packages/nuxi/src/utils/kit.ts | 24 --- packages/nuxi/src/utils/nuxt.ts | 68 -------- packages/nuxi/src/utils/packageManagers.ts | 28 --- packages/nuxi/src/utils/templates.ts | 119 ------------- packages/nuxt/package.json | 2 +- packages/test-utils/src/server.ts | 5 +- pnpm-lock.yaml | 136 ++------------- 44 files changed, 27 insertions(+), 1864 deletions(-) create mode 100644 packages/nuxi/README.md delete mode 100755 packages/nuxi/bin/nuxi.mjs delete mode 100644 packages/nuxi/build.config.ts delete mode 100644 packages/nuxi/package.json delete mode 100644 packages/nuxi/src/cli-run.ts delete mode 100644 packages/nuxi/src/cli-wrapper.ts delete mode 100755 packages/nuxi/src/cli.ts delete mode 100644 packages/nuxi/src/commands/add.ts delete mode 100644 packages/nuxi/src/commands/analyze.ts delete mode 100644 packages/nuxi/src/commands/build-module.ts delete mode 100644 packages/nuxi/src/commands/build.ts delete mode 100644 packages/nuxi/src/commands/cleanup.ts delete mode 100644 packages/nuxi/src/commands/dev.ts delete mode 100644 packages/nuxi/src/commands/devtools.ts delete mode 100644 packages/nuxi/src/commands/generate.ts delete mode 100644 packages/nuxi/src/commands/index.ts delete mode 100644 packages/nuxi/src/commands/info.ts delete mode 100644 packages/nuxi/src/commands/init.ts delete mode 100644 packages/nuxi/src/commands/prepare.ts delete mode 100644 packages/nuxi/src/commands/preview.ts delete mode 100644 packages/nuxi/src/commands/test.ts delete mode 100644 packages/nuxi/src/commands/typecheck.ts delete mode 100644 packages/nuxi/src/commands/upgrade.ts delete mode 100644 packages/nuxi/src/commands/usage.ts delete mode 100755 packages/nuxi/src/index.ts delete mode 100644 packages/nuxi/src/run.ts delete mode 100644 packages/nuxi/src/utils/banner.ts delete mode 100644 packages/nuxi/src/utils/cjs.ts delete mode 100644 packages/nuxi/src/utils/diff.ts delete mode 100644 packages/nuxi/src/utils/engines.ts delete mode 100644 packages/nuxi/src/utils/env.ts delete mode 100644 packages/nuxi/src/utils/esm.ts delete mode 100644 packages/nuxi/src/utils/fs.ts delete mode 100644 packages/nuxi/src/utils/help.ts delete mode 100644 packages/nuxi/src/utils/kit.ts delete mode 100644 packages/nuxi/src/utils/nuxt.ts delete mode 100644 packages/nuxi/src/utils/packageManagers.ts delete mode 100644 packages/nuxi/src/utils/templates.ts diff --git a/.gitignore b/.gitignore index 621e94602114..7c284d1371b9 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,7 @@ jspm_packages package-lock.json packages/*/README.md +!packages/nuxi/README.md packages/*/LICENSE */**/yarn.lock /.yarn diff --git a/.stackblitz/codeflow.json b/.stackblitz/codeflow.json index 06a7fa58ac72..c6f914a9e62d 100644 --- a/.stackblitz/codeflow.json +++ b/.stackblitz/codeflow.json @@ -6,7 +6,6 @@ "@nuxt/test-utils": "./packages/test-utils", "@nuxt/vite": "./packages/vite", "@nuxt/webpack": "./packages/webpack", - "nuxi": "./packages/nuxi", "nuxt": "./packages/nuxt" } } diff --git a/package.json b/package.json index 642d9c5714ad..1b1f2101f0d2 100644 --- a/package.json +++ b/package.json @@ -33,7 +33,6 @@ "@nuxt/test-utils": "workspace:*", "@nuxt/vite-builder": "workspace:*", "@nuxt/webpack-builder": "workspace:*", - "nuxi": "workspace:*", "nuxt": "workspace:*", "vite": "4.4.9", "vue": "3.3.4", @@ -65,7 +64,7 @@ "jiti": "1.19.3", "markdownlint-cli": "^0.33.0", "nitropack": "2.6.0", - "nuxi": "workspace:*", + "nuxi": "npm:nuxi-ng@0.3.0-1692970235.c259efa", "nuxt": "workspace:*", "nuxt-vitest": "0.10.2", "ofetch": "1.3.3", diff --git a/packages/nuxi/README.md b/packages/nuxi/README.md new file mode 100644 index 000000000000..4edd42b0e961 --- /dev/null +++ b/packages/nuxi/README.md @@ -0,0 +1,5 @@ +# Nuxt CLI (nuxi) + +⚡️ Next Generation CLI Experience for [Nuxt](https://nuxt.com/). + +- 👉 View on GitHub at https://github.com/nuxt/cli diff --git a/packages/nuxi/bin/nuxi.mjs b/packages/nuxi/bin/nuxi.mjs deleted file mode 100755 index 8dcfc256bd3f..000000000000 --- a/packages/nuxi/bin/nuxi.mjs +++ /dev/null @@ -1,2 +0,0 @@ -#!/usr/bin/env node -import('../dist/cli-wrapper.mjs') diff --git a/packages/nuxi/build.config.ts b/packages/nuxi/build.config.ts deleted file mode 100644 index 522086d61af7..000000000000 --- a/packages/nuxi/build.config.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { defineBuildConfig } from 'unbuild' - -export default defineBuildConfig({ - declaration: true, - rollup: { - inlineDependencies: true, - resolve: { - exportConditions: ['production', 'node'] as any - } - }, - entries: [ - 'src/cli', - 'src/cli-run', - 'src/cli-wrapper', - 'src/index' - ], - externals: [ - '@nuxt/kit', - '@nuxt/schema', - '@nuxt/test-utils', - 'fsevents', - // TODO: Fix rollup/unbuild issue - 'node:url', - 'node:buffer', - 'node:path', - 'node:child_process', - 'node:process', - 'node:path', - 'node:os' - ] -}) diff --git a/packages/nuxi/package.json b/packages/nuxi/package.json deleted file mode 100644 index 230c7839fa3f..000000000000 --- a/packages/nuxi/package.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "name": "nuxi", - "version": "3.6.5", - "repository": "nuxt/nuxt", - "license": "MIT", - "type": "module", - "types": "./dist/index.d.ts", - "exports": { - ".": "./dist/index.mjs", - "./cli": "./bin/nuxi.mjs" - }, - "bin": "./bin/nuxi.mjs", - "files": [ - "bin", - "dist" - ], - "scripts": { - "prepack": "unbuild" - }, - "devDependencies": { - "@nuxt/kit": "workspace:../kit", - "@nuxt/schema": "workspace:../schema", - "@types/clear": "0.1.2", - "@types/flat": "5.0.2", - "@types/mri": "1.1.1", - "@types/semver": "7.5.0", - "c12": "1.4.2", - "chokidar": "3.5.3", - "clear": "0.1.0", - "clipboardy": "3.0.0", - "colorette": "2.0.20", - "consola": "3.2.3", - "deep-object-diff": "1.1.9", - "defu": "6.1.2", - "destr": "2.0.1", - "execa": "7.2.0", - "flat": "5.0.2", - "giget": "1.1.2", - "h3": "1.8.0", - "jiti": "1.19.3", - "listhen": "1.4.0", - "mlly": "1.4.0", - "mri": "1.2.0", - "nitropack": "2.6.0", - "ohash": "1.1.3", - "pathe": "1.1.1", - "perfect-debounce": "1.0.0", - "pkg-types": "1.0.3", - "scule": "1.0.0", - "semver": "7.5.4", - "ufo": "1.3.0", - "unbuild": "latest" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" - }, - "engines": { - "node": "^14.18.0 || >=16.10.0" - } -} diff --git a/packages/nuxi/src/cli-run.ts b/packages/nuxi/src/cli-run.ts deleted file mode 100644 index bca8a2e7d292..000000000000 --- a/packages/nuxi/src/cli-run.ts +++ /dev/null @@ -1,5 +0,0 @@ -// @ts-expect-error internal property for tracking start time -process._startTime = Date.now() - -// @ts-expect-error `default` property is not declared -import('./cli').then(r => (r.default || r).main()) diff --git a/packages/nuxi/src/cli-wrapper.ts b/packages/nuxi/src/cli-wrapper.ts deleted file mode 100644 index ad3d0c990f0d..000000000000 --- a/packages/nuxi/src/cli-wrapper.ts +++ /dev/null @@ -1,58 +0,0 @@ -/** - * This file is used to wrap the CLI entrypoint in a restartable process. - */ -import { fileURLToPath } from 'node:url' -import { fork } from 'node:child_process' -import type { ChildProcess } from 'node:child_process' - -const cliEntry = new URL('../dist/cli-run.mjs', import.meta.url) - -// Only enable wrapper for nuxt dev command -if (process.argv[2] === 'dev') { - process.env.__CLI_ARGV__ = JSON.stringify(process.argv) - startSubprocess() -} else { - import(cliEntry.href) -} - -function startSubprocess () { - let childProc: ChildProcess | undefined - - const onShutdown = () => { - if (childProc) { - childProc.kill() - childProc = undefined - } - } - - process.on('exit', onShutdown) - process.on('SIGTERM', onShutdown) // Graceful shutdown - process.on('SIGINT', onShutdown) // Ctrl-C - process.on('SIGQUIT', onShutdown) // Ctrl-\ - - start() - - function start () { - const _argv: string[] = (process.env.__CLI_ARGV__ ? JSON.parse(process.env.__CLI_ARGV__) : process.argv).slice(2) - const execArguments: string[] = getInspectArgs() - - childProc = fork(fileURLToPath(cliEntry), [], { execArgv: execArguments }) - childProc.on('close', (code) => { if (code) { process.exit(code) } }) - childProc.on('message', (message) => { - if ((message as { type: string })?.type === 'nuxt:restart') { - childProc?.kill() - startSubprocess() - } - }) - - function getInspectArgs (): string[] { - const inspectArgv = _argv.find(argvItem => argvItem.includes('--inspect')) - - if (!inspectArgv) { - return [] - } - - return [inspectArgv] - } - } -} diff --git a/packages/nuxi/src/cli.ts b/packages/nuxi/src/cli.ts deleted file mode 100755 index f90c98f72e46..000000000000 --- a/packages/nuxi/src/cli.ts +++ /dev/null @@ -1,87 +0,0 @@ -import mri from 'mri' -import { red } from 'colorette' -import type { ConsolaReporter } from 'consola' -import { consola } from 'consola' -import { checkEngines } from './utils/engines' -import type { Command, NuxtCommand } from './commands' -import { commands } from './commands' -import { showHelp } from './utils/help' -import { showBanner } from './utils/banner' - -async function _main () { - const _argv = (process.env.__CLI_ARGV__ ? JSON.parse(process.env.__CLI_ARGV__) : process.argv).slice(2) - const args = mri(_argv, { - boolean: [ - 'no-clear' - ] - }) - const command = args._.shift() || 'usage' - - showBanner(command === 'dev' && args.clear !== false && !args.help) - - if (!(command in commands)) { - console.log('\n' + red('Invalid command ' + command)) - - await commands.usage().then(r => r.invoke()) - process.exit(1) - } - - // Check Node.js version in background - setTimeout(() => { checkEngines().catch(() => {}) }, 1000) - - const cmd = await commands[command as Command]() as NuxtCommand - if (args.h || args.help) { - showHelp(cmd.meta) - } else { - const result = await cmd.invoke(args) - return result - } -} - -// Wrap all console logs with consola for better DX -consola.wrapAll() - -// Filter out unwanted logs -// TODO: Use better API from consola for intercepting logs -const wrapReporter = (reporter: ConsolaReporter) => ({ - log (logObj, ctx) { - if (!logObj.args || !logObj.args.length) { return } - const msg = logObj.args[0] - if (typeof msg === 'string' && !process.env.DEBUG) { - // Hide vue-router 404 warnings - if (msg.startsWith('[Vue Router warn]: No match found for location with path')) { - return - } - // Suppress warning about native Node.js fetch - if (msg.includes('ExperimentalWarning: The Fetch API is an experimental feature')) { - return - } - // TODO: resolve upstream in Vite - // Hide sourcemap warnings related to node_modules - if (msg.startsWith('Sourcemap') && msg.includes('node_modules')) { - return - } - } - return reporter.log(logObj, ctx) - } -}) satisfies ConsolaReporter - -consola.options.reporters = consola.options.reporters.map(wrapReporter) - -process.on('unhandledRejection', err => consola.error('[unhandledRejection]', err)) -process.on('uncaughtException', err => consola.error('[uncaughtException]', err)) - -export function main () { - _main() - .then((result) => { - if (result === 'error') { - process.exit(1) - } else if (result !== 'wait') { - process.exit() - } - }) - .catch((error) => { - consola.error(error) - process.exit(1) - }) -} diff --git a/packages/nuxi/src/commands/add.ts b/packages/nuxi/src/commands/add.ts deleted file mode 100644 index 1b795f47200b..000000000000 --- a/packages/nuxi/src/commands/add.ts +++ /dev/null @@ -1,62 +0,0 @@ -import { existsSync, promises as fsp } from 'node:fs' -import { dirname, resolve } from 'pathe' -import { consola } from 'consola' -import { loadKit } from '../utils/kit' -import { templates } from '../utils/templates' -import { defineNuxtCommand } from './index' - -export default defineNuxtCommand({ - meta: { - name: 'add', - usage: `npx nuxi add [--cwd] [--force] ${Object.keys(templates).join('|')} `, - description: 'Create a new template file.' - }, - async invoke (args) { - const cwd = resolve(args.cwd || '.') - - const template = args._[0] - const name = args._[1] - - // Validate template name - if (!templates[template]) { - consola.error(`Template ${template} is not supported. Possible values: ${Object.keys(templates).join(', ')}`) - process.exit(1) - } - - // Validate options - if (!name) { - consola.error('name argument is missing!') - process.exit(1) - } - - // Load config in order to respect srcDir - const kit = await loadKit(cwd) - const config = await kit.loadNuxtConfig({ cwd }) - - // Resolve template - const res = templates[template]({ name, args }) - - // Resolve full path to generated file - const path = resolve(config.srcDir, res.path) - - // Ensure not overriding user code - if (!args.force && existsSync(path)) { - consola.error(`File exists: ${path} . Use --force to override or use a different name.`) - process.exit(1) - } - - // Ensure parent directory exists - const parentDir = dirname(path) - if (!existsSync(parentDir)) { - consola.info('Creating directory', parentDir) - if (template === 'page') { - consola.info('This enables vue-router functionality!') - } - await fsp.mkdir(parentDir, { recursive: true }) - } - - // Write file - await fsp.writeFile(path, res.contents.trim() + '\n') - consola.info(`🪄 Generated a new ${template} in ${path}`) - } -}) diff --git a/packages/nuxi/src/commands/analyze.ts b/packages/nuxi/src/commands/analyze.ts deleted file mode 100644 index caf21d29ccc3..000000000000 --- a/packages/nuxi/src/commands/analyze.ts +++ /dev/null @@ -1,110 +0,0 @@ -import { promises as fsp } from 'node:fs' -import { join, resolve } from 'pathe' -import { createApp, eventHandler, lazyEventHandler, send, toNodeListener } from 'h3' -import { listen } from 'listhen' -import type { NuxtAnalyzeMeta } from '@nuxt/schema' -import { defu } from 'defu' -import { loadKit } from '../utils/kit' -import { clearDir } from '../utils/fs' -import { overrideEnv } from '../utils/env' -import { defineNuxtCommand } from './index' - -export default defineNuxtCommand({ - meta: { - name: 'analyze', - usage: 'npx nuxi analyze [--log-level] [--name] [--no-serve] [rootDir]', - description: 'Build nuxt and analyze production bundle (experimental)' - }, - async invoke (args, options = {}) { - overrideEnv('production') - - const name = args.name || 'default' - const slug = name.trim().replace(/[^a-z0-9_-]/gi, '_') - const rootDir = resolve(args._[0] || '.') - - let analyzeDir = join(rootDir, '.nuxt/analyze', slug) - let buildDir = join(analyzeDir, '.nuxt') - let outDir = join(analyzeDir, '.output') - - const startTime = Date.now() - - const { loadNuxt, buildNuxt } = await loadKit(rootDir) - - const nuxt = await loadNuxt({ - rootDir, - overrides: defu(options.overrides, { - build: { - analyze: true - }, - analyzeDir, - buildDir, - nitro: { - output: { - dir: outDir - } - }, - logLevel: args['log-level'] - }) - }) - - analyzeDir = nuxt.options.analyzeDir - buildDir = nuxt.options.buildDir - outDir = nuxt.options.nitro.output?.dir || outDir - - await clearDir(analyzeDir) - await buildNuxt(nuxt) - - const endTime = Date.now() - - const meta: NuxtAnalyzeMeta = { - name, - slug, - startTime, - endTime, - analyzeDir, - buildDir, - outDir - } - - await nuxt.callHook('build:analyze:done', meta) - await fsp.writeFile(join(analyzeDir, 'meta.json'), JSON.stringify(meta, null, 2), 'utf-8') - - console.info('Analyze results are available at: `' + analyzeDir + '`') - console.warn('Do not deploy analyze results! Use `nuxi build` before deploying.') - - if (args.serve !== false && !process.env.CI) { - const app = createApp() - - const serveFile = (filePath: string) => lazyEventHandler(async () => { - const contents = await fsp.readFile(filePath, 'utf-8') - return eventHandler(event => send(event, contents)) - }) - - console.info('Starting stats server...') - - app.use('/client', serveFile(join(analyzeDir, 'client.html'))) - app.use('/nitro', serveFile(join(analyzeDir, 'nitro.html'))) - app.use(eventHandler(() => ` - - - - Nuxt Bundle Stats (experimental) - -

Nuxt Bundle Stats (experimental)

- - - `)) - - await listen(toNodeListener(app)) - - return 'wait' as const - } - } -}) diff --git a/packages/nuxi/src/commands/build-module.ts b/packages/nuxi/src/commands/build-module.ts deleted file mode 100644 index 9ceebbf6f9fa..000000000000 --- a/packages/nuxi/src/commands/build-module.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { execa } from 'execa' -import { consola } from 'consola' -import { resolve } from 'pathe' -import { tryResolveModule } from '../utils/esm' -import { defineNuxtCommand } from './index' - -const MODULE_BUILDER_PKG = '@nuxt/module-builder' - -export default defineNuxtCommand({ - meta: { - name: 'build-module', - usage: 'npx nuxi build-module [--stub] [rootDir]', - description: `Helper command for using ${MODULE_BUILDER_PKG}` - }, - async invoke (args) { - // Find local installed version - const rootDir = resolve(args._[0] || '.') - const hasLocal = await tryResolveModule(`${MODULE_BUILDER_PKG}/package.json`, rootDir) - - const execArgs = Object.entries({ - '--stub': args.stub, - '--prepare': args.prepare - }).filter(([, value]) => value).map(([key]) => key) - - let cmd = 'nuxt-module-build' - if (!hasLocal) { - consola.warn(`Cannot find locally installed version of \`${MODULE_BUILDER_PKG}\` (>=0.2.0). Falling back to \`npx ${MODULE_BUILDER_PKG}\``) - cmd = 'npx' - execArgs.unshift(MODULE_BUILDER_PKG) - } - - await execa(cmd, execArgs, { preferLocal: true, stdio: 'inherit', cwd: rootDir }) - } -}) diff --git a/packages/nuxi/src/commands/build.ts b/packages/nuxi/src/commands/build.ts deleted file mode 100644 index c41f7e668cd1..000000000000 --- a/packages/nuxi/src/commands/build.ts +++ /dev/null @@ -1,70 +0,0 @@ -import { relative, resolve } from 'pathe' -import { consola } from 'consola' -import type { Nitro } from 'nitropack' - -// we are deliberately inlining this code as a backup in case user has `@nuxt/schema<3.7` -import { writeTypes as writeTypesLegacy } from '../../../kit/src/template' -import { loadKit } from '../utils/kit' -import { clearBuildDir } from '../utils/fs' -import { overrideEnv } from '../utils/env' -import { showVersions } from '../utils/banner' -import { defineNuxtCommand } from './index' - -export default defineNuxtCommand({ - meta: { - name: 'build', - usage: 'npx nuxi build [--prerender] [--dotenv] [--log-level] [rootDir]', - description: 'Build nuxt for production deployment' - }, - async invoke (args, options = {}) { - overrideEnv('production') - - const rootDir = resolve(args._[0] || '.') - showVersions(rootDir) - - const { loadNuxt, buildNuxt, useNitro, writeTypes = writeTypesLegacy } = await loadKit(rootDir) - - const nuxt = await loadNuxt({ - rootDir, - dotenv: { - cwd: rootDir, - fileName: args.dotenv - }, - overrides: { - logLevel: args['log-level'], - // TODO: remove in 3.8 - _generate: args.prerender, - ...(args.prerender ? { nitro: { static: true } } : {}), - ...(options?.overrides || {}) - } - }) - - let nitro: Nitro | undefined - // In Bridge, if nitro is not enabled, useNitro will throw an error - try { - // Use ? for backward compatibility for Nuxt <= RC.10 - nitro = useNitro?.() - } catch {} - - await clearBuildDir(nuxt.options.buildDir) - - await writeTypes(nuxt) - - nuxt.hook('build:error', (err) => { - consola.error('Nuxt Build Error:', err) - process.exit(1) - }) - - await buildNuxt(nuxt) - - if (args.prerender) { - if (!nuxt.options.ssr) { - consola.warn('HTML content not prerendered because `ssr: false` was set. You can read more in `https://nuxt.com/docs/getting-started/deployment#static-hosting`.') - } - // TODO: revisit later if/when nuxt build --prerender will output hybrid - const dir = nitro?.options.output.publicDir - const publicDir = dir ? relative(process.cwd(), dir) : '.output/public' - consola.success(`You can now deploy \`${publicDir}\` to any static hosting!`) - } - } -}) diff --git a/packages/nuxi/src/commands/cleanup.ts b/packages/nuxi/src/commands/cleanup.ts deleted file mode 100644 index 46a257aac3ee..000000000000 --- a/packages/nuxi/src/commands/cleanup.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { resolve } from 'pathe' -import { cleanupNuxtDirs } from '../utils/nuxt' -import { defineNuxtCommand } from './index' - -export default defineNuxtCommand({ - meta: { - name: 'cleanup', - usage: 'npx nuxi clean|cleanup', - description: 'Cleanup generated nuxt files and caches' - }, - async invoke (args) { - const rootDir = resolve(args._[0] || '.') - await cleanupNuxtDirs(rootDir) - } -}) diff --git a/packages/nuxi/src/commands/dev.ts b/packages/nuxi/src/commands/dev.ts deleted file mode 100644 index 2b73fc20b9b7..000000000000 --- a/packages/nuxi/src/commands/dev.ts +++ /dev/null @@ -1,190 +0,0 @@ -import type { AddressInfo } from 'node:net' -import type { RequestListener } from 'node:http' -import { relative, resolve } from 'pathe' -import chokidar from 'chokidar' -import { debounce } from 'perfect-debounce' -import type { Nuxt } from '@nuxt/schema' -import { consola } from 'consola' -import { withTrailingSlash } from 'ufo' -import { setupDotenv } from 'c12' - -// we are deliberately inlining this code as a backup in case user has `@nuxt/schema<3.7` -import { writeTypes as writeTypesLegacy } from '../../../kit/src/template' -import { showBanner, showVersions } from '../utils/banner' -import { loadKit } from '../utils/kit' -import { importModule } from '../utils/esm' -import { overrideEnv } from '../utils/env' -import { loadNuxtManifest, writeNuxtManifest } from '../utils/nuxt' -import { clearBuildDir } from '../utils/fs' -import { defineNuxtCommand } from './index' - -export default defineNuxtCommand({ - meta: { - name: 'dev', - usage: 'npx nuxi dev [rootDir] [--dotenv] [--log-level] [--clipboard] [--open, -o] [--port, -p] [--host, -h] [--https] [--ssl-cert] [--ssl-key]', - description: 'Run nuxt development server' - }, - async invoke (args, options = {}) { - overrideEnv('development') - - const rootDir = resolve(args._[0] || '.') - showVersions(rootDir) - - await setupDotenv({ cwd: rootDir, fileName: args.dotenv }) - - const { loadNuxt, loadNuxtConfig, buildNuxt, writeTypes = writeTypesLegacy } = await loadKit(rootDir) - - const config = await loadNuxtConfig({ - cwd: rootDir, - overrides: { - dev: true, - logLevel: args['log-level'], - ...(options.overrides || {}) - } - }) - - const { listen } = await import('listhen') - const { toNodeListener } = await import('h3') - let currentHandler: RequestListener | undefined - let loadingMessage = 'Nuxt is starting...' - const loadingHandler: RequestListener = async (_req, res) => { - const loadingTemplate = config.devServer.loadingTemplate ?? await importModule('@nuxt/ui-templates', config.modulesDir).then(r => r.loading) - res.setHeader('Content-Type', 'text/html; charset=UTF-8') - res.statusCode = 503 // Service Unavailable - res.end(loadingTemplate({ loading: loadingMessage })) - } - const serverHandler: RequestListener = (req, res) => { - return currentHandler ? currentHandler(req, res) : loadingHandler(req, res) - } - - const listener = await listen(serverHandler, { - showURL: false, - clipboard: args.clipboard, - open: args.open || args.o, - port: args.port || args.p || process.env.NUXT_PORT || process.env.NITRO_PORT || config.devServer.port, - hostname: args.host || args.h || process.env.NUXT_HOST || process.env.NITRO_HOST || config.devServer.host, - https: (args.https !== false && (args.https || config.devServer.https)) - ? { - cert: args['ssl-cert'] || process.env.NUXT_SSL_CERT || process.env.NITRO_SSL_CERT || (typeof config.devServer.https !== 'boolean' && config.devServer.https.cert) || undefined, - key: args['ssl-key'] || process.env.NUXT_SSL_KEY || process.env.NITRO_SSL_KEY || (typeof config.devServer.https !== 'boolean' && config.devServer.https.key) || undefined - } - : false - }) - - let currentNuxt: Nuxt - let distWatcher: chokidar.FSWatcher - - const showURL = () => { - listener.showURL({ - // TODO: Normalize URL with trailing slash within schema - baseURL: withTrailingSlash(currentNuxt?.options.app.baseURL) || '/' - }) - } - async function hardRestart (reason?: string) { - if (process.send) { - await listener.close().catch(() => {}) - await currentNuxt.close().catch(() => {}) - await watcher.close().catch(() => {}) - await distWatcher.close().catch(() => {}) - consola.info(`${reason ? reason + '. ' : ''}Restarting nuxt...`) - process.send({ type: 'nuxt:restart' }) - } else { - await load(true, reason) - } - } - const load = async (isRestart: boolean, reason?: string) => { - try { - loadingMessage = `${reason ? reason + '. ' : ''}${isRestart ? 'Restarting' : 'Starting'} nuxt...` - currentHandler = undefined - if (isRestart) { - consola.info(loadingMessage) - } - if (currentNuxt) { - await currentNuxt.close() - } - if (distWatcher) { - await distWatcher.close() - } - - currentNuxt = await loadNuxt({ - rootDir, - dev: true, - ready: false, - overrides: { - logLevel: args['log-level'], - vite: { - clearScreen: args.clear - }, - ...(options.overrides || {}) - } - }) - - if (!isRestart) { - showURL() - } - - // Write manifest and also check if we need cache invalidation - if (!isRestart) { - const previousManifest = await loadNuxtManifest(currentNuxt.options.buildDir) - const newManifest = await writeNuxtManifest(currentNuxt) - if (previousManifest && newManifest && previousManifest._hash !== newManifest._hash) { - await clearBuildDir(currentNuxt.options.buildDir) - } - } - - await currentNuxt.ready() - - const unsub = currentNuxt.hooks.hook('restart', async (options) => { - unsub() // we use this instead of `hookOnce` for Nuxt Bridge support - if (options?.hard) { return hardRestart() } - await load(true) - }) - - await currentNuxt.hooks.callHook('listen', listener.server, listener) - const address = (listener.server.address() || {}) as AddressInfo - currentNuxt.options.devServer.url = listener.url - currentNuxt.options.devServer.port = address.port - currentNuxt.options.devServer.host = address.address - currentNuxt.options.devServer.https = listener.https - - await Promise.all([ - writeTypes(currentNuxt).catch(console.error), - buildNuxt(currentNuxt) - ]) - - distWatcher = chokidar.watch(resolve(currentNuxt.options.buildDir, 'dist'), { ignoreInitial: true, depth: 0 }) - distWatcher.on('unlinkDir', () => { - dLoad(true, '.nuxt/dist directory has been removed') - }) - - currentHandler = toNodeListener(currentNuxt.server.app) - if (isRestart && args.clear !== false) { - showBanner() - showURL() - } - } catch (err) { - consola.error(`Cannot ${isRestart ? 'restart' : 'start'} nuxt: `, err) - currentHandler = undefined - loadingMessage = 'Error while loading nuxt. Please check console and fix errors.' - } - } - - // Watch for config changes - // TODO: Watcher service, modules, and requireTree - const dLoad = debounce(load) - const watcher = chokidar.watch([rootDir], { ignoreInitial: true, depth: 0 }) - watcher.on('all', (_event, _file) => { - const file = relative(rootDir, _file) - if (file === (args.dotenv || '.env')) { return hardRestart('.env updated') } - if (RESTART_RE.test(file)) { - dLoad(true, `${file} updated`) - } - }) - - await load(false) - - return 'wait' as const - } -}) - -const RESTART_RE = /^(nuxt\.config\.(js|ts|mjs|cjs)|\.nuxtignore|\.nuxtrc)$/ diff --git a/packages/nuxi/src/commands/devtools.ts b/packages/nuxi/src/commands/devtools.ts deleted file mode 100644 index 9b3e3998cd1b..000000000000 --- a/packages/nuxi/src/commands/devtools.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { resolve } from 'pathe' -import { execa } from 'execa' -import { showHelp } from '../utils/help' -import { defineNuxtCommand } from './index' - -export default defineNuxtCommand({ - meta: { - name: 'enable', - usage: 'npx nuxi devtools enable|disable [rootDir]', - description: 'Enable or disable features in a Nuxt project' - }, - async invoke (args) { - const [command, _rootDir = '.'] = args._ - const rootDir = resolve(_rootDir) - - if (!['enable', 'disable'].includes(command)) { - console.error(`Unknown command \`${command}\`.`) - showHelp(this.meta) - process.exit(1) - } - - await execa('npx', ['@nuxt/devtools-wizard@latest', command, rootDir], { stdio: 'inherit', cwd: rootDir }) - } -}) diff --git a/packages/nuxi/src/commands/generate.ts b/packages/nuxi/src/commands/generate.ts deleted file mode 100644 index 4cee6f840db6..000000000000 --- a/packages/nuxi/src/commands/generate.ts +++ /dev/null @@ -1,14 +0,0 @@ -import buildCommand from './build' -import { defineNuxtCommand } from './index' - -export default defineNuxtCommand({ - meta: { - name: 'generate', - usage: 'npx nuxi generate [rootDir] [--dotenv]', - description: 'Build Nuxt and prerender static routes' - }, - async invoke (args, options = {}) { - args.prerender = true - await buildCommand.invoke(args, options) - } -}) diff --git a/packages/nuxi/src/commands/index.ts b/packages/nuxi/src/commands/index.ts deleted file mode 100644 index 36019a785c03..000000000000 --- a/packages/nuxi/src/commands/index.ts +++ /dev/null @@ -1,46 +0,0 @@ -import type { Argv } from 'mri' - -const _rDefault = (r: any) => r.default || r - -export const commands = { - dev: () => import('./dev').then(_rDefault), - build: () => import('./build').then(_rDefault), - 'build-module': () => import('./build-module').then(_rDefault), - cleanup: () => import('./cleanup').then(_rDefault), - clean: () => import('./cleanup').then(_rDefault), - preview: () => import('./preview').then(_rDefault), - start: () => import('./preview').then(_rDefault), - analyze: () => import('./analyze').then(_rDefault), - generate: () => import('./generate').then(_rDefault), - prepare: () => import('./prepare').then(_rDefault), - typecheck: () => import('./typecheck').then(_rDefault), - usage: () => import('./usage').then(_rDefault), - info: () => import('./info').then(_rDefault), - init: () => import('./init').then(_rDefault), - create: () => import('./init').then(_rDefault), - devtools: () => import('./devtools').then(_rDefault), - upgrade: () => import('./upgrade').then(_rDefault), - test: () => import('./test').then(_rDefault), - add: () => import('./add').then(_rDefault), - new: () => import('./add').then(_rDefault) -} - -export type Command = keyof typeof commands - -export interface NuxtCommandMeta { - name: string; - usage: string; - description: string; - [key: string]: any; -} - -export type CLIInvokeResult = void | 'error' | 'wait' - -export interface NuxtCommand { - invoke(args: Argv, options?: Record): Promise | CLIInvokeResult - meta: NuxtCommandMeta -} - -export function defineNuxtCommand (command: NuxtCommand): NuxtCommand { - return command -} diff --git a/packages/nuxi/src/commands/info.ts b/packages/nuxi/src/commands/info.ts deleted file mode 100644 index 0bae405f7f5b..000000000000 --- a/packages/nuxi/src/commands/info.ts +++ /dev/null @@ -1,161 +0,0 @@ -import os from 'node:os' -import { existsSync, readFileSync } from 'node:fs' -import { createRequire } from 'node:module' -import { resolve } from 'pathe' -import jiti from 'jiti' -import destr from 'destr' -import type { PackageJson } from 'pkg-types' -import { splitByCase } from 'scule' -import clipboardy from 'clipboardy' -import type { NuxtModule } from '@nuxt/schema' -import type { packageManagerLocks } from '../utils/packageManagers' -import { getPackageManager, getPackageManagerVersion } from '../utils/packageManagers' -import { findup } from '../utils/fs' -import { defineNuxtCommand } from './index' - -export default defineNuxtCommand({ - meta: { - name: 'info', - usage: 'npx nuxi info [rootDir]', - description: 'Get information about nuxt project' - }, - async invoke (args) { - // Resolve rootDir - const rootDir = resolve(args._[0] || '.') - - // Load nuxt.config - const nuxtConfig = getNuxtConfig(rootDir) - - // Find nearest package.json - const { dependencies = {}, devDependencies = {} } = findPackage(rootDir) - - // Utils to query a dependency version - const getDepVersion = (name: string) => getPkg(name, rootDir)?.version || dependencies[name] || devDependencies[name] - - const listModules = (arr = []) => arr - .map(m => normalizeConfigModule(m, rootDir)) - .filter(Boolean) - .map((name) => { - const npmName = name!.split('/').splice(0, 2).join('/') // @foo/bar/baz => @foo/bar - const v = getDepVersion(npmName) - return '`' + (v ? `${name}@${v}` : name) + '`' - }) - .join(', ') - - // Check nuxt version - const nuxtVersion = getDepVersion('nuxt') || getDepVersion('nuxt-edge') || getDepVersion('nuxt3') || '0.0.0' - const isNuxt3 = nuxtVersion.startsWith('3') - const builder = isNuxt3 - ? nuxtConfig.builder /* latest schema */ || (nuxtConfig.vite !== false ? 'vite' : 'webpack') /* previous schema */ - : nuxtConfig.bridge?.vite - ? 'vite' /* bridge vite implementation */ - : (nuxtConfig.buildModules?.includes('nuxt-vite') - ? 'vite' /* nuxt-vite */ - : 'webpack') - - let packageManager: keyof typeof packageManagerLocks | 'unknown' | null = getPackageManager(rootDir) - if (packageManager) { - packageManager += '@' + getPackageManagerVersion(packageManager) - } else { - packageManager = 'unknown' - } - - const infoObj = { - OperatingSystem: os.type(), - NodeVersion: process.version, - NuxtVersion: nuxtVersion, - NitroVersion: getDepVersion('nitropack'), - PackageManager: packageManager, - Builder: builder, - UserConfig: Object.keys(nuxtConfig).map(key => '`' + key + '`').join(', '), - RuntimeModules: listModules(nuxtConfig.modules), - BuildModules: listModules(nuxtConfig.buildModules || []) - } - - console.log('RootDir:', rootDir) - - let maxLength = 0 - const entries = Object.entries(infoObj).map(([key, val]) => { - const label = splitByCase(key).join(' ') - if (label.length > maxLength) { maxLength = label.length } - return [label, val || '-'] - }) - let infoStr = '' - for (const [label, value] of entries) { - infoStr += '- ' + (label + ': ').padEnd(maxLength + 2) + (value.includes('`') ? value : '`' + value + '`') + '\n' - } - - const copied = await clipboardy.write(infoStr).then(() => true).catch(() => false) - const splitter = '------------------------------' - console.log(`Nuxt project info: ${copied ? '(copied to clipboard)' : ''}\n\n${splitter}\n${infoStr}${splitter}\n`) - - const isNuxt3OrBridge = infoObj.NuxtVersion.startsWith('3') || infoObj.BuildModules.includes('bridge') - console.log([ - '👉 Report an issue: https://github.com/nuxt/nuxt/issues/new', - '👉 Suggest an improvement: https://github.com/nuxt/nuxt/discussions/new', - `👉 Read documentation: ${isNuxt3OrBridge ? 'https://nuxt.com' : 'https://v2.nuxt.com'}` - ].join('\n\n') + '\n') - } -}) - -function normalizeConfigModule (module: NuxtModule | string | null | undefined, rootDir: string): string | null { - if (!module) { - return null - } - if (typeof module === 'string') { - return module - .split(rootDir).pop()! // Strip rootDir - .split('node_modules').pop()! // Strip node_modules - .replace(/^\//, '') - } - if (typeof module === 'function') { - return `${module.name}()` - } - if (Array.isArray(module)) { - return normalizeConfigModule(module[0], rootDir) - } - return null -} - -function getNuxtConfig (rootDir: string) { - try { - (globalThis as any).defineNuxtConfig = (c: any) => c - const result = jiti(rootDir, { interopDefault: true, esmResolve: true })('./nuxt.config') - delete (globalThis as any).defineNuxtConfig - return result - } catch (err) { - // TODO: Show error as warning if it is not 404 - return {} - } -} - -function getPkg (name: string, rootDir: string) { - // Assume it is in {rootDir}/node_modules/${name}/package.json - let pkgPath = resolve(rootDir, 'node_modules', name, 'package.json') - - // Try to resolve for more accuracy - const _require = createRequire(rootDir) - try { pkgPath = _require.resolve(name + '/package.json') } catch (_err) { - // console.log('not found:', name) - } - - return readJSONSync(pkgPath) as PackageJson -} - -function findPackage (rootDir: string) { - return findup(rootDir, (dir) => { - const p = resolve(dir, 'package.json') - if (existsSync(p)) { - return readJSONSync(p) as PackageJson - } - }) || {} -} - -function readJSONSync (filePath: string) { - try { - return destr(readFileSync(filePath, 'utf-8')) - } catch (err) { - // TODO: Warn error - return null - } -} diff --git a/packages/nuxi/src/commands/init.ts b/packages/nuxi/src/commands/init.ts deleted file mode 100644 index 26cf9beaff21..000000000000 --- a/packages/nuxi/src/commands/init.ts +++ /dev/null @@ -1,68 +0,0 @@ -import { writeFile } from 'node:fs/promises' -import { downloadTemplate, startShell } from 'giget' -import { relative } from 'pathe' -import { consola } from 'consola' -import { defineNuxtCommand } from './index' - -const rpath = (p: string) => relative(process.cwd(), p) - -const DEFAULT_REGISTRY = 'https://raw.githubusercontent.com/nuxt/starter/templates/templates' - -export default defineNuxtCommand({ - meta: { - name: 'init', - usage: 'npx nuxi init|create [--template,-t] [--force] [--offline] [--prefer-offline] [--shell] [dir]', - description: 'Initialize a fresh project' - }, - async invoke (args) { - // Clone template - const template = args.template || args.t || 'v3' - - if (typeof template === 'boolean') { - consola.error('Please specify a template!') - process.exit(1) - } - - let t - - try { - t = await downloadTemplate(template, { - dir: args._[0] as string, - force: args.force, - offline: args.offline, - preferOffline: args['prefer-offline'], - registry: process.env.NUXI_INIT_REGISTRY || DEFAULT_REGISTRY - }) - } catch (err) { - if (process.env.DEBUG) { - throw err - } - consola.error((err as Error).toString()) - process.exit(1) - } - - // Show next steps - const relativeDist = rpath(t.dir) - - // Write .nuxtrc with `shamefully-hoist=true` for pnpm - const usingPnpm = (process.env.npm_config_user_agent || '').includes('pnpm') - if (usingPnpm) { - await writeFile(`${relativeDist}/.npmrc`, 'shamefully-hoist=true') - } - - const nextSteps = [ - !args.shell && relativeDist.length > 1 && `\`cd ${relativeDist}\``, - 'Install dependencies with `npm install` or `yarn install` or `pnpm install`', - 'Start development server with `npm run dev` or `yarn dev` or `pnpm run dev`' - ].filter(Boolean) - - consola.log(`✨ Nuxt project is created with \`${t.name}\` template. Next steps:`) - for (const step of nextSteps) { - consola.log(` › ${step}`) - } - - if (args.shell) { - startShell(t.dir) - } - } -}) diff --git a/packages/nuxi/src/commands/prepare.ts b/packages/nuxi/src/commands/prepare.ts deleted file mode 100644 index dfec71e16e76..000000000000 --- a/packages/nuxi/src/commands/prepare.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { relative, resolve } from 'pathe' -import { consola } from 'consola' - -// we are deliberately inlining this code as a backup in case user has `@nuxt/schema<3.7` -import { writeTypes as writeTypesLegacy } from '../../../kit/src/template' -import { clearBuildDir } from '../utils/fs' -import { loadKit } from '../utils/kit' -import { defineNuxtCommand } from './index' - -export default defineNuxtCommand({ - meta: { - name: 'prepare', - usage: 'npx nuxi prepare [--log-level] [rootDir]', - description: 'Prepare nuxt for development/build' - }, - async invoke (args, options = {}) { - process.env.NODE_ENV = process.env.NODE_ENV || 'production' - const rootDir = resolve(args._[0] || '.') - - const { loadNuxt, buildNuxt, writeTypes = writeTypesLegacy } = await loadKit(rootDir) - const nuxt = await loadNuxt({ - rootDir, - overrides: { - _prepare: true, - logLevel: args['log-level'], - ...(options.overrides || {}) - } - }) - await clearBuildDir(nuxt.options.buildDir) - - await buildNuxt(nuxt) - await writeTypes(nuxt) - consola.success('Types generated in', relative(process.cwd(), nuxt.options.buildDir)) - } -}) diff --git a/packages/nuxi/src/commands/preview.ts b/packages/nuxi/src/commands/preview.ts deleted file mode 100644 index 06559b1215eb..000000000000 --- a/packages/nuxi/src/commands/preview.ts +++ /dev/null @@ -1,55 +0,0 @@ -import { existsSync, promises as fsp } from 'node:fs' -import { dirname, relative } from 'node:path' -import { execa } from 'execa' -import { setupDotenv } from 'c12' -import { resolve } from 'pathe' -import { consola } from 'consola' -import { loadKit } from '../utils/kit' - -import { defineNuxtCommand } from './index' - -export default defineNuxtCommand({ - meta: { - name: 'preview', - usage: 'npx nuxi preview|start [--dotenv] [rootDir]', - description: 'Launches nitro server for local testing after `nuxi build`.' - }, - async invoke (args, options = {}) { - process.env.NODE_ENV = process.env.NODE_ENV || 'production' - const rootDir = resolve(args._[0] || '.') - const { loadNuxtConfig } = await loadKit(rootDir) - const config = await loadNuxtConfig({ cwd: rootDir, overrides: options?.overrides || {} }) - - const resolvedOutputDir = resolve(config.srcDir || rootDir, config.nitro.srcDir || 'server', config.nitro.output?.dir || '.output', 'nitro.json') - const defaultOutput = resolve(rootDir, '.output', 'nitro.json') // for backwards compatibility - - const nitroJSONPaths = [resolvedOutputDir, defaultOutput] - const nitroJSONPath = nitroJSONPaths.find(p => existsSync(p)) - if (!nitroJSONPath) { - consola.error('Cannot find `nitro.json`. Did you run `nuxi build` first? Search path:\n', nitroJSONPaths) - process.exit(1) - } - const outputPath = dirname(nitroJSONPath) - const nitroJSON = JSON.parse(await fsp.readFile(nitroJSONPath, 'utf-8')) - - consola.info('Node.js version:', process.versions.node) - consola.info('Preset:', nitroJSON.preset) - consola.info('Working dir:', relative(process.cwd(), outputPath)) - - if (!nitroJSON.commands.preview) { - consola.error('Preview is not supported for this build.') - process.exit(1) - } - - const envExists = args.dotenv ? existsSync(resolve(rootDir, args.dotenv)) : existsSync(rootDir) - if (envExists) { - consola.info('Loading `.env`. This will not be loaded when running the server in production.') - await setupDotenv({ cwd: rootDir, fileName: args.dotenv }) - } - - consola.info('Starting preview command:', nitroJSON.commands.preview) - const [command, ...commandArgs] = nitroJSON.commands.preview.split(' ') - consola.log('') - await execa(command, commandArgs, { stdio: 'inherit', cwd: outputPath }) - } -}) diff --git a/packages/nuxi/src/commands/test.ts b/packages/nuxi/src/commands/test.ts deleted file mode 100644 index 3a96b832d409..000000000000 --- a/packages/nuxi/src/commands/test.ts +++ /dev/null @@ -1,43 +0,0 @@ -import { resolve } from 'pathe' -import { defineNuxtCommand } from './index' - -export default defineNuxtCommand({ - meta: { - name: 'test', - usage: 'npx nuxi test [--dev] [--watch] [rootDir]', - description: 'Run tests' - }, - async invoke (args, options = {}) { - process.env.NODE_ENV = process.env.NODE_ENV || 'test' - const rootDir = resolve(args._[0] || '.') - const { runTests } = await importTestUtils() - await runTests({ - rootDir, - dev: !!args.dev, - watch: !!args.watch, - ...(options || {}) - }) - - if (args.watch) { - return 'wait' as const - } - } -}) - -async function importTestUtils (): Promise { - let err - for (const pkg of ['@nuxt/test-utils-edge', '@nuxt/test-utils']) { - try { - const exports = await import(pkg) - // Detect old @nuxt/test-utils - if (!exports.runTests) { - throw new Error('Invalid version of `@nuxt/test-utils` is installed!') - } - return exports - } catch (_err) { - err = _err - } - } - console.error(err) - throw new Error('`@nuxt/test-utils-edge` seems missing. Run `npm i -D @nuxt/test-utils-edge` or `yarn add -D @nuxt/test-utils-edge` to install.') -} diff --git a/packages/nuxi/src/commands/typecheck.ts b/packages/nuxi/src/commands/typecheck.ts deleted file mode 100644 index ee5a28ab56e5..000000000000 --- a/packages/nuxi/src/commands/typecheck.ts +++ /dev/null @@ -1,43 +0,0 @@ -import { execa } from 'execa' -import { resolve } from 'pathe' - -// we are deliberately inlining this code as a backup in case user has `@nuxt/schema<3.7` -import { writeTypes as writeTypesLegacy } from '../../../kit/src/template' -import { tryResolveModule } from '../utils/esm' -import { loadKit } from '../utils/kit' -import { defineNuxtCommand } from './index' - -export default defineNuxtCommand({ - meta: { - name: 'typecheck', - usage: 'npx nuxi typecheck [--log-level] [rootDir]', - description: 'Runs `vue-tsc` to check types throughout your app.' - }, - async invoke (args, options = {}) { - process.env.NODE_ENV = process.env.NODE_ENV || 'production' - const rootDir = resolve(args._[0] || '.') - - const { loadNuxt, buildNuxt, writeTypes = writeTypesLegacy } = await loadKit(rootDir) - const nuxt = await loadNuxt({ - rootDir, - overrides: { - _prepare: true, - logLevel: args['log-level'], - ...(options?.overrides || {}) - } - }) - - // Generate types and build nuxt instance - await writeTypes(nuxt) - await buildNuxt(nuxt) - await nuxt.close() - - // Prefer local install if possible - const hasLocalInstall = await tryResolveModule('typescript', rootDir) && await tryResolveModule('vue-tsc/package.json', rootDir) - if (hasLocalInstall) { - await execa('vue-tsc', ['--noEmit'], { preferLocal: true, stdio: 'inherit', cwd: rootDir }) - } else { - await execa('npx', '-p vue-tsc -p typescript vue-tsc --noEmit'.split(' '), { stdio: 'inherit', cwd: rootDir }) - } - } -}) diff --git a/packages/nuxi/src/commands/upgrade.ts b/packages/nuxi/src/commands/upgrade.ts deleted file mode 100644 index d229cbf3f44a..000000000000 --- a/packages/nuxi/src/commands/upgrade.ts +++ /dev/null @@ -1,74 +0,0 @@ -import { execSync } from 'node:child_process' -import { consola } from 'consola' -import { resolve } from 'pathe' -import { readPackageJSON } from 'pkg-types' -import { getPackageManager, packageManagerLocks } from '../utils/packageManagers' -import { rmRecursive, touchFile } from '../utils/fs' -import { cleanupNuxtDirs, nuxtVersionToGitIdentifier } from '../utils/nuxt' -import { defineNuxtCommand } from './index' - -async function getNuxtVersion (path: string): Promise { - try { - const pkg = await readPackageJSON('nuxt', { url: path }) - if (!pkg.version) { - consola.warn('Cannot find any installed nuxt versions in ', path) - } - return pkg.version || null - } catch { - return null - } -} - -export default defineNuxtCommand({ - meta: { - name: 'upgrade', - usage: 'npx nuxi upgrade [--force|-f]', - description: 'Upgrade nuxt' - }, - async invoke (args) { - const rootDir = resolve(args._[0] || '.') - - // Check package manager - const packageManager = getPackageManager(rootDir) - if (!packageManager) { - console.error('Cannot detect Package Manager in', rootDir) - process.exit(1) - } - const packageManagerVersion = execSync(`${packageManager} --version`).toString('utf8').trim() - consola.info('Package Manager:', packageManager, packageManagerVersion) - - // Check currently installed nuxt version - const currentVersion = await getNuxtVersion(rootDir) || '[unknown]' - consola.info('Current nuxt version:', currentVersion) - - // Force install - if (args.force || args.f) { - consola.info('Removing lock-file and node_modules...') - const pmLockFile = resolve(rootDir, packageManagerLocks[packageManager]) - await rmRecursive([pmLockFile, resolve(rootDir, 'node_modules')]) - await touchFile(pmLockFile) - } - - // Install latest version - consola.info('Installing latest Nuxt 3 release...') - execSync(`${packageManager} ${packageManager === 'yarn' ? 'add' : 'install'} -D nuxt`, { stdio: 'inherit', cwd: rootDir }) - - // Cleanup after upgrade - await cleanupNuxtDirs(rootDir) - - // Check installed nuxt version again - const upgradedVersion = await getNuxtVersion(rootDir) || '[unknown]' - consola.info('Upgraded nuxt version:', upgradedVersion) - - if (upgradedVersion === currentVersion) { - consola.success('You\'re already using the latest version of nuxt.') - } else { - consola.success('Successfully upgraded nuxt from', currentVersion, 'to', upgradedVersion) - const commitA = nuxtVersionToGitIdentifier(currentVersion) - const commitB = nuxtVersionToGitIdentifier(upgradedVersion) - if (commitA && commitB) { - consola.info('Changelog:', `https://github.com/nuxt/nuxt/compare/${commitA}...${commitB}`) - } - } - } -}) diff --git a/packages/nuxi/src/commands/usage.ts b/packages/nuxi/src/commands/usage.ts deleted file mode 100644 index 2aad941a18e3..000000000000 --- a/packages/nuxi/src/commands/usage.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { cyan } from 'colorette' -import { showHelp } from '../utils/help' -import { commands, defineNuxtCommand } from './index' - -export default defineNuxtCommand({ - meta: { - name: 'help', - usage: 'nuxt help', - description: 'Show help' - }, - invoke (_args) { - const sections: string[] = [] - - sections.push(`Usage: ${cyan(`npx nuxi ${Object.keys(commands).join('|')} [args]`)}`) - - console.log(sections.join('\n\n') + '\n') - - // Reuse the same wording as in `-h` commands - showHelp({}) - } -}) diff --git a/packages/nuxi/src/index.ts b/packages/nuxi/src/index.ts deleted file mode 100755 index b8492c1b0168..000000000000 --- a/packages/nuxi/src/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './run' diff --git a/packages/nuxi/src/run.ts b/packages/nuxi/src/run.ts deleted file mode 100644 index 6640fe6b7d11..000000000000 --- a/packages/nuxi/src/run.ts +++ /dev/null @@ -1,13 +0,0 @@ -import mri from 'mri' -import type { Command, NuxtCommand } from './commands' -import { commands } from './commands' - -export async function runCommand (command: string, argv = process.argv.slice(2), options: Record = {}) { - const args = mri(argv) - args.clear = false // used by dev - const cmd = await commands[command as Command]() as NuxtCommand - if (!cmd) { - throw new Error(`Invalid command ${command}`) - } - await cmd.invoke(args, options) -} diff --git a/packages/nuxi/src/utils/banner.ts b/packages/nuxi/src/utils/banner.ts deleted file mode 100644 index 3617a4c44d80..000000000000 --- a/packages/nuxi/src/utils/banner.ts +++ /dev/null @@ -1,21 +0,0 @@ -import clear from 'clear' -import { bold, gray, green } from 'colorette' -import { version } from '../../package.json' -import { tryRequireModule } from './cjs' - -export function showBanner (_clear?: boolean) { - if (_clear) { clear() } - console.log(gray(`Nuxi ${(bold(version))}`)) -} - -export function showVersions (cwd: string) { - const getPkgVersion = (pkg: string) => { - return tryRequireModule(`${pkg}/package.json`, cwd)?.version || '' - } - const nuxtVersion = getPkgVersion('nuxt') || getPkgVersion('nuxt-edge') - const nitroVersion = getPkgVersion('nitropack') - console.log(gray( - green(`Nuxt ${bold(nuxtVersion)}`) + - (nitroVersion ? ` with Nitro ${(bold(nitroVersion))}` : '') - )) -} diff --git a/packages/nuxi/src/utils/cjs.ts b/packages/nuxi/src/utils/cjs.ts deleted file mode 100644 index 1f9c1125a073..000000000000 --- a/packages/nuxi/src/utils/cjs.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { createRequire } from 'node:module' -import { normalize } from 'pathe' - -function getModulePaths (paths?: string | string[]): string[] { - return ([] as Array) - .concat( - global.__NUXT_PREPATHS__, - paths, - process.cwd(), - global.__NUXT_PATHS__ - ) - .filter(Boolean) as string[] -} - -const _require = createRequire(process.cwd()) - -function resolveModule (id: string, paths?: string | string[]) { - return normalize(_require.resolve(id, { paths: getModulePaths(paths) })) -} - -function requireModule (id: string, paths?: string | string[]) { - return _require(resolveModule(id, paths)) -} - -export function tryRequireModule (id: string, paths?: string | string[]) { - try { return requireModule(id, paths) } catch { return null } -} diff --git a/packages/nuxi/src/utils/diff.ts b/packages/nuxi/src/utils/diff.ts deleted file mode 100644 index 748002fcf856..000000000000 --- a/packages/nuxi/src/utils/diff.ts +++ /dev/null @@ -1,31 +0,0 @@ -import flatten from 'flat' -import { detailedDiff } from 'deep-object-diff' -import { blue, cyan, green, red } from 'colorette' - -function normalizeDiff (diffObj: any, type: 'added' | 'deleted' | 'updated', ignore: string[]) { - return Object.entries(flatten(diffObj) as Record) - .map(([key, value]) => ({ key, value, type })) - .filter(item => !ignore.includes(item.key) && typeof item.value !== 'function') -} - -export function diff (a: any, b: any, ignore: string[]) { - const _diff: any = detailedDiff(a, b) - return [ - ...normalizeDiff(_diff.added, 'added', ignore), - ...normalizeDiff(_diff.deleted, 'deleted', ignore), - ...normalizeDiff(_diff.updated, 'updated', ignore) - ] -} - -const typeMap = { - added: green('added'), - deleted: red('deleted'), - updated: blue('updated') -} - -export function printDiff (diff: any) { - for (const item of diff) { - console.log(' ', typeMap[item.type as keyof typeof typeMap] || item.type, cyan(item.key), item.value ? `~> ${cyan(item.value)}` : '') - } - console.log() -} diff --git a/packages/nuxi/src/utils/engines.ts b/packages/nuxi/src/utils/engines.ts deleted file mode 100644 index 949db3583132..000000000000 --- a/packages/nuxi/src/utils/engines.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { engines } from '../../package.json' - -export async function checkEngines () { - const satisfies = await import('semver/functions/satisfies.js') - .then(r => r.default || r as any as typeof import('semver/functions/satisfies.js')) // npm/node-semver#381 - const currentNode = process.versions.node - const nodeRange = engines.node - - if (!satisfies(currentNode, nodeRange)) { - console.warn(`Current version of Node.js (\`${currentNode}\`) is unsupported and might cause issues.\n Please upgrade to a compatible version (${nodeRange}).`) - } -} diff --git a/packages/nuxi/src/utils/env.ts b/packages/nuxi/src/utils/env.ts deleted file mode 100644 index 16816f09da09..000000000000 --- a/packages/nuxi/src/utils/env.ts +++ /dev/null @@ -1,8 +0,0 @@ -export const overrideEnv = (targetEnv: string) => { - const currentEnv = process.env.NODE_ENV - if (currentEnv && currentEnv !== targetEnv) { - console.warn(`Changing \`NODE_ENV\` from \`${currentEnv}\` to \`${targetEnv}\`, to avoid unintended behavior.`) - } - - process.env.NODE_ENV = targetEnv -} diff --git a/packages/nuxi/src/utils/esm.ts b/packages/nuxi/src/utils/esm.ts deleted file mode 100644 index 38cc1f1fa72d..000000000000 --- a/packages/nuxi/src/utils/esm.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { pathToFileURL } from 'node:url' -import { interopDefault, resolvePath } from 'mlly' - -export async function tryResolveModule (id: string, url = import.meta.url) { - try { - return await resolvePath(id, { url }) - } catch { } -} - -export async function importModule (id: string, url: string | string[] = import.meta.url) { - const resolvedPath = await resolvePath(id, { url }) - return import(pathToFileURL(resolvedPath).href).then(interopDefault) -} diff --git a/packages/nuxi/src/utils/fs.ts b/packages/nuxi/src/utils/fs.ts deleted file mode 100644 index 4ca49ff4a822..000000000000 --- a/packages/nuxi/src/utils/fs.ts +++ /dev/null @@ -1,45 +0,0 @@ -import { existsSync, promises as fsp } from 'node:fs' -import { dirname, join } from 'pathe' -import { consola } from 'consola' - -export async function clearDir (path: string, exclude?: string[]) { - if (!exclude) { - await fsp.rm(path, { recursive: true, force: true }) - } else if (existsSync(path)) { - const files = await fsp.readdir(path) - await Promise.all(files.map(async (name) => { - if (!exclude.includes(name)) { - await fsp.rm(join(path, name), { recursive: true, force: true }) - } - })) - } - await fsp.mkdir(path, { recursive: true }) -} - -export function clearBuildDir (path: string) { - return clearDir(path, ['cache', 'analyze']) -} - -export async function rmRecursive (paths: string[]) { - await Promise.all(paths.filter(p => typeof p === 'string').map(async (path) => { - consola.debug('Removing recursive path', path) - await fsp.rm(path, { recursive: true, force: true }).catch(() => {}) - })) -} - -export async function touchFile (path: string) { - const time = new Date() - await fsp.utimes(path, time, time).catch(() => {}) -} - -export function findup (rootDir: string, fn: (dir: string) => T | undefined): T | null { - let dir = rootDir - while (dir !== dirname(dir)) { - const res = fn(dir) - if (res) { - return res - } - dir = dirname(dir) - } - return null -} diff --git a/packages/nuxi/src/utils/help.ts b/packages/nuxi/src/utils/help.ts deleted file mode 100644 index c55575cfbb4e..000000000000 --- a/packages/nuxi/src/utils/help.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { cyan, magenta } from 'colorette' -import type { NuxtCommandMeta } from '../commands' - -export function showHelp (meta?: Partial) { - const sections: string[] = [] - - if (meta) { - if (meta.usage) { - sections.push(magenta('> ') + 'Usage: ' + cyan(meta.usage)) - } - - if (meta.description) { - sections.push(magenta('⋮ ') + meta.description) - } - } - - sections.push(`Use ${cyan('npx nuxi [command] --help')} to see help for each command`) - - console.log(sections.join('\n\n') + '\n') -} diff --git a/packages/nuxi/src/utils/kit.ts b/packages/nuxi/src/utils/kit.ts deleted file mode 100644 index 9a6a8bff54f8..000000000000 --- a/packages/nuxi/src/utils/kit.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { importModule, tryResolveModule } from './esm' - -export const loadKit = async (rootDir: string): Promise => { - try { - // Without PNP (or if users have a local install of kit, we bypass resolving from nuxt) - const localKit = await tryResolveModule('@nuxt/kit', rootDir) - // Otherwise, we resolve Nuxt _first_ as it is Nuxt's kit dependency that will be used - const rootURL = localKit ? rootDir : await tryResolveNuxt() || rootDir - return await importModule('@nuxt/kit', rootURL) as typeof import('@nuxt/kit') - } catch (e: any) { - if (e.toString().includes("Cannot find module '@nuxt/kit'")) { - throw new Error('nuxi requires `@nuxt/kit` to be installed in your project. Try installing `nuxt` v3 or `@nuxt/bridge` first.') - } - throw e - } -} - -async function tryResolveNuxt () { - for (const pkg of ['nuxt3', 'nuxt', 'nuxt-edge']) { - const path = await tryResolveModule(pkg) - if (path) { return path } - } - return null -} diff --git a/packages/nuxi/src/utils/nuxt.ts b/packages/nuxi/src/utils/nuxt.ts deleted file mode 100644 index e990bcec8692..000000000000 --- a/packages/nuxi/src/utils/nuxt.ts +++ /dev/null @@ -1,68 +0,0 @@ -import { promises as fsp } from 'node:fs' -import { dirname, resolve } from 'pathe' -import { consola } from 'consola' -import { hash } from 'ohash' -import type { Nuxt } from '@nuxt/schema' -import { rmRecursive } from './fs' - -interface NuxtProjectManifest { - _hash: string | null - project: { - rootDir: string - }, - versions: { - nuxt: string - } -} - -export async function cleanupNuxtDirs (rootDir: string) { - consola.info('Cleaning up generated nuxt files and caches...') - - await rmRecursive([ - '.nuxt', - '.output', - 'dist', - 'node_modules/.vite', - 'node_modules/.cache' - ].map(dir => resolve(rootDir, dir))) -} - -export function nuxtVersionToGitIdentifier (version: string) { - // match the git identifier in the release, for example: 3.0.0-rc.8-27677607.a3a8706 - const id = /\.([0-9a-f]{7,8})$/.exec(version) - if (id?.[1]) { - return id[1] - } - // match github tag, for example 3.0.0-rc.8 - return `v${version}` -} - -function resolveNuxtManifest (nuxt: Nuxt): NuxtProjectManifest { - const manifest: NuxtProjectManifest = { - _hash: null, - project: { - rootDir: nuxt.options.rootDir - }, - versions: { - nuxt: nuxt._version - } - } - manifest._hash = hash(manifest) - return manifest -} - -export async function writeNuxtManifest (nuxt: Nuxt): Promise { - const manifest = resolveNuxtManifest(nuxt) - const manifestPath = resolve(nuxt.options.buildDir, 'nuxt.json') - await fsp.mkdir(dirname(manifestPath), { recursive: true }) - await fsp.writeFile(manifestPath, JSON.stringify(manifest, null, 2), 'utf-8') - return manifest -} - -export async function loadNuxtManifest (buildDir: string): Promise { - const manifestPath = resolve(buildDir, 'nuxt.json') - const manifest: NuxtProjectManifest | null = await fsp.readFile(manifestPath, 'utf-8') - .then(data => JSON.parse(data) as NuxtProjectManifest) - .catch(() => null) - return manifest -} diff --git a/packages/nuxi/src/utils/packageManagers.ts b/packages/nuxi/src/utils/packageManagers.ts deleted file mode 100644 index 8717b869d156..000000000000 --- a/packages/nuxi/src/utils/packageManagers.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { execSync } from 'node:child_process' -import { existsSync } from 'node:fs' -import { resolve } from 'pathe' -import { findup } from './fs' - -export const packageManagerLocks = { - yarn: 'yarn.lock', - npm: 'package-lock.json', - pnpm: 'pnpm-lock.yaml', - bun: 'bun.lockb' -} - -type PackageManager = keyof typeof packageManagerLocks - -export function getPackageManager (rootDir: string) { - return findup(rootDir, (dir) => { - for (const name in packageManagerLocks) { - const path = packageManagerLocks[name as PackageManager] - if (path && existsSync(resolve(dir, path))) { - return name - } - } - }) as PackageManager | null -} - -export function getPackageManagerVersion (name: string) { - return execSync(`${name} --version`).toString('utf8').trim() -} diff --git a/packages/nuxi/src/utils/templates.ts b/packages/nuxi/src/utils/templates.ts deleted file mode 100644 index 11c89820e716..000000000000 --- a/packages/nuxi/src/utils/templates.ts +++ /dev/null @@ -1,119 +0,0 @@ -import { upperFirst } from 'scule' - -interface TemplateOptions { - name: string, - args: Record -} - -interface Template { - (options: TemplateOptions): { path: string, contents: string } -} - -const httpMethods = ['connect', 'delete', 'get', 'head', 'options', 'post', 'put', 'trace', 'patch'] -const api: Template = ({ name, args }) => ({ - path: `server/api/${name}${applySuffix(args, httpMethods, 'method')}.ts`, - contents: ` -export default defineEventHandler((event) => { - return 'Hello ${name}' -}) -` -}) - -const plugin: Template = ({ name, args }) => ({ - path: `plugins/${name}${applySuffix(args, ['client', 'server'], 'mode')}.ts`, - contents: ` -export default defineNuxtPlugin((nuxtApp) => {}) - ` -}) - -const component: Template = ({ name, args }) => ({ - path: `components/${name}${applySuffix(args, ['client', 'server'], 'mode')}.vue`, - contents: ` - - - - - -` -}) - -const composable: Template = ({ name }) => { - const nameWithUsePrefix = name.startsWith('use') ? name : `use${upperFirst(name)}` - return { - path: `composables/${name}.ts`, - contents: ` -export const ${nameWithUsePrefix} = () => { - return ref() -} - ` - } -} - -const middleware: Template = ({ name, args }) => ({ - path: `middleware/${name}${applySuffix(args, ['global'])}.ts`, - contents: ` -export default defineNuxtRouteMiddleware((to, from) => {}) -` -}) - -const layout: Template = ({ name }) => ({ - path: `layouts/${name}.vue`, - contents: ` - - - - - -` -}) - -const page: Template = ({ name }) => ({ - path: `pages/${name}.vue`, - contents: ` - - - - - -` -}) - -export const templates = { - api, - plugin, - component, - composable, - middleware, - layout, - page -} as Record - -// -- internal utils -- - -function applySuffix (args: TemplateOptions['args'], suffixes: string[], unwrapFrom?: string): string { - let suffix = '' - // --client - for (const s of suffixes) { - if (args[s]) { - suffix += '.' + s - } - } - // --mode=server - if (unwrapFrom && args[unwrapFrom] && suffixes.includes(args[unwrapFrom])) { - suffix += '.' + args[unwrapFrom] - } - return suffix -} diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index d09b63cf8d7c..3edd31a44007 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -82,7 +82,7 @@ "magic-string": "^0.30.3", "mlly": "^1.4.0", "nitropack": "^2.6.0", - "nuxi": "workspace:../nuxi", + "nuxi": "npm:nuxi-ng@0.3.0-1692970235.c259efa", "nypm": "^0.3.1", "ofetch": "^1.3.3", "ohash": "^1.1.3", diff --git a/packages/test-utils/src/server.ts b/packages/test-utils/src/server.ts index 01e51cd94649..aed891f633e0 100644 --- a/packages/test-utils/src/server.ts +++ b/packages/test-utils/src/server.ts @@ -17,11 +17,12 @@ export async function startServer () { ctx.url = 'http://127.0.0.1:' + port if (ctx.options.dev) { const nuxiCLI = await kit.resolvePath('nuxi/cli') - ctx.serverProcess = execa(nuxiCLI, ['dev'], { + ctx.serverProcess = execa(nuxiCLI, ['_dev'], { cwd: ctx.nuxt!.options.rootDir, stdio: 'inherit', env: { ...process.env, + _PORT: String(port), PORT: String(port), NITRO_PORT: String(port), NODE_ENV: 'development' @@ -29,7 +30,7 @@ export async function startServer () { }) await waitForPort(port, { retries: 32 }) let lastError - for (let i = 0; i < 50; i++) { + for (let i = 0; i < 150; i++) { await new Promise(resolve => setTimeout(resolve, 100)) try { const res = await $fetch(ctx.nuxt!.options.app.baseURL) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 872722a2e920..e57430b2c969 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,7 +10,6 @@ overrides: '@nuxt/test-utils': workspace:* '@nuxt/vite-builder': workspace:* '@nuxt/webpack-builder': workspace:* - nuxi: workspace:* nuxt: workspace:* vite: 4.4.9 vue: 3.3.4 @@ -96,8 +95,8 @@ importers: specifier: 2.6.0 version: 2.6.0 nuxi: - specifier: workspace:* - version: link:packages/nuxi + specifier: npm:nuxi-ng@0.3.0-1692970235.c259efa + version: /nuxi-ng@0.3.0-1692970235.c259efa nuxt: specifier: workspace:* version: link:packages/nuxt @@ -241,109 +240,6 @@ importers: specifier: 5.88.2 version: 5.88.2 - packages/nuxi: - optionalDependencies: - fsevents: - specifier: ~2.3.3 - version: 2.3.3 - devDependencies: - '@nuxt/kit': - specifier: workspace:* - version: link:../kit - '@nuxt/schema': - specifier: workspace:* - version: link:../schema - '@types/clear': - specifier: 0.1.2 - version: 0.1.2 - '@types/flat': - specifier: 5.0.2 - version: 5.0.2 - '@types/mri': - specifier: 1.1.1 - version: 1.1.1 - '@types/semver': - specifier: 7.5.0 - version: 7.5.0 - c12: - specifier: 1.4.2 - version: 1.4.2 - chokidar: - specifier: 3.5.3 - version: 3.5.3 - clear: - specifier: 0.1.0 - version: 0.1.0 - clipboardy: - specifier: 3.0.0 - version: 3.0.0 - colorette: - specifier: 2.0.20 - version: 2.0.20 - consola: - specifier: 3.2.3 - version: 3.2.3 - deep-object-diff: - specifier: 1.1.9 - version: 1.1.9 - defu: - specifier: 6.1.2 - version: 6.1.2 - destr: - specifier: 2.0.1 - version: 2.0.1 - execa: - specifier: 7.2.0 - version: 7.2.0 - flat: - specifier: 5.0.2 - version: 5.0.2 - giget: - specifier: 1.1.2 - version: 1.1.2 - h3: - specifier: 1.8.0 - version: 1.8.0 - jiti: - specifier: 1.19.3 - version: 1.19.3 - listhen: - specifier: 1.4.0 - version: 1.4.0 - mlly: - specifier: 1.4.0 - version: 1.4.0 - mri: - specifier: 1.2.0 - version: 1.2.0 - nitropack: - specifier: 2.6.0 - version: 2.6.0 - ohash: - specifier: 1.1.3 - version: 1.1.3 - pathe: - specifier: 1.1.1 - version: 1.1.1 - perfect-debounce: - specifier: 1.0.0 - version: 1.0.0 - pkg-types: - specifier: 1.0.3 - version: 1.0.3 - scule: - specifier: 1.0.0 - version: 1.0.0 - semver: - specifier: 7.5.4 - version: 7.5.4 - ufo: - specifier: 1.3.0 - version: 1.3.0 - unbuild: - specifier: latest - version: 2.0.0(typescript@5.2.2) - packages/nuxt: dependencies: '@nuxt/devalue': @@ -440,8 +336,8 @@ importers: specifier: ^2.6.0 version: 2.6.0 nuxi: - specifier: workspace:* - version: link:../nuxi + specifier: npm:nuxi-ng@0.3.0-1692970235.c259efa + version: /nuxi-ng@0.3.0-1692970235.c259efa nypm: specifier: ^0.3.1 version: 0.3.1 @@ -2630,6 +2526,7 @@ packages: dependencies: is-glob: 4.0.3 micromatch: 4.0.5 + napi-wasm: 1.1.0 bundledDependencies: - napi-wasm @@ -2921,10 +2818,6 @@ packages: '@types/webpack': 4.41.33 dev: true - /@types/flat@5.0.2: - resolution: {integrity: sha512-3zsplnP2djeps5P9OyarTxwRpMLoe5Ash8aL9iprw0JxB+FAHjY+ifn4yZUuW4/9hqtnmor6uvjSRzJhiVbrEQ==} - dev: true - /@types/fs-extra@11.0.1: resolution: {integrity: sha512-MxObHvNl4A69ofaTRU8DFqvgzzv8s9yRtaPPm5gud9HDNvpB3GPQFvNuTWAI59B9huVGV5jXYJwbCsmBsOGYWA==} dependencies: @@ -2995,10 +2888,6 @@ packages: '@types/unist': 2.0.7 dev: true - /@types/mri@1.1.1: - resolution: {integrity: sha512-nJOuiTlsvmClSr3+a/trTSx4DTuY/VURsWGKSf/eeavh0LRMqdsK60ti0TlwM5iHiGOK3/Ibkxsbr7i9rzGreA==} - dev: true - /@types/ms@0.7.31: resolution: {integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==} dev: true @@ -4573,6 +4462,7 @@ packages: /clear@0.1.0: resolution: {integrity: sha512-qMjRnoL+JDPJHeLePZJuao6+8orzHMGP04A8CdwCNsKhRbOnKRjefxONR7bwILT3MHecxKBjHkKL/tkZ8r4Uzw==} + dev: false /clipboardy@3.0.0: resolution: {integrity: sha512-Su+uU5sr1jkUy1sGRpLKjKrvEOVXgSgiSInwa/qeID6aJ07yh+5NWc3h2QfjHjBnfX4LhtFcuAWKUsJ3r+fjbg==} @@ -4992,10 +4882,6 @@ packages: /deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} - /deep-object-diff@1.1.9: - resolution: {integrity: sha512-Rn+RuwkmkDwCi2/oXOFS9Gsr5lJZu/yTGpK7wAaAIE75CC+LCGEZHpY6VQJa/RoJcrmaA/docWJZvYohlNkWPA==} - dev: true - /deepmerge@4.3.1: resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} engines: {node: '>=0.10.0'} @@ -8062,6 +7948,9 @@ packages: engines: {node: ^14 || ^16 || >=18} hasBin: true + /napi-wasm@1.1.0: + resolution: {integrity: sha512-lHwIAJbmLSjF9VDRm9GoVOy9AGp3aIvkjv+Kvz9h16QR3uSVYH78PNQUnT2U4X53mhlnV2M7wrhibQ3GHicDmg==} + /natural-compare-lite@1.4.0: resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} dev: true @@ -8274,6 +8163,13 @@ packages: dependencies: boolbase: 1.0.0 + /nuxi-ng@0.3.0-1692970235.c259efa: + resolution: {integrity: sha512-/yp+V+Vpype1fau39yktrkFu2UZ2jo5bSdvDB8lI3LEdYT7sF9zg+6HqP+0OAV4Vnmst6ATxwY+pZiK+ds5mig==} + engines: {node: ^14.18.0 || >=16.10.0} + hasBin: true + optionalDependencies: + fsevents: 2.3.3 + /nuxt-component-meta@0.5.3: resolution: {integrity: sha512-+MHUrESdr+Si9PdbkxQrzQv+X6RdRd/ffmFWVVsZAHA7X9vGoNAYxwvoB1Pbs15TaPtFBWA1P5a4VGqtp+bhAg==} dependencies: From df2bc8a72e444bf90e906e2efad5d53d1a4bdb29 Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Fri, 25 Aug 2023 16:39:27 +0100 Subject: [PATCH 141/147] build: skip releasing `nuxi` --- scripts/release-edge.sh | 3 +++ scripts/release-rc.sh | 3 +++ scripts/release.sh | 3 +++ 3 files changed, 9 insertions(+) diff --git a/scripts/release-edge.sh b/scripts/release-edge.sh index a419169524a0..88bdde321823 100755 --- a/scripts/release-edge.sh +++ b/scripts/release-edge.sh @@ -20,6 +20,9 @@ fi # Release packages for p in packages/* ; do + if [[ $p == "packages/nuxi" ]] ; then + continue + fi pushd $p echo "Publishing $p" cp ../../LICENSE . diff --git a/scripts/release-rc.sh b/scripts/release-rc.sh index d362b2a4b1fd..3fefacc7571e 100755 --- a/scripts/release-rc.sh +++ b/scripts/release-rc.sh @@ -10,6 +10,9 @@ pnpm build # Release packages for PKG in packages/* ; do + if [[ $p == "packages/nuxi" ]] ; then + continue + fi pushd $PKG TAG="latest" if [ "$PKG" == "packages/nuxt" ]; then diff --git a/scripts/release.sh b/scripts/release.sh index 47e082fe5e41..eefc2c91782e 100755 --- a/scripts/release.sh +++ b/scripts/release.sh @@ -10,6 +10,9 @@ pnpm build # Release packages for PKG in packages/* ; do + if [[ $p == "packages/nuxi" ]] ; then + continue + fi pushd $PKG TAG="latest" echo "⚡ Publishing $PKG with tag $TAG" From 0094b569c713f3cfc9b49b07e1af5733dc45da99 Mon Sep 17 00:00:00 2001 From: pooya parsa Date: Fri, 25 Aug 2023 18:19:22 +0200 Subject: [PATCH 142/147] feat(schema): export `./schema/config.schema.json` subpath (#22813) --- packages/schema/package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/schema/package.json b/packages/schema/package.json index ef7d5d395504..8dab752194e6 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -16,6 +16,7 @@ "types": "./dist/builder-env.d.ts", "import": "./dist/builder-env.mjs" }, + "./schema/config.schema.json": "./schema/config.schema.json", "./package.json": "./package.json" }, "files": [ From 536a4aa24927d3087e338f87403434b0fa39498e Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Fri, 25 Aug 2023 23:16:43 +0100 Subject: [PATCH 143/147] chore: update `nuxi` to v3.7.0 --- package.json | 2 +- packages/nuxt/package.json | 2 +- pnpm-lock.yaml | 12 ++++++------ 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index 1b1f2101f0d2..1cc211f14a08 100644 --- a/package.json +++ b/package.json @@ -64,7 +64,7 @@ "jiti": "1.19.3", "markdownlint-cli": "^0.33.0", "nitropack": "2.6.0", - "nuxi": "npm:nuxi-ng@0.3.0-1692970235.c259efa", + "nuxi": "3.7.0", "nuxt": "workspace:*", "nuxt-vitest": "0.10.2", "ofetch": "1.3.3", diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index 3edd31a44007..8aac6f55970e 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -82,7 +82,7 @@ "magic-string": "^0.30.3", "mlly": "^1.4.0", "nitropack": "^2.6.0", - "nuxi": "npm:nuxi-ng@0.3.0-1692970235.c259efa", + "nuxi": "^3.7.0", "nypm": "^0.3.1", "ofetch": "^1.3.3", "ohash": "^1.1.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e57430b2c969..36aa01e9095f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -95,8 +95,8 @@ importers: specifier: 2.6.0 version: 2.6.0 nuxi: - specifier: npm:nuxi-ng@0.3.0-1692970235.c259efa - version: /nuxi-ng@0.3.0-1692970235.c259efa + specifier: 3.7.0 + version: 3.7.0 nuxt: specifier: workspace:* version: link:packages/nuxt @@ -336,8 +336,8 @@ importers: specifier: ^2.6.0 version: 2.6.0 nuxi: - specifier: npm:nuxi-ng@0.3.0-1692970235.c259efa - version: /nuxi-ng@0.3.0-1692970235.c259efa + specifier: ^3.7.0 + version: 3.7.0 nypm: specifier: ^0.3.1 version: 0.3.1 @@ -8163,8 +8163,8 @@ packages: dependencies: boolbase: 1.0.0 - /nuxi-ng@0.3.0-1692970235.c259efa: - resolution: {integrity: sha512-/yp+V+Vpype1fau39yktrkFu2UZ2jo5bSdvDB8lI3LEdYT7sF9zg+6HqP+0OAV4Vnmst6ATxwY+pZiK+ds5mig==} + /nuxi@3.7.0: + resolution: {integrity: sha512-FZEwNCGeEdE+CyKCoThZm+Lv+u4TnbClTyYvvby3a2joK5t8nc7upNiZ7hsd+xoOeNuZW7CZHsQp9szJm2ev9Q==} engines: {node: ^14.18.0 || >=16.10.0} hasBin: true optionalDependencies: From bf843636b9ad87eb139c201159bd211368dde234 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 25 Aug 2023 23:46:13 +0100 Subject: [PATCH 144/147] chore(deps): update all non-major dependencies (main) (#22819) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Daniel Roe --- package.json | 4 +- packages/kit/package.json | 4 +- packages/nuxt/package.json | 4 +- packages/schema/package.json | 2 +- packages/vite/package.json | 2 +- packages/webpack/package.json | 2 +- pnpm-lock.yaml | 272 +++++++++++++++++----------------- 7 files changed, 143 insertions(+), 147 deletions(-) diff --git a/package.json b/package.json index 1cc211f14a08..0b210ee96018 100644 --- a/package.json +++ b/package.json @@ -52,7 +52,7 @@ "cheerio": "1.0.0-rc.12", "consola": "3.2.3", "devalue": "4.3.2", - "eslint": "8.47.0", + "eslint": "8.48.0", "eslint-plugin-import": "2.28.1", "eslint-plugin-jsdoc": "41.1.2", "eslint-plugin-no-only-tests": "3.1.0", @@ -63,7 +63,7 @@ "happy-dom": "10.11.0", "jiti": "1.19.3", "markdownlint-cli": "^0.33.0", - "nitropack": "2.6.0", + "nitropack": "2.6.1", "nuxi": "3.7.0", "nuxt": "workspace:*", "nuxt-vitest": "0.10.2", diff --git a/packages/kit/package.json b/packages/kit/package.json index 41bcaf513783..4105a26e0d3e 100644 --- a/packages/kit/package.json +++ b/packages/kit/package.json @@ -29,7 +29,7 @@ "ignore": "^5.2.4", "jiti": "^1.19.3", "knitwork": "^1.0.0", - "mlly": "^1.4.0", + "mlly": "^1.4.1", "pathe": "^1.1.1", "pkg-types": "^1.0.3", "scule": "^1.0.0", @@ -44,7 +44,7 @@ "@types/lodash-es": "4.17.8", "@types/semver": "7.5.0", "lodash-es": "4.17.21", - "nitropack": "2.6.0", + "nitropack": "2.6.1", "unbuild": "latest", "vite": "4.4.9", "vitest": "0.33.0", diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index 8aac6f55970e..114f08d08a6f 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -80,8 +80,8 @@ "klona": "^2.0.6", "knitwork": "^1.0.0", "magic-string": "^0.30.3", - "mlly": "^1.4.0", - "nitropack": "^2.6.0", + "mlly": "^1.4.1", + "nitropack": "^2.6.1", "nuxi": "^3.7.0", "nypm": "^0.3.1", "ofetch": "^1.3.3", diff --git a/packages/schema/package.json b/packages/schema/package.json index 8dab752194e6..c7119fa0c36b 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -39,7 +39,7 @@ "esbuild-loader": "4.0.1", "h3": "1.8.0", "ignore": "5.2.4", - "nitropack": "2.6.0", + "nitropack": "2.6.1", "unbuild": "latest", "unctx": "2.3.1", "vite": "4.4.9", diff --git a/packages/vite/package.json b/packages/vite/package.json index de42a2e9c408..fd5dceebf350 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -44,7 +44,7 @@ "h3": "^1.8.0", "knitwork": "^1.0.0", "magic-string": "^0.30.3", - "mlly": "^1.4.0", + "mlly": "^1.4.1", "ohash": "^1.1.3", "pathe": "^1.1.1", "perfect-debounce": "^1.0.0", diff --git a/packages/webpack/package.json b/packages/webpack/package.json index 538f452a7b3c..d70db33cef8d 100644 --- a/packages/webpack/package.json +++ b/packages/webpack/package.json @@ -38,7 +38,7 @@ "magic-string": "^0.30.3", "memfs": "^4.2.1", "mini-css-extract-plugin": "^2.7.6", - "mlly": "^1.4.0", + "mlly": "^1.4.1", "ohash": "^1.1.3", "pathe": "^1.1.1", "pify": "^6.1.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 36aa01e9095f..75c019dfaa3a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -30,7 +30,7 @@ importers: version: link:packages/webpack '@nuxtjs/eslint-config-typescript': specifier: 12.0.0 - version: 12.0.0(eslint@8.47.0)(typescript@5.2.2) + version: 12.0.0(eslint@8.48.0)(typescript@5.2.2) '@types/fs-extra': specifier: 11.0.1 version: 11.0.1 @@ -59,14 +59,14 @@ importers: specifier: 4.3.2 version: 4.3.2 eslint: - specifier: 8.47.0 - version: 8.47.0 + specifier: 8.48.0 + version: 8.48.0 eslint-plugin-import: specifier: 2.28.1 - version: 2.28.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.47.0) + version: 2.28.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.48.0) eslint-plugin-jsdoc: specifier: 41.1.2 - version: 41.1.2(eslint@8.47.0) + version: 41.1.2(eslint@8.48.0) eslint-plugin-no-only-tests: specifier: 3.1.0 version: 3.1.0 @@ -92,8 +92,8 @@ importers: specifier: ^0.33.0 version: 0.33.0 nitropack: - specifier: 2.6.0 - version: 2.6.0 + specifier: 2.6.1 + version: 2.6.1 nuxi: specifier: 3.7.0 version: 3.7.0 @@ -141,7 +141,7 @@ importers: version: 3.3.4 vue-eslint-parser: specifier: 9.3.1 - version: 9.3.1(eslint@8.47.0) + version: 9.3.1(eslint@8.48.0) vue-router: specifier: 4.2.4 version: 4.2.4(vue@3.3.4) @@ -185,8 +185,8 @@ importers: specifier: ^1.0.0 version: 1.0.0 mlly: - specifier: ^1.4.0 - version: 1.4.0 + specifier: ^1.4.1 + version: 1.4.1 pathe: specifier: ^1.1.1 version: 1.1.1 @@ -225,8 +225,8 @@ importers: specifier: 4.17.21 version: 4.17.21 nitropack: - specifier: 2.6.0 - version: 2.6.0 + specifier: 2.6.1 + version: 2.6.1 unbuild: specifier: latest version: 2.0.0(typescript@5.2.2) @@ -330,11 +330,11 @@ importers: specifier: ^0.30.3 version: 0.30.3 mlly: - specifier: ^1.4.0 - version: 1.4.0 + specifier: ^1.4.1 + version: 1.4.1 nitropack: - specifier: ^2.6.0 - version: 2.6.0 + specifier: ^2.6.1 + version: 2.6.1 nuxi: specifier: ^3.7.0 version: 3.7.0 @@ -500,8 +500,8 @@ importers: specifier: 5.2.4 version: 5.2.4 nitropack: - specifier: 2.6.0 - version: 2.6.0 + specifier: 2.6.1 + version: 2.6.1 unbuild: specifier: latest version: 2.0.0(typescript@5.2.2) @@ -633,8 +633,8 @@ importers: specifier: ^0.30.3 version: 0.30.3 mlly: - specifier: ^1.4.0 - version: 1.4.0 + specifier: ^1.4.1 + version: 1.4.1 ohash: specifier: ^1.1.3 version: 1.1.3 @@ -679,7 +679,7 @@ importers: version: 0.33.0(@types/node@18.17.11) vite-plugin-checker: specifier: ^0.6.2 - version: 0.6.2(eslint@8.47.0)(typescript@5.2.2)(vite@4.4.9)(vue-tsc@1.8.8) + version: 0.6.2(eslint@8.48.0)(typescript@5.2.2)(vite@4.4.9)(vue-tsc@1.8.8) vue-bundle-renderer: specifier: ^2.0.0 version: 2.0.0 @@ -763,8 +763,8 @@ importers: specifier: ^2.7.6 version: 2.7.6(webpack@5.88.2) mlly: - specifier: ^1.4.0 - version: 1.4.0 + specifier: ^1.4.1 + version: 1.4.1 ohash: specifier: ^1.1.3 version: 1.1.3 @@ -1922,13 +1922,13 @@ packages: requiresBuild: true optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.47.0): + /@eslint-community/eslint-utils@4.4.0(eslint@8.48.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 8.47.0 + eslint: 8.48.0 eslint-visitor-keys: 3.4.3 /@eslint-community/regexpp@4.6.2: @@ -1951,8 +1951,8 @@ packages: transitivePeerDependencies: - supports-color - /@eslint/js@8.47.0: - resolution: {integrity: sha512-P6omY1zv5MItm93kLM8s2vr1HICJH8v0dvddDhysbIuZ+vcjOHg5Zbkf1mTkcmi2JA9oBG2anOkRnW8WJTS8Og==} + /@eslint/js@8.48.0: + resolution: {integrity: sha512-ZSjtmelB7IJfWD2Fvb7+Z+ChTIKWq6kjda95fLcQKNS5aheVHn4IkfgRQE3sIIzTcSLwLcLZUD9UBt+V7+h+Pw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} /@humanwhocodes/config-array@0.11.10: @@ -2158,19 +2158,19 @@ packages: - encoding - supports-color - /@netlify/functions@2.0.1: - resolution: {integrity: sha512-YrgCmz078II0LKknXKj5NbtGBuzek1JC+ZYi4xHcLhZD+HIGlerlmkhnVydWVPoA7fdd2IeSUd9CFFL7bY+y5Q==} + /@netlify/functions@2.0.2: + resolution: {integrity: sha512-goWRtaIPUK/q47qLYtfGGj7HgJIRaT0snw7zZ0yeoNTfQfCRwQwvRrMAsXkCsCtq2N2Oo81L26SpkMxEQMk9hg==} engines: {node: '>=14.0.0'} dependencies: - '@netlify/serverless-functions-api': 1.7.1 + '@netlify/serverless-functions-api': 1.7.3 is-promise: 4.0.0 /@netlify/node-cookies@0.1.0: resolution: {integrity: sha512-OAs1xG+FfLX0LoRASpqzVntVV/RpYkgpI0VrUnw2u0Q1qiZUzcPffxRK8HF3gc4GjuhG5ahOEMJ9bswBiZPq0g==} engines: {node: ^14.16.0 || >=16.0.0} - /@netlify/serverless-functions-api@1.7.1: - resolution: {integrity: sha512-vF9g62n+BFfBXtWtmVBJ5debyMERVDtuLlMlKDPYBp6QjEuJnaggxczLlRofZ2mtsBXs7mAlna6gIcBswFLJJQ==} + /@netlify/serverless-functions-api@1.7.3: + resolution: {integrity: sha512-n6/7cJlSWvvbBlUOEAbkGyEld80S6KbG/ldQI9OhLfe1lTatgKmrTNIgqVNpaWpUdTgP2OHWFjmFBzkxxBWs5w==} engines: {node: ^14.18.0 || >=16.0.0} dependencies: '@netlify/node-cookies': 0.1.0 @@ -2404,18 +2404,18 @@ packages: pathe: 1.1.1 dev: true - /@nuxtjs/eslint-config-typescript@12.0.0(eslint@8.47.0)(typescript@5.2.2): + /@nuxtjs/eslint-config-typescript@12.0.0(eslint@8.48.0)(typescript@5.2.2): resolution: {integrity: sha512-HJR0ho5MYuOCFjkL+eMX/VXbUwy36J12DUMVy+dj3Qz1GYHwX92Saxap3urFzr8oPkzzFiuOknDivfCeRBWakg==} peerDependencies: eslint: ^8.23.0 dependencies: - '@nuxtjs/eslint-config': 12.0.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.47.0) - '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.47.0)(typescript@5.2.2) - '@typescript-eslint/parser': 5.62.0(eslint@8.47.0)(typescript@5.2.2) - eslint: 8.47.0 - eslint-import-resolver-typescript: 3.5.5(@typescript-eslint/parser@5.62.0)(eslint-plugin-import@2.28.1)(eslint@8.47.0) - eslint-plugin-import: 2.28.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.47.0) - eslint-plugin-vue: 9.16.1(eslint@8.47.0) + '@nuxtjs/eslint-config': 12.0.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.48.0) + '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.48.0)(typescript@5.2.2) + '@typescript-eslint/parser': 5.62.0(eslint@8.48.0)(typescript@5.2.2) + eslint: 8.48.0 + eslint-import-resolver-typescript: 3.5.5(@typescript-eslint/parser@5.62.0)(eslint-plugin-import@2.28.1)(eslint@8.48.0) + eslint-plugin-import: 2.28.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.48.0) + eslint-plugin-vue: 9.16.1(eslint@8.48.0) transitivePeerDependencies: - eslint-import-resolver-node - eslint-import-resolver-webpack @@ -2423,19 +2423,19 @@ packages: - typescript dev: true - /@nuxtjs/eslint-config@12.0.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.47.0): + /@nuxtjs/eslint-config@12.0.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.48.0): resolution: {integrity: sha512-ewenelo75x0eYEUK+9EBXjc/OopQCvdkmYmlZuoHq5kub/vtiRpyZ/autppwokpHUq8tiVyl2ejMakoiHiDTrg==} peerDependencies: eslint: ^8.23.0 dependencies: - eslint: 8.47.0 - eslint-config-standard: 17.1.0(eslint-plugin-import@2.28.1)(eslint-plugin-n@15.7.0)(eslint-plugin-promise@6.1.1)(eslint@8.47.0) - eslint-plugin-import: 2.28.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.47.0) - eslint-plugin-n: 15.7.0(eslint@8.47.0) - eslint-plugin-node: 11.1.0(eslint@8.47.0) - eslint-plugin-promise: 6.1.1(eslint@8.47.0) - eslint-plugin-unicorn: 44.0.2(eslint@8.47.0) - eslint-plugin-vue: 9.16.1(eslint@8.47.0) + eslint: 8.48.0 + eslint-config-standard: 17.1.0(eslint-plugin-import@2.28.1)(eslint-plugin-n@15.7.0)(eslint-plugin-promise@6.1.1)(eslint@8.48.0) + eslint-plugin-import: 2.28.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.48.0) + eslint-plugin-n: 15.7.0(eslint@8.48.0) + eslint-plugin-node: 11.1.0(eslint@8.48.0) + eslint-plugin-promise: 6.1.1(eslint@8.48.0) + eslint-plugin-unicorn: 44.0.2(eslint@8.48.0) + eslint-plugin-vue: 9.16.1(eslint@8.48.0) local-pkg: 0.4.3 transitivePeerDependencies: - '@typescript-eslint/parser' @@ -2526,7 +2526,6 @@ packages: dependencies: is-glob: 4.0.3 micromatch: 4.0.5 - napi-wasm: 1.1.0 bundledDependencies: - napi-wasm @@ -3037,7 +3036,7 @@ packages: dependencies: '@types/yargs-parser': 21.0.0 - /@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.47.0)(typescript@5.2.2): + /@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.48.0)(typescript@5.2.2): resolution: {integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -3049,12 +3048,12 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.6.2 - '@typescript-eslint/parser': 5.62.0(eslint@8.47.0)(typescript@5.2.2) + '@typescript-eslint/parser': 5.62.0(eslint@8.48.0)(typescript@5.2.2) '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/type-utils': 5.62.0(eslint@8.47.0)(typescript@5.2.2) - '@typescript-eslint/utils': 5.62.0(eslint@8.47.0)(typescript@5.2.2) + '@typescript-eslint/type-utils': 5.62.0(eslint@8.48.0)(typescript@5.2.2) + '@typescript-eslint/utils': 5.62.0(eslint@8.48.0)(typescript@5.2.2) debug: 4.3.4 - eslint: 8.47.0 + eslint: 8.48.0 graphemer: 1.4.0 ignore: 5.2.4 natural-compare-lite: 1.4.0 @@ -3065,7 +3064,7 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@5.62.0(eslint@8.47.0)(typescript@5.2.2): + /@typescript-eslint/parser@5.62.0(eslint@8.48.0)(typescript@5.2.2): resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -3079,7 +3078,7 @@ packages: '@typescript-eslint/types': 5.62.0 '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.2.2) debug: 4.3.4 - eslint: 8.47.0 + eslint: 8.48.0 typescript: 5.2.2 transitivePeerDependencies: - supports-color @@ -3093,7 +3092,7 @@ packages: '@typescript-eslint/visitor-keys': 5.62.0 dev: true - /@typescript-eslint/type-utils@5.62.0(eslint@8.47.0)(typescript@5.2.2): + /@typescript-eslint/type-utils@5.62.0(eslint@8.48.0)(typescript@5.2.2): resolution: {integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -3104,9 +3103,9 @@ packages: optional: true dependencies: '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.2.2) - '@typescript-eslint/utils': 5.62.0(eslint@8.47.0)(typescript@5.2.2) + '@typescript-eslint/utils': 5.62.0(eslint@8.48.0)(typescript@5.2.2) debug: 4.3.4 - eslint: 8.47.0 + eslint: 8.48.0 tsutils: 3.21.0(typescript@5.2.2) typescript: 5.2.2 transitivePeerDependencies: @@ -3139,19 +3138,19 @@ packages: - supports-color dev: true - /@typescript-eslint/utils@5.62.0(eslint@8.47.0)(typescript@5.2.2): + /@typescript-eslint/utils@5.62.0(eslint@8.48.0)(typescript@5.2.2): resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.47.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.48.0) '@types/json-schema': 7.0.12 '@types/semver': 7.5.0 '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.2.2) - eslint: 8.47.0 + eslint: 8.48.0 eslint-scope: 5.1.1 semver: 7.5.4 transitivePeerDependencies: @@ -4228,7 +4227,7 @@ packages: dotenv: 16.3.1 giget: 1.1.2 jiti: 1.19.3 - mlly: 1.4.0 + mlly: 1.4.1 ohash: 1.1.3 pathe: 1.1.1 perfect-debounce: 1.0.0 @@ -4448,8 +4447,8 @@ packages: resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} engines: {node: '>=8'} - /citty@0.1.2: - resolution: {integrity: sha512-Me9nf0/BEmMOnuQzMOVXgpzkMUNbd0Am8lTl/13p0aRGAoLGk5T5sdet/42CrIGmWdG67BgHUhcKK1my1ujUEg==} + /citty@0.1.3: + resolution: {integrity: sha512-tb6zTEb2BDSrzFedqFYFUKUuKNaxVJWCm7o02K4kADGkBDyyiz7D40rDMpguczdZyAN3aetd5fhpB01HkreNyg==} dependencies: consola: 3.2.3 @@ -5345,7 +5344,7 @@ packages: resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} engines: {node: '>=12'} - /eslint-config-standard@17.1.0(eslint-plugin-import@2.28.1)(eslint-plugin-n@15.7.0)(eslint-plugin-promise@6.1.1)(eslint@8.47.0): + /eslint-config-standard@17.1.0(eslint-plugin-import@2.28.1)(eslint-plugin-n@15.7.0)(eslint-plugin-promise@6.1.1)(eslint@8.48.0): resolution: {integrity: sha512-IwHwmaBNtDK4zDHQukFDW5u/aTb8+meQWZvNFWkiGmbWjD6bqyuSSBxxXKkCftCUzc1zwCH2m/baCNDLGmuO5Q==} engines: {node: '>=12.0.0'} peerDependencies: @@ -5354,10 +5353,10 @@ packages: eslint-plugin-n: '^15.0.0 || ^16.0.0 ' eslint-plugin-promise: ^6.0.0 dependencies: - eslint: 8.47.0 - eslint-plugin-import: 2.28.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.47.0) - eslint-plugin-n: 15.7.0(eslint@8.47.0) - eslint-plugin-promise: 6.1.1(eslint@8.47.0) + eslint: 8.48.0 + eslint-plugin-import: 2.28.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.48.0) + eslint-plugin-n: 15.7.0(eslint@8.48.0) + eslint-plugin-promise: 6.1.1(eslint@8.48.0) dev: true /eslint-import-resolver-node@0.3.8: @@ -5370,7 +5369,7 @@ packages: - supports-color dev: true - /eslint-import-resolver-typescript@3.5.5(@typescript-eslint/parser@5.62.0)(eslint-plugin-import@2.28.1)(eslint@8.47.0): + /eslint-import-resolver-typescript@3.5.5(@typescript-eslint/parser@5.62.0)(eslint-plugin-import@2.28.1)(eslint@8.48.0): resolution: {integrity: sha512-TdJqPHs2lW5J9Zpe17DZNQuDnox4xo2o+0tE7Pggain9Rbc19ik8kFtXdxZ250FVx2kF4vlt2RSf4qlUpG7bhw==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -5379,9 +5378,9 @@ packages: dependencies: debug: 4.3.4 enhanced-resolve: 5.15.0 - eslint: 8.47.0 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.8)(eslint-import-resolver-typescript@3.5.5)(eslint@8.47.0) - eslint-plugin-import: 2.28.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.47.0) + eslint: 8.48.0 + eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.8)(eslint-import-resolver-typescript@3.5.5)(eslint@8.48.0) + eslint-plugin-import: 2.28.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.48.0) get-tsconfig: 4.7.0 globby: 13.2.2 is-core-module: 2.13.0 @@ -5394,7 +5393,7 @@ packages: - supports-color dev: true - /eslint-module-utils@2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.8)(eslint-import-resolver-typescript@3.5.5)(eslint@8.47.0): + /eslint-module-utils@2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.8)(eslint-import-resolver-typescript@3.5.5)(eslint@8.48.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -5415,38 +5414,38 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 5.62.0(eslint@8.47.0)(typescript@5.2.2) + '@typescript-eslint/parser': 5.62.0(eslint@8.48.0)(typescript@5.2.2) debug: 3.2.7 - eslint: 8.47.0 + eslint: 8.48.0 eslint-import-resolver-node: 0.3.8 - eslint-import-resolver-typescript: 3.5.5(@typescript-eslint/parser@5.62.0)(eslint-plugin-import@2.28.1)(eslint@8.47.0) + eslint-import-resolver-typescript: 3.5.5(@typescript-eslint/parser@5.62.0)(eslint-plugin-import@2.28.1)(eslint@8.48.0) transitivePeerDependencies: - supports-color dev: true - /eslint-plugin-es@3.0.1(eslint@8.47.0): + /eslint-plugin-es@3.0.1(eslint@8.48.0): resolution: {integrity: sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==} engines: {node: '>=8.10.0'} peerDependencies: eslint: '>=4.19.1' dependencies: - eslint: 8.47.0 + eslint: 8.48.0 eslint-utils: 2.1.0 regexpp: 3.2.0 dev: true - /eslint-plugin-es@4.1.0(eslint@8.47.0): + /eslint-plugin-es@4.1.0(eslint@8.48.0): resolution: {integrity: sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==} engines: {node: '>=8.10.0'} peerDependencies: eslint: '>=4.19.1' dependencies: - eslint: 8.47.0 + eslint: 8.48.0 eslint-utils: 2.1.0 regexpp: 3.2.0 dev: true - /eslint-plugin-import@2.28.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.47.0): + /eslint-plugin-import@2.28.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.48.0): resolution: {integrity: sha512-9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A==} engines: {node: '>=4'} peerDependencies: @@ -5456,16 +5455,16 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 5.62.0(eslint@8.47.0)(typescript@5.2.2) + '@typescript-eslint/parser': 5.62.0(eslint@8.48.0)(typescript@5.2.2) array-includes: 3.1.6 array.prototype.findlastindex: 1.2.2 array.prototype.flat: 1.3.1 array.prototype.flatmap: 1.3.1 debug: 3.2.7 doctrine: 2.1.0 - eslint: 8.47.0 + eslint: 8.48.0 eslint-import-resolver-node: 0.3.8 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.8)(eslint-import-resolver-typescript@3.5.5)(eslint@8.47.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.8)(eslint-import-resolver-typescript@3.5.5)(eslint@8.48.0) has: 1.0.3 is-core-module: 2.13.0 is-glob: 4.0.3 @@ -5481,7 +5480,7 @@ packages: - supports-color dev: true - /eslint-plugin-jsdoc@41.1.2(eslint@8.47.0): + /eslint-plugin-jsdoc@41.1.2(eslint@8.48.0): resolution: {integrity: sha512-MePJXdGiPW7AG06CU5GbKzYtKpoHwTq1lKijjq+RwL/cQkZtBZ59Zbv5Ep0RVxSMnq6242249/n+w4XrTZ1Afg==} engines: {node: ^14 || ^16 || ^17 || ^18 || ^19} peerDependencies: @@ -5492,7 +5491,7 @@ packages: comment-parser: 1.3.1 debug: 4.3.4 escape-string-regexp: 4.0.0 - eslint: 8.47.0 + eslint: 8.48.0 esquery: 1.5.0 semver: 7.5.4 spdx-expression-parse: 3.0.1 @@ -5500,16 +5499,16 @@ packages: - supports-color dev: true - /eslint-plugin-n@15.7.0(eslint@8.47.0): + /eslint-plugin-n@15.7.0(eslint@8.48.0): resolution: {integrity: sha512-jDex9s7D/Qial8AGVIHq4W7NswpUD5DPDL2RH8Lzd9EloWUuvUkHfv4FRLMipH5q2UtyurorBkPeNi1wVWNh3Q==} engines: {node: '>=12.22.0'} peerDependencies: eslint: '>=7.0.0' dependencies: builtins: 5.0.1 - eslint: 8.47.0 - eslint-plugin-es: 4.1.0(eslint@8.47.0) - eslint-utils: 3.0.0(eslint@8.47.0) + eslint: 8.48.0 + eslint-plugin-es: 4.1.0(eslint@8.48.0) + eslint-utils: 3.0.0(eslint@8.48.0) ignore: 5.2.4 is-core-module: 2.13.0 minimatch: 3.1.2 @@ -5522,14 +5521,14 @@ packages: engines: {node: '>=5.0.0'} dev: true - /eslint-plugin-node@11.1.0(eslint@8.47.0): + /eslint-plugin-node@11.1.0(eslint@8.48.0): resolution: {integrity: sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==} engines: {node: '>=8.10.0'} peerDependencies: eslint: '>=5.16.0' dependencies: - eslint: 8.47.0 - eslint-plugin-es: 3.0.1(eslint@8.47.0) + eslint: 8.48.0 + eslint-plugin-es: 3.0.1(eslint@8.48.0) eslint-utils: 2.1.0 ignore: 5.2.4 minimatch: 3.1.2 @@ -5537,16 +5536,16 @@ packages: semver: 6.3.1 dev: true - /eslint-plugin-promise@6.1.1(eslint@8.47.0): + /eslint-plugin-promise@6.1.1(eslint@8.48.0): resolution: {integrity: sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 dependencies: - eslint: 8.47.0 + eslint: 8.48.0 dev: true - /eslint-plugin-unicorn@44.0.2(eslint@8.47.0): + /eslint-plugin-unicorn@44.0.2(eslint@8.48.0): resolution: {integrity: sha512-GLIDX1wmeEqpGaKcnMcqRvMVsoabeF0Ton0EX4Th5u6Kmf7RM9WBl705AXFEsns56ESkEs0uyelLuUTvz9Tr0w==} engines: {node: '>=14.18'} peerDependencies: @@ -5555,8 +5554,8 @@ packages: '@babel/helper-validator-identifier': 7.22.5 ci-info: 3.8.0 clean-regexp: 1.0.0 - eslint: 8.47.0 - eslint-utils: 3.0.0(eslint@8.47.0) + eslint: 8.48.0 + eslint-utils: 3.0.0(eslint@8.48.0) esquery: 1.5.0 indent-string: 4.0.0 is-builtin-module: 3.2.1 @@ -5569,19 +5568,19 @@ packages: strip-indent: 3.0.0 dev: true - /eslint-plugin-vue@9.16.1(eslint@8.47.0): + /eslint-plugin-vue@9.16.1(eslint@8.48.0): resolution: {integrity: sha512-2FtnTqazA6aYONfDuOZTk0QzwhAwi7Z4+uJ7+GHeGxcKapjqWlDsRWDenvyG/utyOfAS5bVRmAG3cEWiYEz2bA==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.47.0) - eslint: 8.47.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.48.0) + eslint: 8.48.0 natural-compare: 1.4.0 nth-check: 2.1.1 postcss-selector-parser: 6.0.13 semver: 7.5.4 - vue-eslint-parser: 9.3.1(eslint@8.47.0) + vue-eslint-parser: 9.3.1(eslint@8.48.0) xml-name-validator: 4.0.0 transitivePeerDependencies: - supports-color @@ -5608,13 +5607,13 @@ packages: eslint-visitor-keys: 1.3.0 dev: true - /eslint-utils@3.0.0(eslint@8.47.0): + /eslint-utils@3.0.0(eslint@8.48.0): resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} peerDependencies: eslint: '>=5' dependencies: - eslint: 8.47.0 + eslint: 8.48.0 eslint-visitor-keys: 2.1.0 dev: true @@ -5632,15 +5631,15 @@ packages: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - /eslint@8.47.0: - resolution: {integrity: sha512-spUQWrdPt+pRVP1TTJLmfRNJJHHZryFmptzcafwSvHsceV81djHOdnEeDmkdotZyLNjDhrOasNK8nikkoG1O8Q==} + /eslint@8.48.0: + resolution: {integrity: sha512-sb6DLeIuRXxeM1YljSe1KEx9/YYeZFQWcV8Rq9HfigmdDEugjLEVEa1ozDjL6YDjBpQHPJxJzze+alxi4T3OLg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.47.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.48.0) '@eslint-community/regexpp': 4.6.2 '@eslint/eslintrc': 2.1.2 - '@eslint/js': 8.47.0 + '@eslint/js': 8.48.0 '@humanwhocodes/config-array': 0.11.10 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 @@ -5792,7 +5791,7 @@ packages: resolution: {integrity: sha512-LyExtJWKxtgVzmgtEHyQtLFpw1KFhQphF9nTG8TpAIVkiI/xQ3FJh75tRFLYl4hkn7BNIIdLJInuDAavX35pMw==} dependencies: enhanced-resolve: 5.15.0 - mlly: 1.4.0 + mlly: 1.4.1 pathe: 1.1.1 ufo: 1.3.0 dev: false @@ -7119,7 +7118,7 @@ packages: dependencies: '@parcel/watcher': 2.3.0 '@parcel/watcher-wasm': 2.3.0-alpha.3 - citty: 0.1.2 + citty: 0.1.3 clipboardy: 3.0.0 consola: 3.2.3 defu: 6.1.2 @@ -7127,7 +7126,7 @@ packages: h3: 1.8.0 http-shutdown: 1.2.2 jiti: 1.19.3 - mlly: 1.4.0 + mlly: 1.4.1 node-forge: 1.3.1 pathe: 1.1.1 ufo: 1.3.0 @@ -7894,20 +7893,20 @@ packages: typescript: optional: true dependencies: - citty: 0.1.2 + citty: 0.1.3 defu: 6.1.2 esbuild: 0.18.20 fs-extra: 11.1.1 globby: 13.2.2 jiti: 1.19.3 - mlly: 1.4.0 + mlly: 1.4.1 mri: 1.2.0 pathe: 1.1.1 typescript: 5.2.2 dev: true - /mlly@1.4.0: - resolution: {integrity: sha512-ua8PAThnTwpprIaU47EPeZ/bPUVp2QYBbWMphUQpVdBI3Lgqzm5KZQ45Agm3YJedHXaIHl6pBGabaLSUPPSptg==} + /mlly@1.4.1: + resolution: {integrity: sha512-SCDs78Q2o09jiZiE2WziwVBEqXQ02XkGdUy45cbJf+BpYRIjArXRJ1Wbowxkb+NaM9DWvS3UC9GiO/6eqvQ/pg==} dependencies: acorn: 8.10.0 pathe: 1.1.1 @@ -7948,9 +7947,6 @@ packages: engines: {node: ^14 || ^16 || >=18} hasBin: true - /napi-wasm@1.1.0: - resolution: {integrity: sha512-lHwIAJbmLSjF9VDRm9GoVOy9AGp3aIvkjv+Kvz9h16QR3uSVYH78PNQUnT2U4X53mhlnV2M7wrhibQ3GHicDmg==} - /natural-compare-lite@1.4.0: resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} dev: true @@ -7961,13 +7957,13 @@ packages: /neo-async@2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} - /nitropack@2.6.0: - resolution: {integrity: sha512-swhwjrNz0Zc5pBBrL3jdd4v1aJKNv0XbjCk1OreOm0zRbP8WxreGP5sAGpwDVpMH9mpIxyz5A5OSBzKa2lkkuQ==} + /nitropack@2.6.1: + resolution: {integrity: sha512-BoVM7nWx/S5S7TUU3z0DqiY/VVIHu6zng3vJyGMjESIW/FDhc3ecPDJRkNzdUXG5zZ3Ex7ZNll2AsdNHZImcpA==} engines: {node: ^16.11.0 || >=17.0.0} hasBin: true dependencies: '@cloudflare/kv-asset-handler': 0.3.0 - '@netlify/functions': 2.0.1 + '@netlify/functions': 2.0.2 '@rollup/plugin-alias': 5.0.0(rollup@3.28.1) '@rollup/plugin-commonjs': 25.0.4(rollup@3.28.1) '@rollup/plugin-inject': 5.0.3(rollup@3.28.1) @@ -7983,7 +7979,7 @@ packages: c12: 1.4.2 chalk: 5.3.0 chokidar: 3.5.3 - citty: 0.1.2 + citty: 0.1.3 consola: 3.2.3 cookie-es: 1.0.0 defu: 6.1.2 @@ -8005,7 +8001,7 @@ packages: listhen: 1.4.0 magic-string: 0.30.3 mime: 3.0.0 - mlly: 1.4.0 + mlly: 1.4.1 mri: 1.2.0 node-fetch-native: 1.4.0 ofetch: 1.3.3 @@ -8603,7 +8599,7 @@ packages: resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} dependencies: jsonc-parser: 3.2.0 - mlly: 1.4.0 + mlly: 1.4.1 pathe: 1.1.1 /playwright-core@1.37.1: @@ -10385,7 +10381,7 @@ packages: jiti: 1.19.3 magic-string: 0.30.3 mkdist: 1.3.0(typescript@5.2.2) - mlly: 1.4.0 + mlly: 1.4.1 mri: 1.2.0 pathe: 1.1.1 pkg-types: 1.0.3 @@ -10416,7 +10412,7 @@ packages: '@rollup/plugin-replace': 5.0.2(rollup@3.28.1) '@rollup/pluginutils': 5.0.3(rollup@3.28.1) chalk: 5.3.0 - citty: 0.1.2 + citty: 0.1.3 consola: 3.2.3 defu: 6.1.2 esbuild: 0.19.2 @@ -10425,7 +10421,7 @@ packages: jiti: 1.19.3 magic-string: 0.30.3 mkdist: 1.3.0(typescript@5.2.2) - mlly: 1.4.0 + mlly: 1.4.1 pathe: 1.1.1 pkg-types: 1.0.3 pretty-bytes: 6.1.1 @@ -10494,7 +10490,7 @@ packages: fast-glob: 3.3.1 local-pkg: 0.4.3 magic-string: 0.30.3 - mlly: 1.4.0 + mlly: 1.4.1 pathe: 1.1.1 pkg-types: 1.0.3 scule: 1.0.0 @@ -10599,7 +10595,7 @@ packages: fast-glob: 3.3.1 json5: 2.2.3 local-pkg: 0.4.3 - mlly: 1.4.0 + mlly: 1.4.1 pathe: 1.1.1 scule: 1.0.0 unplugin: 1.4.0 @@ -10679,7 +10675,7 @@ packages: resolution: {integrity: sha512-Xyo/3TLi2pMLr8SFSXAHVTEpEtVrqXZTzXkZAglRIairiO+utD6y7bCemYejj7GazEwomMwpNB1Gg3hoehY+zA==} hasBin: true dependencies: - citty: 0.1.2 + citty: 0.1.3 consola: 3.2.3 pathe: 1.1.1 @@ -10813,7 +10809,7 @@ packages: dependencies: cac: 6.7.14 debug: 4.3.4 - mlly: 1.4.0 + mlly: 1.4.1 pathe: 1.1.1 picocolors: 1.0.0 vite: 4.4.9(@types/node@18.17.11) @@ -10827,7 +10823,7 @@ packages: - supports-color - terser - /vite-plugin-checker@0.6.2(eslint@8.47.0)(typescript@5.2.2)(vite@4.4.9)(vue-tsc@1.8.8): + /vite-plugin-checker@0.6.2(eslint@8.48.0)(typescript@5.2.2)(vite@4.4.9)(vue-tsc@1.8.8): resolution: {integrity: sha512-YvvvQ+IjY09BX7Ab+1pjxkELQsBd4rPhWNw8WLBeFVxu/E7O+n6VYAqNsKdK/a2luFlX/sMpoWdGFfg4HvwdJQ==} engines: {node: '>=14.16'} peerDependencies: @@ -10863,7 +10859,7 @@ packages: chalk: 4.1.2 chokidar: 3.5.3 commander: 8.3.0 - eslint: 8.47.0 + eslint: 8.48.0 fast-glob: 3.3.1 fs-extra: 11.1.1 lodash.debounce: 4.0.8 @@ -11105,14 +11101,14 @@ packages: resolution: {integrity: sha512-RutnB7X8c5hjq39NceArgXg28WZtZpGc3+J16ljMiYnFhKvd8hITxSWQSQ5bvldxMDU6gG5mkxl1MTQLXckVSQ==} dev: false - /vue-eslint-parser@9.3.1(eslint@8.47.0): + /vue-eslint-parser@9.3.1(eslint@8.48.0): resolution: {integrity: sha512-Clr85iD2XFZ3lJ52/ppmUDG/spxQu6+MAeHXjjyI4I1NUYZ9xmenQp4N0oaHJhrA8OOxltCVxMRfANGa70vU0g==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: '>=6.0.0' dependencies: debug: 4.3.4 - eslint: 8.47.0 + eslint: 8.48.0 eslint-scope: 7.2.2 eslint-visitor-keys: 3.4.3 espree: 9.6.1 From 9013f88e75f499e650463e3c80d116d0ce898a14 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 26 Aug 2023 00:26:08 +0100 Subject: [PATCH 145/147] v3.7.0 --- packages/kit/package.json | 2 +- packages/nuxt/package.json | 2 +- packages/schema/package.json | 2 +- packages/test-utils/package.json | 2 +- packages/vite/package.json | 2 +- packages/webpack/package.json | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/kit/package.json b/packages/kit/package.json index 4105a26e0d3e..63d9db093ee5 100644 --- a/packages/kit/package.json +++ b/packages/kit/package.json @@ -1,6 +1,6 @@ { "name": "@nuxt/kit", - "version": "3.6.5", + "version": "3.7.0", "repository": "nuxt/nuxt", "license": "MIT", "type": "module", diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index 114f08d08a6f..020c990a5ede 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -1,6 +1,6 @@ { "name": "nuxt", - "version": "3.6.5", + "version": "3.7.0", "repository": "nuxt/nuxt", "license": "MIT", "type": "module", diff --git a/packages/schema/package.json b/packages/schema/package.json index c7119fa0c36b..083adef852e6 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -1,6 +1,6 @@ { "name": "@nuxt/schema", - "version": "3.6.5", + "version": "3.7.0", "repository": "nuxt/nuxt", "license": "MIT", "type": "module", diff --git a/packages/test-utils/package.json b/packages/test-utils/package.json index 03cde41644b8..64e6c7cb4ae4 100644 --- a/packages/test-utils/package.json +++ b/packages/test-utils/package.json @@ -1,6 +1,6 @@ { "name": "@nuxt/test-utils", - "version": "3.6.5", + "version": "3.7.0", "repository": "nuxt/nuxt", "license": "MIT", "type": "module", diff --git a/packages/vite/package.json b/packages/vite/package.json index fd5dceebf350..1d56db32a1aa 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -1,6 +1,6 @@ { "name": "@nuxt/vite-builder", - "version": "3.6.5", + "version": "3.7.0", "repository": "nuxt/nuxt", "license": "MIT", "type": "module", diff --git a/packages/webpack/package.json b/packages/webpack/package.json index d70db33cef8d..90a838d2633a 100644 --- a/packages/webpack/package.json +++ b/packages/webpack/package.json @@ -1,6 +1,6 @@ { "name": "@nuxt/webpack-builder", - "version": "3.6.5", + "version": "3.7.0", "repository": "nuxt/nuxt", "license": "MIT", "type": "module", From adb6ec6742395a68cb95961a9ad3b5faf962387b Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Sat, 26 Aug 2023 00:44:57 +0100 Subject: [PATCH 146/147] chore: fix variable name in release scripts --- scripts/release-rc.sh | 2 +- scripts/release.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/release-rc.sh b/scripts/release-rc.sh index 3fefacc7571e..8c9ade8f7eda 100755 --- a/scripts/release-rc.sh +++ b/scripts/release-rc.sh @@ -10,7 +10,7 @@ pnpm build # Release packages for PKG in packages/* ; do - if [[ $p == "packages/nuxi" ]] ; then + if [[ $PKG == "packages/nuxi" ]] ; then continue fi pushd $PKG diff --git a/scripts/release.sh b/scripts/release.sh index eefc2c91782e..f33fcb7f3486 100755 --- a/scripts/release.sh +++ b/scripts/release.sh @@ -10,7 +10,7 @@ pnpm build # Release packages for PKG in packages/* ; do - if [[ $p == "packages/nuxi" ]] ; then + if [[ $PKG == "packages/nuxi" ]] ; then continue fi pushd $PKG From 424dc8d7c0448b4bdc3051791adbeed15907220f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20S=C3=A1nchez?= Date: Sat, 26 Aug 2023 16:45:17 +0200 Subject: [PATCH 147/147] fix(nuxt): exclude resolved vite virtual modules prefix (#22834) --- packages/nuxt/src/components/transform.ts | 2 +- packages/nuxt/src/core/plugins/resolve-deep-imports.ts | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/nuxt/src/components/transform.ts b/packages/nuxt/src/components/transform.ts index 579cf42e7bd9..6d1a45af391d 100644 --- a/packages/nuxt/src/components/transform.ts +++ b/packages/nuxt/src/components/transform.ts @@ -47,7 +47,7 @@ export function createTransformPlugin (nuxt: Nuxt, getComponents: getComponentsT name: 'nuxt:components:imports', transformInclude (id) { id = normalize(id) - return id.startsWith('virtual:') || id.startsWith(nuxt.options.buildDir) || !isIgnored(id) + return id.startsWith('virtual:') || id.startsWith('\0virtual:') || id.startsWith(nuxt.options.buildDir) || !isIgnored(id) }, async transform (code, id) { // Virtual component wrapper diff --git a/packages/nuxt/src/core/plugins/resolve-deep-imports.ts b/packages/nuxt/src/core/plugins/resolve-deep-imports.ts index ba4aaf7bd4ce..032117178e28 100644 --- a/packages/nuxt/src/core/plugins/resolve-deep-imports.ts +++ b/packages/nuxt/src/core/plugins/resolve-deep-imports.ts @@ -7,11 +7,12 @@ import type { Nuxt } from '@nuxt/schema' import { pkgDir } from '../../dirs' export function resolveDeepImportsPlugin (nuxt: Nuxt): Plugin { + const exclude: string[] = ['virtual:', '\0virtual:', '/__skip_vite'] return { name: 'nuxt:resolve-bare-imports', enforce: 'post', async resolveId (id, importer, options) { - if (!importer || isAbsolute(id) || !isAbsolute(importer) || id.startsWith('virtual:') || id.startsWith('/__skip_vite')) { + if (!importer || isAbsolute(id) || !isAbsolute(importer) || exclude.some(e => id.startsWith(e))) { return } id = normalize(id)