Skip to content
This repository has been archived by the owner on Apr 6, 2023. It is now read-only.

Commit

Permalink
fix(vite): sanitize asset filenames as well
Browse files Browse the repository at this point in the history
  • Loading branch information
danielroe committed Aug 30, 2022
1 parent aece2cd commit a0e9c9e
Showing 1 changed file with 9 additions and 4 deletions.
13 changes: 9 additions & 4 deletions packages/vite/src/client.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@ import { getPort } from 'get-port-please'
import { joinURL, withLeadingSlash, withoutLeadingSlash, withTrailingSlash } from 'ufo'
import escapeRE from 'escape-string-regexp'
import defu from 'defu'
import { sanitizeFilePath } from 'mlly'
import { filename } from 'pathe/utils'
import type { OutputOptions } from 'rollup'
import { cacheDirPlugin } from './plugins/cache-dir'
import { wpfs } from './utils/wpfs'
import type { ViteBuildContext, ViteOptions } from './vite'
Expand Down Expand Up @@ -76,14 +79,16 @@ export async function buildClient (ctx: ViteBuildContext) {
}

// We want to respect users' own rollup output options
ctx.config.build!.rollupOptions = defu(ctx.config.build!.rollupOptions!, {
clientConfig.build!.rollupOptions = defu(clientConfig.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]')),
assetFileNames: ctx.nuxt.options.dev
? undefined
: chunk => withoutLeadingSlash(join(ctx.nuxt.options.app.buildAssetsDir, `${sanitizeFilePath(filename(chunk.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'))
}
})
} as OutputOptions
}) as any

if (clientConfig.server && clientConfig.server.hmr !== false) {
const hmrPortDefault = 24678 // Vite's default HMR port
Expand Down

0 comments on commit a0e9c9e

Please sign in to comment.