-
Notifications
You must be signed in to change notification settings - Fork 1k
Open
Labels
caretakingPriority for caretakingPriority for caretaking
Description
Prerequisite: #10983
As of today process.env.NODE_ENV
is left undefined
by wrangler unless it is an explicitly set environment variable at build time or there is a define
in the wrangler config:
workers-sdk/packages/wrangler/src/deployment-bundle/bundle.ts
Lines 386 to 396 in 7d0417b
...(process.env.NODE_ENV && { | |
define: { | |
...(defineNavigatorUserAgent | |
? { "navigator.userAgent": `"Cloudflare-Workers"` } | |
: {}), | |
// use process.env["NODE_ENV" + ""] so that esbuild doesn't replace it | |
// when we do a build of wrangler. (re: https://github.com/cloudflare/workers-sdk/issues/1477) | |
"process.env.NODE_ENV": `"${process.env["NODE_ENV" + ""]}"`, | |
...define, | |
}, | |
}), |
However many packages are optimized for prod when process.env.NODE_ENV === "production"
.
We should align with what Vite does:
- default to "production" for
wrangler deploy/upload
- default to "development" for
wrangler dev
Note that the default should still be overridable using a build time process.env.NODE_ENV
(which include .env*
files) and wrangler define
config.
There are a couples of existing issues that would be solved:
Metadata
Metadata
Assignees
Labels
caretakingPriority for caretakingPriority for caretaking
Type
Projects
Status
Backlog