Skip to content

Commit 2c439bb

Browse files
qualitymanifesttargos
authored andcommitted
lib: add parent to ERR_UNKNOWN_FILE_EXTENSION
- default_resolve updated to pass parentURL into error - ERR_UNKNOWN_FILE_EXTENSION updated to include parentURL - test added to check for import message in error PR-URL: #30728Fixes: #30721 Reviewed-By: Guy Bedford <guybedford@gmail.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
1 parent d9d6475 commit 2c439bb

3 files changed

Lines changed: 9 additions & 2 deletions

File tree

‎lib/internal/errors.js‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1228,7 +1228,9 @@ E('ERR_UNHANDLED_ERROR',
12281228
E('ERR_UNKNOWN_BUILTIN_MODULE','No such built-in module: %s',Error);
12291229
E('ERR_UNKNOWN_CREDENTIAL','%s identifier does not exist: %s',Error);
12301230
E('ERR_UNKNOWN_ENCODING','Unknown encoding: %s',TypeError);
1231-
E('ERR_UNKNOWN_FILE_EXTENSION','Unknown file extension: %s',TypeError);
1231+
E('ERR_UNKNOWN_FILE_EXTENSION',
1232+
'Unknown file extension "%s" for %s imported from %s',
1233+
TypeError);
12321234
E('ERR_UNKNOWN_MODULE_FORMAT','Unknown module format: %s',RangeError);
12331235
E('ERR_UNKNOWN_SIGNAL','Unknown signal: %s',TypeError);
12341236

‎lib/internal/modules/esm/default_resolve.js‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,10 @@ function resolve(specifier, parentURL) {
116116
'ExperimentalWarning');
117117
format=legacyExtensionFormatMap[ext];
118118
}else{
119-
thrownewERR_UNKNOWN_FILE_EXTENSION(fileURLToPath(url));
119+
thrownewERR_UNKNOWN_FILE_EXTENSION(
120+
ext,
121+
fileURLToPath(url),
122+
fileURLToPath(parentURL));
120123
}
121124
}
122125
return{url: `${url}`, format };

‎test/es-module/test-esm-invalid-extension.js‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,10 @@ const { spawnSync } = require('child_process');
66
constfixture=fixtures.path('/es-modules/import-invalid-ext.mjs');
77
constchild=spawnSync(process.execPath,[fixture]);
88
consterrMsg='TypeError [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension';
9+
constimportMsg=`imported from ${fixture}`;
910

1011
assert.strictEqual(child.status,1);
1112
assert.strictEqual(child.signal,null);
1213
assert.strictEqual(child.stdout.toString().trim(),'');
1314
assert(child.stderr.toString().includes(errMsg));
15+
assert(child.stderr.toString().includes(importMsg));

0 commit comments

Comments
 (0)