fix: honor --use-strict for CommonJS scripts - #65248
Open
SomSamantray wants to merge 1 commit into
Open
Conversation
Collaborator
|
Review requested:
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #65248 +/- ##
========================================
Coverage 90.31% 90.31%
========================================
Files 760 760
Lines 248637 249130 +493
Branches 46942 47055 +113
========================================
+ Hits 224556 225009 +453
- Misses 15475 15525 +50
+ Partials 8606 8596 -10 🚀 New features to boost your workflow:
|
aduh95
reviewed
Aug 12, 2026
…ripts `node --use-strict script.js` did not apply strict mode to CommonJS scripts. Parser::ParseWrapped(), used to parse the function V8 synthesizes for CommonJS module wrapping, hardcoded LanguageMode::kSloppy instead of consulting the language mode already configured on the ParseInfo. As a result the `--use-strict` CLI flag had no effect on ordinary script execution, even though it worked correctly from the REPL. Pass `info->language_mode()` through to ParseFunctionLiteral() so the wrapped function honors the language mode Node.js configured for the parse, matching V8's behavior for other entry points. Add regression coverage in test/parallel/test-cli-eval.js that runs a script assigning to an undeclared variable with and without `--use-strict`, asserting the ReferenceError is only thrown in the latter case. Fixes: nodejs#30039 Signed-off-by: Som Samantray <92726151+SomSamantray@users.noreply.github.com>
SomSamantray
force-pushed
the
fix/30039-use-strict
branch
from
August 13, 2026 08:31
6d9007b to
95d406f
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Issue
node --use-strict script.jsdid not apply strict mode to CommonJS scripts.Fix
Pass the configured language mode to V8 when parsing wrapped CommonJS functions, and add regression coverage for the CLI behavior.