RFC: [next/jest] Compile in development mode, and leave NODE_ENV
blank
#33047
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem
Currently,
process.env.NODE_ENV
is set to beproduction
in thenext/jest
environment. I think the behavior isn't desirable — there are legit cases where we need to assert on DEV-only warnings in tests (for instance, make sure React doesn't fireunique "key"
warnings).Solution
This PR changes the behavior: source code gets compiled in development mode such that React and friends don't omit dev mode warnings. The actual
NODE_ENV
value is left blank. By default, Jest will setNODE_ENV
to"test"
(see jestjs/jest@3a38ddf). You can override the behavior via explicitly setting theNODE_ENV
environment variable.Test Plan
yarn test-unit
:process.env.NODE_ENV === "test"
NODE_ENV=development yarn test-unit
:process.env.NODE_ENV === "development"
Bug
fixes #number
contributing.md
Feature
fixes #number
contributing.md
Documentation / Examples
yarn lint