From 0673440b732ccaa113017eeb4ca3f29d6cdb6b9b Mon Sep 17 00:00:00 2001 From: joeldenning Date: Tue, 9 Jan 2024 13:46:50 -0700 Subject: [PATCH] Fix issue with ../ imports --- lib/node-loader-extensionless.js | 2 +- test/basic.test.js | 7 +++++++ test/fixtures/parent/parent.js | 3 +++ test/fixtures/val1.js | 1 + 4 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 test/fixtures/parent/parent.js create mode 100644 test/fixtures/val1.js diff --git a/lib/node-loader-extensionless.js b/lib/node-loader-extensionless.js index b845f65..d24f4b3 100644 --- a/lib/node-loader-extensionless.js +++ b/lib/node-loader-extensionless.js @@ -14,7 +14,7 @@ const typescriptFileExts = [ export async function resolve(specifier, context, nextResolve) { const fileName = basename(specifier); const isRelativePath = - specifier.startsWith("./") ?? specifier.startsWith("../"); + specifier.startsWith("./") || specifier.startsWith("../"); let result; diff --git a/test/basic.test.js b/test/basic.test.js index fd72e0b..2934bf9 100644 --- a/test/basic.test.js +++ b/test/basic.test.js @@ -15,4 +15,11 @@ describe("basic usage", () => { // No .js should be added to this import specifier await import("@baseplate-sdk/utils"); }); + + it(`Adds extensions to ../ imports`, async () => { + // Parent has a ../ import in it + const parent = await import("./fixtures/parent/parent.js"); + assert.equal(parent.default, "parent"); + assert.equal(parent.val1, "val1"); + }); }); diff --git a/test/fixtures/parent/parent.js b/test/fixtures/parent/parent.js new file mode 100644 index 0000000..c46dc53 --- /dev/null +++ b/test/fixtures/parent/parent.js @@ -0,0 +1,3 @@ +export { val1 } from "../val1"; + +export default "parent"; diff --git a/test/fixtures/val1.js b/test/fixtures/val1.js new file mode 100644 index 0000000..d4b8c79 --- /dev/null +++ b/test/fixtures/val1.js @@ -0,0 +1 @@ +export const val1 = "val1";