From 2444b26edb6dae8b20ccb213097dc263ef28b535 Mon Sep 17 00:00:00 2001 From: Kevin Ross Date: Wed, 15 Jun 2022 11:17:32 -0500 Subject: [PATCH] Closes #28 - default mapping of sourc .ts import of unspecified extension should be .js --- .gitignore | 1 + lib/util/map-typescript-extension.js | 1 + tests/lib/rules/file-extension-in-import.js | 16 ++++++++++++++++ 3 files changed, 18 insertions(+) diff --git a/.gitignore b/.gitignore index 826f9654..fedf77f4 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ /node_modules /test.js .eslintcache +.vscode \ No newline at end of file diff --git a/lib/util/map-typescript-extension.js b/lib/util/map-typescript-extension.js index 079d98d5..ecd3d9f2 100644 --- a/lib/util/map-typescript-extension.js +++ b/lib/util/map-typescript-extension.js @@ -4,6 +4,7 @@ const path = require("path") const isTypescript = require("../util/is-typescript") const mapping = { + "": ".js", // default empty extension will map to js ".ts": ".js", ".cts": ".cjs", ".mts": ".mjs", diff --git a/tests/lib/rules/file-extension-in-import.js b/tests/lib/rules/file-extension-in-import.js index 8c0b3628..651097f6 100644 --- a/tests/lib/rules/file-extension-in-import.js +++ b/tests/lib/rules/file-extension-in-import.js @@ -73,6 +73,10 @@ new RuleTester({ filename: fixture("test.js"), code: "import './d.js'", }, + { + filename: fixture("test.ts"), + code: "import './a.js'", + }, { filename: fixture("test.ts"), code: "import './d.js'", @@ -145,6 +149,18 @@ new RuleTester({ output: "import './a.js'", errors: [{ messageId: "requireExt", data: { ext: ".js" } }], }, + { + filename: fixture("test.ts"), + code: "import './a'", + output: "import './a.js'", + errors: [{ messageId: "requireExt", data: { ext: ".js" } }], + }, + { + filename: fixture("test.ts"), + code: "import './d'", + output: "import './d.js'", + errors: [{ messageId: "requireExt", data: { ext: ".js" } }], + }, { filename: fixture("test.js"), code: "import './b'",