diff --git a/package.json b/package.json index 3159bad107..49c083ced7 100644 --- a/package.json +++ b/package.json @@ -74,7 +74,7 @@ "typescript": "5.0.4", "ufo": "1.1.2", "vite": "4.3.9", - "vitest": "0.31.4", + "vitest": "0.32.0", "vue": "3.3.4", "vue-eslint-parser": "9.3.0", "vue-tsc": "1.6.5" diff --git a/packages/kit/package.json b/packages/kit/package.json index e0c4c6ecf4..dd1230b956 100644 --- a/packages/kit/package.json +++ b/packages/kit/package.json @@ -46,7 +46,7 @@ "nitropack": "2.4.1", "unbuild": "latest", "vite": "4.3.9", - "vitest": "0.31.4", + "vitest": "0.32.0", "webpack": "5.85.1" }, "engines": { diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index 84422e0e45..151be37e40 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -112,7 +112,7 @@ "acorn": "8.8.2", "unbuild": "latest", "vite": "4.3.9", - "vitest": "0.31.4" + "vitest": "0.32.0" }, "peerDependencies": { "@parcel/watcher": "^2.1.0", diff --git a/packages/test-utils/package.json b/packages/test-utils/package.json index cc09ee2280..39c2197fac 100644 --- a/packages/test-utils/package.json +++ b/packages/test-utils/package.json @@ -36,12 +36,12 @@ "@jest/globals": "29.5.0", "playwright": "1.34.3", "unbuild": "latest", - "vitest": "0.31.4" + "vitest": "0.32.0" }, "peerDependencies": { "@jest/globals": "^29.5.0", "playwright": "^1.34.3", - "vitest": "^0.30.0 || ^0.31.0", + "vitest": "^0.30.0 || ^0.31.0 || ^0.32.0", "vue": "^3.3.4" }, "peerDependenciesMeta": { diff --git a/packages/vite/package.json b/packages/vite/package.json index 090ee8dc12..03768d4d36 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -57,7 +57,7 @@ "ufo": "^1.1.2", "unplugin": "^1.3.1", "vite": "~4.3.9", - "vite-node": "^0.31.4", + "vite-node": "^0.32.0", "vite-plugin-checker": "^0.6.0", "vue-bundle-renderer": "^1.0.3" }, diff --git a/packages/vite/src/runtime/vite-node.mjs b/packages/vite/src/runtime/vite-node.mjs index 1aefdc5405..ca708b6775 100644 --- a/packages/vite/src/runtime/vite-node.mjs +++ b/packages/vite/src/runtime/vite-node.mjs @@ -33,14 +33,10 @@ export default async (ssrContext) => { } function createRunner () { - const _importers = new Map() return new ViteNodeRunner({ root: viteNodeOptions.root, // Equals to Nuxt `srcDir` base: viteNodeOptions.base, - resolveId (id, importer) { _importers.set(id, importer) }, async fetchModule (id) { - const importer = _importers.get(id) - _importers.delete(id) id = id.replace(/\/\//g, '/') // TODO: fix in vite-node return await viteNodeFetch('/module/' + encodeURI(id)).catch((err) => { const errorData = err?.data?.data @@ -49,7 +45,7 @@ function createRunner () { } let _err try { - const { message, stack } = formatViteError(errorData, id, importer) + const { message, stack } = formatViteError(errorData, id) _err = createError({ statusMessage: 'Vite Error', message, @@ -76,7 +72,7 @@ function createRunner () { * @param id {string} * @param importer {string} */ -function formatViteError (errorData, id, importer) { +function formatViteError (errorData, id) { const errorCode = errorData.name || errorData.reasonCode || errorData.code const frame = errorData.frame || errorData.source || errorData.pluginCode @@ -99,7 +95,7 @@ function formatViteError (errorData, id, importer) { const stack = [ message, - `at ${loc} ${importer ? `(imported from ${importer})` : ''}`, + `at ${loc}`, errorData.stack ].filter(Boolean).join('\n') diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 25d777d3bc..4063394a5f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -123,8 +123,8 @@ importers: specifier: 4.3.9 version: 4.3.9(@types/node@18.16.16) vitest: - specifier: 0.31.4 - version: 0.31.4(playwright@1.34.3) + specifier: 0.32.0 + version: 0.32.0(playwright@1.34.3) vue: specifier: 3.3.4 version: 3.3.4 @@ -211,8 +211,8 @@ importers: specifier: 4.3.9 version: 4.3.9(@types/node@18.16.16) vitest: - specifier: 0.31.4 - version: 0.31.4(playwright@1.34.3) + specifier: 0.32.0 + version: 0.32.0(playwright@1.34.3) webpack: specifier: 5.85.1 version: 5.85.1 @@ -414,7 +414,7 @@ importers: version: 0.2.0 ofetch: specifier: ^1.0.1 - version: 1.0.1 + version: 1.1.0 ohash: specifier: ^1.1.2 version: 1.1.2 @@ -498,8 +498,8 @@ importers: specifier: 4.3.9 version: 4.3.9(@types/node@18.16.16) vitest: - specifier: 0.31.4 - version: 0.31.4(playwright@1.34.3) + specifier: 0.32.0 + version: 0.32.0(playwright@1.34.3) packages/schema: dependencies: @@ -599,7 +599,7 @@ importers: version: 3.0.1 ofetch: specifier: ^1.0.1 - version: 1.0.1 + version: 1.1.0 pathe: specifier: ^1.1.1 version: 1.1.1 @@ -620,8 +620,8 @@ importers: specifier: latest version: 1.2.1 vitest: - specifier: 0.31.4 - version: 0.31.4(playwright@1.34.3) + specifier: 0.32.0 + version: 0.32.0(playwright@1.34.3) packages/vite: dependencies: @@ -722,8 +722,8 @@ importers: specifier: 4.3.9 version: 4.3.9(@types/node@18.16.16) vite-node: - specifier: ^0.31.4 - version: 0.31.4(@types/node@18.16.16) + specifier: ^0.32.0 + version: 0.32.0(@types/node@18.16.16) vite-plugin-checker: specifier: ^0.6.0 version: 0.6.0(eslint@8.42.0)(typescript@5.0.4)(vite@4.3.9)(vue-tsc@1.6.5) @@ -912,7 +912,7 @@ importers: devDependencies: ofetch: specifier: latest - version: 1.0.1 + version: 1.1.0 ufo: specifier: latest version: 1.1.2 @@ -921,7 +921,7 @@ importers: version: 1.3.1 vitest: specifier: latest - version: 0.31.4(playwright@1.34.3) + version: 0.32.0(playwright@1.34.3) vue-router: specifier: latest version: 4.2.2(vue@3.3.4) @@ -934,13 +934,13 @@ importers: devDependencies: ofetch: specifier: latest - version: 1.0.1 + version: 1.1.0 unplugin: specifier: latest version: 1.3.1 vitest: specifier: latest - version: 0.31.4(playwright@1.34.3) + version: 0.32.0(playwright@1.34.3) vue-router: specifier: latest version: 4.2.2(vue@3.3.4) @@ -1833,7 +1833,7 @@ packages: mri: 1.2.0 nanoid: 4.0.2 node-fetch: 3.3.1 - ofetch: 1.0.1 + ofetch: 1.1.0 parse-git-config: 3.0.0 rc9: 2.1.0 std-env: 3.3.3 @@ -2497,39 +2497,39 @@ packages: vite: 4.3.9(@types/node@18.16.16) vue: 3.3.4 - /@vitest/expect@0.31.4: - resolution: {integrity: sha512-tibyx8o7GUyGHZGyPgzwiaPaLDQ9MMuCOrc03BYT0nryUuhLbL7NV2r/q98iv5STlwMgaKuFJkgBW/8iPKwlSg==} + /@vitest/expect@0.32.0: + resolution: {integrity: sha512-VxVHhIxKw9Lux+O9bwLEEk2gzOUe93xuFHy9SzYWnnoYZFYg1NfBtnfnYWiJN7yooJ7KNElCK5YtA7DTZvtXtg==} dependencies: - '@vitest/spy': 0.31.4 - '@vitest/utils': 0.31.4 + '@vitest/spy': 0.32.0 + '@vitest/utils': 0.32.0 chai: 4.3.7 dev: true - /@vitest/runner@0.31.4: - resolution: {integrity: sha512-Wgm6UER+gwq6zkyrm5/wbpXGF+g+UBB78asJlFkIOwyse0pz8lZoiC6SW5i4gPnls/zUcPLWS7Zog0LVepXnpg==} + /@vitest/runner@0.32.0: + resolution: {integrity: sha512-QpCmRxftHkr72xt5A08xTEs9I4iWEXIOCHWhQQguWOKE4QH7DXSKZSOFibuwEIMAD7G0ERvtUyQn7iPWIqSwmw==} dependencies: - '@vitest/utils': 0.31.4 + '@vitest/utils': 0.32.0 concordance: 5.0.4 p-limit: 4.0.0 pathe: 1.1.1 dev: true - /@vitest/snapshot@0.31.4: - resolution: {integrity: sha512-LemvNumL3NdWSmfVAMpXILGyaXPkZbG5tyl6+RQSdcHnTj6hvA49UAI8jzez9oQyE/FWLKRSNqTGzsHuk89LRA==} + /@vitest/snapshot@0.32.0: + resolution: {integrity: sha512-yCKorPWjEnzpUxQpGlxulujTcSPgkblwGzAUEL+z01FTUg/YuCDZ8dxr9sHA08oO2EwxzHXNLjQKWJ2zc2a19Q==} dependencies: magic-string: 0.30.0 pathe: 1.1.1 pretty-format: 27.5.1 dev: true - /@vitest/spy@0.31.4: - resolution: {integrity: sha512-3ei5ZH1s3aqbEyftPAzSuunGICRuhE+IXOmpURFdkm5ybUADk+viyQfejNk6q8M5QGX8/EVKw+QWMEP3DTJDag==} + /@vitest/spy@0.32.0: + resolution: {integrity: sha512-MruAPlM0uyiq3d53BkwTeShXY0rYEfhNGQzVO5GHBmmX3clsxcWp79mMnkOVcV244sNTeDcHbcPFWIjOI4tZvw==} dependencies: tinyspy: 2.1.0 dev: true - /@vitest/utils@0.31.4: - resolution: {integrity: sha512-DobZbHacWznoGUfYU8XDPY78UubJxXfMNY1+SUdOp1NsI34eopSA6aZMeaGu10waSOeYwE8lxrd/pLfT0RMxjQ==} + /@vitest/utils@0.32.0: + resolution: {integrity: sha512-53yXunzx47MmbuvcOPpLaVljHaeSu1G2dHdmy7+9ngMnQIkBQcvwOcoclWFnxDMxFbnq8exAfh3aKSZaK71J5A==} dependencies: concordance: 5.0.4 loupe: 2.3.6 @@ -3319,8 +3319,8 @@ packages: convert-gitmoji: 0.1.3 execa: 7.1.1 mri: 1.2.0 - node-fetch-native: 1.1.1 - ofetch: 1.0.1 + node-fetch-native: 1.2.0 + ofetch: 1.1.0 open: 9.1.0 pathe: 1.1.1 pkg-types: 1.0.3 @@ -4890,7 +4890,7 @@ packages: defu: 6.1.2 https-proxy-agent: 5.0.1 mri: 1.2.0 - node-fetch-native: 1.1.1 + node-fetch-native: 1.2.0 pathe: 1.1.1 tar: 6.1.13 transitivePeerDependencies: @@ -6190,8 +6190,8 @@ packages: mime: 3.0.0 mlly: 1.3.0 mri: 1.2.0 - node-fetch-native: 1.1.1 - ofetch: 1.0.1 + node-fetch-native: 1.2.0 + ofetch: 1.1.0 ohash: 1.1.2 openapi-typescript: 6.2.4 pathe: 1.1.1 @@ -6237,8 +6237,8 @@ packages: resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} engines: {node: '>=10.5.0'} - /node-fetch-native@1.1.1: - resolution: {integrity: sha512-9VvspTSUp2Sxbl+9vbZTlFGq9lHwE8GDVVekxx6YsNd1YH59sb3Ba8v3Y3cD8PkLNcileGGcA21PFjVl0jzDaw==} + /node-fetch-native@1.2.0: + resolution: {integrity: sha512-5IAMBTl9p6PaAjYCnMv5FmqIF6GcZnawAVnzaCG0rX2aYZJ4CxEkZNtVPuTRug7fL7wyM5BQYTlAzcyMPi6oTQ==} /node-fetch@2.6.9: resolution: {integrity: sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==} @@ -6367,7 +6367,15 @@ packages: resolution: {integrity: sha512-icBz2JYfEpt+wZz1FRoGcrMigjNKjzvufE26m9+yUiacRQRHwnNlGRPiDnW4op7WX/MR6aniwS8xw8jyVelF2g==} dependencies: destr: 1.2.2 - node-fetch-native: 1.1.1 + node-fetch-native: 1.2.0 + ufo: 1.1.2 + dev: true + + /ofetch@1.1.0: + resolution: {integrity: sha512-yjq2ZUUMto1ITpge2J5vNlUfteLzxfHn9aJC55WtVGD3okKwSfPoLaKpcHXmmKd2kZZUGo+jdkFuuj09Blyeig==} + dependencies: + destr: 1.2.2 + node-fetch-native: 1.2.0 ufo: 1.1.2 /ohash@1.1.2: @@ -8019,7 +8027,7 @@ packages: consola: 3.1.0 defu: 6.1.2 mime: 3.0.0 - node-fetch-native: 1.1.1 + node-fetch-native: 1.2.0 pathe: 1.1.1 /unhead@1.1.27: @@ -8127,8 +8135,8 @@ packages: listhen: 1.0.4 lru-cache: 9.1.1 mri: 1.2.0 - node-fetch-native: 1.1.1 - ofetch: 1.0.1 + node-fetch-native: 1.2.0 + ofetch: 1.1.0 ufo: 1.1.2 transitivePeerDependencies: - supports-color @@ -8199,8 +8207,8 @@ packages: spdx-expression-parse: 3.0.1 dev: true - /vite-node@0.31.4(@types/node@18.16.16): - resolution: {integrity: sha512-uzL377GjJtTbuc5KQxVbDu2xfU/x0wVjUtXQR2ihS21q/NK6ROr4oG0rsSkBBddZUVCwzfx22in76/0ZZHXgkQ==} + /vite-node@0.32.0(@types/node@18.16.16): + resolution: {integrity: sha512-220P/y8YacYAU+daOAqiGEFXx2A8AwjadDzQqos6wSukjvvTWNqleJSwoUn0ckyNdjHIKoxn93Nh1vWBqEKr3Q==} engines: {node: '>=v14.18.0'} hasBin: true dependencies: @@ -8305,8 +8313,8 @@ packages: optionalDependencies: fsevents: 2.3.2 - /vitest@0.31.4(playwright@1.34.3): - resolution: {integrity: sha512-GoV0VQPmWrUFOZSg3RpQAPN+LPmHg2/gxlMNJlyxJihkz6qReHDV6b0pPDcqFLNEPya4tWJ1pgwUNP9MLmUfvQ==} + /vitest@0.32.0(playwright@1.34.3): + resolution: {integrity: sha512-SW83o629gCqnV3BqBnTxhB10DAwzwEx3z+rqYZESehUB+eWsJxwcBQx7CKy0otuGMJTYh7qCVuUX23HkftGl/Q==} engines: {node: '>=v14.18.0'} hasBin: true peerDependencies: @@ -8339,11 +8347,11 @@ packages: '@types/chai': 4.3.5 '@types/chai-subset': 1.3.3 '@types/node': 18.16.16 - '@vitest/expect': 0.31.4 - '@vitest/runner': 0.31.4 - '@vitest/snapshot': 0.31.4 - '@vitest/spy': 0.31.4 - '@vitest/utils': 0.31.4 + '@vitest/expect': 0.32.0 + '@vitest/runner': 0.32.0 + '@vitest/snapshot': 0.32.0 + '@vitest/spy': 0.32.0 + '@vitest/utils': 0.32.0 acorn: 8.8.2 acorn-walk: 8.2.0 cac: 6.7.14 @@ -8360,7 +8368,7 @@ packages: tinybench: 2.5.0 tinypool: 0.5.0 vite: 4.3.9(@types/node@18.16.16) - vite-node: 0.31.4(@types/node@18.16.16) + vite-node: 0.32.0(@types/node@18.16.16) why-is-node-running: 2.2.2 transitivePeerDependencies: - less diff --git a/test/bundle.test.ts b/test/bundle.test.ts index fd96b6301d..833368f566 100644 --- a/test/bundle.test.ts +++ b/test/bundle.test.ts @@ -34,7 +34,7 @@ describe.skipIf(isWindows || process.env.TEST_BUILDER === 'webpack' || process.e it('default client bundle size', async () => { stats.client = await analyzeSizes('**/*.js', publicDir) - expect(roundToKilobytes(stats.client.totalBytes)).toMatchInlineSnapshot('"97.8k"') + expect(roundToKilobytes(stats.client.totalBytes)).toMatchInlineSnapshot('"98.3k"') expect(stats.client.files.map(f => f.replace(/\..*\.js/, '.js'))).toMatchInlineSnapshot(` [ "_nuxt/entry.js", @@ -48,7 +48,7 @@ describe.skipIf(isWindows || process.env.TEST_BUILDER === 'webpack' || process.e expect(roundToKilobytes(stats.server.totalBytes)).toMatchInlineSnapshot('"62.6k"') const modules = await analyzeSizes('node_modules/**/*', serverDir) - expect(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"2284k"') + expect(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"2285k"') const packages = modules.files .filter(m => m.endsWith('package.json')) diff --git a/vitest.config.ts b/vitest.config.ts index 4380b49ac4..4576fbcdf6 100644 --- a/vitest.config.ts +++ b/vitest.config.ts @@ -15,7 +15,7 @@ export default defineConfig({ globalSetup: 'test/setup.ts', testTimeout: isWindows ? 60000 : 10000, // Excluded plugin because it should throw an error when accidentally loaded via Nuxt - exclude: [...configDefaults.exclude, '**/this-should-not-load.spec.js'], + exclude: [...configDefaults.exclude, '**/test.ts', '**/this-should-not-load.spec.js'], maxThreads: process.env.TEST_ENV === 'dev' ? 1 : undefined, minThreads: process.env.TEST_ENV === 'dev' ? 1 : undefined }