From 2f9077030a092a2512d30fef7f446bac671a3414 Mon Sep 17 00:00:00 2001 From: Jolyn Denning Date: Sun, 17 Aug 2025 22:38:33 -0600 Subject: [PATCH 1/3] Fix error thrown with empty entry while using node-resolve plugin --- packages/node-resolve/src/index.js | 2 +- packages/node-resolve/test/test.mjs | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/packages/node-resolve/src/index.js b/packages/node-resolve/src/index.js index 10445e8af..1ed3989e4 100644 --- a/packages/node-resolve/src/index.js +++ b/packages/node-resolve/src/index.js @@ -152,7 +152,7 @@ export function nodeResolve(opts = {}) { const importSpecifierList = [importee]; - if (importer === undefined && !importee[0].match(/^\.?\.?\//)) { + if (importer === undefined && importee[0] && !importee[0].match(/^\.?\.?\//)) { // For module graph roots (i.e. when importer is undefined), we // need to handle 'path fragments` like `foo/bar` that are commonly // found in rollup config files. If importee doesn't look like a diff --git a/packages/node-resolve/test/test.mjs b/packages/node-resolve/test/test.mjs index 64cabc347..33e1c5c2e 100755 --- a/packages/node-resolve/test/test.mjs +++ b/packages/node-resolve/test/test.mjs @@ -743,3 +743,15 @@ test('allow other plugins to take over resolution', async (t) => { ] }); }); + +test('error message for invalid entry', async (t) => { + const error = await t.throwsAsync(async () => await rollup({ + input: "", + onwarn: failOnWarn(t), + plugins: [ + nodeResolve() + ] + })); + + t.is(error.message, `Could not resolve entry module "".`); +}); From fa74e390fe7e071a45aea91127409720e45fb5f6 Mon Sep 17 00:00:00 2001 From: Jolyn Denning Date: Sun, 17 Aug 2025 22:51:20 -0600 Subject: [PATCH 2/3] Clean up test syntax --- packages/node-resolve/test/test.mjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/node-resolve/test/test.mjs b/packages/node-resolve/test/test.mjs index 33e1c5c2e..639d4cad5 100755 --- a/packages/node-resolve/test/test.mjs +++ b/packages/node-resolve/test/test.mjs @@ -745,7 +745,7 @@ test('allow other plugins to take over resolution', async (t) => { }); test('error message for invalid entry', async (t) => { - const error = await t.throwsAsync(async () => await rollup({ + const error = await t.throwsAsync(() => rollup({ input: "", onwarn: failOnWarn(t), plugins: [ From 5f10fdab10fab4287dcf0cd159afcf8068e21140 Mon Sep 17 00:00:00 2001 From: Jolyn Denning Date: Sat, 6 Sep 2025 10:54:20 -0600 Subject: [PATCH 3/3] Formatting --- packages/node-resolve/test/test.mjs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/node-resolve/test/test.mjs b/packages/node-resolve/test/test.mjs index 639d4cad5..dec0cbfce 100755 --- a/packages/node-resolve/test/test.mjs +++ b/packages/node-resolve/test/test.mjs @@ -745,13 +745,13 @@ test('allow other plugins to take over resolution', async (t) => { }); test('error message for invalid entry', async (t) => { - const error = await t.throwsAsync(() => rollup({ - input: "", - onwarn: failOnWarn(t), - plugins: [ - nodeResolve() - ] - })); + const error = await t.throwsAsync(() => + rollup({ + input: '', + onwarn: failOnWarn(t), + plugins: [nodeResolve()] + }) + ); t.is(error.message, `Could not resolve entry module "".`); });