fix(wrangler): handling of process.env.NODE_ENV in bundling mode#7974
fix(wrangler): handling of process.env.NODE_ENV in bundling mode#7974
Conversation
🦋 Changeset detectedLatest commit: 09388b8 The changes in this PR will be included in the next version bump. This PR includes changesets to release 2 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
A wrangler prerelease is available for testing. You can install this latest build in your project with: npm install --save-dev https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13143624992/npm-package-wrangler-7974You can reference the automatically updated head of this PR with: npm install --save-dev https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/prs/7974/npm-package-wrangler-7974Or you can use npx https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13143624992/npm-package-wrangler-7974 dev path/to/script.jsAdditional artifacts:cloudflare-workers-bindings-extension: wget https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13143624992/npm-package-cloudflare-workers-bindings-extension-7974 -O ./cloudflare-workers-bindings-extension.0.0.0-vc785f3e7b.vsix && code --install-extension ./cloudflare-workers-bindings-extension.0.0.0-vc785f3e7b.vsixcreate-cloudflare: npx https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13143624992/npm-package-create-cloudflare-7974 --no-auto-update@cloudflare/kv-asset-handler: npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13143624992/npm-package-cloudflare-kv-asset-handler-7974miniflare: npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13143624992/npm-package-miniflare-7974@cloudflare/pages-shared: npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13143624992/npm-package-cloudflare-pages-shared-7974@cloudflare/unenv-preset: npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13143624992/npm-package-cloudflare-unenv-preset-7974@cloudflare/vite-plugin: npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13143624992/npm-package-cloudflare-vite-plugin-7974@cloudflare/vitest-pool-workers: npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13143624992/npm-package-cloudflare-vitest-pool-workers-7974@cloudflare/workers-editor-shared: npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13143624992/npm-package-cloudflare-workers-editor-shared-7974@cloudflare/workers-shared: npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13143624992/npm-package-cloudflare-workers-shared-7974@cloudflare/workflows-shared: npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13143624992/npm-package-cloudflare-workflows-shared-7974Note that these links will no longer work once the GitHub Actions artifact expires.
Please ensure constraints are pinned, and |
penalosa
left a comment
There was a problem hiding this comment.
Could you add a test for NODE_ENV?
39b99e4 to
096480a
Compare
Just did that by moving the test to a specific ESBuild/define file. Note that a default value is set somewhere - it probably explains why the bug went unnoticed... |
|
latest forced push is a rebase |
|
|
||
| expect(code).toContain(`userAgent = "Cloudflare-Workers";`); | ||
| expect(code).toContain(`g = global;`); | ||
| expect(code).toContain(`nodeEnv = "development";`); |
There was a problem hiding this comment.
Where does this development value come from?
There was a problem hiding this comment.
Not sure... but this is not changed by this PR.
Is it ok if I create an issue to investigate and link it here to tackle in a follow up PR?
There was a problem hiding this comment.
Oh actually this comes from the ...define:
define: {
...(defineNavigatorUserAgent
? { "navigator.userAgent": `"Cloudflare-Workers"` }
: {}),
...(runtimeProcessEnv
? { "process.env.NODE_ENV": `"${runtimeProcessEnv}"` }
: {}),
...(nodejsCompatMode === "legacy" ? { global: "globalThis" } : {}),
...define,
},I need to investigate this more
|
Closing for now as this is stale. We may re-address in future. |
Re-introduce #7932 with a test (reverted in #7967 because it was missing a test)