fix: default context should be undefined instead of null #965
+55
−1
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.
loaderUtils.interpolateName
breaks if it passesnull
to path.relativeThis PR contains a:
Motivation / Use-Case
When css-loader 3.0.0 is used with
react-dev-utils/getCSSModuleLocalIdent
the build fails because getLocalIdent passescontext
toloaderUtils.interpolateName
. interpolateName then uses thiscontext
to get a relative path usingpath.relative()
. Whileundefined
(the value in ^2.1.1) is ... undefined and thus simply ignored bypath.relative()
,null
is an object and causes the error below (shortened):This PR removes the
context
default option completely, implicitly setting its value back toundefined
.Breaking Changes
Existing tests are still passing so I assume there should be no breaking changes. I didn't add any additional tests though.
Additional Info
You should be able to reproduce this behavior by cloning my demo repo and run
npm run build
.