| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent 26f0166 commit ef43f08
5 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1453,8 +1453,12 @@ E('ERR_MISSING_ARGS', | |||
| 1453 | 1453 | return `${msg} must be specified`; | |
| 1454 | 1454 | }, TypeError); | |
| 1455 | 1455 | E('ERR_MISSING_OPTION', '%s is required', TypeError); | |
| 1456 | - E('ERR_MODULE_NOT_FOUND', (path, base, type = 'package') => { | ||
| 1457 | - return `Cannot find ${type} '${path}' imported from ${base}`; | ||
| 1456 | + E('ERR_MODULE_NOT_FOUND', function(path, base, exactUrl) { | ||
| 1457 | + if (exactUrl) { | ||
| 1458 | + lazyInternalUtil().setOwnProperty(this, 'url', exactUrl); | ||
| 1459 | + } | ||
| 1460 | + return `Cannot find ${ | ||
| 1461 | + exactUrl ? 'module' : 'package'} '${path}' imported from ${base}`; | ||
| 1458 | 1462 | }, Error); | |
| 1459 | 1463 | E('ERR_MULTIPLE_CALLBACK', 'Callback called multiple times', Error); | |
| 1460 | 1464 | E('ERR_NAPI_CONS_FUNCTION', 'Constructor must be a function', TypeError); | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -144,7 +144,7 @@ function fetchWithRedirects(parsed) { | |||
| 144 | 144 | return entry; | |
| 145 | 145 | } | |
| 146 | 146 | if (res.statusCode === 404) { | |
| 147 | - const err = new ERR_MODULE_NOT_FOUND(parsed.href, null); | ||
| 147 | + const err = new ERR_MODULE_NOT_FOUND(parsed.href, null, parsed); | ||
| 148 | 148 | err.message = `Cannot find module '${parsed.href}', HTTP 404`; | |
| 149 | 149 | throw err; | |
| 150 | 150 | } | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -12,18 +12,20 @@ const experimentalImportMetaResolve = getOptionValue('--experimental-import-meta | |||
| 12 | 12 | function createImportMetaResolve(defaultParentURL, loader) { | |
| 13 | 13 | return function resolve(specifier, parentURL = defaultParentURL) { | |
| 14 | 14 | let url; | |
| 15 | - | ||
| 16 | 15 | try { | |
| 17 | 16 | ({ url } = loader.resolveSync(specifier, parentURL)); | |
| 17 | + return url; | ||
| 18 | 18 | } catch (error) { | |
| 19 | - if (error?.code === 'ERR_UNSUPPORTED_DIR_IMPORT') { | ||
| 20 | - ({ url } = error); | ||
| 21 | - } else { | ||
| 22 | - throw error; | ||
| 19 | + switch (error?.code) { | ||
| 20 | + case 'ERR_UNSUPPORTED_DIR_IMPORT': | ||
| 21 | + case 'ERR_MODULE_NOT_FOUND': | ||
| 22 | + ({ url } = error); | ||
| 23 | + if (url) { | ||
| 24 | + return url; | ||
| 25 | + } | ||
| 23 | 26 | } | |
| 27 | + throw error; | ||
| 24 | 28 | } | |
| 25 | - | ||
| 26 | - return url; | ||
| 27 | 29 | }; | |
| 28 | 30 | } | |
| 29 | 31 | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -289,7 +289,7 @@ function finalizeResolution(resolved, base, preserveSymlinks) { | |||
| 289 | 289 | process.send({ 'watch:require': [path || resolved.pathname] }); | |
| 290 | 290 | } | |
| 291 | 291 | throw new ERR_MODULE_NOT_FOUND( | |
| 292 | - path || resolved.pathname, base && fileURLToPath(base), 'module'); | ||
| 292 | + path || resolved.pathname, base && fileURLToPath(base), resolved); | ||
| 293 | 293 | } | |
| 294 | 294 | ||
| 295 | 295 | if (!preserveSymlinks) { | |
@@ -845,7 +845,7 @@ function packageResolve(specifier, base, conditions) { | |||
| 845 | 845 | ||
| 846 | 846 | // eslint can't handle the above code. | |
| 847 | 847 | // eslint-disable-next-line no-unreachable | |
| 848 | - throw new ERR_MODULE_NOT_FOUND(packageName, fileURLToPath(base)); | ||
| 848 | + throw new ERR_MODULE_NOT_FOUND(packageName, fileURLToPath(base), null); | ||
| 849 | 849 | } | |
| 850 | 850 | ||
| 851 | 851 | /** | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -9,8 +9,12 @@ const fixtures = dirname.slice(0, dirname.lastIndexOf('/', dirname.length - 2) + | |||
| 9 | 9 | ||
| 10 | 10 | assert.strictEqual(import.meta.resolve('./test-esm-import-meta.mjs'), | |
| 11 | 11 | dirname + 'test-esm-import-meta.mjs'); | |
| 12 | + const notFound = import.meta.resolve('./notfound.mjs'); | ||
| 13 | + assert.strictEqual(new URL(notFound).href, new URL('./notfound.mjs', import.meta.url).href); | ||
| 14 | + const noExtension = import.meta.resolve('./asset'); | ||
| 15 | + assert.strictEqual(new URL(noExtension).href, new URL('./asset', import.meta.url).href); | ||
| 12 | 16 | try { | |
| 13 | - import.meta.resolve('./notfound.mjs'); | ||
| 17 | + import.meta.resolve('does-not-exist'); | ||
| 14 | 18 | assert.fail(); | |
| 15 | 19 | } catch (e) { | |
| 16 | 20 | assert.strictEqual(e.code, 'ERR_MODULE_NOT_FOUND'); | |
| Back | FazBrowse Home | New Git URL |
0 commit comments