diff --git a/src/compiler/commandLineParser.ts b/src/compiler/commandLineParser.ts index 629063de29808..b88f6325ba0af 100644 --- a/src/compiler/commandLineParser.ts +++ b/src/compiler/commandLineParser.ts @@ -1104,6 +1104,7 @@ const commandOptionsWithoutBuild: CommandLineOption[] = [ category: Diagnostics.Modules, description: Diagnostics.Allow_imports_to_include_TypeScript_file_extensions_Requires_moduleResolution_bundler_and_either_noEmit_or_emitDeclarationOnly_to_be_set, defaultValueDescription: false, + transpileOptionValue: undefined, }, { name: "resolvePackageJsonExports", diff --git a/src/testRunner/unittests/services/transpile.ts b/src/testRunner/unittests/services/transpile.ts index f20efec044f93..b9f8bc915eca2 100644 --- a/src/testRunner/unittests/services/transpile.ts +++ b/src/testRunner/unittests/services/transpile.ts @@ -606,4 +606,18 @@ export * as alias from './file';`, { testVerbatimModuleSyntax: "only" } ); + + transpilesCorrectly("Can transpile .ts extensions without error", + `import { foo } from "./foo.ts";`, { + options: { compilerOptions: { module: ts.ModuleKind.ESNext, target: ts.ScriptTarget.ESNext } }, + testVerbatimModuleSyntax: true + } + ); + + transpilesCorrectly("Ignores `allowImportingTsExtensions` without `noEmit` error", + `import { foo } from "./foo.ts";`, { + options: { compilerOptions: { module: ts.ModuleKind.ESNext, allowImportingTsExtensions: true, target: ts.ScriptTarget.ESNext } }, + testVerbatimModuleSyntax: true + } + ); }); diff --git a/tests/baselines/reference/transpile/Can transpile .ts extensions without error (verbatimModuleSyntax=true).js b/tests/baselines/reference/transpile/Can transpile .ts extensions without error (verbatimModuleSyntax=true).js new file mode 100644 index 0000000000000..9a1ba82b5b69f --- /dev/null +++ b/tests/baselines/reference/transpile/Can transpile .ts extensions without error (verbatimModuleSyntax=true).js @@ -0,0 +1,2 @@ +import { foo } from "./foo.ts"; +//# sourceMappingURL=file.js.map \ No newline at end of file diff --git a/tests/baselines/reference/transpile/Can transpile .ts extensions without error (verbatimModuleSyntax=true).oldTranspile.js b/tests/baselines/reference/transpile/Can transpile .ts extensions without error (verbatimModuleSyntax=true).oldTranspile.js new file mode 100644 index 0000000000000..9a1ba82b5b69f --- /dev/null +++ b/tests/baselines/reference/transpile/Can transpile .ts extensions without error (verbatimModuleSyntax=true).oldTranspile.js @@ -0,0 +1,2 @@ +import { foo } from "./foo.ts"; +//# sourceMappingURL=file.js.map \ No newline at end of file diff --git a/tests/baselines/reference/transpile/Can transpile .ts extensions without error.js b/tests/baselines/reference/transpile/Can transpile .ts extensions without error.js new file mode 100644 index 0000000000000..e113dbc728253 --- /dev/null +++ b/tests/baselines/reference/transpile/Can transpile .ts extensions without error.js @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=file.js.map \ No newline at end of file diff --git a/tests/baselines/reference/transpile/Can transpile .ts extensions without error.oldTranspile.js b/tests/baselines/reference/transpile/Can transpile .ts extensions without error.oldTranspile.js new file mode 100644 index 0000000000000..e113dbc728253 --- /dev/null +++ b/tests/baselines/reference/transpile/Can transpile .ts extensions without error.oldTranspile.js @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=file.js.map \ No newline at end of file diff --git a/tests/baselines/reference/transpile/Ignores allowImportingTsExtensions without noEmit error (verbatimModuleSyntax=true).js b/tests/baselines/reference/transpile/Ignores allowImportingTsExtensions without noEmit error (verbatimModuleSyntax=true).js new file mode 100644 index 0000000000000..9a1ba82b5b69f --- /dev/null +++ b/tests/baselines/reference/transpile/Ignores allowImportingTsExtensions without noEmit error (verbatimModuleSyntax=true).js @@ -0,0 +1,2 @@ +import { foo } from "./foo.ts"; +//# sourceMappingURL=file.js.map \ No newline at end of file diff --git a/tests/baselines/reference/transpile/Ignores allowImportingTsExtensions without noEmit error (verbatimModuleSyntax=true).oldTranspile.js b/tests/baselines/reference/transpile/Ignores allowImportingTsExtensions without noEmit error (verbatimModuleSyntax=true).oldTranspile.js new file mode 100644 index 0000000000000..9a1ba82b5b69f --- /dev/null +++ b/tests/baselines/reference/transpile/Ignores allowImportingTsExtensions without noEmit error (verbatimModuleSyntax=true).oldTranspile.js @@ -0,0 +1,2 @@ +import { foo } from "./foo.ts"; +//# sourceMappingURL=file.js.map \ No newline at end of file diff --git a/tests/baselines/reference/transpile/Ignores allowImportingTsExtensions without noEmit error.js b/tests/baselines/reference/transpile/Ignores allowImportingTsExtensions without noEmit error.js new file mode 100644 index 0000000000000..e113dbc728253 --- /dev/null +++ b/tests/baselines/reference/transpile/Ignores allowImportingTsExtensions without noEmit error.js @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=file.js.map \ No newline at end of file diff --git a/tests/baselines/reference/transpile/Ignores allowImportingTsExtensions without noEmit error.oldTranspile.js b/tests/baselines/reference/transpile/Ignores allowImportingTsExtensions without noEmit error.oldTranspile.js new file mode 100644 index 0000000000000..e113dbc728253 --- /dev/null +++ b/tests/baselines/reference/transpile/Ignores allowImportingTsExtensions without noEmit error.oldTranspile.js @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=file.js.map \ No newline at end of file