Skip to content

Commit

Permalink
fix(env): test NODE_ENV override before expand (#11309)
Browse files Browse the repository at this point in the history
  • Loading branch information
bluwy committed Dec 12, 2022
1 parent 3aaa0ea commit d0a9281
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 6 deletions.
8 changes: 8 additions & 0 deletions packages/vite/src/node/__tests__/env.spec.ts
Expand Up @@ -44,6 +44,14 @@ describe('loadEnv', () => {
expect(process.env.VITE_USER_NODE_ENV).toEqual(undefined)
})

test('VITE_USER_NODE_ENV for dev behaviour in build', () => {
const _nodeEnv = process.env.NODE_ENV
process.env.NODE_ENV = 'production'
loadEnv('testing', join(__dirname, './env'))
expect(process.env.VITE_USER_NODE_ENV).toEqual('development')
process.env.NODE_ENV = _nodeEnv
})

test('Already exists VITE_USER_NODE_ENV', () => {
process.env.VITE_USER_NODE_ENV = 'test'
loadEnv('development', join(__dirname, './env'))
Expand Down
1 change: 1 addition & 0 deletions packages/vite/src/node/__tests__/env/.env.testing
@@ -0,0 +1 @@
NODE_ENV=development
11 changes: 5 additions & 6 deletions packages/vite/src/node/env.ts
Expand Up @@ -35,6 +35,11 @@ export function loadEnv(
}),
)

// test NODE_ENV override before expand as otherwise process.env.NODE_ENV would override this
if (parsed.NODE_ENV && process.env.VITE_USER_NODE_ENV === undefined) {
process.env.VITE_USER_NODE_ENV = parsed.NODE_ENV
}

try {
// let environment variables use each other
expand({ parsed })
Expand All @@ -53,12 +58,6 @@ export function loadEnv(
for (const [key, value] of Object.entries(parsed)) {
if (prefixes.some((prefix) => key.startsWith(prefix))) {
env[key] = value
} else if (
key === 'NODE_ENV' &&
process.env.VITE_USER_NODE_ENV === undefined
) {
// NODE_ENV override in .env file
process.env.VITE_USER_NODE_ENV = value
}
}

Expand Down

0 comments on commit d0a9281

Please sign in to comment.