From 0a513a56b1d75f9b0ed42de66f20a7a76eca9449 Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Fri, 12 Aug 2022 15:16:08 +0100 Subject: [PATCH] feat(webpack, vite): default to `.js` extension for client (#6505) --- packages/schema/src/config/webpack.ts | 4 ++-- packages/vite/src/client.ts | 18 ++++++++++-------- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/packages/schema/src/config/webpack.ts b/packages/schema/src/config/webpack.ts index 642d01b280..15d40baf3e 100644 --- a/packages/schema/src/config/webpack.ts +++ b/packages/schema/src/config/webpack.ts @@ -122,8 +122,8 @@ export default { * ``` */ filenames: { - app: ({ isDev }) => isDev ? `[name].mjs` : `[contenthash:7].mjs`, - chunk: ({ isDev }) => isDev ? `[name].mjs` : `[contenthash:7].mjs`, + app: ({ isDev }) => isDev ? `[name].js` : `[contenthash:7].js`, + chunk: ({ isDev }) => isDev ? `[name].js` : `[contenthash:7].js`, css: ({ isDev }) => isDev ? '[name].css' : 'css/[contenthash:7].css', img: ({ isDev }) => isDev ? '[path][name].[ext]' : 'img/[name].[contenthash:7].[ext]', font: ({ isDev }) => isDev ? '[path][name].[ext]' : 'fonts/[name].[contenthash:7].[ext]', diff --git a/packages/vite/src/client.ts b/packages/vite/src/client.ts index c19f0b7e64..d42c293739 100644 --- a/packages/vite/src/client.ts +++ b/packages/vite/src/client.ts @@ -37,14 +37,6 @@ export async function buildClient (ctx: ViteBuildContext) { } }, build: { - rollupOptions: { - output: { - // https://github.com/vitejs/vite/tree/main/packages/vite/src/node/build.ts#L464-L478 - assetFileNames: ctx.nuxt.options.dev ? undefined : withoutLeadingSlash(join(ctx.nuxt.options.app.buildAssetsDir, '[name].[hash].[ext]')), - chunkFileNames: ctx.nuxt.options.dev ? undefined : withoutLeadingSlash(join(ctx.nuxt.options.app.buildAssetsDir, '[name].[hash].mjs')), - entryFileNames: ctx.nuxt.options.dev ? 'entry.mjs' : withoutLeadingSlash(join(ctx.nuxt.options.app.buildAssetsDir, '[name].[hash].mjs')) - } - }, manifest: true, outDir: resolve(ctx.nuxt.options.buildDir, 'dist/client') }, @@ -72,6 +64,16 @@ export async function buildClient (ctx: ViteBuildContext) { clientConfig.server.hmr = false } + // We want to respect users' own rollup output options + ctx.config.build.rollupOptions = defu(ctx.config.build.rollupOptions, { + output: { + // https://github.com/vitejs/vite/tree/main/packages/vite/src/node/build.ts#L464-L478 + assetFileNames: ctx.nuxt.options.dev ? undefined : withoutLeadingSlash(join(ctx.nuxt.options.app.buildAssetsDir, '[name].[hash].[ext]')), + chunkFileNames: ctx.nuxt.options.dev ? undefined : withoutLeadingSlash(join(ctx.nuxt.options.app.buildAssetsDir, '[name].[hash].js')), + entryFileNames: ctx.nuxt.options.dev ? 'entry.js' : withoutLeadingSlash(join(ctx.nuxt.options.app.buildAssetsDir, '[name].[hash].js')) + } + }) + if (clientConfig.server.hmr !== false) { const hmrPortDefault = 24678 // Vite's default HMR port const hmrPort = await getPort({