diff --git a/src/node_file.cc b/src/node_file.cc index 6d097904f67b89..91d50ebed63442 100644 --- a/src/node_file.cc +++ b/src/node_file.cc @@ -3493,7 +3493,7 @@ void BindingData::LegacyMainResolve(const FunctionCallbackInfo<Value>& args) { } THROW_ERR_MODULE_NOT_FOUND(isolate, - "Cannot find package '%s' imported from %s", + "Entry point '%s' resolved from '%s' incorrectly", package_initial_file, *module_base); } diff --git a/test/es-module/test-cjs-legacyMainResolve.js b/test/es-module/test-cjs-legacyMainResolve.js index edb567bce403f2..ba9f7e1c0ac4a9 100644 --- a/test/es-module/test-cjs-legacyMainResolve.js +++ b/test/es-module/test-cjs-legacyMainResolve.js @@ -129,7 +129,7 @@ describe('legacyMainResolve', () => { ); assert.throws( () => legacyMainResolve(packageJsonUrl, { main: null }, packageJsonUrl), - { message: /index\.js/, code: 'ERR_MODULE_NOT_FOUND' }, + { message: /Entry point '[\w\S]+' resolved from '[\w\S]+' incorrectly/, code: 'ERR_MODULE_NOT_FOUND' }, ); }); @@ -137,7 +137,7 @@ describe('legacyMainResolve', () => { const packageJsonUrl = pathToFileURL('/c/file%20with%20percents/package.json'); assert.throws( () => legacyMainResolve(packageJsonUrl, { main: null }, packageJsonUrl), - { message: /index\.js/, code: 'ERR_MODULE_NOT_FOUND' }, + { message: /Entry point '[\w\S]+' resolved from '[\w\S]+' incorrectly/, code: 'ERR_MODULE_NOT_FOUND' }, ); }); @@ -150,7 +150,7 @@ describe('legacyMainResolve', () => { ); assert.throws( () => legacyMainResolve(packageJsonUrl, { main: './index.node' }, packageJsonUrl), - { message: /index\.node/, code: 'ERR_MODULE_NOT_FOUND' }, + { message: /Entry point '[\w\S]+' resolved from '[\w\S]+' incorrectly/, code: 'ERR_MODULE_NOT_FOUND' }, ); }); diff --git a/test/es-module/test-import-empty.js b/test/es-module/test-import-empty.js new file mode 100644 index 00000000000000..db9694fc3df357 --- /dev/null +++ b/test/es-module/test-import-empty.js @@ -0,0 +1,23 @@ +'use strict'; + +const { spawnPromisified } = require('../common'); +const fixtures = require('../common/fixtures.js'); +const assert = require('node:assert'); +const { execPath } = require('node:process'); +const { describe, it } = require('node:test'); + +describe('Import empty module', { concurrency: true }, () => { + it(async () => { + const { code, signal, stdout, stderr } = await spawnPromisified(execPath, [ + '--no-warnings', + '--eval', + 'import("empty")', + ], { + cwd: fixtures.path(), + }); + assert.match(stderr, /Entry point '[\w\S]+' resolved from '[\w\S]+' incorrectly/); + assert.strictEqual(stdout, ''); + assert.strictEqual(code, 1); + assert.strictEqual(signal, null); + }); +}); diff --git a/test/fixtures/node_modules/empty/package.json b/test/fixtures/node_modules/empty/package.json new file mode 100644 index 00000000000000..0967ef424bce67 --- /dev/null +++ b/test/fixtures/node_modules/empty/package.json @@ -0,0 +1 @@ +{}