From abeb2a9364ac5d0a014c3ff86ad6a12dced50d46 Mon Sep 17 00:00:00 2001 From: Kanchalai Tanglertsampan Date: Fri, 24 Feb 2017 11:40:15 -0800 Subject: [PATCH] Update baseline: emit prologue directives before anything else --- tests/baselines/reference/APISample_compile.js | 2 +- tests/baselines/reference/APISample_linter.js | 2 +- tests/baselines/reference/APISample_parseConfig.js | 2 +- tests/baselines/reference/APISample_transform.js | 2 +- tests/baselines/reference/APISample_watcher.js | 2 +- tests/baselines/reference/alwaysStrictModule2.js | 1 - tests/baselines/reference/amdDependencyComment1.js | 2 +- tests/baselines/reference/amdDependencyCommentName1.js | 2 +- tests/baselines/reference/commentOnImportStatement3.js | 2 +- tests/baselines/reference/complexNarrowingWithAny.js | 2 +- tests/baselines/reference/controlFlowPropertyDeclarations.js | 2 +- tests/baselines/reference/controlFlowSelfReferentialLoop.js | 2 +- tests/baselines/reference/es6ExportEqualsInterop.js | 2 +- tests/baselines/reference/exportDefaultProperty2.js | 2 +- tests/baselines/reference/exportEqualsProperty2.js | 2 +- tests/baselines/reference/intersectionTypeInference1.js | 2 +- .../baselines/reference/moduleAugmentationInAmbientModule1.js | 2 +- .../baselines/reference/moduleAugmentationInAmbientModule2.js | 2 +- .../baselines/reference/moduleAugmentationInAmbientModule3.js | 2 +- .../baselines/reference/moduleAugmentationInAmbientModule4.js | 2 +- tests/baselines/reference/moduleResolutionWithSymlinks.js | 2 +- .../moduleResolutionWithSymlinks_notInNodeModules.js | 4 ++-- .../reference/moduleResolutionWithSymlinks_withOutDir.js | 2 +- .../baselines/reference/narrowingConstrainedTypeParameter.js | 2 +- .../reference/pathMappingBasedModuleResolution3_node.js | 2 +- tests/baselines/reference/requireOfAnEmptyFile1.js | 2 +- tests/baselines/reference/typeGuardsAsAssertions.js | 2 +- tests/baselines/reference/typeGuardsInExternalModule.js | 2 +- tests/baselines/reference/typePredicateInLoop.js | 2 +- tests/baselines/reference/typeReferenceDirectives7.js | 2 +- tests/baselines/reference/typeReferenceDirectives9.js | 2 +- tests/baselines/reference/visibilityOfCrossModuleTypeUsage.js | 2 +- 32 files changed, 32 insertions(+), 33 deletions(-) diff --git a/tests/baselines/reference/APISample_compile.js b/tests/baselines/reference/APISample_compile.js index b7b55900281..c2617b2a6c6 100644 --- a/tests/baselines/reference/APISample_compile.js +++ b/tests/baselines/reference/APISample_compile.js @@ -34,12 +34,12 @@ compile(process.argv.slice(2), { }); //// [APISample_compile.js] +"use strict"; /* * Note: This test is a public API sample. The sample sources can be found at: https://github.com/Microsoft/TypeScript/wiki/Using-the-Compiler-API#a-minimal-compiler * Please log a "breaking change" issue for any API breaking change affecting this issue */ -"use strict"; exports.__esModule = true; var ts = require("typescript"); function compile(fileNames, options) { diff --git a/tests/baselines/reference/APISample_linter.js b/tests/baselines/reference/APISample_linter.js index 02676c467bd..51b208c39c9 100644 --- a/tests/baselines/reference/APISample_linter.js +++ b/tests/baselines/reference/APISample_linter.js @@ -64,12 +64,12 @@ fileNames.forEach(fileName => { }); //// [APISample_linter.js] +"use strict"; /* * Note: This test is a public API sample. The sample sources can be found at: https://github.com/Microsoft/TypeScript/wiki/Using-the-Compiler-API#traversing-the-ast-with-a-little-linter * Please log a "breaking change" issue for any API breaking change affecting this issue */ -"use strict"; exports.__esModule = true; var ts = require("typescript"); function delint(sourceFile) { diff --git a/tests/baselines/reference/APISample_parseConfig.js b/tests/baselines/reference/APISample_parseConfig.js index 009ed4b6a37..690efb359c6 100644 --- a/tests/baselines/reference/APISample_parseConfig.js +++ b/tests/baselines/reference/APISample_parseConfig.js @@ -36,12 +36,12 @@ export function createProgram(rootFiles: string[], compilerOptionsJson: string): } //// [APISample_parseConfig.js] +"use strict"; /* * Note: This test is a public API sample. The sample sources can be found at: https://github.com/Microsoft/TypeScript/wiki/Using-the-Compiler-API#a-minimal-compiler * Please log a "breaking change" issue for any API breaking change affecting this issue */ -"use strict"; exports.__esModule = true; var ts = require("typescript"); function printError(error) { diff --git a/tests/baselines/reference/APISample_transform.js b/tests/baselines/reference/APISample_transform.js index 58590f8c711..47f63f56e70 100644 --- a/tests/baselines/reference/APISample_transform.js +++ b/tests/baselines/reference/APISample_transform.js @@ -16,12 +16,12 @@ let result = ts.transpile(source, { module: ts.ModuleKind.CommonJS }); console.log(JSON.stringify(result)); //// [APISample_transform.js] +"use strict"; /* * Note: This test is a public API sample. The sample sources can be found at: https://github.com/Microsoft/TypeScript/wiki/Using-the-Compiler-API#a-simple-transform-function * Please log a "breaking change" issue for any API breaking change affecting this issue */ -"use strict"; exports.__esModule = true; var ts = require("typescript"); var source = "let x: string = 'string'"; diff --git a/tests/baselines/reference/APISample_watcher.js b/tests/baselines/reference/APISample_watcher.js index e9ca423b9fa..f06f9ced73f 100644 --- a/tests/baselines/reference/APISample_watcher.js +++ b/tests/baselines/reference/APISample_watcher.js @@ -109,12 +109,12 @@ const currentDirectoryFiles = fs.readdirSync(process.cwd()). watch(currentDirectoryFiles, { module: ts.ModuleKind.CommonJS }); //// [APISample_watcher.js] +"use strict"; /* * Note: This test is a public API sample. The sample sources can be found at: https://github.com/Microsoft/TypeScript/wiki/Using-the-Compiler-API#incremental-build-support-using-the-language-services * Please log a "breaking change" issue for any API breaking change affecting this issue */ -"use strict"; exports.__esModule = true; var ts = require("typescript"); function watch(rootFileNames, options) { diff --git a/tests/baselines/reference/alwaysStrictModule2.js b/tests/baselines/reference/alwaysStrictModule2.js index 7ad0b36c4be..157e11e760a 100644 --- a/tests/baselines/reference/alwaysStrictModule2.js +++ b/tests/baselines/reference/alwaysStrictModule2.js @@ -23,7 +23,6 @@ var M; } M.f = f; })(M || (M = {})); -"use strict"; var M; (function (M) { function f2() { diff --git a/tests/baselines/reference/amdDependencyComment1.js b/tests/baselines/reference/amdDependencyComment1.js index 6be26909f3a..a11b65ff53f 100644 --- a/tests/baselines/reference/amdDependencyComment1.js +++ b/tests/baselines/reference/amdDependencyComment1.js @@ -5,8 +5,8 @@ import m1 = require("m2") m1.f(); //// [amdDependencyComment1.js] -/// "use strict"; +/// exports.__esModule = true; var m1 = require("m2"); m1.f(); diff --git a/tests/baselines/reference/amdDependencyCommentName1.js b/tests/baselines/reference/amdDependencyCommentName1.js index d0e4d73fb7a..5065ed12ab4 100644 --- a/tests/baselines/reference/amdDependencyCommentName1.js +++ b/tests/baselines/reference/amdDependencyCommentName1.js @@ -5,8 +5,8 @@ import m1 = require("m2") m1.f(); //// [amdDependencyCommentName1.js] -/// "use strict"; +/// exports.__esModule = true; var m1 = require("m2"); m1.f(); diff --git a/tests/baselines/reference/commentOnImportStatement3.js b/tests/baselines/reference/commentOnImportStatement3.js index c33088408e8..decc7a7878e 100644 --- a/tests/baselines/reference/commentOnImportStatement3.js +++ b/tests/baselines/reference/commentOnImportStatement3.js @@ -5,6 +5,6 @@ import foo = require('./foo'); //// [commentOnImportStatement3.js] -/* copyright */ "use strict"; +/* copyright */ exports.__esModule = true; diff --git a/tests/baselines/reference/complexNarrowingWithAny.js b/tests/baselines/reference/complexNarrowingWithAny.js index 4408d64acbf..4531cde9f3e 100644 --- a/tests/baselines/reference/complexNarrowingWithAny.js +++ b/tests/baselines/reference/complexNarrowingWithAny.js @@ -560,8 +560,8 @@ export function viewFactory_AppComponent0(viewUtils:any,parentInjector:any,decla //// [complexNarrowingWithAny.js] -// Repro from #10869 "use strict"; +// Repro from #10869 exports.__esModule = true; /** * This file is generated by the Angular 2 template compiler. diff --git a/tests/baselines/reference/controlFlowPropertyDeclarations.js b/tests/baselines/reference/controlFlowPropertyDeclarations.js index 27fce9a9a12..ab286b27f06 100644 --- a/tests/baselines/reference/controlFlowPropertyDeclarations.js +++ b/tests/baselines/reference/controlFlowPropertyDeclarations.js @@ -149,8 +149,8 @@ export class StyleParser { } //// [controlFlowPropertyDeclarations.js] -// Repro from ##8913 "use strict"; +// Repro from ##8913 exports.__esModule = true; var HTMLDOMPropertyConfig = require('react/lib/HTMLDOMPropertyConfig'); // Populate property map with ReactJS's attribute and property mappings diff --git a/tests/baselines/reference/controlFlowSelfReferentialLoop.js b/tests/baselines/reference/controlFlowSelfReferentialLoop.js index 6d07f1dbca1..4781f2776fb 100644 --- a/tests/baselines/reference/controlFlowSelfReferentialLoop.js +++ b/tests/baselines/reference/controlFlowSelfReferentialLoop.js @@ -101,8 +101,8 @@ function md5(string:string): void { export default md5; //// [controlFlowSelfReferentialLoop.js] -// Repro from #12319 "use strict"; +// Repro from #12319 exports.__esModule = true; function md5(string) { function FF(a, b, c, d, x, s, ac) { diff --git a/tests/baselines/reference/es6ExportEqualsInterop.js b/tests/baselines/reference/es6ExportEqualsInterop.js index 156587028dd..5e04221df8b 100644 --- a/tests/baselines/reference/es6ExportEqualsInterop.js +++ b/tests/baselines/reference/es6ExportEqualsInterop.js @@ -207,8 +207,8 @@ export * from "class-module"; //// [main.js] -/// "use strict"; +/// function __export(m) { for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; } diff --git a/tests/baselines/reference/exportDefaultProperty2.js b/tests/baselines/reference/exportDefaultProperty2.js index 4922738430a..5cc9dc47092 100644 --- a/tests/baselines/reference/exportDefaultProperty2.js +++ b/tests/baselines/reference/exportDefaultProperty2.js @@ -18,8 +18,8 @@ const x: B = { c: B }; //// [a.js] -// This test is just like exportEqualsProperty2, but with `export default`. "use strict"; +// This test is just like exportEqualsProperty2, but with `export default`. exports.__esModule = true; var C = (function () { function C() { diff --git a/tests/baselines/reference/exportEqualsProperty2.js b/tests/baselines/reference/exportEqualsProperty2.js index 36fcbdf3446..5cfcab3e774 100644 --- a/tests/baselines/reference/exportEqualsProperty2.js +++ b/tests/baselines/reference/exportEqualsProperty2.js @@ -18,8 +18,8 @@ const x: B = { c: B }; //// [a.js] -// This test is just like exportDefaultProperty2, but with `export =`. "use strict"; +// This test is just like exportDefaultProperty2, but with `export =`. var C = (function () { function C() { } diff --git a/tests/baselines/reference/intersectionTypeInference1.js b/tests/baselines/reference/intersectionTypeInference1.js index 32ddedae2b3..e13f8edf0cf 100644 --- a/tests/baselines/reference/intersectionTypeInference1.js +++ b/tests/baselines/reference/intersectionTypeInference1.js @@ -9,8 +9,8 @@ export const Form3 = brokenFunction(parameterFn)({store: "hello"}) //// [intersectionTypeInference1.js] -// Repro from #8801 "use strict"; +// Repro from #8801 exports.__esModule = true; function alert(s) { } var parameterFn = function (props) { return alert(props.store); }; diff --git a/tests/baselines/reference/moduleAugmentationInAmbientModule1.js b/tests/baselines/reference/moduleAugmentationInAmbientModule1.js index 13e6ef2c4fa..7bd3c93496c 100644 --- a/tests/baselines/reference/moduleAugmentationInAmbientModule1.js +++ b/tests/baselines/reference/moduleAugmentationInAmbientModule1.js @@ -27,8 +27,8 @@ x.foo().x; //// [main.js] -/// "use strict"; +/// exports.__esModule = true; var x; x.foo().x; diff --git a/tests/baselines/reference/moduleAugmentationInAmbientModule2.js b/tests/baselines/reference/moduleAugmentationInAmbientModule2.js index 91edc37e0fa..f3d276309ef 100644 --- a/tests/baselines/reference/moduleAugmentationInAmbientModule2.js +++ b/tests/baselines/reference/moduleAugmentationInAmbientModule2.js @@ -28,8 +28,8 @@ x.foo().x; //// [main.js] -/// "use strict"; +/// exports.__esModule = true; require("Map"); var x; diff --git a/tests/baselines/reference/moduleAugmentationInAmbientModule3.js b/tests/baselines/reference/moduleAugmentationInAmbientModule3.js index 6a572a2a1d2..3cedfd66d5d 100644 --- a/tests/baselines/reference/moduleAugmentationInAmbientModule3.js +++ b/tests/baselines/reference/moduleAugmentationInAmbientModule3.js @@ -38,8 +38,8 @@ x.foo2().x2; //// [main.js] -/// "use strict"; +/// exports.__esModule = true; require("Map"); var x; diff --git a/tests/baselines/reference/moduleAugmentationInAmbientModule4.js b/tests/baselines/reference/moduleAugmentationInAmbientModule4.js index 74b101c7275..ab4ff1bc79f 100644 --- a/tests/baselines/reference/moduleAugmentationInAmbientModule4.js +++ b/tests/baselines/reference/moduleAugmentationInAmbientModule4.js @@ -40,9 +40,9 @@ x.foo2().x2; //// [main.js] +"use strict"; /// /// -"use strict"; exports.__esModule = true; require("Map"); var x; diff --git a/tests/baselines/reference/moduleResolutionWithSymlinks.js b/tests/baselines/reference/moduleResolutionWithSymlinks.js index 520324cb222..b483f356252 100644 --- a/tests/baselines/reference/moduleResolutionWithSymlinks.js +++ b/tests/baselines/reference/moduleResolutionWithSymlinks.js @@ -40,9 +40,9 @@ tsc app.ts # Should write to library-a/index.js, library-b/index.js, and app.js //// [/src/library-a/index.js] +"use strict"; // When symlinked files are in node_modules, they are resolved with realpath; // so a linked file does not create a duplicate SourceFile of the real one. -"use strict"; exports.__esModule = true; var MyClass = (function () { function MyClass() { diff --git a/tests/baselines/reference/moduleResolutionWithSymlinks_notInNodeModules.js b/tests/baselines/reference/moduleResolutionWithSymlinks_notInNodeModules.js index cde63e0604d..bf51b7e3bca 100644 --- a/tests/baselines/reference/moduleResolutionWithSymlinks_notInNodeModules.js +++ b/tests/baselines/reference/moduleResolutionWithSymlinks_notInNodeModules.js @@ -14,17 +14,17 @@ x + x2; //// [/src/bin/shared/abc.js] +"use strict"; // When symlinked files are not in node_modules, realpath is not used. // A symlink file acts like the real thing. So, 2 symlinks act like 2 different files. // See GH#10364. -"use strict"; exports.__esModule = true; exports.x = 0; //// [/src/bin/shared2/abc.js] +"use strict"; // When symlinked files are not in node_modules, realpath is not used. // A symlink file acts like the real thing. So, 2 symlinks act like 2 different files. // See GH#10364. -"use strict"; exports.__esModule = true; exports.x = 0; //// [/src/bin/app.js] diff --git a/tests/baselines/reference/moduleResolutionWithSymlinks_withOutDir.js b/tests/baselines/reference/moduleResolutionWithSymlinks_withOutDir.js index 0bd77a1dcc7..0049ad48f91 100644 --- a/tests/baselines/reference/moduleResolutionWithSymlinks_withOutDir.js +++ b/tests/baselines/reference/moduleResolutionWithSymlinks_withOutDir.js @@ -20,8 +20,8 @@ y = x; //// [/src/bin/library-a/index.js] -// Same as moduleResolutionWithSymlinks.ts, but with outDir "use strict"; +// Same as moduleResolutionWithSymlinks.ts, but with outDir exports.__esModule = true; var MyClass = (function () { function MyClass() { diff --git a/tests/baselines/reference/narrowingConstrainedTypeParameter.js b/tests/baselines/reference/narrowingConstrainedTypeParameter.js index fa9a18126d6..a2946838851 100644 --- a/tests/baselines/reference/narrowingConstrainedTypeParameter.js +++ b/tests/baselines/reference/narrowingConstrainedTypeParameter.js @@ -17,8 +17,8 @@ export function speak(pet: TPet, voice: (pet: TPet) => string) } //// [narrowingConstrainedTypeParameter.js] -// Repro from #10811 "use strict"; +// Repro from #10811 exports.__esModule = true; function isPet(pet) { return typeof pet.name === "string"; diff --git a/tests/baselines/reference/pathMappingBasedModuleResolution3_node.js b/tests/baselines/reference/pathMappingBasedModuleResolution3_node.js index f4dc1dd2674..969a98dc4cc 100644 --- a/tests/baselines/reference/pathMappingBasedModuleResolution3_node.js +++ b/tests/baselines/reference/pathMappingBasedModuleResolution3_node.js @@ -29,8 +29,8 @@ var file3_1 = require("./file3"); // found with baseurl var file4_1 = require("file4"); // found with fallback exports.x = file3_1.x + file4_1.y; //// [file1.js] -// baseUrl set via command line "use strict"; +// baseUrl set via command line exports.__esModule = true; var file2_1 = require("folder2/file2"); use(file2_1.x.toExponential()); diff --git a/tests/baselines/reference/requireOfAnEmptyFile1.js b/tests/baselines/reference/requireOfAnEmptyFile1.js index a1e6dbbc447..e792d9fa763 100644 --- a/tests/baselines/reference/requireOfAnEmptyFile1.js +++ b/tests/baselines/reference/requireOfAnEmptyFile1.js @@ -10,6 +10,6 @@ import fs = require('./requireOfAnEmptyFile1_b'); //// [requireOfAnEmptyFile1_b.js] //// [requireOfAnEmptyFile1_a.js] -//requireOfAnEmptyFile1 "use strict"; +//requireOfAnEmptyFile1 exports.__esModule = true; diff --git a/tests/baselines/reference/typeGuardsAsAssertions.js b/tests/baselines/reference/typeGuardsAsAssertions.js index 2b291beba36..8c9b2048514 100644 --- a/tests/baselines/reference/typeGuardsAsAssertions.js +++ b/tests/baselines/reference/typeGuardsAsAssertions.js @@ -122,8 +122,8 @@ function f6() { //// [typeGuardsAsAssertions.js] -// Repro from #8513 "use strict"; +// Repro from #8513 exports.__esModule = true; var cond; exports.none = { none: '' }; diff --git a/tests/baselines/reference/typeGuardsInExternalModule.js b/tests/baselines/reference/typeGuardsInExternalModule.js index 0a5abd59373..03f2d2cee8d 100644 --- a/tests/baselines/reference/typeGuardsInExternalModule.js +++ b/tests/baselines/reference/typeGuardsInExternalModule.js @@ -24,9 +24,9 @@ else { } //// [typeGuardsInExternalModule.js] +"use strict"; // Note that type guards affect types of variables and parameters only and // have no effect on members of objects such as properties. -"use strict"; exports.__esModule = true; // local variable in external module var num; diff --git a/tests/baselines/reference/typePredicateInLoop.js b/tests/baselines/reference/typePredicateInLoop.js index f5a99b68971..e3e01d13ef1 100644 --- a/tests/baselines/reference/typePredicateInLoop.js +++ b/tests/baselines/reference/typePredicateInLoop.js @@ -22,8 +22,8 @@ export function y(arg: Type): void { } //// [typePredicateInLoop.js] -// Repro from #12101 "use strict"; +// Repro from #12101 exports.__esModule = true; var guard = function (arg) { return arg.type === 1; }; var otherFunc = function (arg1, arg2) { }; diff --git a/tests/baselines/reference/typeReferenceDirectives7.js b/tests/baselines/reference/typeReferenceDirectives7.js index 866c284b8fd..7be0651a581 100644 --- a/tests/baselines/reference/typeReferenceDirectives7.js +++ b/tests/baselines/reference/typeReferenceDirectives7.js @@ -15,8 +15,8 @@ export let x: typeof $; export let y = () => x //// [app.js] -/// "use strict"; +/// exports.__esModule = true; exports.$ = 1; exports.y = function () { return exports.x; }; diff --git a/tests/baselines/reference/typeReferenceDirectives9.js b/tests/baselines/reference/typeReferenceDirectives9.js index fe60edad1dd..54685ef7961 100644 --- a/tests/baselines/reference/typeReferenceDirectives9.js +++ b/tests/baselines/reference/typeReferenceDirectives9.js @@ -41,8 +41,8 @@ var Cls = (function () { }()); exports.Cls = Cls; //// [mod1.js] -/// "use strict"; +/// exports.__esModule = true; var main_1 = require("./main"); main_1.Cls.prototype.foo = function () { return undefined; }; diff --git a/tests/baselines/reference/visibilityOfCrossModuleTypeUsage.js b/tests/baselines/reference/visibilityOfCrossModuleTypeUsage.js index a6d1b095894..1eab90467d4 100644 --- a/tests/baselines/reference/visibilityOfCrossModuleTypeUsage.js +++ b/tests/baselines/reference/visibilityOfCrossModuleTypeUsage.js @@ -29,8 +29,8 @@ function run(configuration: commands.IConfiguration) { "use strict"; exports.__esModule = true; //// [visibilityOfCrossModuleTypeUsage_commands.js] -//visibilityOfCrossModuleTypeUsage "use strict"; +//visibilityOfCrossModuleTypeUsage exports.__esModule = true; //// [visibilityOfCrossModuleTypeUsage_fs.js] "use strict";