diff --git a/test/exportsField.test.js b/test/exportsField.test.js index d6b1db2..f180b1d 100644 --- a/test/exportsField.test.js +++ b/test/exportsField.test.js @@ -10,6 +10,7 @@ const fixture = path.resolve(__dirname, "fixtures", "exports-field"); const fixture2 = path.resolve(__dirname, "fixtures", "exports-field2"); const fixture3 = path.resolve(__dirname, "fixtures", "exports-field3"); const fixture4 = path.resolve(__dirname, "fixtures", "exports-field-error"); +const fixture5 = path.resolve(__dirname, "fixtures", "exports-field4"); describe("Process exports field", function exportsField() { /** @type {Array<{name: string, expect: string[]|Error, suite: [ExportsField, string, string[]]}>} */ @@ -3028,4 +3029,23 @@ describe("ExportsFieldPlugin", () => { done(); }); }); + + it("should try to resolve first absolute or relative url", done => { + const resolver = ResolverFactory.createResolver({ + extensions: [".js"], + extensionAlias: { + ".js": ".ts" + }, + fileSystem: nodeFileSystem, + fullySpecified: true, + conditionNames: ["webpack", "default"] + }); + + resolver.resolve({}, fixture5, "exports-field", {}, (err, result) => { + if (!err) return done(new Error(`expect error, got ${result}`)); + expect(err).toBeInstanceOf(Error); + expect(err.message).toMatch(/Can't resolve 'exports-field' in/); + done(); + }); + }); }); diff --git a/test/fixtures/exports-field4/node_modules/exports-field/index b/test/fixtures/exports-field4/node_modules/exports-field/index new file mode 100644 index 0000000..e69de29 diff --git a/test/fixtures/exports-field4/node_modules/exports-field/main.js b/test/fixtures/exports-field4/node_modules/exports-field/main.js new file mode 100644 index 0000000..bd816ea --- /dev/null +++ b/test/fixtures/exports-field4/node_modules/exports-field/main.js @@ -0,0 +1 @@ +module.exports = 1; diff --git a/test/fixtures/exports-field4/node_modules/exports-field/package.json b/test/fixtures/exports-field4/node_modules/exports-field/package.json new file mode 100644 index 0000000..f60b7fe --- /dev/null +++ b/test/fixtures/exports-field4/node_modules/exports-field/package.json @@ -0,0 +1,8 @@ +{ + "name": "exports-field", + "exports": [ + "bad-identifier", + "./not-exists.js", + "./main.js" + ] +}