Add --ignoreConfig

This commit is contained in:
Sheetal Nandi
2025-09-22 15:39:31 -07:00
parent 904e7dd97d
commit 5e5aaa980e
30 changed files with 1076 additions and 34 deletions
+9
View File
@@ -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,
+9 -21
View File
@@ -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
}
}
}
+17 -10
View File
@@ -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();
+1
View File
@@ -7559,6 +7559,7 @@ export interface CompilerOptions {
/** @internal */ watch?: boolean;
esModuleInterop?: boolean;
/** @internal */ showConfig?: boolean;
/** @internal */ ignoreConfig?: boolean;
useDefineForClassFields?: boolean;
/** @internal */ tscBuild?: boolean;
+1
View File
@@ -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";
@@ -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"]);
});
@@ -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`]);
});
@@ -0,0 +1,5 @@
{
"compilerOptions": {
"ignoreConfig": true
}
}
@@ -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
@@ -36,6 +36,9 @@ Print this message.
--help, -?
--ignoreConfig
Ignore the tsconfig found and build with commandline options and files.
--init
Initializes a TypeScript project and creates a tsconfig.json file.
@@ -67,6 +67,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
@@ -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
@@ -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
@@ -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]
/// <reference no-default-lib="true"/>
interface Boolean {}
interface Function {}
interface CallableFunction {}
interface NewableFunction {}
interface IArguments {}
interface Number { toExponential: any; }
interface Object {}
interface RegExp {}
interface String { charAt: any; }
interface Array<T> { length: number; [n: number]: T; }
interface ReadonlyArray<T> {}
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
@@ -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]
/// <reference no-default-lib="true"/>
interface Boolean {}
interface Function {}
interface CallableFunction {}
interface NewableFunction {}
interface IArguments {}
interface Number { toExponential: any; }
interface Object {}
interface RegExp {}
interface String { charAt: any; }
interface Array<T> { length: number; [n: number]: T; }
interface ReadonlyArray<T> {}
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
@@ -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]
/// <reference no-default-lib="true"/>
interface Boolean {}
interface Function {}
interface CallableFunction {}
interface NewableFunction {}
interface IArguments {}
interface Number { toExponential: any; }
interface Object {}
interface RegExp {}
interface String { charAt: any; }
interface Array<T> { length: number; [n: number]: T; }
interface ReadonlyArray<T> {}
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
@@ -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]
/// <reference no-default-lib="true"/>
interface Boolean {}
interface Function {}
interface CallableFunction {}
interface NewableFunction {}
interface IArguments {}
interface Number { toExponential: any; }
interface Object {}
interface RegExp {}
interface String { charAt: any; }
interface Array<T> { length: number; [n: number]: T; }
interface ReadonlyArray<T> {}
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
@@ -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]
/// <reference no-default-lib="true"/>
interface Boolean {}
interface Function {}
interface CallableFunction {}
interface NewableFunction {}
interface IArguments {}
interface Number { toExponential: any; }
interface Object {}
interface RegExp {}
interface String { charAt: any; }
interface Array<T> { length: number; [n: number]: T; }
interface ReadonlyArray<T> {}
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
@@ -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]
/// <reference no-default-lib="true"/>
interface Boolean {}
interface Function {}
interface CallableFunction {}
interface NewableFunction {}
interface IArguments {}
interface Number { toExponential: any; }
interface Object {}
interface RegExp {}
interface String { charAt: any; }
interface Array<T> { length: number; [n: number]: T; }
interface ReadonlyArray<T> {}
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
@@ -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]
/// <reference no-default-lib="true"/>
interface Boolean {}
interface Function {}
interface CallableFunction {}
interface NewableFunction {}
interface IArguments {}
interface Number { toExponential: any; }
interface Object {}
interface RegExp {}
interface String { charAt: any; }
interface Array<T> { length: number; [n: number]: T; }
interface ReadonlyArray<T> {}
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
@@ -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]
/// <reference no-default-lib="true"/>
interface Boolean {}
interface Function {}
interface CallableFunction {}
interface NewableFunction {}
interface IArguments {}
interface Number { toExponential: any; }
interface Object {}
interface RegExp {}
interface String { charAt: any; }
interface Array<T> { length: number; [n: number]: T; }
interface ReadonlyArray<T> {}
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
@@ -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]
/// <reference no-default-lib="true"/>
interface Boolean {}
interface Function {}
interface CallableFunction {}
interface NewableFunction {}
interface IArguments {}
interface Number { toExponential: any; }
interface Object {}
interface RegExp {}
interface String { charAt: any; }
interface Array<T> { length: number; [n: number]: T; }
interface ReadonlyArray<T> {}
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
@@ -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]
/// <reference no-default-lib="true"/>
interface Boolean {}
interface Function {}
interface CallableFunction {}
interface NewableFunction {}
interface IArguments {}
interface Number { toExponential: any; }
interface Object {}
interface RegExp {}
interface String { charAt: any; }
interface Array<T> { length: number; [n: number]: T; }
interface ReadonlyArray<T> {}
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
@@ -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]
/// <reference no-default-lib="true"/>
interface Boolean {}
interface Function {}
interface CallableFunction {}
interface NewableFunction {}
interface IArguments {}
interface Number { toExponential: any; }
interface Object {}
interface RegExp {}
interface String { charAt: any; }
interface Array<T> { length: number; [n: number]: T; }
interface ReadonlyArray<T> {}
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
@@ -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]
/// <reference no-default-lib="true"/>
interface Boolean {}
interface Function {}
interface CallableFunction {}
interface NewableFunction {}
interface IArguments {}
interface Number { toExponential: any; }
interface Object {}
interface RegExp {}
interface String { charAt: any; }
interface Array<T> { length: number; [n: number]: T; }
interface ReadonlyArray<T> {}
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
@@ -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]
/// <reference no-default-lib="true"/>
interface Boolean {}
interface Function {}
interface CallableFunction {}
interface NewableFunction {}
interface IArguments {}
interface Number { toExponential: any; }
interface Object {}
interface RegExp {}
interface String { charAt: any; }
interface Array<T> { length: number; [n: number]: T; }
interface ReadonlyArray<T> {}
declare const console: { log(msg: any): void; };
/home/src/tslibs/TS/Lib/tsc.js --ignoreConfig
Output::
Version FakeTSVersion
tsc: The TypeScript Compiler - Version FakeTSVersion
COMMON COMMANDS
tsc
Compiles the current project (tsconfig.json in the working directory.)
tsc app.ts util.ts
Ignoring tsconfig.json, compiles the specified files with default compiler options.
tsc -b
Build a composite project in the working directory.
tsc --init
Creates a tsconfig.json with the recommended settings in the working directory.
tsc -p ./path/to/tsconfig.json
Compiles the TypeScript project located at the specified path.
tsc --help --all
An expanded version of this information, showing all possible compiler options
tsc --noEmit
tsc --target esnext
Compiles the current project, with additional settings.
COMMAND LINE FLAGS
--help, -h
Print this message.
--watch, -w
Watch input files.
--all
Show all compiler options.
--version, -v
Print the compiler's version.
--init
Initializes a TypeScript project and creates a tsconfig.json file.
--project, -p
Compile the project given the path to its configuration file, or to a folder with a 'tsconfig.json'.
--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
COMMON COMPILER OPTIONS
--pretty
Enable color and formatting in TypeScript's output to make compiler errors easier to read.
type: boolean
default: true
--declaration, -d
Generate .d.ts files from TypeScript and JavaScript files in your project.
type: boolean
default: `false`, unless `composite` is set
--declarationMap
Create sourcemaps for d.ts files.
type: boolean
default: false
--emitDeclarationOnly
Only output d.ts files and not JavaScript files.
type: boolean
default: false
--sourceMap
Create source map files for emitted JavaScript files.
type: boolean
default: false
--noEmit
Disable emitting files from a compilation.
type: boolean
default: false
--target, -t
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
--module, -m
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
--lib
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
--allowJs
Allow JavaScript files to be a part of your program. Use the 'checkJs' option to get errors from these files.
type: boolean
default: false
--checkJs
Enable error reporting in type-checked JavaScript files.
type: boolean
default: false
--jsx
Specify what JSX code is generated.
one of: preserve, react, react-native, react-jsx, react-jsxdev
default: undefined
--outFile
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.
--outDir
Specify an output folder for all emitted files.
--removeComments
Disable emitting comments.
type: boolean
default: false
--strict
Enable all strict type-checking options.
type: boolean
default: false
--types
Specify type package names to be included without being referenced in a source file.
--esModuleInterop
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
@@ -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]
/// <reference no-default-lib="true"/>
interface Boolean {}
interface Function {}
interface CallableFunction {}
interface NewableFunction {}
interface IArguments {}
interface Number { toExponential: any; }
interface Object {}
interface RegExp {}
interface String { charAt: any; }
interface Array<T> { length: number; [n: number]: T; }
interface ReadonlyArray<T> {}
declare const console: { log(msg: any): void; };
/home/src/tslibs/TS/Lib/tsc.js
Output::
Version FakeTSVersion
tsc: The TypeScript Compiler - Version FakeTSVersion
COMMON COMMANDS
tsc
Compiles the current project (tsconfig.json in the working directory.)
tsc app.ts util.ts
Ignoring tsconfig.json, compiles the specified files with default compiler options.
tsc -b
Build a composite project in the working directory.
tsc --init
Creates a tsconfig.json with the recommended settings in the working directory.
tsc -p ./path/to/tsconfig.json
Compiles the TypeScript project located at the specified path.
tsc --help --all
An expanded version of this information, showing all possible compiler options
tsc --noEmit
tsc --target esnext
Compiles the current project, with additional settings.
COMMAND LINE FLAGS
--help, -h
Print this message.
--watch, -w
Watch input files.
--all
Show all compiler options.
--version, -v
Print the compiler's version.
--init
Initializes a TypeScript project and creates a tsconfig.json file.
--project, -p
Compile the project given the path to its configuration file, or to a folder with a 'tsconfig.json'.
--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
COMMON COMPILER OPTIONS
--pretty
Enable color and formatting in TypeScript's output to make compiler errors easier to read.
type: boolean
default: true
--declaration, -d
Generate .d.ts files from TypeScript and JavaScript files in your project.
type: boolean
default: `false`, unless `composite` is set
--declarationMap
Create sourcemaps for d.ts files.
type: boolean
default: false
--emitDeclarationOnly
Only output d.ts files and not JavaScript files.
type: boolean
default: false
--sourceMap
Create source map files for emitted JavaScript files.
type: boolean
default: false
--noEmit
Disable emitting files from a compilation.
type: boolean
default: false
--target, -t
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
--module, -m
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
--lib
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
--allowJs
Allow JavaScript files to be a part of your program. Use the 'checkJs' option to get errors from these files.
type: boolean
default: false
--checkJs
Enable error reporting in type-checked JavaScript files.
type: boolean
default: false
--jsx
Specify what JSX code is generated.
one of: preserve, react, react-native, react-jsx, react-jsxdev
default: undefined
--outFile
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.
--outDir
Specify an output folder for all emitted files.
--removeComments
Disable emitting comments.
type: boolean
default: false
--strict
Enable all strict type-checking options.
type: boolean
default: false
--types
Specify type package names to be included without being referenced in a source file.
--esModuleInterop
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
@@ -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]
/// <reference no-default-lib="true"/>
interface Boolean {}
interface Function {}
interface CallableFunction {}
interface NewableFunction {}
interface IArguments {}
interface Number { toExponential: any; }
interface Object {}
interface RegExp {}
interface String { charAt: any; }
interface Array<T> { length: number; [n: number]: T; }
interface ReadonlyArray<T> {}
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
@@ -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]
/// <reference no-default-lib="true"/>
interface Boolean {}
interface Function {}
interface CallableFunction {}
interface NewableFunction {}
interface IArguments {}
interface Number { toExponential: any; }
interface Object {}
interface RegExp {}
interface String { charAt: any; }
interface Array<T> { length: number; [n: number]: T; }
interface ReadonlyArray<T> {}
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
@@ -25,7 +25,7 @@ interface ReadonlyArray<T> {}
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
[HH:MM:SS AM] 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::