Skip to content

Commit e0835f4

Browse files
committed
fix(ssr): Account for non-node environments
1 parent 5b6573c commit e0835f4

File tree

1 file changed

+15
-7
lines changed

1 file changed

+15
-7
lines changed

packages/vite/src/node/plugins/define.ts

+15-7
Original file line numberDiff line numberDiff line change
@@ -30,15 +30,23 @@ export function definePlugin(config: ResolvedConfig): Plugin {
3030
})
3131
}
3232

33-
const processEnv = {
34-
'process.env.': `({}).`,
35-
'global.process.env.': `({}).`,
36-
'globalThis.process.env.': `({}).`
37-
}
38-
3933
function generatePattern(
4034
ssr: boolean
4135
): [Record<string, string | undefined>, RegExp] {
36+
const processEnv = ssr
37+
? {
38+
// account for non-node environments like v8
39+
'process.env.': `(typeof process === 'undefined' ? {} : process.env).`,
40+
'global.process.env.': `(typeof global.process === 'undefined' ? {} : global.process.env).`,
41+
'globalThis.process.env.': `(typeof globalThis.process === 'undefined' ? {} : globalThis.process.env).`
42+
}
43+
: {
44+
// client never has process
45+
'process.env.': `({}).`,
46+
'global.process.env.': `({}).`,
47+
'globalThis.process.env.': `({}).`
48+
}
49+
4250
const replacements: Record<string, string | undefined> = {
4351
'process.env.NODE_ENV': JSON.stringify(
4452
process.env.NODE_ENV || config.mode
@@ -51,7 +59,7 @@ export function definePlugin(config: ResolvedConfig): Plugin {
5159
),
5260
...userDefine,
5361
...importMetaKeys,
54-
...(ssr ? {} : processEnv)
62+
...processEnv
5563
}
5664

5765
const pattern = new RegExp(

0 commit comments

Comments
 (0)