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_ENVis set to beproductionin thenext/jestenvironment. 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_ENVvalue is left blank. By default, Jest will setNODE_ENVto"test"(see jestjs/jest@3a38ddf). You can override the behavior via explicitly setting theNODE_ENVenvironment variable.Test Plan
yarn test-unit:process.env.NODE_ENV === "test"NODE_ENV=development yarn test-unit:process.env.NODE_ENV === "development"Bug
fixes #numbercontributing.mdFeature
fixes #numbercontributing.mdDocumentation / Examples
yarn lint