module: fix --check on ambiguous ESM files · nodejs/node@d7805e0 · GitHub
Skip to content

Commit d7805e0

Browse files
bitpshraduh95
authored andcommitted
module: fix --check on ambiguous ESM files
A `.js` file with no `"type"` in the nearest package.json has no format of its own, and `defaultGetFormat()` reports it as null. `--check` passed that null straight to `wrapSafe()`, which parses as CommonJS. Module syntax makes that parse bail out early, so the file was reported as valid and `--check` exited 0 even though it is not valid JavaScript under either goal. At load time the goal for such a file is decided by looking for module syntax in the source. Decide it the same way here, so the file is parsed as a module and its real syntax error is reported. Files whose format is known are unaffected, as are ambiguous files without module syntax, which are still parsed as CommonJS. Fixes: #65202 Signed-off-by: Paul Bouchon <mail@bitpshr.net> PR-URL: #65203 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Aviv Keller <me@aviv.sh>
1 parent ebd8c6b commit d7805e0

3 files changed

Lines changed: 17 additions & 0 deletions

File tree

lib/internal/main/check_syntax.js

Lines changed: 12 additions & 0 deletions
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
import fs from 'node:fs';
2+
var = ;

test/sequential/test-cli-syntax-bad.js

Lines changed: 3 additions & 0 deletions

0 commit comments

Comments
 (0)