feat(vite): replace browser globals with undefined on server (#24711)

This commit is contained in:
Daniel Roe 2023-12-14 13:17:50 +00:00 committed by GitHub
parent 72c8503236
commit 37a5d35a6d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -5,7 +5,6 @@ import viteJsxPlugin from '@vitejs/plugin-vue-jsx'
import { logger, resolvePath, tryResolveModule } from '@nuxt/kit'
import { joinURL, withTrailingSlash, withoutLeadingSlash } from 'ufo'
import type { ViteConfig } from '@nuxt/schema'
import replace from '@rollup/plugin-replace'
import type { ViteBuildContext } from './vite'
import { createViteLogger } from './utils/logger'
import { initViteNodeServer } from './vite-node'
@ -44,7 +43,12 @@ export async function buildServer (ctx: ViteBuildContext) {
'process.browser': false,
'import.meta.server': true,
'import.meta.client': false,
'import.meta.browser': false
'import.meta.browser': false,
'window': 'undefined',
'document': 'undefined',
'navigator': 'undefined',
'location': 'undefined',
'XMLHttpRequest': 'undefined'
},
optimizeDeps: {
entries: ctx.nuxt.options.ssr ? [ctx.entry] : []
@ -96,19 +100,6 @@ export async function buildServer (ctx: ViteBuildContext) {
preTransformRequests: false,
hmr: false
},
plugins: [
// @ts-expect-error types not compatible yet in `@rollup/plugin-replace`
replace({
values: {
'typeof window': '"undefined"',
'typeof document': '"undefined"',
'typeof navigator': '"undefined"',
'typeof location': '"undefined"',
'typeof XMLHttpRequest': '"undefined"'
},
preventAssignment: true
})
]
} satisfies vite.InlineConfig, ctx.nuxt.options.vite.$server || {}))
if (!ctx.nuxt.options.dev) {