From cb98634f4915bbf7468d33a380a54a372fb94e26 Mon Sep 17 00:00:00 2001 From: Sheetal Nandi Date: Fri, 28 Jun 2024 15:25:14 -0700 Subject: [PATCH] Remove errors if noEmit is sepcified with noCheck or emitDeclarationOnly (#59071) --- src/compiler/program.ts | 10 ---------- src/harness/harnessIO.ts | 2 +- .../declFileEmitDeclarationOnlyError2.errors.txt | 2 -- tests/baselines/reference/noCheckNoEmit.errors.txt | 9 --------- 4 files changed, 1 insertion(+), 22 deletions(-) delete mode 100644 tests/baselines/reference/noCheckNoEmit.errors.txt diff --git a/src/compiler/program.ts b/src/compiler/program.ts index 722e69c02d1..f111faaa4ef 100644 --- a/src/compiler/program.ts +++ b/src/compiler/program.ts @@ -4438,16 +4438,6 @@ export function createProgram(rootNamesOrOptions: readonly string[] | CreateProg if (!getEmitDeclarations(options)) { createDiagnosticForOptionName(Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1_or_option_2, "emitDeclarationOnly", "declaration", "composite"); } - - if (options.noEmit) { - createDiagnosticForOptionName(Diagnostics.Option_0_cannot_be_specified_with_option_1, "emitDeclarationOnly", "noEmit"); - } - } - - if (options.noCheck) { - if (options.noEmit) { - createDiagnosticForOptionName(Diagnostics.Option_0_cannot_be_specified_with_option_1, "noCheck", "noEmit"); - } } if ( diff --git a/src/harness/harnessIO.ts b/src/harness/harnessIO.ts index c906b38f948..0082536d8aa 100644 --- a/src/harness/harnessIO.ts +++ b/src/harness/harnessIO.ts @@ -453,7 +453,7 @@ export namespace Compiler { ): DeclarationCompilationContext | undefined { if (options.declaration && result.diagnostics.length === 0) { if (options.emitDeclarationOnly) { - if (result.js.size > 0 || result.dts.size === 0) { + if (result.js.size > 0 || (result.dts.size === 0 && !options.noEmit)) { throw new Error("Only declaration files should be generated when emitDeclarationOnly:true"); } } diff --git a/tests/baselines/reference/declFileEmitDeclarationOnlyError2.errors.txt b/tests/baselines/reference/declFileEmitDeclarationOnlyError2.errors.txt index f9e315dfe77..f8e3a3a11e1 100644 --- a/tests/baselines/reference/declFileEmitDeclarationOnlyError2.errors.txt +++ b/tests/baselines/reference/declFileEmitDeclarationOnlyError2.errors.txt @@ -1,8 +1,6 @@ -error TS5053: Option 'emitDeclarationOnly' cannot be specified with option 'noEmit'. error TS5069: Option 'emitDeclarationOnly' cannot be specified without specifying option 'declaration' or option 'composite'. -!!! error TS5053: Option 'emitDeclarationOnly' cannot be specified with option 'noEmit'. !!! error TS5069: Option 'emitDeclarationOnly' cannot be specified without specifying option 'declaration' or option 'composite'. ==== hello.ts (0 errors) ==== var hello = "yo!"; diff --git a/tests/baselines/reference/noCheckNoEmit.errors.txt b/tests/baselines/reference/noCheckNoEmit.errors.txt deleted file mode 100644 index c7080758de8..00000000000 --- a/tests/baselines/reference/noCheckNoEmit.errors.txt +++ /dev/null @@ -1,9 +0,0 @@ -error TS5053: Option 'emitDeclarationOnly' cannot be specified with option 'noEmit'. -error TS5053: Option 'noCheck' cannot be specified with option 'noEmit'. - - -!!! error TS5053: Option 'emitDeclarationOnly' cannot be specified with option 'noEmit'. -!!! error TS5053: Option 'noCheck' cannot be specified with option 'noEmit'. -==== noCheckNoEmit.ts (0 errors) ==== - export const a: number = "not ok"; - \ No newline at end of file