diff --git a/src/compiler/commandLineParser.ts b/src/compiler/commandLineParser.ts index e55ab839c3f5a..d7919ef6fdb3f 100644 --- a/src/compiler/commandLineParser.ts +++ b/src/compiler/commandLineParser.ts @@ -1101,6 +1101,7 @@ const commandOptionsWithoutBuild: CommandLineOption[] = [ name: "allowImportingTsExtensions", type: "boolean", affectsSemanticDiagnostics: true, + affectsBuildInfo: true, 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, diff --git a/src/testRunner/unittests/config/commandLineParsing.ts b/src/testRunner/unittests/config/commandLineParsing.ts index d952ed1170d53..33a6ad5c24db9 100644 --- a/src/testRunner/unittests/config/commandLineParsing.ts +++ b/src/testRunner/unittests/config/commandLineParsing.ts @@ -245,3 +245,14 @@ describe("unittests:: config:: commandLineParsing:: parseBuildOptions", () => { assertParseResult("errors on invalid excludeFiles", ["--excludeFiles", "**/../*"]); }); }); + +describe("unittests:: config:: commandLineParsing:: optionDeclarations", () => { + it("should have affectsBuildInfo true for every option with affectsSemanticDiagnostics", () => { + for (const option of ts.optionDeclarations) { + if (option.affectsSemanticDiagnostics) { + // semantic diagnostics affect the build info, so ensure they're included + assert(option.affectsBuildInfo ?? false, option.name); + } + } + }); +});