diff --git a/src/compiler/commandLineParser.ts b/src/compiler/commandLineParser.ts
index 1ef420daf85..e83480e049c 100644
--- a/src/compiler/commandLineParser.ts
+++ b/src/compiler/commandLineParser.ts
@@ -672,6 +672,15 @@ const commandOptionsWithoutBuild: CommandLineOption[] = [
description: Diagnostics.Print_names_of_files_that_are_part_of_the_compilation_and_then_stop_processing,
defaultValueDescription: false,
},
+ {
+ name: "ignoreConfig",
+ type: "boolean",
+ showInSimplifiedHelpView: true,
+ category: Diagnostics.Command_line_Options,
+ isCommandLineOnly: true,
+ description: Diagnostics.Ignore_the_tsconfig_found_and_build_with_commandline_options_and_files,
+ defaultValueDescription: false,
+ },
// Basic
targetOptionDeclaration,
diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json
index 3b488167e8e..e7fbf7d169f 100644
--- a/src/compiler/diagnosticMessages.json
+++ b/src/compiler/diagnosticMessages.json
@@ -1539,7 +1539,6 @@
"category": "Error",
"code": 1464
},
-
"The 'import.meta' meta-property is not allowed in files which will build into CommonJS output.": {
"category": "Error",
"code": 1470
@@ -1849,7 +1848,10 @@
"category": "Error",
"code": 1546
},
-
+ "Ignore the tsconfig found and build with commandline options and files.": {
+ "category": "Message",
+ "code": 1547
+ },
"The types of '{0}' are incompatible between these types.": {
"category": "Error",
"code": 2200
@@ -1890,7 +1892,6 @@
"category": "Error",
"code": 2208
},
-
"The project root is ambiguous, but is required to resolve export map entry '{0}' in file '{1}'. Supply the `rootDir` compiler option to disambiguate.": {
"category": "Error",
"code": 2209
@@ -1907,7 +1908,6 @@
"category": "Message",
"code": 2212
},
-
"Duplicate identifier '{0}'.": {
"category": "Error",
"code": 2300
@@ -2888,7 +2888,6 @@
"category": "Error",
"code": 2568
},
-
"Could not find name '{0}'. Did you mean '{1}'?": {
"category": "Error",
"code": 2570
@@ -3129,7 +3128,6 @@
"category": "Error",
"code": 2639
},
-
"Cannot augment module '{0}' with value exports because it resolves to a non-module entity.": {
"category": "Error",
"code": 2649
@@ -4011,7 +4009,6 @@
"category": "Error",
"code": 2882
},
-
"Import declaration '{0}' is using private name '{1}'.": {
"category": "Error",
"code": 4000
@@ -4456,7 +4453,6 @@
"category": "Error",
"code": 4128
},
-
"The current host does not support the '{0}' option.": {
"category": "Error",
"code": 5001
@@ -4721,7 +4717,10 @@
"category": "Error",
"code": 5110
},
-
+ "tsconfig.json is present but will not be loaded if files are specified on commandline. Use '--ignoreConfig' to skip this error.": {
+ "category": "Error",
+ "code": 5111
+ },
"Generates a sourcemap for each corresponding '.d.ts' file.": {
"category": "Message",
"code": 6000
@@ -5665,7 +5664,6 @@
"category": "Error",
"code": 6266
},
-
"Directory '{0}' has no containing package.json scope. Imports will not resolve.": {
"category": "Message",
"code": 6270
@@ -5758,7 +5756,6 @@
"category": "Message",
"code": 6294
},
-
"Enable project compilation": {
"category": "Message",
"code": 6302
@@ -6041,7 +6038,6 @@
"category": "Message",
"code": 6421
},
-
"The expected type comes from property '{0}' which is declared here on type '{1}'": {
"category": "Message",
"code": 6500
@@ -6566,7 +6562,6 @@
"category": "Message",
"code": 6808
},
-
"one of:": {
"category": "Message",
"code": 6900
@@ -6695,7 +6690,6 @@
"category": "Error",
"code": 6931
},
-
"Variable '{0}' implicitly has an '{1}' type.": {
"category": "Error",
"code": 7005
@@ -6918,7 +6912,6 @@
"category": "Error",
"code": 7061
},
-
"You cannot rename this element.": {
"category": "Error",
"code": 8000
@@ -7063,7 +7056,6 @@
"category": "Error",
"code": 8039
},
-
"Declaration emit for this file requires using private name '{0}'. An explicit type annotation may unblock declaration emit.": {
"category": "Error",
"code": 9005
@@ -7296,7 +7288,6 @@
"category": "Error",
"code": 18003
},
-
"File is a CommonJS module; it may be converted to an ES module.": {
"category": "Suggestion",
"code": 80001
@@ -7337,7 +7328,6 @@
"category": "Suggestion",
"code": 80010
},
-
"Add missing 'super()' call": {
"category": "Message",
"code": 90001
@@ -7558,7 +7548,6 @@
"category": "Message",
"code": 90071
},
-
"Convert function to an ES2015 class": {
"category": "Message",
"code": 95001
@@ -8327,7 +8316,6 @@
"category": "Message",
"code": 95197
},
-
"No value exists in scope for the shorthand property '{0}'. Either declare one or provide an initializer.": {
"category": "Error",
"code": 18004
@@ -8524,4 +8512,4 @@
"category": "Error",
"code": 18061
}
-}
+}
\ No newline at end of file
diff --git a/src/compiler/executeCommandLine.ts b/src/compiler/executeCommandLine.ts
index edeb0eb277c..6b6fb23683c 100644
--- a/src/compiler/executeCommandLine.ts
+++ b/src/compiler/executeCommandLine.ts
@@ -614,20 +614,27 @@ function executeCommandLineWorker(
}
}
}
- else if (commandLine.fileNames.length === 0) {
+ else if (!commandLine.options.ignoreConfig || commandLine.fileNames.length === 0) {
const searchPath = normalizePath(sys.getCurrentDirectory());
configFileName = findConfigFile(searchPath, fileName => sys.fileExists(fileName));
- }
-
- if (commandLine.fileNames.length === 0 && !configFileName) {
- if (commandLine.options.showConfig) {
- reportDiagnostic(createCompilerDiagnostic(Diagnostics.Cannot_find_a_tsconfig_json_file_at_the_current_directory_Colon_0, normalizePath(sys.getCurrentDirectory())));
+ // if (!commandLine.options.ignoreConfig) {
+ if (commandLine.fileNames.length !== 0) {
+ if (configFileName) {
+ // Error to not specify config file
+ reportDiagnostic(createCompilerDiagnostic(Diagnostics.tsconfig_json_is_present_but_will_not_be_loaded_if_files_are_specified_on_commandline_Use_ignoreConfig_to_skip_this_error));
+ return sys.exit(ExitStatus.DiagnosticsPresent_OutputsSkipped);
+ }
}
- else {
- printVersion(sys);
- printHelp(sys, commandLine);
+ else if (!configFileName) {
+ if (commandLine.options.showConfig) {
+ reportDiagnostic(createCompilerDiagnostic(Diagnostics.Cannot_find_a_tsconfig_json_file_at_the_current_directory_Colon_0, normalizePath(sys.getCurrentDirectory())));
+ }
+ else {
+ printVersion(sys);
+ printHelp(sys, commandLine);
+ }
+ return sys.exit(ExitStatus.DiagnosticsPresent_OutputsSkipped);
}
- return sys.exit(ExitStatus.DiagnosticsPresent_OutputsSkipped);
}
const currentDirectory = sys.getCurrentDirectory();
diff --git a/src/compiler/types.ts b/src/compiler/types.ts
index 545d908c032..b9b2e233a0f 100644
--- a/src/compiler/types.ts
+++ b/src/compiler/types.ts
@@ -7559,6 +7559,7 @@ export interface CompilerOptions {
/** @internal */ watch?: boolean;
esModuleInterop?: boolean;
/** @internal */ showConfig?: boolean;
+ /** @internal */ ignoreConfig?: boolean;
useDefineForClassFields?: boolean;
/** @internal */ tscBuild?: boolean;
diff --git a/src/testRunner/tests.ts b/src/testRunner/tests.ts
index 5529cc87b35..6d164855b4f 100644
--- a/src/testRunner/tests.ts
+++ b/src/testRunner/tests.ts
@@ -119,6 +119,7 @@ export * from "./unittests/tsc/composite.js";
export * from "./unittests/tsc/declarationEmit.js";
export * from "./unittests/tsc/extends.js";
export * from "./unittests/tsc/forceConsistentCasingInFileNames.js";
+export * from "./unittests/tsc/ignoreConfig.js";
export * from "./unittests/tsc/incremental.js";
export * from "./unittests/tsc/libraryResolution.js";
export * from "./unittests/tsc/listFilesOnly.js";
diff --git a/src/testRunner/unittests/tsc/ignoreConfig.ts b/src/testRunner/unittests/tsc/ignoreConfig.ts
new file mode 100644
index 00000000000..79170d1fd8b
--- /dev/null
+++ b/src/testRunner/unittests/tsc/ignoreConfig.ts
@@ -0,0 +1,59 @@
+import * as ts from "../../_namespaces/ts.js";
+import { jsonToReadableText } from "../helpers.js";
+import { forEachNoEmitOnErrorScenarioTsc } from "../helpers/noEmitOnError.js";
+import { verifyTsc } from "../helpers/tsc.js";
+import { TestServerHost } from "../helpers/virtualFileSystemWithWatch.js";
+
+describe("unittests:: tsc:: ignoreConfig::", () => {
+ function sysWithoutConfig() {
+ return TestServerHost.createWatchedSystem({
+ "/home/src/workspaces/project/src/a.ts": "export const a = 10;",
+ "/home/src/workspaces/project/src/b.ts": "export const b = 10;",
+ "/home/src/workspaces/project/c.ts": "export const c = 10;",
+ });
+ }
+ function sysWithConfig() {
+ const sys = sysWithoutConfig();
+ sys.writeFile(
+ "/home/src/workspaces/project/tsconfig.json",
+ jsonToReadableText({
+ include: ["src"],
+ }),
+ );
+ return sys;
+ }
+ function runScenario(subScenario: string, commandLineArgs: readonly string[]) {
+ verifyTsc({
+ scenario: "ignoreConfig",
+ subScenario,
+ sys: sysWithConfig,
+ commandLineArgs: commandLineArgs,
+ });
+
+ verifyTsc({
+ scenario: "ignoreConfig",
+ subScenario: subScenario + " with --ignoreConfig",
+ sys: sysWithConfig,
+ commandLineArgs: commandLineArgs.concat("--ignoreConfig"),
+ });
+
+ verifyTsc({
+ scenario: "ignoreConfig",
+ subScenario: subScenario + " when config file absent",
+ sys: sysWithoutConfig,
+ commandLineArgs: commandLineArgs,
+ });
+
+ verifyTsc({
+ scenario: "ignoreConfig",
+ subScenario: subScenario + " when config file absent with --ignoreConfig",
+ sys: sysWithoutConfig,
+ commandLineArgs: commandLineArgs.concat("--ignoreConfig"),
+ });
+ }
+
+ runScenario("without any options", ts.emptyArray);
+ runScenario("specifying files", ["src/a.ts"]);
+ runScenario("specifying project", ["-p", "."]);
+ runScenario("mixing project and files", ["-p", ".", "src/a.ts", "c.ts"]);
+});
diff --git a/src/testRunner/unittests/tscWatch/resolutionCache.ts b/src/testRunner/unittests/tscWatch/resolutionCache.ts
index 267ef8cb5c4..fcf41017d37 100644
--- a/src/testRunner/unittests/tscWatch/resolutionCache.ts
+++ b/src/testRunner/unittests/tscWatch/resolutionCache.ts
@@ -424,7 +424,7 @@ declare module "fs" {
],
});
}
- verifyIgnore("watch without configFile", ["--w", `/user/username/projects/myproject/test.ts`]);
+ verifyIgnore("watch without configFile", ["--w", "--ignoreConfig", `/user/username/projects/myproject/test.ts`]);
verifyIgnore("watch with configFile", ["--w", "-p", `/user/username/projects/myproject/tsconfig.json`]);
});
diff --git a/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/ignoreConfig/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/ignoreConfig/tsconfig.json
new file mode 100644
index 00000000000..c9a9576660d
--- /dev/null
+++ b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/ignoreConfig/tsconfig.json
@@ -0,0 +1,5 @@
+{
+ "compilerOptions": {
+ "ignoreConfig": true
+ }
+}
diff --git a/tests/baselines/reference/tsc/commandLine/does-not-add-color-when-NO_COLOR-is-set.js b/tests/baselines/reference/tsc/commandLine/does-not-add-color-when-NO_COLOR-is-set.js
index 740a45787cc..21d23e5f23e 100644
--- a/tests/baselines/reference/tsc/commandLine/does-not-add-color-when-NO_COLOR-is-set.js
+++ b/tests/baselines/reference/tsc/commandLine/does-not-add-color-when-NO_COLOR-is-set.js
@@ -68,6 +68,9 @@ Compile the project given the path to its configuration file, or to a folder wit
--showConfig
Print the final configuration instead of building.
+--ignoreConfig
+Ignore the tsconfig found and build with commandline options and files.
+
--build, -b
Build one or more projects and their dependencies, if out of date
diff --git a/tests/baselines/reference/tsc/commandLine/help-all.js b/tests/baselines/reference/tsc/commandLine/help-all.js
index ed000797a4a..e2595de9e0b 100644
--- a/tests/baselines/reference/tsc/commandLine/help-all.js
+++ b/tests/baselines/reference/tsc/commandLine/help-all.js
@@ -36,6 +36,9 @@ Print this message.
[94m--help, -?[39m
+[94m--ignoreConfig[39m
+Ignore the tsconfig found and build with commandline options and files.
+
[94m--init[39m
Initializes a TypeScript project and creates a tsconfig.json file.
diff --git a/tests/baselines/reference/tsc/commandLine/help.js b/tests/baselines/reference/tsc/commandLine/help.js
index fcfab2360a3..c66e5c377b6 100644
--- a/tests/baselines/reference/tsc/commandLine/help.js
+++ b/tests/baselines/reference/tsc/commandLine/help.js
@@ -67,6 +67,9 @@ Compile the project given the path to its configuration file, or to a folder wit
[94m--showConfig[39m
Print the final configuration instead of building.
+[94m--ignoreConfig[39m
+Ignore the tsconfig found and build with commandline options and files.
+
[94m--build, -b[39m
Build one or more projects and their dependencies, if out of date
diff --git a/tests/baselines/reference/tsc/commandLine/show-help-with-ExitStatus.DiagnosticsPresent_OutputsSkipped-when-host-can't-provide-terminal-width.js b/tests/baselines/reference/tsc/commandLine/show-help-with-ExitStatus.DiagnosticsPresent_OutputsSkipped-when-host-can't-provide-terminal-width.js
index 34286084714..4e9d18c3ccd 100644
--- a/tests/baselines/reference/tsc/commandLine/show-help-with-ExitStatus.DiagnosticsPresent_OutputsSkipped-when-host-can't-provide-terminal-width.js
+++ b/tests/baselines/reference/tsc/commandLine/show-help-with-ExitStatus.DiagnosticsPresent_OutputsSkipped-when-host-can't-provide-terminal-width.js
@@ -68,6 +68,9 @@ Compile the project given the path to its configuration file, or to a folder wit
[94m--showConfig[39m
Print the final configuration instead of building.
+[94m--ignoreConfig[39m
+Ignore the tsconfig found and build with commandline options and files.
+
[94m--build, -b[39m
Build one or more projects and their dependencies, if out of date
diff --git a/tests/baselines/reference/tsc/commandLine/show-help-with-ExitStatus.DiagnosticsPresent_OutputsSkipped.js b/tests/baselines/reference/tsc/commandLine/show-help-with-ExitStatus.DiagnosticsPresent_OutputsSkipped.js
index 34286084714..4e9d18c3ccd 100644
--- a/tests/baselines/reference/tsc/commandLine/show-help-with-ExitStatus.DiagnosticsPresent_OutputsSkipped.js
+++ b/tests/baselines/reference/tsc/commandLine/show-help-with-ExitStatus.DiagnosticsPresent_OutputsSkipped.js
@@ -68,6 +68,9 @@ Compile the project given the path to its configuration file, or to a folder wit
[94m--showConfig[39m
Print the final configuration instead of building.
+[94m--ignoreConfig[39m
+Ignore the tsconfig found and build with commandline options and files.
+
[94m--build, -b[39m
Build one or more projects and their dependencies, if out of date
diff --git a/tests/baselines/reference/tsc/ignoreConfig/mixing-project-and-files-when-config-file-absent-with---ignoreConfig.js b/tests/baselines/reference/tsc/ignoreConfig/mixing-project-and-files-when-config-file-absent-with---ignoreConfig.js
new file mode 100644
index 00000000000..441b38a8760
--- /dev/null
+++ b/tests/baselines/reference/tsc/ignoreConfig/mixing-project-and-files-when-config-file-absent-with---ignoreConfig.js
@@ -0,0 +1,34 @@
+currentDirectory:: /home/src/workspaces/project useCaseSensitiveFileNames:: false
+Input::
+//// [/home/src/workspaces/project/src/a.ts]
+export const a = 10;
+
+//// [/home/src/workspaces/project/src/b.ts]
+export const b = 10;
+
+//// [/home/src/workspaces/project/c.ts]
+export const c = 10;
+
+//// [/home/src/tslibs/TS/Lib/lib.d.ts]
+///
+interface Boolean {}
+interface Function {}
+interface CallableFunction {}
+interface NewableFunction {}
+interface IArguments {}
+interface Number { toExponential: any; }
+interface Object {}
+interface RegExp {}
+interface String { charAt: any; }
+interface Array { length: number; [n: number]: T; }
+interface ReadonlyArray {}
+declare const console: { log(msg: any): void; };
+
+
+/home/src/tslibs/TS/Lib/tsc.js -p . src/a.ts c.ts --ignoreConfig
+Output::
+error TS5042: Option 'project' cannot be mixed with source files on a command line.
+
+
+
+exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped
diff --git a/tests/baselines/reference/tsc/ignoreConfig/mixing-project-and-files-when-config-file-absent.js b/tests/baselines/reference/tsc/ignoreConfig/mixing-project-and-files-when-config-file-absent.js
new file mode 100644
index 00000000000..6ac0a34d7ee
--- /dev/null
+++ b/tests/baselines/reference/tsc/ignoreConfig/mixing-project-and-files-when-config-file-absent.js
@@ -0,0 +1,34 @@
+currentDirectory:: /home/src/workspaces/project useCaseSensitiveFileNames:: false
+Input::
+//// [/home/src/workspaces/project/src/a.ts]
+export const a = 10;
+
+//// [/home/src/workspaces/project/src/b.ts]
+export const b = 10;
+
+//// [/home/src/workspaces/project/c.ts]
+export const c = 10;
+
+//// [/home/src/tslibs/TS/Lib/lib.d.ts]
+///
+interface Boolean {}
+interface Function {}
+interface CallableFunction {}
+interface NewableFunction {}
+interface IArguments {}
+interface Number { toExponential: any; }
+interface Object {}
+interface RegExp {}
+interface String { charAt: any; }
+interface Array { length: number; [n: number]: T; }
+interface ReadonlyArray {}
+declare const console: { log(msg: any): void; };
+
+
+/home/src/tslibs/TS/Lib/tsc.js -p . src/a.ts c.ts
+Output::
+error TS5042: Option 'project' cannot be mixed with source files on a command line.
+
+
+
+exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped
diff --git a/tests/baselines/reference/tsc/ignoreConfig/mixing-project-and-files-with---ignoreConfig.js b/tests/baselines/reference/tsc/ignoreConfig/mixing-project-and-files-with---ignoreConfig.js
new file mode 100644
index 00000000000..696b3e40813
--- /dev/null
+++ b/tests/baselines/reference/tsc/ignoreConfig/mixing-project-and-files-with---ignoreConfig.js
@@ -0,0 +1,41 @@
+currentDirectory:: /home/src/workspaces/project useCaseSensitiveFileNames:: false
+Input::
+//// [/home/src/workspaces/project/src/a.ts]
+export const a = 10;
+
+//// [/home/src/workspaces/project/src/b.ts]
+export const b = 10;
+
+//// [/home/src/workspaces/project/c.ts]
+export const c = 10;
+
+//// [/home/src/tslibs/TS/Lib/lib.d.ts]
+///
+interface Boolean {}
+interface Function {}
+interface CallableFunction {}
+interface NewableFunction {}
+interface IArguments {}
+interface Number { toExponential: any; }
+interface Object {}
+interface RegExp {}
+interface String { charAt: any; }
+interface Array { length: number; [n: number]: T; }
+interface ReadonlyArray {}
+declare const console: { log(msg: any): void; };
+
+//// [/home/src/workspaces/project/tsconfig.json]
+{
+ "include": [
+ "src"
+ ]
+}
+
+
+/home/src/tslibs/TS/Lib/tsc.js -p . src/a.ts c.ts --ignoreConfig
+Output::
+error TS5042: Option 'project' cannot be mixed with source files on a command line.
+
+
+
+exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped
diff --git a/tests/baselines/reference/tsc/ignoreConfig/mixing-project-and-files.js b/tests/baselines/reference/tsc/ignoreConfig/mixing-project-and-files.js
new file mode 100644
index 00000000000..0553a936380
--- /dev/null
+++ b/tests/baselines/reference/tsc/ignoreConfig/mixing-project-and-files.js
@@ -0,0 +1,41 @@
+currentDirectory:: /home/src/workspaces/project useCaseSensitiveFileNames:: false
+Input::
+//// [/home/src/workspaces/project/src/a.ts]
+export const a = 10;
+
+//// [/home/src/workspaces/project/src/b.ts]
+export const b = 10;
+
+//// [/home/src/workspaces/project/c.ts]
+export const c = 10;
+
+//// [/home/src/tslibs/TS/Lib/lib.d.ts]
+///
+interface Boolean {}
+interface Function {}
+interface CallableFunction {}
+interface NewableFunction {}
+interface IArguments {}
+interface Number { toExponential: any; }
+interface Object {}
+interface RegExp {}
+interface String { charAt: any; }
+interface Array { length: number; [n: number]: T; }
+interface ReadonlyArray {}
+declare const console: { log(msg: any): void; };
+
+//// [/home/src/workspaces/project/tsconfig.json]
+{
+ "include": [
+ "src"
+ ]
+}
+
+
+/home/src/tslibs/TS/Lib/tsc.js -p . src/a.ts c.ts
+Output::
+error TS5042: Option 'project' cannot be mixed with source files on a command line.
+
+
+
+exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped
diff --git a/tests/baselines/reference/tsc/ignoreConfig/specifying-files-when-config-file-absent-with---ignoreConfig.js b/tests/baselines/reference/tsc/ignoreConfig/specifying-files-when-config-file-absent-with---ignoreConfig.js
new file mode 100644
index 00000000000..6287b3208d4
--- /dev/null
+++ b/tests/baselines/reference/tsc/ignoreConfig/specifying-files-when-config-file-absent-with---ignoreConfig.js
@@ -0,0 +1,40 @@
+currentDirectory:: /home/src/workspaces/project useCaseSensitiveFileNames:: false
+Input::
+//// [/home/src/workspaces/project/src/a.ts]
+export const a = 10;
+
+//// [/home/src/workspaces/project/src/b.ts]
+export const b = 10;
+
+//// [/home/src/workspaces/project/c.ts]
+export const c = 10;
+
+//// [/home/src/tslibs/TS/Lib/lib.d.ts]
+///
+interface Boolean {}
+interface Function {}
+interface CallableFunction {}
+interface NewableFunction {}
+interface IArguments {}
+interface Number { toExponential: any; }
+interface Object {}
+interface RegExp {}
+interface String { charAt: any; }
+interface Array { length: number; [n: number]: T; }
+interface ReadonlyArray {}
+declare const console: { log(msg: any): void; };
+
+
+/home/src/tslibs/TS/Lib/tsc.js src/a.ts --ignoreConfig
+Output::
+
+
+//// [/home/src/workspaces/project/src/a.js]
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.a = void 0;
+exports.a = 10;
+
+
+
+exitCode:: ExitStatus.Success
diff --git a/tests/baselines/reference/tsc/ignoreConfig/specifying-files-when-config-file-absent.js b/tests/baselines/reference/tsc/ignoreConfig/specifying-files-when-config-file-absent.js
new file mode 100644
index 00000000000..a01fe61283f
--- /dev/null
+++ b/tests/baselines/reference/tsc/ignoreConfig/specifying-files-when-config-file-absent.js
@@ -0,0 +1,40 @@
+currentDirectory:: /home/src/workspaces/project useCaseSensitiveFileNames:: false
+Input::
+//// [/home/src/workspaces/project/src/a.ts]
+export const a = 10;
+
+//// [/home/src/workspaces/project/src/b.ts]
+export const b = 10;
+
+//// [/home/src/workspaces/project/c.ts]
+export const c = 10;
+
+//// [/home/src/tslibs/TS/Lib/lib.d.ts]
+///
+interface Boolean {}
+interface Function {}
+interface CallableFunction {}
+interface NewableFunction {}
+interface IArguments {}
+interface Number { toExponential: any; }
+interface Object {}
+interface RegExp {}
+interface String { charAt: any; }
+interface Array { length: number; [n: number]: T; }
+interface ReadonlyArray {}
+declare const console: { log(msg: any): void; };
+
+
+/home/src/tslibs/TS/Lib/tsc.js src/a.ts
+Output::
+
+
+//// [/home/src/workspaces/project/src/a.js]
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.a = void 0;
+exports.a = 10;
+
+
+
+exitCode:: ExitStatus.Success
diff --git a/tests/baselines/reference/tsc/ignoreConfig/specifying-files-with---ignoreConfig.js b/tests/baselines/reference/tsc/ignoreConfig/specifying-files-with---ignoreConfig.js
new file mode 100644
index 00000000000..07add4217b8
--- /dev/null
+++ b/tests/baselines/reference/tsc/ignoreConfig/specifying-files-with---ignoreConfig.js
@@ -0,0 +1,47 @@
+currentDirectory:: /home/src/workspaces/project useCaseSensitiveFileNames:: false
+Input::
+//// [/home/src/workspaces/project/src/a.ts]
+export const a = 10;
+
+//// [/home/src/workspaces/project/src/b.ts]
+export const b = 10;
+
+//// [/home/src/workspaces/project/c.ts]
+export const c = 10;
+
+//// [/home/src/tslibs/TS/Lib/lib.d.ts]
+///
+interface Boolean {}
+interface Function {}
+interface CallableFunction {}
+interface NewableFunction {}
+interface IArguments {}
+interface Number { toExponential: any; }
+interface Object {}
+interface RegExp {}
+interface String { charAt: any; }
+interface Array { length: number; [n: number]: T; }
+interface ReadonlyArray {}
+declare const console: { log(msg: any): void; };
+
+//// [/home/src/workspaces/project/tsconfig.json]
+{
+ "include": [
+ "src"
+ ]
+}
+
+
+/home/src/tslibs/TS/Lib/tsc.js src/a.ts --ignoreConfig
+Output::
+
+
+//// [/home/src/workspaces/project/src/a.js]
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.a = void 0;
+exports.a = 10;
+
+
+
+exitCode:: ExitStatus.Success
diff --git a/tests/baselines/reference/tsc/ignoreConfig/specifying-files.js b/tests/baselines/reference/tsc/ignoreConfig/specifying-files.js
new file mode 100644
index 00000000000..1b9b18b705f
--- /dev/null
+++ b/tests/baselines/reference/tsc/ignoreConfig/specifying-files.js
@@ -0,0 +1,41 @@
+currentDirectory:: /home/src/workspaces/project useCaseSensitiveFileNames:: false
+Input::
+//// [/home/src/workspaces/project/src/a.ts]
+export const a = 10;
+
+//// [/home/src/workspaces/project/src/b.ts]
+export const b = 10;
+
+//// [/home/src/workspaces/project/c.ts]
+export const c = 10;
+
+//// [/home/src/tslibs/TS/Lib/lib.d.ts]
+///
+interface Boolean {}
+interface Function {}
+interface CallableFunction {}
+interface NewableFunction {}
+interface IArguments {}
+interface Number { toExponential: any; }
+interface Object {}
+interface RegExp {}
+interface String { charAt: any; }
+interface Array { length: number; [n: number]: T; }
+interface ReadonlyArray {}
+declare const console: { log(msg: any): void; };
+
+//// [/home/src/workspaces/project/tsconfig.json]
+{
+ "include": [
+ "src"
+ ]
+}
+
+
+/home/src/tslibs/TS/Lib/tsc.js src/a.ts
+Output::
+error TS5111: tsconfig.json is present but will not be loaded if files are specified on commandline. Use '--ignoreConfig' to skip this error.
+
+
+
+exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped
diff --git a/tests/baselines/reference/tsc/ignoreConfig/specifying-project-when-config-file-absent-with---ignoreConfig.js b/tests/baselines/reference/tsc/ignoreConfig/specifying-project-when-config-file-absent-with---ignoreConfig.js
new file mode 100644
index 00000000000..d2c4c460c5f
--- /dev/null
+++ b/tests/baselines/reference/tsc/ignoreConfig/specifying-project-when-config-file-absent-with---ignoreConfig.js
@@ -0,0 +1,34 @@
+currentDirectory:: /home/src/workspaces/project useCaseSensitiveFileNames:: false
+Input::
+//// [/home/src/workspaces/project/src/a.ts]
+export const a = 10;
+
+//// [/home/src/workspaces/project/src/b.ts]
+export const b = 10;
+
+//// [/home/src/workspaces/project/c.ts]
+export const c = 10;
+
+//// [/home/src/tslibs/TS/Lib/lib.d.ts]
+///
+interface Boolean {}
+interface Function {}
+interface CallableFunction {}
+interface NewableFunction {}
+interface IArguments {}
+interface Number { toExponential: any; }
+interface Object {}
+interface RegExp {}
+interface String { charAt: any; }
+interface Array { length: number; [n: number]: T; }
+interface ReadonlyArray {}
+declare const console: { log(msg: any): void; };
+
+
+/home/src/tslibs/TS/Lib/tsc.js -p . --ignoreConfig
+Output::
+error TS5057: Cannot find a tsconfig.json file at the specified directory: '.'.
+
+
+
+exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped
diff --git a/tests/baselines/reference/tsc/ignoreConfig/specifying-project-when-config-file-absent.js b/tests/baselines/reference/tsc/ignoreConfig/specifying-project-when-config-file-absent.js
new file mode 100644
index 00000000000..92ecbe33532
--- /dev/null
+++ b/tests/baselines/reference/tsc/ignoreConfig/specifying-project-when-config-file-absent.js
@@ -0,0 +1,34 @@
+currentDirectory:: /home/src/workspaces/project useCaseSensitiveFileNames:: false
+Input::
+//// [/home/src/workspaces/project/src/a.ts]
+export const a = 10;
+
+//// [/home/src/workspaces/project/src/b.ts]
+export const b = 10;
+
+//// [/home/src/workspaces/project/c.ts]
+export const c = 10;
+
+//// [/home/src/tslibs/TS/Lib/lib.d.ts]
+///
+interface Boolean {}
+interface Function {}
+interface CallableFunction {}
+interface NewableFunction {}
+interface IArguments {}
+interface Number { toExponential: any; }
+interface Object {}
+interface RegExp {}
+interface String { charAt: any; }
+interface Array { length: number; [n: number]: T; }
+interface ReadonlyArray {}
+declare const console: { log(msg: any): void; };
+
+
+/home/src/tslibs/TS/Lib/tsc.js -p .
+Output::
+error TS5057: Cannot find a tsconfig.json file at the specified directory: '.'.
+
+
+
+exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped
diff --git a/tests/baselines/reference/tsc/ignoreConfig/specifying-project-with---ignoreConfig.js b/tests/baselines/reference/tsc/ignoreConfig/specifying-project-with---ignoreConfig.js
new file mode 100644
index 00000000000..b4f78861135
--- /dev/null
+++ b/tests/baselines/reference/tsc/ignoreConfig/specifying-project-with---ignoreConfig.js
@@ -0,0 +1,54 @@
+currentDirectory:: /home/src/workspaces/project useCaseSensitiveFileNames:: false
+Input::
+//// [/home/src/workspaces/project/src/a.ts]
+export const a = 10;
+
+//// [/home/src/workspaces/project/src/b.ts]
+export const b = 10;
+
+//// [/home/src/workspaces/project/c.ts]
+export const c = 10;
+
+//// [/home/src/tslibs/TS/Lib/lib.d.ts]
+///
+interface Boolean {}
+interface Function {}
+interface CallableFunction {}
+interface NewableFunction {}
+interface IArguments {}
+interface Number { toExponential: any; }
+interface Object {}
+interface RegExp {}
+interface String { charAt: any; }
+interface Array { length: number; [n: number]: T; }
+interface ReadonlyArray {}
+declare const console: { log(msg: any): void; };
+
+//// [/home/src/workspaces/project/tsconfig.json]
+{
+ "include": [
+ "src"
+ ]
+}
+
+
+/home/src/tslibs/TS/Lib/tsc.js -p . --ignoreConfig
+Output::
+
+
+//// [/home/src/workspaces/project/src/a.js]
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.a = void 0;
+exports.a = 10;
+
+
+//// [/home/src/workspaces/project/src/b.js]
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.b = void 0;
+exports.b = 10;
+
+
+
+exitCode:: ExitStatus.Success
diff --git a/tests/baselines/reference/tsc/ignoreConfig/specifying-project.js b/tests/baselines/reference/tsc/ignoreConfig/specifying-project.js
new file mode 100644
index 00000000000..2812c14e6ee
--- /dev/null
+++ b/tests/baselines/reference/tsc/ignoreConfig/specifying-project.js
@@ -0,0 +1,54 @@
+currentDirectory:: /home/src/workspaces/project useCaseSensitiveFileNames:: false
+Input::
+//// [/home/src/workspaces/project/src/a.ts]
+export const a = 10;
+
+//// [/home/src/workspaces/project/src/b.ts]
+export const b = 10;
+
+//// [/home/src/workspaces/project/c.ts]
+export const c = 10;
+
+//// [/home/src/tslibs/TS/Lib/lib.d.ts]
+///
+interface Boolean {}
+interface Function {}
+interface CallableFunction {}
+interface NewableFunction {}
+interface IArguments {}
+interface Number { toExponential: any; }
+interface Object {}
+interface RegExp {}
+interface String { charAt: any; }
+interface Array { length: number; [n: number]: T; }
+interface ReadonlyArray {}
+declare const console: { log(msg: any): void; };
+
+//// [/home/src/workspaces/project/tsconfig.json]
+{
+ "include": [
+ "src"
+ ]
+}
+
+
+/home/src/tslibs/TS/Lib/tsc.js -p .
+Output::
+
+
+//// [/home/src/workspaces/project/src/a.js]
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.a = void 0;
+exports.a = 10;
+
+
+//// [/home/src/workspaces/project/src/b.js]
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.b = void 0;
+exports.b = 10;
+
+
+
+exitCode:: ExitStatus.Success
diff --git a/tests/baselines/reference/tsc/ignoreConfig/without-any-options-when-config-file-absent-with---ignoreConfig.js b/tests/baselines/reference/tsc/ignoreConfig/without-any-options-when-config-file-absent-with---ignoreConfig.js
new file mode 100644
index 00000000000..c445b92020c
--- /dev/null
+++ b/tests/baselines/reference/tsc/ignoreConfig/without-any-options-when-config-file-absent-with---ignoreConfig.js
@@ -0,0 +1,177 @@
+currentDirectory:: /home/src/workspaces/project useCaseSensitiveFileNames:: false
+Input::
+//// [/home/src/workspaces/project/src/a.ts]
+export const a = 10;
+
+//// [/home/src/workspaces/project/src/b.ts]
+export const b = 10;
+
+//// [/home/src/workspaces/project/c.ts]
+export const c = 10;
+
+//// [/home/src/tslibs/TS/Lib/lib.d.ts]
+///
+interface Boolean {}
+interface Function {}
+interface CallableFunction {}
+interface NewableFunction {}
+interface IArguments {}
+interface Number { toExponential: any; }
+interface Object {}
+interface RegExp {}
+interface String { charAt: any; }
+interface Array { length: number; [n: number]: T; }
+interface ReadonlyArray {}
+declare const console: { log(msg: any): void; };
+
+
+/home/src/tslibs/TS/Lib/tsc.js --ignoreConfig
+Output::
+Version FakeTSVersion
+tsc: The TypeScript Compiler - Version FakeTSVersion
+
+[1mCOMMON COMMANDS[22m
+
+ [94mtsc[39m
+ Compiles the current project (tsconfig.json in the working directory.)
+
+ [94mtsc app.ts util.ts[39m
+ Ignoring tsconfig.json, compiles the specified files with default compiler options.
+
+ [94mtsc -b[39m
+ Build a composite project in the working directory.
+
+ [94mtsc --init[39m
+ Creates a tsconfig.json with the recommended settings in the working directory.
+
+ [94mtsc -p ./path/to/tsconfig.json[39m
+ Compiles the TypeScript project located at the specified path.
+
+ [94mtsc --help --all[39m
+ An expanded version of this information, showing all possible compiler options
+
+ [94mtsc --noEmit[39m
+ [94mtsc --target esnext[39m
+ Compiles the current project, with additional settings.
+
+[1mCOMMAND LINE FLAGS[22m
+
+[94m--help, -h[39m
+Print this message.
+
+[94m--watch, -w[39m
+Watch input files.
+
+[94m--all[39m
+Show all compiler options.
+
+[94m--version, -v[39m
+Print the compiler's version.
+
+[94m--init[39m
+Initializes a TypeScript project and creates a tsconfig.json file.
+
+[94m--project, -p[39m
+Compile the project given the path to its configuration file, or to a folder with a 'tsconfig.json'.
+
+[94m--showConfig[39m
+Print the final configuration instead of building.
+
+[94m--ignoreConfig[39m
+Ignore the tsconfig found and build with commandline options and files.
+
+[94m--build, -b[39m
+Build one or more projects and their dependencies, if out of date
+
+[1mCOMMON COMPILER OPTIONS[22m
+
+[94m--pretty[39m
+Enable color and formatting in TypeScript's output to make compiler errors easier to read.
+type: boolean
+default: true
+
+[94m--declaration, -d[39m
+Generate .d.ts files from TypeScript and JavaScript files in your project.
+type: boolean
+default: `false`, unless `composite` is set
+
+[94m--declarationMap[39m
+Create sourcemaps for d.ts files.
+type: boolean
+default: false
+
+[94m--emitDeclarationOnly[39m
+Only output d.ts files and not JavaScript files.
+type: boolean
+default: false
+
+[94m--sourceMap[39m
+Create source map files for emitted JavaScript files.
+type: boolean
+default: false
+
+[94m--noEmit[39m
+Disable emitting files from a compilation.
+type: boolean
+default: false
+
+[94m--target, -t[39m
+Set the JavaScript language version for emitted JavaScript and include compatible library declarations.
+one of: es5, es6/es2015, es2016, es2017, es2018, es2019, es2020, es2021, es2022, es2023, es2024, esnext
+default: es5
+
+[94m--module, -m[39m
+Specify what module code is generated.
+one of: none, commonjs, amd, umd, system, es6/es2015, es2020, es2022, esnext, node16, node18, node20, nodenext, preserve
+default: undefined
+
+[94m--lib[39m
+Specify a set of bundled library declaration files that describe the target runtime environment.
+one or more: es5, es6/es2015, es7/es2016, es2017, es2018, es2019, es2020, es2021, es2022, es2023, es2024, esnext, dom, dom.iterable, dom.asynciterable, webworker, webworker.importscripts, webworker.iterable, webworker.asynciterable, scripthost, es2015.core, es2015.collection, es2015.generator, es2015.iterable, es2015.promise, es2015.proxy, es2015.reflect, es2015.symbol, es2015.symbol.wellknown, es2016.array.include, es2016.intl, es2017.arraybuffer, es2017.date, es2017.object, es2017.sharedmemory, es2017.string, es2017.intl, es2017.typedarrays, es2018.asyncgenerator, es2018.asynciterable/esnext.asynciterable, es2018.intl, es2018.promise, es2018.regexp, es2019.array, es2019.object, es2019.string, es2019.symbol/esnext.symbol, es2019.intl, es2020.bigint/esnext.bigint, es2020.date, es2020.promise, es2020.sharedmemory, es2020.string, es2020.symbol.wellknown, es2020.intl, es2020.number, es2021.promise, es2021.string, es2021.weakref/esnext.weakref, es2021.intl, es2022.array, es2022.error, es2022.intl, es2022.object, es2022.string, es2022.regexp, es2023.array, es2023.collection, es2023.intl, es2024.arraybuffer, es2024.collection, es2024.object/esnext.object, es2024.promise, es2024.regexp/esnext.regexp, es2024.sharedmemory, es2024.string/esnext.string, esnext.array, esnext.collection, esnext.intl, esnext.disposable, esnext.promise, esnext.decorators, esnext.iterator, esnext.float16, esnext.error, esnext.sharedmemory, decorators, decorators.legacy
+default: undefined
+
+[94m--allowJs[39m
+Allow JavaScript files to be a part of your program. Use the 'checkJs' option to get errors from these files.
+type: boolean
+default: false
+
+[94m--checkJs[39m
+Enable error reporting in type-checked JavaScript files.
+type: boolean
+default: false
+
+[94m--jsx[39m
+Specify what JSX code is generated.
+one of: preserve, react, react-native, react-jsx, react-jsxdev
+default: undefined
+
+[94m--outFile[39m
+Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output.
+
+[94m--outDir[39m
+Specify an output folder for all emitted files.
+
+[94m--removeComments[39m
+Disable emitting comments.
+type: boolean
+default: false
+
+[94m--strict[39m
+Enable all strict type-checking options.
+type: boolean
+default: false
+
+[94m--types[39m
+Specify type package names to be included without being referenced in a source file.
+
+[94m--esModuleInterop[39m
+Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility.
+type: boolean
+default: false
+
+You can learn about all of the compiler options at https://aka.ms/tsc
+
+
+
+
+exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped
diff --git a/tests/baselines/reference/tsc/ignoreConfig/without-any-options-when-config-file-absent.js b/tests/baselines/reference/tsc/ignoreConfig/without-any-options-when-config-file-absent.js
new file mode 100644
index 00000000000..914598d8308
--- /dev/null
+++ b/tests/baselines/reference/tsc/ignoreConfig/without-any-options-when-config-file-absent.js
@@ -0,0 +1,177 @@
+currentDirectory:: /home/src/workspaces/project useCaseSensitiveFileNames:: false
+Input::
+//// [/home/src/workspaces/project/src/a.ts]
+export const a = 10;
+
+//// [/home/src/workspaces/project/src/b.ts]
+export const b = 10;
+
+//// [/home/src/workspaces/project/c.ts]
+export const c = 10;
+
+//// [/home/src/tslibs/TS/Lib/lib.d.ts]
+///
+interface Boolean {}
+interface Function {}
+interface CallableFunction {}
+interface NewableFunction {}
+interface IArguments {}
+interface Number { toExponential: any; }
+interface Object {}
+interface RegExp {}
+interface String { charAt: any; }
+interface Array { length: number; [n: number]: T; }
+interface ReadonlyArray {}
+declare const console: { log(msg: any): void; };
+
+
+/home/src/tslibs/TS/Lib/tsc.js
+Output::
+Version FakeTSVersion
+tsc: The TypeScript Compiler - Version FakeTSVersion
+
+[1mCOMMON COMMANDS[22m
+
+ [94mtsc[39m
+ Compiles the current project (tsconfig.json in the working directory.)
+
+ [94mtsc app.ts util.ts[39m
+ Ignoring tsconfig.json, compiles the specified files with default compiler options.
+
+ [94mtsc -b[39m
+ Build a composite project in the working directory.
+
+ [94mtsc --init[39m
+ Creates a tsconfig.json with the recommended settings in the working directory.
+
+ [94mtsc -p ./path/to/tsconfig.json[39m
+ Compiles the TypeScript project located at the specified path.
+
+ [94mtsc --help --all[39m
+ An expanded version of this information, showing all possible compiler options
+
+ [94mtsc --noEmit[39m
+ [94mtsc --target esnext[39m
+ Compiles the current project, with additional settings.
+
+[1mCOMMAND LINE FLAGS[22m
+
+[94m--help, -h[39m
+Print this message.
+
+[94m--watch, -w[39m
+Watch input files.
+
+[94m--all[39m
+Show all compiler options.
+
+[94m--version, -v[39m
+Print the compiler's version.
+
+[94m--init[39m
+Initializes a TypeScript project and creates a tsconfig.json file.
+
+[94m--project, -p[39m
+Compile the project given the path to its configuration file, or to a folder with a 'tsconfig.json'.
+
+[94m--showConfig[39m
+Print the final configuration instead of building.
+
+[94m--ignoreConfig[39m
+Ignore the tsconfig found and build with commandline options and files.
+
+[94m--build, -b[39m
+Build one or more projects and their dependencies, if out of date
+
+[1mCOMMON COMPILER OPTIONS[22m
+
+[94m--pretty[39m
+Enable color and formatting in TypeScript's output to make compiler errors easier to read.
+type: boolean
+default: true
+
+[94m--declaration, -d[39m
+Generate .d.ts files from TypeScript and JavaScript files in your project.
+type: boolean
+default: `false`, unless `composite` is set
+
+[94m--declarationMap[39m
+Create sourcemaps for d.ts files.
+type: boolean
+default: false
+
+[94m--emitDeclarationOnly[39m
+Only output d.ts files and not JavaScript files.
+type: boolean
+default: false
+
+[94m--sourceMap[39m
+Create source map files for emitted JavaScript files.
+type: boolean
+default: false
+
+[94m--noEmit[39m
+Disable emitting files from a compilation.
+type: boolean
+default: false
+
+[94m--target, -t[39m
+Set the JavaScript language version for emitted JavaScript and include compatible library declarations.
+one of: es5, es6/es2015, es2016, es2017, es2018, es2019, es2020, es2021, es2022, es2023, es2024, esnext
+default: es5
+
+[94m--module, -m[39m
+Specify what module code is generated.
+one of: none, commonjs, amd, umd, system, es6/es2015, es2020, es2022, esnext, node16, node18, node20, nodenext, preserve
+default: undefined
+
+[94m--lib[39m
+Specify a set of bundled library declaration files that describe the target runtime environment.
+one or more: es5, es6/es2015, es7/es2016, es2017, es2018, es2019, es2020, es2021, es2022, es2023, es2024, esnext, dom, dom.iterable, dom.asynciterable, webworker, webworker.importscripts, webworker.iterable, webworker.asynciterable, scripthost, es2015.core, es2015.collection, es2015.generator, es2015.iterable, es2015.promise, es2015.proxy, es2015.reflect, es2015.symbol, es2015.symbol.wellknown, es2016.array.include, es2016.intl, es2017.arraybuffer, es2017.date, es2017.object, es2017.sharedmemory, es2017.string, es2017.intl, es2017.typedarrays, es2018.asyncgenerator, es2018.asynciterable/esnext.asynciterable, es2018.intl, es2018.promise, es2018.regexp, es2019.array, es2019.object, es2019.string, es2019.symbol/esnext.symbol, es2019.intl, es2020.bigint/esnext.bigint, es2020.date, es2020.promise, es2020.sharedmemory, es2020.string, es2020.symbol.wellknown, es2020.intl, es2020.number, es2021.promise, es2021.string, es2021.weakref/esnext.weakref, es2021.intl, es2022.array, es2022.error, es2022.intl, es2022.object, es2022.string, es2022.regexp, es2023.array, es2023.collection, es2023.intl, es2024.arraybuffer, es2024.collection, es2024.object/esnext.object, es2024.promise, es2024.regexp/esnext.regexp, es2024.sharedmemory, es2024.string/esnext.string, esnext.array, esnext.collection, esnext.intl, esnext.disposable, esnext.promise, esnext.decorators, esnext.iterator, esnext.float16, esnext.error, esnext.sharedmemory, decorators, decorators.legacy
+default: undefined
+
+[94m--allowJs[39m
+Allow JavaScript files to be a part of your program. Use the 'checkJs' option to get errors from these files.
+type: boolean
+default: false
+
+[94m--checkJs[39m
+Enable error reporting in type-checked JavaScript files.
+type: boolean
+default: false
+
+[94m--jsx[39m
+Specify what JSX code is generated.
+one of: preserve, react, react-native, react-jsx, react-jsxdev
+default: undefined
+
+[94m--outFile[39m
+Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output.
+
+[94m--outDir[39m
+Specify an output folder for all emitted files.
+
+[94m--removeComments[39m
+Disable emitting comments.
+type: boolean
+default: false
+
+[94m--strict[39m
+Enable all strict type-checking options.
+type: boolean
+default: false
+
+[94m--types[39m
+Specify type package names to be included without being referenced in a source file.
+
+[94m--esModuleInterop[39m
+Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility.
+type: boolean
+default: false
+
+You can learn about all of the compiler options at https://aka.ms/tsc
+
+
+
+
+exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped
diff --git a/tests/baselines/reference/tsc/ignoreConfig/without-any-options-with---ignoreConfig.js b/tests/baselines/reference/tsc/ignoreConfig/without-any-options-with---ignoreConfig.js
new file mode 100644
index 00000000000..de610e05672
--- /dev/null
+++ b/tests/baselines/reference/tsc/ignoreConfig/without-any-options-with---ignoreConfig.js
@@ -0,0 +1,54 @@
+currentDirectory:: /home/src/workspaces/project useCaseSensitiveFileNames:: false
+Input::
+//// [/home/src/workspaces/project/src/a.ts]
+export const a = 10;
+
+//// [/home/src/workspaces/project/src/b.ts]
+export const b = 10;
+
+//// [/home/src/workspaces/project/c.ts]
+export const c = 10;
+
+//// [/home/src/tslibs/TS/Lib/lib.d.ts]
+///
+interface Boolean {}
+interface Function {}
+interface CallableFunction {}
+interface NewableFunction {}
+interface IArguments {}
+interface Number { toExponential: any; }
+interface Object {}
+interface RegExp {}
+interface String { charAt: any; }
+interface Array { length: number; [n: number]: T; }
+interface ReadonlyArray {}
+declare const console: { log(msg: any): void; };
+
+//// [/home/src/workspaces/project/tsconfig.json]
+{
+ "include": [
+ "src"
+ ]
+}
+
+
+/home/src/tslibs/TS/Lib/tsc.js --ignoreConfig
+Output::
+
+
+//// [/home/src/workspaces/project/src/a.js]
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.a = void 0;
+exports.a = 10;
+
+
+//// [/home/src/workspaces/project/src/b.js]
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.b = void 0;
+exports.b = 10;
+
+
+
+exitCode:: ExitStatus.Success
diff --git a/tests/baselines/reference/tsc/ignoreConfig/without-any-options.js b/tests/baselines/reference/tsc/ignoreConfig/without-any-options.js
new file mode 100644
index 00000000000..37abe54b6ba
--- /dev/null
+++ b/tests/baselines/reference/tsc/ignoreConfig/without-any-options.js
@@ -0,0 +1,54 @@
+currentDirectory:: /home/src/workspaces/project useCaseSensitiveFileNames:: false
+Input::
+//// [/home/src/workspaces/project/src/a.ts]
+export const a = 10;
+
+//// [/home/src/workspaces/project/src/b.ts]
+export const b = 10;
+
+//// [/home/src/workspaces/project/c.ts]
+export const c = 10;
+
+//// [/home/src/tslibs/TS/Lib/lib.d.ts]
+///
+interface Boolean {}
+interface Function {}
+interface CallableFunction {}
+interface NewableFunction {}
+interface IArguments {}
+interface Number { toExponential: any; }
+interface Object {}
+interface RegExp {}
+interface String { charAt: any; }
+interface Array { length: number; [n: number]: T; }
+interface ReadonlyArray {}
+declare const console: { log(msg: any): void; };
+
+//// [/home/src/workspaces/project/tsconfig.json]
+{
+ "include": [
+ "src"
+ ]
+}
+
+
+/home/src/tslibs/TS/Lib/tsc.js
+Output::
+
+
+//// [/home/src/workspaces/project/src/a.js]
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.a = void 0;
+exports.a = 10;
+
+
+//// [/home/src/workspaces/project/src/b.js]
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.b = void 0;
+exports.b = 10;
+
+
+
+exitCode:: ExitStatus.Success
diff --git a/tests/baselines/reference/tscWatch/resolutionCache/ignores-changes-in-node_modules-that-start-with-dot/watch-without-configFile.js b/tests/baselines/reference/tscWatch/resolutionCache/ignores-changes-in-node_modules-that-start-with-dot/watch-without-configFile.js
index eece3a5f26e..bba853b6d4e 100644
--- a/tests/baselines/reference/tscWatch/resolutionCache/ignores-changes-in-node_modules-that-start-with-dot/watch-without-configFile.js
+++ b/tests/baselines/reference/tscWatch/resolutionCache/ignores-changes-in-node_modules-that-start-with-dot/watch-without-configFile.js
@@ -25,7 +25,7 @@ interface ReadonlyArray {}
declare const console: { log(msg: any): void; };
-/home/src/tslibs/TS/Lib/tsc.js --w /user/username/projects/myproject/test.ts
+/home/src/tslibs/TS/Lib/tsc.js --w --ignoreConfig /user/username/projects/myproject/test.ts
Output::
>> Screen clear
[[90mHH:MM:SS AM[0m] Starting compilation in watch mode...
@@ -74,7 +74,8 @@ Program root files: [
"/user/username/projects/myproject/test.ts"
]
Program options: {
- "watch": true
+ "watch": true,
+ "ignoreConfig": true
}
Program structureReused: Not
Program files::