Skip to content

Commit 2063648

Browse files
authored
fix(client-inject): replace globalThis.process.env.NODE_ENV (fix #12185) (#12194)
1 parent 9cca30d commit 2063648

File tree

3 files changed

+11
-1
lines changed

3 files changed

+11
-1
lines changed

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ export function clientInjectionsPlugin(config: ResolvedConfig): Plugin {
6666
// for it to avoid shimming a `process` object during dev,
6767
// avoiding inconsistencies between dev and build
6868
return code.replace(
69-
/\bprocess\.env\.NODE_ENV\b/g,
69+
/(\bglobal(This)?\.)?\bprocess\.env\.NODE_ENV\b/g,
7070
config.define?.['process.env.NODE_ENV'] ||
7171
JSON.stringify(process.env.NODE_ENV || config.mode),
7272
)

playground/env/__tests__/env.spec.ts

+4
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,10 @@ test('bool', async () => {
4343

4444
test('NODE_ENV', async () => {
4545
expect(await page.textContent('.node-env')).toBe(process.env.NODE_ENV)
46+
expect(await page.textContent('.global-node-env')).toBe(process.env.NODE_ENV)
47+
expect(await page.textContent('.global-this-node-env')).toBe(
48+
process.env.NODE_ENV,
49+
)
4650
})
4751

4852
test('expand', async () => {

playground/env/index.html

+6
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@ <h1>Environment Variables</h1>
1414
<p>import.meta.env.VITE_INLINE: <code class="inline"></code></p>
1515
<p>typeof import.meta.env.VITE_BOOL: <code class="bool"></code></p>
1616
<p>process.env.NODE_ENV: <code class="node-env"></code></p>
17+
<p>global.process.env.NODE_ENV: <code class="global-node-env"></code></p>
18+
<p>
19+
globalThis.process.env.NODE_ENV: <code class="global-this-node-env"></code>
20+
</p>
1721
<p>import.meta.env.VITE_EXPAND_A: <code class="expand-a"></code></p>
1822
<p>import.meta.env.VITE_EXPAND_B: <code class="expand-b"></code></p>
1923
<p>import.meta.env.SSR: <code class="ssr"></code></p>
@@ -32,6 +36,8 @@ <h1>Environment Variables</h1>
3236
text('.bool', typeof import.meta.env.VITE_BOOL)
3337
text('.ssr', import.meta.env.SSR)
3438
text('.node-env', process.env.NODE_ENV)
39+
text('.global-node-env', global.process.env.NODE_ENV)
40+
text('.global-this-node-env', globalThis.process.env.NODE_ENV)
3541
text('.env-object', JSON.stringify(import.meta.env, null, 2))
3642
text('.expand-a', import.meta.env.VITE_EXPAND_A)
3743
text('.expand-b', import.meta.env.VITE_EXPAND_B)

0 commit comments

Comments
 (0)