diff --git a/src/compiler/commandLineParser.ts b/src/compiler/commandLineParser.ts index 8e067aabf5e..5bbd74d6f47 100644 --- a/src/compiler/commandLineParser.ts +++ b/src/compiler/commandLineParser.ts @@ -296,7 +296,7 @@ namespace ts { description: Diagnostics.Allow_javascript_files_to_be_compiled }, { - name: "emitNonStrictModules", + name: "noImplicitUseStrict", type: "boolean", description: Diagnostics.Do_not_emit_use_strict_directives_in_module_output } diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index ef9eaf8d3f8..72614756fb7 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -7268,7 +7268,7 @@ const _super = (function (geti, seti) { write(`], function(${exportFunctionForFile}, ${contextObjectForFile}) {`); writeLine(); increaseIndent(); - const startIndex = emitDirectivePrologues(node.statements, /*startWithNewLine*/ true, /*ensureUseStrict*/ !compilerOptions.emitNonStrictModules); + const startIndex = emitDirectivePrologues(node.statements, /*startWithNewLine*/ true, /*ensureUseStrict*/ !compilerOptions.noImplicitUseStrict); writeLine(); write(`var __moduleName = ${contextObjectForFile} && ${contextObjectForFile}.id;`); writeLine(); @@ -7374,7 +7374,7 @@ const _super = (function (geti, seti) { writeModuleName(node, emitRelativePathAsModuleName); emitAMDDependencies(node, /*includeNonAmdDependencies*/ true, emitRelativePathAsModuleName); increaseIndent(); - const startIndex = emitDirectivePrologues(node.statements, /*startWithNewLine*/ true, /*ensureUseStrict*/!compilerOptions.emitNonStrictModules); + const startIndex = emitDirectivePrologues(node.statements, /*startWithNewLine*/ true, /*ensureUseStrict*/!compilerOptions.noImplicitUseStrict); emitExportStarHelper(); emitCaptureThisForNodeIfNecessary(node); emitLinesStartingAt(node.statements, startIndex); @@ -7386,7 +7386,7 @@ const _super = (function (geti, seti) { } function emitCommonJSModule(node: SourceFile) { - const startIndex = emitDirectivePrologues(node.statements, /*startWithNewLine*/ false, /*ensureUseStrict*/ !compilerOptions.emitNonStrictModules); + const startIndex = emitDirectivePrologues(node.statements, /*startWithNewLine*/ false, /*ensureUseStrict*/ !compilerOptions.noImplicitUseStrict); emitEmitHelpers(node); collectExternalModuleInfo(node); emitExportStarHelper(); @@ -7415,7 +7415,7 @@ const _super = (function (geti, seti) { })(`); emitAMDFactoryHeader(dependencyNames); increaseIndent(); - const startIndex = emitDirectivePrologues(node.statements, /*startWithNewLine*/ true, /*ensureUseStrict*/ !compilerOptions.emitNonStrictModules); + const startIndex = emitDirectivePrologues(node.statements, /*startWithNewLine*/ true, /*ensureUseStrict*/ !compilerOptions.noImplicitUseStrict); emitExportStarHelper(); emitCaptureThisForNodeIfNecessary(node); emitLinesStartingAt(node.statements, startIndex); diff --git a/src/compiler/types.ts b/src/compiler/types.ts index 4067259a9be..31ff055f986 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -2435,7 +2435,7 @@ namespace ts { forceConsistentCasingInFileNames?: boolean; allowSyntheticDefaultImports?: boolean; allowJs?: boolean; - emitNonStrictModules?: boolean; + noImplicitUseStrict?: boolean; /* @internal */ stripInternal?: boolean; // Skip checking lib.d.ts to help speed up tests. diff --git a/tests/baselines/reference/emitNonStrictModules_amd.symbols b/tests/baselines/reference/emitNonStrictModules_amd.symbols deleted file mode 100644 index 1590ea05ad4..00000000000 --- a/tests/baselines/reference/emitNonStrictModules_amd.symbols +++ /dev/null @@ -1,5 +0,0 @@ -=== tests/cases/compiler/emitNonStrictModules_amd.ts === - -export var x = 0; ->x : Symbol(x, Decl(emitNonStrictModules_amd.ts, 1, 10)) - diff --git a/tests/baselines/reference/emitNonStrictModules_amd.types b/tests/baselines/reference/emitNonStrictModules_amd.types deleted file mode 100644 index 650df648d8d..00000000000 --- a/tests/baselines/reference/emitNonStrictModules_amd.types +++ /dev/null @@ -1,6 +0,0 @@ -=== tests/cases/compiler/emitNonStrictModules_amd.ts === - -export var x = 0; ->x : number ->0 : number - diff --git a/tests/baselines/reference/emitNonStrictModules_commonjs.js b/tests/baselines/reference/emitNonStrictModules_commonjs.js deleted file mode 100644 index 7a2d0720015..00000000000 --- a/tests/baselines/reference/emitNonStrictModules_commonjs.js +++ /dev/null @@ -1,6 +0,0 @@ -//// [emitNonStrictModules_commonjs.ts] - -export var x = 0; - -//// [emitNonStrictModules_commonjs.js] -exports.x = 0; diff --git a/tests/baselines/reference/emitNonStrictModules_commonjs.symbols b/tests/baselines/reference/emitNonStrictModules_commonjs.symbols deleted file mode 100644 index 36b487f34d1..00000000000 --- a/tests/baselines/reference/emitNonStrictModules_commonjs.symbols +++ /dev/null @@ -1,5 +0,0 @@ -=== tests/cases/compiler/emitNonStrictModules_commonjs.ts === - -export var x = 0; ->x : Symbol(x, Decl(emitNonStrictModules_commonjs.ts, 1, 10)) - diff --git a/tests/baselines/reference/emitNonStrictModules_commonjs.types b/tests/baselines/reference/emitNonStrictModules_commonjs.types deleted file mode 100644 index f8a24d53641..00000000000 --- a/tests/baselines/reference/emitNonStrictModules_commonjs.types +++ /dev/null @@ -1,6 +0,0 @@ -=== tests/cases/compiler/emitNonStrictModules_commonjs.ts === - -export var x = 0; ->x : number ->0 : number - diff --git a/tests/baselines/reference/emitNonStrictModules_es6.js b/tests/baselines/reference/emitNonStrictModules_es6.js deleted file mode 100644 index 535afff7730..00000000000 --- a/tests/baselines/reference/emitNonStrictModules_es6.js +++ /dev/null @@ -1,6 +0,0 @@ -//// [emitNonStrictModules_es6.ts] - -export var x = 0; - -//// [emitNonStrictModules_es6.js] -export var x = 0; diff --git a/tests/baselines/reference/emitNonStrictModules_es6.symbols b/tests/baselines/reference/emitNonStrictModules_es6.symbols deleted file mode 100644 index 884189014b0..00000000000 --- a/tests/baselines/reference/emitNonStrictModules_es6.symbols +++ /dev/null @@ -1,5 +0,0 @@ -=== tests/cases/compiler/emitNonStrictModules_es6.ts === - -export var x = 0; ->x : Symbol(x, Decl(emitNonStrictModules_es6.ts, 1, 10)) - diff --git a/tests/baselines/reference/emitNonStrictModules_es6.types b/tests/baselines/reference/emitNonStrictModules_es6.types deleted file mode 100644 index f3208e247da..00000000000 --- a/tests/baselines/reference/emitNonStrictModules_es6.types +++ /dev/null @@ -1,6 +0,0 @@ -=== tests/cases/compiler/emitNonStrictModules_es6.ts === - -export var x = 0; ->x : number ->0 : number - diff --git a/tests/baselines/reference/emitNonStrictModules_system.symbols b/tests/baselines/reference/emitNonStrictModules_system.symbols deleted file mode 100644 index b772eafe447..00000000000 --- a/tests/baselines/reference/emitNonStrictModules_system.symbols +++ /dev/null @@ -1,5 +0,0 @@ -=== tests/cases/compiler/emitNonStrictModules_system.ts === - -export var x = 0; ->x : Symbol(x, Decl(emitNonStrictModules_system.ts, 1, 10)) - diff --git a/tests/baselines/reference/emitNonStrictModules_system.types b/tests/baselines/reference/emitNonStrictModules_system.types deleted file mode 100644 index 352381db379..00000000000 --- a/tests/baselines/reference/emitNonStrictModules_system.types +++ /dev/null @@ -1,6 +0,0 @@ -=== tests/cases/compiler/emitNonStrictModules_system.ts === - -export var x = 0; ->x : number ->0 : number - diff --git a/tests/baselines/reference/emitNonStrictModules_umd.symbols b/tests/baselines/reference/emitNonStrictModules_umd.symbols deleted file mode 100644 index 23af4139243..00000000000 --- a/tests/baselines/reference/emitNonStrictModules_umd.symbols +++ /dev/null @@ -1,5 +0,0 @@ -=== tests/cases/compiler/emitNonStrictModules_umd.ts === - -export var x = 0; ->x : Symbol(x, Decl(emitNonStrictModules_umd.ts, 1, 10)) - diff --git a/tests/baselines/reference/emitNonStrictModules_umd.types b/tests/baselines/reference/emitNonStrictModules_umd.types deleted file mode 100644 index 83c55b1d4cd..00000000000 --- a/tests/baselines/reference/emitNonStrictModules_umd.types +++ /dev/null @@ -1,6 +0,0 @@ -=== tests/cases/compiler/emitNonStrictModules_umd.ts === - -export var x = 0; ->x : number ->0 : number - diff --git a/tests/baselines/reference/emitNonStrictModules_amd.js b/tests/baselines/reference/noImplicitUseStrict_amd.js similarity index 57% rename from tests/baselines/reference/emitNonStrictModules_amd.js rename to tests/baselines/reference/noImplicitUseStrict_amd.js index f2a746280ac..ac15f548c47 100644 --- a/tests/baselines/reference/emitNonStrictModules_amd.js +++ b/tests/baselines/reference/noImplicitUseStrict_amd.js @@ -1,8 +1,8 @@ -//// [emitNonStrictModules_amd.ts] +//// [noImplicitUseStrict_amd.ts] export var x = 0; -//// [emitNonStrictModules_amd.js] +//// [noImplicitUseStrict_amd.js] define(["require", "exports"], function (require, exports) { exports.x = 0; }); diff --git a/tests/baselines/reference/noImplicitUseStrict_amd.symbols b/tests/baselines/reference/noImplicitUseStrict_amd.symbols new file mode 100644 index 00000000000..de1faa2213c --- /dev/null +++ b/tests/baselines/reference/noImplicitUseStrict_amd.symbols @@ -0,0 +1,5 @@ +=== tests/cases/compiler/noImplicitUseStrict_amd.ts === + +export var x = 0; +>x : Symbol(x, Decl(noImplicitUseStrict_amd.ts, 1, 10)) + diff --git a/tests/baselines/reference/noImplicitUseStrict_amd.types b/tests/baselines/reference/noImplicitUseStrict_amd.types new file mode 100644 index 00000000000..c9e1b5749dc --- /dev/null +++ b/tests/baselines/reference/noImplicitUseStrict_amd.types @@ -0,0 +1,6 @@ +=== tests/cases/compiler/noImplicitUseStrict_amd.ts === + +export var x = 0; +>x : number +>0 : number + diff --git a/tests/baselines/reference/noImplicitUseStrict_commonjs.js b/tests/baselines/reference/noImplicitUseStrict_commonjs.js new file mode 100644 index 00000000000..9c726938f04 --- /dev/null +++ b/tests/baselines/reference/noImplicitUseStrict_commonjs.js @@ -0,0 +1,6 @@ +//// [noImplicitUseStrict_commonjs.ts] + +export var x = 0; + +//// [noImplicitUseStrict_commonjs.js] +exports.x = 0; diff --git a/tests/baselines/reference/noImplicitUseStrict_commonjs.symbols b/tests/baselines/reference/noImplicitUseStrict_commonjs.symbols new file mode 100644 index 00000000000..af53dc272d2 --- /dev/null +++ b/tests/baselines/reference/noImplicitUseStrict_commonjs.symbols @@ -0,0 +1,5 @@ +=== tests/cases/compiler/noImplicitUseStrict_commonjs.ts === + +export var x = 0; +>x : Symbol(x, Decl(noImplicitUseStrict_commonjs.ts, 1, 10)) + diff --git a/tests/baselines/reference/noImplicitUseStrict_commonjs.types b/tests/baselines/reference/noImplicitUseStrict_commonjs.types new file mode 100644 index 00000000000..9999d3b94ba --- /dev/null +++ b/tests/baselines/reference/noImplicitUseStrict_commonjs.types @@ -0,0 +1,6 @@ +=== tests/cases/compiler/noImplicitUseStrict_commonjs.ts === + +export var x = 0; +>x : number +>0 : number + diff --git a/tests/baselines/reference/noImplicitUseStrict_es6.js b/tests/baselines/reference/noImplicitUseStrict_es6.js new file mode 100644 index 00000000000..27dbbc7ea79 --- /dev/null +++ b/tests/baselines/reference/noImplicitUseStrict_es6.js @@ -0,0 +1,6 @@ +//// [noImplicitUseStrict_es6.ts] + +export var x = 0; + +//// [noImplicitUseStrict_es6.js] +export var x = 0; diff --git a/tests/baselines/reference/noImplicitUseStrict_es6.symbols b/tests/baselines/reference/noImplicitUseStrict_es6.symbols new file mode 100644 index 00000000000..31bc1904ff9 --- /dev/null +++ b/tests/baselines/reference/noImplicitUseStrict_es6.symbols @@ -0,0 +1,5 @@ +=== tests/cases/compiler/noImplicitUseStrict_es6.ts === + +export var x = 0; +>x : Symbol(x, Decl(noImplicitUseStrict_es6.ts, 1, 10)) + diff --git a/tests/baselines/reference/noImplicitUseStrict_es6.types b/tests/baselines/reference/noImplicitUseStrict_es6.types new file mode 100644 index 00000000000..838c7316be0 --- /dev/null +++ b/tests/baselines/reference/noImplicitUseStrict_es6.types @@ -0,0 +1,6 @@ +=== tests/cases/compiler/noImplicitUseStrict_es6.ts === + +export var x = 0; +>x : number +>0 : number + diff --git a/tests/baselines/reference/emitNonStrictModules_system.js b/tests/baselines/reference/noImplicitUseStrict_system.js similarity index 73% rename from tests/baselines/reference/emitNonStrictModules_system.js rename to tests/baselines/reference/noImplicitUseStrict_system.js index f1ad93f0009..cf5a7e1b261 100644 --- a/tests/baselines/reference/emitNonStrictModules_system.js +++ b/tests/baselines/reference/noImplicitUseStrict_system.js @@ -1,8 +1,8 @@ -//// [emitNonStrictModules_system.ts] +//// [noImplicitUseStrict_system.ts] export var x = 0; -//// [emitNonStrictModules_system.js] +//// [noImplicitUseStrict_system.js] System.register([], function(exports_1, context_1) { var __moduleName = context_1 && context_1.id; var x; diff --git a/tests/baselines/reference/noImplicitUseStrict_system.symbols b/tests/baselines/reference/noImplicitUseStrict_system.symbols new file mode 100644 index 00000000000..62b89a6593d --- /dev/null +++ b/tests/baselines/reference/noImplicitUseStrict_system.symbols @@ -0,0 +1,5 @@ +=== tests/cases/compiler/noImplicitUseStrict_system.ts === + +export var x = 0; +>x : Symbol(x, Decl(noImplicitUseStrict_system.ts, 1, 10)) + diff --git a/tests/baselines/reference/noImplicitUseStrict_system.types b/tests/baselines/reference/noImplicitUseStrict_system.types new file mode 100644 index 00000000000..1da563f938b --- /dev/null +++ b/tests/baselines/reference/noImplicitUseStrict_system.types @@ -0,0 +1,6 @@ +=== tests/cases/compiler/noImplicitUseStrict_system.ts === + +export var x = 0; +>x : number +>0 : number + diff --git a/tests/baselines/reference/emitNonStrictModules_umd.js b/tests/baselines/reference/noImplicitUseStrict_umd.js similarity index 81% rename from tests/baselines/reference/emitNonStrictModules_umd.js rename to tests/baselines/reference/noImplicitUseStrict_umd.js index c1ee0c048c5..ca252daeb9d 100644 --- a/tests/baselines/reference/emitNonStrictModules_umd.js +++ b/tests/baselines/reference/noImplicitUseStrict_umd.js @@ -1,8 +1,8 @@ -//// [emitNonStrictModules_umd.ts] +//// [noImplicitUseStrict_umd.ts] export var x = 0; -//// [emitNonStrictModules_umd.js] +//// [noImplicitUseStrict_umd.js] (function (factory) { if (typeof module === 'object' && typeof module.exports === 'object') { var v = factory(require, exports); if (v !== undefined) module.exports = v; diff --git a/tests/baselines/reference/noImplicitUseStrict_umd.symbols b/tests/baselines/reference/noImplicitUseStrict_umd.symbols new file mode 100644 index 00000000000..a72a251ad09 --- /dev/null +++ b/tests/baselines/reference/noImplicitUseStrict_umd.symbols @@ -0,0 +1,5 @@ +=== tests/cases/compiler/noImplicitUseStrict_umd.ts === + +export var x = 0; +>x : Symbol(x, Decl(noImplicitUseStrict_umd.ts, 1, 10)) + diff --git a/tests/baselines/reference/noImplicitUseStrict_umd.types b/tests/baselines/reference/noImplicitUseStrict_umd.types new file mode 100644 index 00000000000..6a3fd6ece77 --- /dev/null +++ b/tests/baselines/reference/noImplicitUseStrict_umd.types @@ -0,0 +1,6 @@ +=== tests/cases/compiler/noImplicitUseStrict_umd.ts === + +export var x = 0; +>x : number +>0 : number + diff --git a/tests/cases/compiler/emitNonStrictModules_amd.ts b/tests/cases/compiler/noImplicitUseStrict_amd.ts similarity index 50% rename from tests/cases/compiler/emitNonStrictModules_amd.ts rename to tests/cases/compiler/noImplicitUseStrict_amd.ts index 217e23d91a3..3a2a4760221 100644 --- a/tests/cases/compiler/emitNonStrictModules_amd.ts +++ b/tests/cases/compiler/noImplicitUseStrict_amd.ts @@ -1,4 +1,4 @@ // @module: amd -// @emitNonStrictModules: true +// @noImplicitUseStrict: true export var x = 0; \ No newline at end of file diff --git a/tests/cases/compiler/emitNonStrictModules_commonjs.ts b/tests/cases/compiler/noImplicitUseStrict_commonjs.ts similarity index 53% rename from tests/cases/compiler/emitNonStrictModules_commonjs.ts rename to tests/cases/compiler/noImplicitUseStrict_commonjs.ts index 3d29c30176f..f8377dba07a 100644 --- a/tests/cases/compiler/emitNonStrictModules_commonjs.ts +++ b/tests/cases/compiler/noImplicitUseStrict_commonjs.ts @@ -1,4 +1,4 @@ // @module: commonjs -// @emitNonStrictModules: true +// @noImplicitUseStrict: true export var x = 0; \ No newline at end of file diff --git a/tests/cases/compiler/emitNonStrictModules_es6.ts b/tests/cases/compiler/noImplicitUseStrict_es6.ts similarity index 58% rename from tests/cases/compiler/emitNonStrictModules_es6.ts rename to tests/cases/compiler/noImplicitUseStrict_es6.ts index 426c5aff533..f56b0fd9021 100644 --- a/tests/cases/compiler/emitNonStrictModules_es6.ts +++ b/tests/cases/compiler/noImplicitUseStrict_es6.ts @@ -1,5 +1,5 @@ // @module: es6 // @target: es6 -// @emitNonStrictModules: true +// @noImplicitUseStrict: true export var x = 0; \ No newline at end of file diff --git a/tests/cases/compiler/emitNonStrictModules_system.ts b/tests/cases/compiler/noImplicitUseStrict_system.ts similarity index 52% rename from tests/cases/compiler/emitNonStrictModules_system.ts rename to tests/cases/compiler/noImplicitUseStrict_system.ts index 23801462b71..37ff5de469d 100644 --- a/tests/cases/compiler/emitNonStrictModules_system.ts +++ b/tests/cases/compiler/noImplicitUseStrict_system.ts @@ -1,4 +1,4 @@ // @module: system -// @emitNonStrictModules: true +// @noImplicitUseStrict: true export var x = 0; \ No newline at end of file diff --git a/tests/cases/compiler/emitNonStrictModules_umd.ts b/tests/cases/compiler/noImplicitUseStrict_umd.ts similarity index 50% rename from tests/cases/compiler/emitNonStrictModules_umd.ts rename to tests/cases/compiler/noImplicitUseStrict_umd.ts index 1166f512cf2..f26f2ee2aff 100644 --- a/tests/cases/compiler/emitNonStrictModules_umd.ts +++ b/tests/cases/compiler/noImplicitUseStrict_umd.ts @@ -1,4 +1,4 @@ // @module: umd -// @emitNonStrictModules: true +// @noImplicitUseStrict: true export var x = 0; \ No newline at end of file