Merge pull request #1501 from Arnavion/no-emit
Add -noEmit compiler flag that skips the emit stage in ts.compile()
This commit is contained in:
commit
6fed3e2601
|
@ -54,6 +54,11 @@ module ts {
|
||||||
paramType: Diagnostics.KIND,
|
paramType: Diagnostics.KIND,
|
||||||
error: Diagnostics.Argument_for_module_option_must_be_commonjs_or_amd
|
error: Diagnostics.Argument_for_module_option_must_be_commonjs_or_amd
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: "noEmit",
|
||||||
|
type: "boolean",
|
||||||
|
description: Diagnostics.Do_not_emit_outputs,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
name: "noEmitOnError",
|
name: "noEmitOnError",
|
||||||
type: "boolean",
|
type: "boolean",
|
||||||
|
|
|
@ -380,6 +380,8 @@ module ts {
|
||||||
Could_not_write_file_0_Colon_1: { code: 5033, category: DiagnosticCategory.Error, key: "Could not write file '{0}': {1}" },
|
Could_not_write_file_0_Colon_1: { code: 5033, category: DiagnosticCategory.Error, key: "Could not write file '{0}': {1}" },
|
||||||
Option_mapRoot_cannot_be_specified_without_specifying_sourcemap_option: { code: 5038, category: DiagnosticCategory.Error, key: "Option mapRoot cannot be specified without specifying sourcemap option." },
|
Option_mapRoot_cannot_be_specified_without_specifying_sourcemap_option: { code: 5038, category: DiagnosticCategory.Error, key: "Option mapRoot cannot be specified without specifying sourcemap option." },
|
||||||
Option_sourceRoot_cannot_be_specified_without_specifying_sourcemap_option: { code: 5039, category: DiagnosticCategory.Error, key: "Option sourceRoot cannot be specified without specifying sourcemap option." },
|
Option_sourceRoot_cannot_be_specified_without_specifying_sourcemap_option: { code: 5039, category: DiagnosticCategory.Error, key: "Option sourceRoot cannot be specified without specifying sourcemap option." },
|
||||||
|
Option_noEmit_cannot_be_specified_with_option_out_or_outDir: { code: 5040, category: DiagnosticCategory.Error, key: "Option noEmit cannot be specified with option out or outDir." },
|
||||||
|
Option_noEmit_cannot_be_specified_with_option_declaration: { code: 5041, category: DiagnosticCategory.Error, key: "Option noEmit cannot be specified with option declaration." },
|
||||||
Concatenate_and_emit_output_to_single_file: { code: 6001, category: DiagnosticCategory.Message, key: "Concatenate and emit output to single file." },
|
Concatenate_and_emit_output_to_single_file: { code: 6001, category: DiagnosticCategory.Message, key: "Concatenate and emit output to single file." },
|
||||||
Generates_corresponding_d_ts_file: { code: 6002, category: DiagnosticCategory.Message, key: "Generates corresponding '.d.ts' file." },
|
Generates_corresponding_d_ts_file: { code: 6002, category: DiagnosticCategory.Message, key: "Generates corresponding '.d.ts' file." },
|
||||||
Specifies_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations: { code: 6003, category: DiagnosticCategory.Message, key: "Specifies the location where debugger should locate map files instead of generated locations." },
|
Specifies_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations: { code: 6003, category: DiagnosticCategory.Message, key: "Specifies the location where debugger should locate map files instead of generated locations." },
|
||||||
|
@ -389,6 +391,7 @@ module ts {
|
||||||
Do_not_erase_const_enum_declarations_in_generated_code: { code: 6007, category: DiagnosticCategory.Message, key: "Do not erase const enum declarations in generated code." },
|
Do_not_erase_const_enum_declarations_in_generated_code: { code: 6007, category: DiagnosticCategory.Message, key: "Do not erase const enum declarations in generated code." },
|
||||||
Do_not_emit_outputs_if_any_type_checking_errors_were_reported: { code: 6008, category: DiagnosticCategory.Message, key: "Do not emit outputs if any type checking errors were reported." },
|
Do_not_emit_outputs_if_any_type_checking_errors_were_reported: { code: 6008, category: DiagnosticCategory.Message, key: "Do not emit outputs if any type checking errors were reported." },
|
||||||
Do_not_emit_comments_to_output: { code: 6009, category: DiagnosticCategory.Message, key: "Do not emit comments to output." },
|
Do_not_emit_comments_to_output: { code: 6009, category: DiagnosticCategory.Message, key: "Do not emit comments to output." },
|
||||||
|
Do_not_emit_outputs: { code: 6010, category: DiagnosticCategory.Message, key: "Do not emit outputs." },
|
||||||
Specify_ECMAScript_target_version_Colon_ES3_default_ES5_or_ES6_experimental: { code: 6015, category: DiagnosticCategory.Message, key: "Specify ECMAScript target version: 'ES3' (default), 'ES5', or 'ES6' (experimental)" },
|
Specify_ECMAScript_target_version_Colon_ES3_default_ES5_or_ES6_experimental: { code: 6015, category: DiagnosticCategory.Message, key: "Specify ECMAScript target version: 'ES3' (default), 'ES5', or 'ES6' (experimental)" },
|
||||||
Specify_module_code_generation_Colon_commonjs_or_amd: { code: 6016, category: DiagnosticCategory.Message, key: "Specify module code generation: 'commonjs' or 'amd'" },
|
Specify_module_code_generation_Colon_commonjs_or_amd: { code: 6016, category: DiagnosticCategory.Message, key: "Specify module code generation: 'commonjs' or 'amd'" },
|
||||||
Print_this_message: { code: 6017, category: DiagnosticCategory.Message, key: "Print this message." },
|
Print_this_message: { code: 6017, category: DiagnosticCategory.Message, key: "Print this message." },
|
||||||
|
|
|
@ -1616,6 +1616,14 @@
|
||||||
"category": "Error",
|
"category": "Error",
|
||||||
"code": 5039
|
"code": 5039
|
||||||
},
|
},
|
||||||
|
"Option noEmit cannot be specified with option out or outDir.": {
|
||||||
|
"category": "Error",
|
||||||
|
"code": 5040
|
||||||
|
},
|
||||||
|
"Option noEmit cannot be specified with option declaration.": {
|
||||||
|
"category": "Error",
|
||||||
|
"code": 5041
|
||||||
|
},
|
||||||
"Concatenate and emit output to single file.": {
|
"Concatenate and emit output to single file.": {
|
||||||
"category": "Message",
|
"category": "Message",
|
||||||
"code": 6001
|
"code": 6001
|
||||||
|
@ -1652,6 +1660,10 @@
|
||||||
"category": "Message",
|
"category": "Message",
|
||||||
"code": 6009
|
"code": 6009
|
||||||
},
|
},
|
||||||
|
"Do not emit outputs.": {
|
||||||
|
"category": "Message",
|
||||||
|
"code": 6010
|
||||||
|
},
|
||||||
"Specify ECMAScript target version: 'ES3' (default), 'ES5', or 'ES6' (experimental)": {
|
"Specify ECMAScript target version: 'ES3' (default), 'ES5', or 'ES6' (experimental)": {
|
||||||
"category": "Message",
|
"category": "Message",
|
||||||
"code": 6015
|
"code": 6015
|
||||||
|
|
|
@ -5126,6 +5126,16 @@ module ts {
|
||||||
commonSourceDirectory += directorySeparator;
|
commonSourceDirectory += directorySeparator;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (options.noEmit) {
|
||||||
|
if (options.out || options.outDir) {
|
||||||
|
errors.push(createCompilerDiagnostic(Diagnostics.Option_noEmit_cannot_be_specified_with_option_out_or_outDir));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (options.declaration) {
|
||||||
|
errors.push(createCompilerDiagnostic(Diagnostics.Option_noEmit_cannot_be_specified_with_option_declaration));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -296,6 +296,9 @@ module ts {
|
||||||
if (checker.isEmitBlocked()) {
|
if (checker.isEmitBlocked()) {
|
||||||
exitStatus = EmitReturnStatus.AllOutputGenerationSkipped;
|
exitStatus = EmitReturnStatus.AllOutputGenerationSkipped;
|
||||||
}
|
}
|
||||||
|
else if (compilerOptions.noEmit) {
|
||||||
|
exitStatus = EmitReturnStatus.Succeeded;
|
||||||
|
}
|
||||||
else {
|
else {
|
||||||
var emitStart = new Date().getTime();
|
var emitStart = new Date().getTime();
|
||||||
var emitOutput = checker.emitFiles();
|
var emitOutput = checker.emitFiles();
|
||||||
|
|
|
@ -959,7 +959,7 @@ module ts {
|
||||||
|
|
||||||
// Return code used by getEmitOutput function to indicate status of the function
|
// Return code used by getEmitOutput function to indicate status of the function
|
||||||
export enum EmitReturnStatus {
|
export enum EmitReturnStatus {
|
||||||
Succeeded = 0, // All outputs generated as requested (.js, .map, .d.ts), no errors reported
|
Succeeded = 0, // All outputs generated if requested (.js, .map, .d.ts), no errors reported
|
||||||
AllOutputGenerationSkipped = 1, // No .js generated because of syntax errors, nothing generated
|
AllOutputGenerationSkipped = 1, // No .js generated because of syntax errors, nothing generated
|
||||||
JSGeneratedWithSemanticErrors = 2, // .js and .map generated with semantic errors
|
JSGeneratedWithSemanticErrors = 2, // .js and .map generated with semantic errors
|
||||||
DeclarationGenerationSkipped = 3, // .d.ts generation skipped because of semantic errors or declaration emitter specific errors; Output .js with semantic errors
|
DeclarationGenerationSkipped = 3, // .d.ts generation skipped because of semantic errors or declaration emitter specific errors; Output .js with semantic errors
|
||||||
|
@ -1434,6 +1434,7 @@ module ts {
|
||||||
locale?: string;
|
locale?: string;
|
||||||
mapRoot?: string;
|
mapRoot?: string;
|
||||||
module?: ModuleKind;
|
module?: ModuleKind;
|
||||||
|
noEmit?: boolean;
|
||||||
noEmitOnError?: boolean;
|
noEmitOnError?: boolean;
|
||||||
noErrorTruncation?: boolean;
|
noErrorTruncation?: boolean;
|
||||||
noImplicitAny?: boolean;
|
noImplicitAny?: boolean;
|
||||||
|
|
|
@ -34,7 +34,7 @@ declare var FourSlash;
|
||||||
// Return code used by getEmitOutput function to indicate status of the function
|
// Return code used by getEmitOutput function to indicate status of the function
|
||||||
// It is a duplicate of the one in types.ts to expose it to testcases in fourslash
|
// It is a duplicate of the one in types.ts to expose it to testcases in fourslash
|
||||||
enum EmitReturnStatus {
|
enum EmitReturnStatus {
|
||||||
Succeeded = 0, // All outputs generated as requested (.js, .map, .d.ts), no errors reported
|
Succeeded = 0, // All outputs generated if requested (.js, .map, .d.ts), no errors reported
|
||||||
AllOutputGenerationSkipped = 1, // No .js generated because of syntax errors, or compiler options errors, nothing generated
|
AllOutputGenerationSkipped = 1, // No .js generated because of syntax errors, or compiler options errors, nothing generated
|
||||||
JSGeneratedWithSemanticErrors = 2, // .js and .map generated with semantic errors
|
JSGeneratedWithSemanticErrors = 2, // .js and .map generated with semantic errors
|
||||||
DeclarationGenerationSkipped = 3, // .d.ts generation skipped because of semantic errors or declaration emitter specific errors; Output .js with semantic errors
|
DeclarationGenerationSkipped = 3, // .d.ts generation skipped because of semantic errors or declaration emitter specific errors; Output .js with semantic errors
|
||||||
|
|
Loading…
Reference in a new issue