From df9da15abbbd205ddf95f31b9f478111fffcfb9e Mon Sep 17 00:00:00 2001 From: Sheetal Nandi Date: Thu, 28 Feb 2019 15:39:04 -0800 Subject: [PATCH] Incremental false with composite not allowed --- src/compiler/diagnosticMessages.json | 4 + src/compiler/program.ts | 3 + src/testRunner/unittests/tsbuild/outFile.ts | 12 +- ...nsCompositeWithIncrementalFalse.errors.txt | 7 + .../optionsCompositeWithIncrementalFalse.js | 10 + ...tionsCompositeWithIncrementalFalse.symbols | 4 + ...optionsCompositeWithIncrementalFalse.types | 5 + ...roject-is-not-composite-but-incremental.js | 1719 +++++++++++++++++ ...oject-is-not-composite-but-incremental.js} | 2 +- .../optionsCompositeWithIncrementalFalse.ts | 4 + 10 files changed, 1768 insertions(+), 2 deletions(-) create mode 100644 tests/baselines/reference/optionsCompositeWithIncrementalFalse.errors.txt create mode 100644 tests/baselines/reference/optionsCompositeWithIncrementalFalse.js create mode 100644 tests/baselines/reference/optionsCompositeWithIncrementalFalse.symbols create mode 100644 tests/baselines/reference/optionsCompositeWithIncrementalFalse.types create mode 100644 tests/baselines/reference/tsbuild/outfile-concat/initial-Build/buildInfo/when-final-project-is-not-composite-but-incremental.js rename tests/baselines/reference/tsbuild/outfile-concat/initial-Build/no-buildInfo/{when-final-project-is-not-composite-but-uses-project-references.js => when-final-project-is-not-composite-but-incremental.js} (96%) create mode 100644 tests/cases/compiler/optionsCompositeWithIncrementalFalse.ts diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json index 04fff1bf8a2..9108fa3e4ad 100644 --- a/src/compiler/diagnosticMessages.json +++ b/src/compiler/diagnosticMessages.json @@ -4028,6 +4028,10 @@ "category": "Message", "code": 6378 }, + "Composite projects may not disable incremental compilation.": { + "category": "Error", + "code": 6379 + }, "The expected type comes from property '{0}' which is declared here on type '{1}'": { "category": "Message", diff --git a/src/compiler/program.ts b/src/compiler/program.ts index e19e35a0ddf..0f3102ad79e 100644 --- a/src/compiler/program.ts +++ b/src/compiler/program.ts @@ -2720,6 +2720,9 @@ namespace ts { if (options.declaration === false) { createDiagnosticForOptionName(Diagnostics.Composite_projects_may_not_disable_declaration_emit, "declaration"); } + if (options.incremental === false) { + createDiagnosticForOptionName(Diagnostics.Composite_projects_may_not_disable_declaration_emit, "declaration"); + } } verifyProjectReferences(); diff --git a/src/testRunner/unittests/tsbuild/outFile.ts b/src/testRunner/unittests/tsbuild/outFile.ts index ffc408d8bdc..227bd46d3b8 100644 --- a/src/testRunner/unittests/tsbuild/outFile.ts +++ b/src/testRunner/unittests/tsbuild/outFile.ts @@ -416,10 +416,20 @@ namespace ts { modifyFs: noop }); - // Verify baseline with and without build info + // Verify baseline with build info verifyOutFileScenario({ scenario: "when final project is not composite but uses project references", modifyFs: fs => replaceText(fs, sources[project.third][source.config], `"composite": true,`, ""), + ignoreWithoutBuildInfo: true, + ignoreDtsChanged: true, + ignoreDtsUnchanged: true, + baselineOnly: true + }); + + // Verify baseline with and without build info + verifyOutFileScenario({ + scenario: "when final project is not composite but incremental", + modifyFs: fs => replaceText(fs, sources[project.third][source.config], `"composite": true,`, `"incremental": true,`), ignoreDtsChanged: true, ignoreDtsUnchanged: true, baselineOnly: true diff --git a/tests/baselines/reference/optionsCompositeWithIncrementalFalse.errors.txt b/tests/baselines/reference/optionsCompositeWithIncrementalFalse.errors.txt new file mode 100644 index 00000000000..bbdd1d4bba2 --- /dev/null +++ b/tests/baselines/reference/optionsCompositeWithIncrementalFalse.errors.txt @@ -0,0 +1,7 @@ +error TS6304: Composite projects may not disable declaration emit. + + +!!! error TS6304: Composite projects may not disable declaration emit. +==== tests/cases/compiler/optionsCompositeWithIncrementalFalse.ts (0 errors) ==== + const x = "Hello World"; + \ No newline at end of file diff --git a/tests/baselines/reference/optionsCompositeWithIncrementalFalse.js b/tests/baselines/reference/optionsCompositeWithIncrementalFalse.js new file mode 100644 index 00000000000..9804adf2a55 --- /dev/null +++ b/tests/baselines/reference/optionsCompositeWithIncrementalFalse.js @@ -0,0 +1,10 @@ +//// [optionsCompositeWithIncrementalFalse.ts] +const x = "Hello World"; + + +//// [optionsCompositeWithIncrementalFalse.js] +var x = "Hello World"; + + +//// [optionsCompositeWithIncrementalFalse.d.ts] +declare const x = "Hello World"; diff --git a/tests/baselines/reference/optionsCompositeWithIncrementalFalse.symbols b/tests/baselines/reference/optionsCompositeWithIncrementalFalse.symbols new file mode 100644 index 00000000000..436a6f62860 --- /dev/null +++ b/tests/baselines/reference/optionsCompositeWithIncrementalFalse.symbols @@ -0,0 +1,4 @@ +=== tests/cases/compiler/optionsCompositeWithIncrementalFalse.ts === +const x = "Hello World"; +>x : Symbol(x, Decl(optionsCompositeWithIncrementalFalse.ts, 0, 5)) + diff --git a/tests/baselines/reference/optionsCompositeWithIncrementalFalse.types b/tests/baselines/reference/optionsCompositeWithIncrementalFalse.types new file mode 100644 index 00000000000..9e1898fbd54 --- /dev/null +++ b/tests/baselines/reference/optionsCompositeWithIncrementalFalse.types @@ -0,0 +1,5 @@ +=== tests/cases/compiler/optionsCompositeWithIncrementalFalse.ts === +const x = "Hello World"; +>x : "Hello World" +>"Hello World" : "Hello World" + diff --git a/tests/baselines/reference/tsbuild/outfile-concat/initial-Build/buildInfo/when-final-project-is-not-composite-but-incremental.js b/tests/baselines/reference/tsbuild/outfile-concat/initial-Build/buildInfo/when-final-project-is-not-composite-but-incremental.js new file mode 100644 index 00000000000..ced3785b215 --- /dev/null +++ b/tests/baselines/reference/tsbuild/outfile-concat/initial-Build/buildInfo/when-final-project-is-not-composite-but-incremental.js @@ -0,0 +1,1719 @@ +//// [/src/2/second-output.d.ts] +declare namespace N { +} +declare namespace N { +} +declare class C { + doSomething(): void; +} +//# sourceMappingURL=second-output.d.ts.map + +//// [/src/2/second-output.d.ts.map] +{"version":3,"file":"second-output.d.ts","sourceRoot":"","sources":["../second/second_part1.ts","../second/second_part2.ts"],"names":[],"mappings":"AAAA,kBAAU,CAAC,CAAC;CAEX;AAED,kBAAU,CAAC,CAAC;CAMX;ACVD,cAAM,CAAC;IACH,WAAW;CAGd"} + +//// [/src/2/second-output.d.ts.map.baseline.txt] +=================================================================== +JsFile: second-output.d.ts +mapUrl: second-output.d.ts.map +sourceRoot: +sources: ../second/second_part1.ts,../second/second_part2.ts +=================================================================== +------------------------------------------------------------------- +emittedFile:/src/2/second-output.d.ts +sourceFile:../second/second_part1.ts +------------------------------------------------------------------- +>>>declare namespace N { +1 > +2 >^^^^^^^^^^^^^^^^^^ +3 > ^ +4 > ^ +1 > +2 >namespace +3 > N +4 > +1 >Emitted(1, 1) Source(1, 1) + SourceIndex(0) +2 >Emitted(1, 19) Source(1, 11) + SourceIndex(0) +3 >Emitted(1, 20) Source(1, 12) + SourceIndex(0) +4 >Emitted(1, 21) Source(1, 13) + SourceIndex(0) +--- +>>>} +1 >^ +2 > ^^^^^^^^^^^^^^^^^^^^^-> +1 >{ + > // Comment text + >} +1 >Emitted(2, 2) Source(3, 2) + SourceIndex(0) +--- +>>>declare namespace N { +1-> +2 >^^^^^^^^^^^^^^^^^^ +3 > ^ +4 > ^ +1-> + > + > +2 >namespace +3 > N +4 > +1->Emitted(3, 1) Source(5, 1) + SourceIndex(0) +2 >Emitted(3, 19) Source(5, 11) + SourceIndex(0) +3 >Emitted(3, 20) Source(5, 12) + SourceIndex(0) +4 >Emitted(3, 21) Source(5, 13) + SourceIndex(0) +--- +>>>} +1 >^ +2 > ^^^^^^^^^^^^^^^^^-> +1 >{ + > function f() { + > console.log('testing'); + > } + > + > f(); + >} +1 >Emitted(4, 2) Source(11, 2) + SourceIndex(0) +--- +------------------------------------------------------------------- +emittedFile:/src/2/second-output.d.ts +sourceFile:../second/second_part2.ts +------------------------------------------------------------------- +>>>declare class C { +1-> +2 >^^^^^^^^^^^^^^ +3 > ^ +4 > ^^^^^^^^^^-> +1-> +2 >class +3 > C +1->Emitted(5, 1) Source(1, 1) + SourceIndex(1) +2 >Emitted(5, 15) Source(1, 7) + SourceIndex(1) +3 >Emitted(5, 16) Source(1, 8) + SourceIndex(1) +--- +>>> doSomething(): void; +1->^^^^ +2 > ^^^^^^^^^^^ +1-> { + > +2 > doSomething +1->Emitted(6, 5) Source(2, 5) + SourceIndex(1) +2 >Emitted(6, 16) Source(2, 16) + SourceIndex(1) +--- +>>>} +1 >^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 >() { + > console.log("something got done"); + > } + >} +1 >Emitted(7, 2) Source(5, 2) + SourceIndex(1) +--- +>>>//# sourceMappingURL=second-output.d.ts.map + +//// [/src/2/second-output.js] +var N; +(function (N) { + function f() { + console.log('testing'); + } + f(); +})(N || (N = {})); +var C = (function () { + function C() { + } + C.prototype.doSomething = function () { + console.log("something got done"); + }; + return C; +}()); +//# sourceMappingURL=second-output.js.map + +//// [/src/2/second-output.js.map] +{"version":3,"file":"second-output.js","sourceRoot":"","sources":["../second/second_part1.ts","../second/second_part2.ts"],"names":[],"mappings":"AAIA,IAAU,CAAC,CAMV;AAND,WAAU,CAAC;IACP,SAAS,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IAED,CAAC,EAAE,CAAC;AACR,CAAC,EANS,CAAC,KAAD,CAAC,QAMV;ACVD;IAAA;IAIA,CAAC;IAHG,uBAAW,GAAX;QACI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACtC,CAAC;IACL,QAAC;AAAD,CAAC,AAJD,IAIC"} + +//// [/src/2/second-output.js.map.baseline.txt] +=================================================================== +JsFile: second-output.js +mapUrl: second-output.js.map +sourceRoot: +sources: ../second/second_part1.ts,../second/second_part2.ts +=================================================================== +------------------------------------------------------------------- +emittedFile:/src/2/second-output.js +sourceFile:../second/second_part1.ts +------------------------------------------------------------------- +>>>var N; +1 > +2 >^^^^ +3 > ^ +4 > ^ +5 > ^^^^^^^^^^-> +1 >namespace N { + > // Comment text + >} + > + > +2 >namespace +3 > N +4 > { + > function f() { + > console.log('testing'); + > } + > + > f(); + > } +1 >Emitted(1, 1) Source(5, 1) + SourceIndex(0) +2 >Emitted(1, 5) Source(5, 11) + SourceIndex(0) +3 >Emitted(1, 6) Source(5, 12) + SourceIndex(0) +4 >Emitted(1, 7) Source(11, 2) + SourceIndex(0) +--- +>>>(function (N) { +1-> +2 >^^^^^^^^^^^ +3 > ^ +4 > ^^^^^^^-> +1-> +2 >namespace +3 > N +1->Emitted(2, 1) Source(5, 1) + SourceIndex(0) +2 >Emitted(2, 12) Source(5, 11) + SourceIndex(0) +3 >Emitted(2, 13) Source(5, 12) + SourceIndex(0) +--- +>>> function f() { +1->^^^^ +2 > ^^^^^^^^^ +3 > ^ +4 > ^^^^^^^^^^^^^^^^^^-> +1-> { + > +2 > function +3 > f +1->Emitted(3, 5) Source(6, 5) + SourceIndex(0) +2 >Emitted(3, 14) Source(6, 14) + SourceIndex(0) +3 >Emitted(3, 15) Source(6, 15) + SourceIndex(0) +--- +>>> console.log('testing'); +1->^^^^^^^^ +2 > ^^^^^^^ +3 > ^ +4 > ^^^ +5 > ^ +6 > ^^^^^^^^^ +7 > ^ +8 > ^ +1->() { + > +2 > console +3 > . +4 > log +5 > ( +6 > 'testing' +7 > ) +8 > ; +1->Emitted(4, 9) Source(7, 9) + SourceIndex(0) +2 >Emitted(4, 16) Source(7, 16) + SourceIndex(0) +3 >Emitted(4, 17) Source(7, 17) + SourceIndex(0) +4 >Emitted(4, 20) Source(7, 20) + SourceIndex(0) +5 >Emitted(4, 21) Source(7, 21) + SourceIndex(0) +6 >Emitted(4, 30) Source(7, 30) + SourceIndex(0) +7 >Emitted(4, 31) Source(7, 31) + SourceIndex(0) +8 >Emitted(4, 32) Source(7, 32) + SourceIndex(0) +--- +>>> } +1 >^^^^ +2 > ^ +3 > ^^^^-> +1 > + > +2 > } +1 >Emitted(5, 5) Source(8, 5) + SourceIndex(0) +2 >Emitted(5, 6) Source(8, 6) + SourceIndex(0) +--- +>>> f(); +1->^^^^ +2 > ^ +3 > ^^ +4 > ^ +5 > ^^^^^^^^^^^-> +1-> + > + > +2 > f +3 > () +4 > ; +1->Emitted(6, 5) Source(10, 5) + SourceIndex(0) +2 >Emitted(6, 6) Source(10, 6) + SourceIndex(0) +3 >Emitted(6, 8) Source(10, 8) + SourceIndex(0) +4 >Emitted(6, 9) Source(10, 9) + SourceIndex(0) +--- +>>>})(N || (N = {})); +1-> +2 >^ +3 > ^^ +4 > ^ +5 > ^^^^^ +6 > ^ +7 > ^^^^^^^^ +8 > ^^^^^-> +1-> + > +2 >} +3 > +4 > N +5 > +6 > N +7 > { + > function f() { + > console.log('testing'); + > } + > + > f(); + > } +1->Emitted(7, 1) Source(11, 1) + SourceIndex(0) +2 >Emitted(7, 2) Source(11, 2) + SourceIndex(0) +3 >Emitted(7, 4) Source(5, 11) + SourceIndex(0) +4 >Emitted(7, 5) Source(5, 12) + SourceIndex(0) +5 >Emitted(7, 10) Source(5, 11) + SourceIndex(0) +6 >Emitted(7, 11) Source(5, 12) + SourceIndex(0) +7 >Emitted(7, 19) Source(11, 2) + SourceIndex(0) +--- +------------------------------------------------------------------- +emittedFile:/src/2/second-output.js +sourceFile:../second/second_part2.ts +------------------------------------------------------------------- +>>>var C = (function () { +1-> +2 >^^^^^^^^^^^^^^^^^^^-> +1-> +1->Emitted(8, 1) Source(1, 1) + SourceIndex(1) +--- +>>> function C() { +1->^^^^ +2 > ^^-> +1-> +1->Emitted(9, 5) Source(1, 1) + SourceIndex(1) +--- +>>> } +1->^^^^ +2 > ^ +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1->class C { + > doSomething() { + > console.log("something got done"); + > } + > +2 > } +1->Emitted(10, 5) Source(5, 1) + SourceIndex(1) +2 >Emitted(10, 6) Source(5, 2) + SourceIndex(1) +--- +>>> C.prototype.doSomething = function () { +1->^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^ +3 > ^^^ +4 > ^^^^^^^^^^^^^-> +1-> +2 > doSomething +3 > +1->Emitted(11, 5) Source(2, 5) + SourceIndex(1) +2 >Emitted(11, 28) Source(2, 16) + SourceIndex(1) +3 >Emitted(11, 31) Source(2, 5) + SourceIndex(1) +--- +>>> console.log("something got done"); +1->^^^^^^^^ +2 > ^^^^^^^ +3 > ^ +4 > ^^^ +5 > ^ +6 > ^^^^^^^^^^^^^^^^^^^^ +7 > ^ +8 > ^ +1->doSomething() { + > +2 > console +3 > . +4 > log +5 > ( +6 > "something got done" +7 > ) +8 > ; +1->Emitted(12, 9) Source(3, 9) + SourceIndex(1) +2 >Emitted(12, 16) Source(3, 16) + SourceIndex(1) +3 >Emitted(12, 17) Source(3, 17) + SourceIndex(1) +4 >Emitted(12, 20) Source(3, 20) + SourceIndex(1) +5 >Emitted(12, 21) Source(3, 21) + SourceIndex(1) +6 >Emitted(12, 41) Source(3, 41) + SourceIndex(1) +7 >Emitted(12, 42) Source(3, 42) + SourceIndex(1) +8 >Emitted(12, 43) Source(3, 43) + SourceIndex(1) +--- +>>> }; +1 >^^^^ +2 > ^ +3 > ^^^^^^^^^-> +1 > + > +2 > } +1 >Emitted(13, 5) Source(4, 5) + SourceIndex(1) +2 >Emitted(13, 6) Source(4, 6) + SourceIndex(1) +--- +>>> return C; +1->^^^^ +2 > ^^^^^^^^ +1-> + > +2 > } +1->Emitted(14, 5) Source(5, 1) + SourceIndex(1) +2 >Emitted(14, 13) Source(5, 2) + SourceIndex(1) +--- +>>>}()); +1 > +2 >^ +3 > +4 > ^^^^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > +2 >} +3 > +4 > class C { + > doSomething() { + > console.log("something got done"); + > } + > } +1 >Emitted(15, 1) Source(5, 1) + SourceIndex(1) +2 >Emitted(15, 2) Source(5, 2) + SourceIndex(1) +3 >Emitted(15, 2) Source(1, 1) + SourceIndex(1) +4 >Emitted(15, 6) Source(5, 2) + SourceIndex(1) +--- +>>>//# sourceMappingURL=second-output.js.map + +//// [/src/2/second-output.tsbuildinfo] +{ + "bundle": { + "commonSourceDirectory": "/src/second/", + "sourceFiles": [ + "/src/second/second_part1.ts", + "/src/second/second_part2.ts" + ], + "js": { + "sections": [ + { + "pos": 0, + "end": 285, + "kind": "text" + } + ] + }, + "dts": { + "sections": [ + { + "pos": 0, + "end": 100, + "kind": "text" + } + ] + } + } +} + +//// [/src/2/second-output.tsbuildinfo.baseline.txt] +====================================================================== +File:: /src/2/second-output.js +---------------------------------------------------------------------- +text: (0-285) +var N; +(function (N) { + function f() { + console.log('testing'); + } + f(); +})(N || (N = {})); +var C = (function () { + function C() { + } + C.prototype.doSomething = function () { + console.log("something got done"); + }; + return C; +}()); + +====================================================================== +====================================================================== +File:: /src/2/second-output.d.ts +---------------------------------------------------------------------- +text: (0-100) +declare namespace N { +} +declare namespace N { +} +declare class C { + doSomething(): void; +} + +====================================================================== + +//// [/src/first/bin/first-output.d.ts] +interface TheFirst { + none: any; +} +declare const s = "Hello, world"; +interface NoJsForHereEither { + none: any; +} +declare function f(): string; +//# sourceMappingURL=first-output.d.ts.map + +//// [/src/first/bin/first-output.d.ts.map] +{"version":3,"file":"first-output.d.ts","sourceRoot":"","sources":["../first_PART1.ts","../first_part2.ts","../first_part3.ts"],"names":[],"mappings":"AAAA,UAAU,QAAQ;IACd,IAAI,EAAE,GAAG,CAAC;CACb;AAED,QAAA,MAAM,CAAC,iBAAiB,CAAC;AAEzB,UAAU,iBAAiB;IACvB,IAAI,EAAE,GAAG,CAAC;CACb;AERD,iBAAS,CAAC,WAET"} + +//// [/src/first/bin/first-output.d.ts.map.baseline.txt] +=================================================================== +JsFile: first-output.d.ts +mapUrl: first-output.d.ts.map +sourceRoot: +sources: ../first_PART1.ts,../first_part2.ts,../first_part3.ts +=================================================================== +------------------------------------------------------------------- +emittedFile:/src/first/bin/first-output.d.ts +sourceFile:../first_PART1.ts +------------------------------------------------------------------- +>>>interface TheFirst { +1 > +2 >^^^^^^^^^^ +3 > ^^^^^^^^ +1 > +2 >interface +3 > TheFirst +1 >Emitted(1, 1) Source(1, 1) + SourceIndex(0) +2 >Emitted(1, 11) Source(1, 11) + SourceIndex(0) +3 >Emitted(1, 19) Source(1, 19) + SourceIndex(0) +--- +>>> none: any; +1 >^^^^ +2 > ^^^^ +3 > ^^ +4 > ^^^ +5 > ^ +1 > { + > +2 > none +3 > : +4 > any +5 > ; +1 >Emitted(2, 5) Source(2, 5) + SourceIndex(0) +2 >Emitted(2, 9) Source(2, 9) + SourceIndex(0) +3 >Emitted(2, 11) Source(2, 11) + SourceIndex(0) +4 >Emitted(2, 14) Source(2, 14) + SourceIndex(0) +5 >Emitted(2, 15) Source(2, 15) + SourceIndex(0) +--- +>>>} +1 >^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > + >} +1 >Emitted(3, 2) Source(3, 2) + SourceIndex(0) +--- +>>>declare const s = "Hello, world"; +1-> +2 >^^^^^^^^ +3 > ^^^^^^ +4 > ^ +5 > ^^^^^^^^^^^^^^^^^ +6 > ^ +1-> + > + > +2 > +3 > const +4 > s +5 > = "Hello, world" +6 > ; +1->Emitted(4, 1) Source(5, 1) + SourceIndex(0) +2 >Emitted(4, 9) Source(5, 1) + SourceIndex(0) +3 >Emitted(4, 15) Source(5, 7) + SourceIndex(0) +4 >Emitted(4, 16) Source(5, 8) + SourceIndex(0) +5 >Emitted(4, 33) Source(5, 25) + SourceIndex(0) +6 >Emitted(4, 34) Source(5, 26) + SourceIndex(0) +--- +>>>interface NoJsForHereEither { +1 > +2 >^^^^^^^^^^ +3 > ^^^^^^^^^^^^^^^^^ +1 > + > + > +2 >interface +3 > NoJsForHereEither +1 >Emitted(5, 1) Source(7, 1) + SourceIndex(0) +2 >Emitted(5, 11) Source(7, 11) + SourceIndex(0) +3 >Emitted(5, 28) Source(7, 28) + SourceIndex(0) +--- +>>> none: any; +1 >^^^^ +2 > ^^^^ +3 > ^^ +4 > ^^^ +5 > ^ +1 > { + > +2 > none +3 > : +4 > any +5 > ; +1 >Emitted(6, 5) Source(8, 5) + SourceIndex(0) +2 >Emitted(6, 9) Source(8, 9) + SourceIndex(0) +3 >Emitted(6, 11) Source(8, 11) + SourceIndex(0) +4 >Emitted(6, 14) Source(8, 14) + SourceIndex(0) +5 >Emitted(6, 15) Source(8, 15) + SourceIndex(0) +--- +>>>} +1 >^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > + >} +1 >Emitted(7, 2) Source(9, 2) + SourceIndex(0) +--- +------------------------------------------------------------------- +emittedFile:/src/first/bin/first-output.d.ts +sourceFile:../first_part3.ts +------------------------------------------------------------------- +>>>declare function f(): string; +1-> +2 >^^^^^^^^^^^^^^^^^ +3 > ^ +4 > ^^^^^^^^^^^ +5 > ^^^^^^^^^^^^-> +1-> +2 >function +3 > f +4 > () { + > return "JS does hoists"; + > } +1->Emitted(8, 1) Source(1, 1) + SourceIndex(2) +2 >Emitted(8, 18) Source(1, 10) + SourceIndex(2) +3 >Emitted(8, 19) Source(1, 11) + SourceIndex(2) +4 >Emitted(8, 30) Source(3, 2) + SourceIndex(2) +--- +>>>//# sourceMappingURL=first-output.d.ts.map + +//// [/src/first/bin/first-output.js] +var s = "Hello, world"; +console.log(s); +console.log(f()); +function f() { + return "JS does hoists"; +} +//# sourceMappingURL=first-output.js.map + +//// [/src/first/bin/first-output.js.map] +{"version":3,"file":"first-output.js","sourceRoot":"","sources":["../first_PART1.ts","../first_part2.ts","../first_part3.ts"],"names":[],"mappings":"AAIA,IAAM,CAAC,GAAG,cAAc,CAAC;AAMzB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;ACVf,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;ACAjB,SAAS,CAAC;IACN,OAAO,gBAAgB,CAAC;AAC5B,CAAC"} + +//// [/src/first/bin/first-output.js.map.baseline.txt] +=================================================================== +JsFile: first-output.js +mapUrl: first-output.js.map +sourceRoot: +sources: ../first_PART1.ts,../first_part2.ts,../first_part3.ts +=================================================================== +------------------------------------------------------------------- +emittedFile:/src/first/bin/first-output.js +sourceFile:../first_PART1.ts +------------------------------------------------------------------- +>>>var s = "Hello, world"; +1 > +2 >^^^^ +3 > ^ +4 > ^^^ +5 > ^^^^^^^^^^^^^^ +6 > ^ +1 >interface TheFirst { + > none: any; + >} + > + > +2 >const +3 > s +4 > = +5 > "Hello, world" +6 > ; +1 >Emitted(1, 1) Source(5, 1) + SourceIndex(0) +2 >Emitted(1, 5) Source(5, 7) + SourceIndex(0) +3 >Emitted(1, 6) Source(5, 8) + SourceIndex(0) +4 >Emitted(1, 9) Source(5, 11) + SourceIndex(0) +5 >Emitted(1, 23) Source(5, 25) + SourceIndex(0) +6 >Emitted(1, 24) Source(5, 26) + SourceIndex(0) +--- +>>>console.log(s); +1 > +2 >^^^^^^^ +3 > ^ +4 > ^^^ +5 > ^ +6 > ^ +7 > ^ +8 > ^ +9 > ^^^-> +1 > + > + >interface NoJsForHereEither { + > none: any; + >} + > + > +2 >console +3 > . +4 > log +5 > ( +6 > s +7 > ) +8 > ; +1 >Emitted(2, 1) Source(11, 1) + SourceIndex(0) +2 >Emitted(2, 8) Source(11, 8) + SourceIndex(0) +3 >Emitted(2, 9) Source(11, 9) + SourceIndex(0) +4 >Emitted(2, 12) Source(11, 12) + SourceIndex(0) +5 >Emitted(2, 13) Source(11, 13) + SourceIndex(0) +6 >Emitted(2, 14) Source(11, 14) + SourceIndex(0) +7 >Emitted(2, 15) Source(11, 15) + SourceIndex(0) +8 >Emitted(2, 16) Source(11, 16) + SourceIndex(0) +--- +------------------------------------------------------------------- +emittedFile:/src/first/bin/first-output.js +sourceFile:../first_part2.ts +------------------------------------------------------------------- +>>>console.log(f()); +1-> +2 >^^^^^^^ +3 > ^ +4 > ^^^ +5 > ^ +6 > ^ +7 > ^^ +8 > ^ +9 > ^ +1-> +2 >console +3 > . +4 > log +5 > ( +6 > f +7 > () +8 > ) +9 > ; +1->Emitted(3, 1) Source(1, 1) + SourceIndex(1) +2 >Emitted(3, 8) Source(1, 8) + SourceIndex(1) +3 >Emitted(3, 9) Source(1, 9) + SourceIndex(1) +4 >Emitted(3, 12) Source(1, 12) + SourceIndex(1) +5 >Emitted(3, 13) Source(1, 13) + SourceIndex(1) +6 >Emitted(3, 14) Source(1, 14) + SourceIndex(1) +7 >Emitted(3, 16) Source(1, 16) + SourceIndex(1) +8 >Emitted(3, 17) Source(1, 17) + SourceIndex(1) +9 >Emitted(3, 18) Source(1, 18) + SourceIndex(1) +--- +------------------------------------------------------------------- +emittedFile:/src/first/bin/first-output.js +sourceFile:../first_part3.ts +------------------------------------------------------------------- +>>>function f() { +1 > +2 >^^^^^^^^^ +3 > ^ +4 > ^^^^^^^^^^^^^^^^^^^-> +1 > +2 >function +3 > f +1 >Emitted(4, 1) Source(1, 1) + SourceIndex(2) +2 >Emitted(4, 10) Source(1, 10) + SourceIndex(2) +3 >Emitted(4, 11) Source(1, 11) + SourceIndex(2) +--- +>>> return "JS does hoists"; +1->^^^^ +2 > ^^^^^^^ +3 > ^^^^^^^^^^^^^^^^ +4 > ^ +1->() { + > +2 > return +3 > "JS does hoists" +4 > ; +1->Emitted(5, 5) Source(2, 5) + SourceIndex(2) +2 >Emitted(5, 12) Source(2, 12) + SourceIndex(2) +3 >Emitted(5, 28) Source(2, 28) + SourceIndex(2) +4 >Emitted(5, 29) Source(2, 29) + SourceIndex(2) +--- +>>>} +1 > +2 >^ +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > + > +2 >} +1 >Emitted(6, 1) Source(3, 1) + SourceIndex(2) +2 >Emitted(6, 2) Source(3, 2) + SourceIndex(2) +--- +>>>//# sourceMappingURL=first-output.js.map + +//// [/src/first/bin/first-output.tsbuildinfo] +{ + "bundle": { + "commonSourceDirectory": "/src/first/", + "sourceFiles": [ + "/src/first/first_PART1.ts", + "/src/first/first_part2.ts", + "/src/first/first_part3.ts" + ], + "js": { + "sections": [ + { + "pos": 0, + "end": 110, + "kind": "text" + } + ] + }, + "dts": { + "sections": [ + { + "pos": 0, + "end": 157, + "kind": "text" + } + ] + } + } +} + +//// [/src/first/bin/first-output.tsbuildinfo.baseline.txt] +====================================================================== +File:: /src/first/bin/first-output.js +---------------------------------------------------------------------- +text: (0-110) +var s = "Hello, world"; +console.log(s); +console.log(f()); +function f() { + return "JS does hoists"; +} + +====================================================================== +====================================================================== +File:: /src/first/bin/first-output.d.ts +---------------------------------------------------------------------- +text: (0-157) +interface TheFirst { + none: any; +} +declare const s = "Hello, world"; +interface NoJsForHereEither { + none: any; +} +declare function f(): string; + +====================================================================== + +//// [/src/third/thirdjs/output/third-output.d.ts] +interface TheFirst { + none: any; +} +declare const s = "Hello, world"; +interface NoJsForHereEither { + none: any; +} +declare function f(): string; +declare namespace N { +} +declare namespace N { +} +declare class C { + doSomething(): void; +} +declare var c: C; +//# sourceMappingURL=third-output.d.ts.map + +//// [/src/third/thirdjs/output/third-output.d.ts.map] +{"version":3,"file":"third-output.d.ts","sourceRoot":"","sources":["../../../first/first_PART1.ts","../../../first/first_part3.ts","../../../second/second_part1.ts","../../../second/second_part2.ts","../../third_part1.ts"],"names":[],"mappings":"AAAA,UAAU,QAAQ;IACd,IAAI,EAAE,GAAG,CAAC;CACb;AAED,QAAA,MAAM,CAAC,iBAAiB,CAAC;AAEzB,UAAU,iBAAiB;IACvB,IAAI,EAAE,GAAG,CAAC;CACb;ACRD,iBAAS,CAAC,WAET;ACFD,kBAAU,CAAC,CAAC;CAEX;AAED,kBAAU,CAAC,CAAC;CAMX;ACVD,cAAM,CAAC;IACH,WAAW;CAGd;ACJD,QAAA,IAAI,CAAC,GAAU,CAAC"} + +//// [/src/third/thirdjs/output/third-output.d.ts.map.baseline.txt] +=================================================================== +JsFile: third-output.d.ts +mapUrl: third-output.d.ts.map +sourceRoot: +sources: ../../../first/first_PART1.ts,../../../first/first_part3.ts,../../../second/second_part1.ts,../../../second/second_part2.ts,../../third_part1.ts +=================================================================== +------------------------------------------------------------------- +emittedFile:/src/third/thirdjs/output/third-output.d.ts +sourceFile:../../../first/first_PART1.ts +------------------------------------------------------------------- +>>>interface TheFirst { +1 > +2 >^^^^^^^^^^ +3 > ^^^^^^^^ +1 > +2 >interface +3 > TheFirst +1 >Emitted(1, 1) Source(1, 1) + SourceIndex(0) +2 >Emitted(1, 11) Source(1, 11) + SourceIndex(0) +3 >Emitted(1, 19) Source(1, 19) + SourceIndex(0) +--- +>>> none: any; +1 >^^^^ +2 > ^^^^ +3 > ^^ +4 > ^^^ +5 > ^ +1 > { + > +2 > none +3 > : +4 > any +5 > ; +1 >Emitted(2, 5) Source(2, 5) + SourceIndex(0) +2 >Emitted(2, 9) Source(2, 9) + SourceIndex(0) +3 >Emitted(2, 11) Source(2, 11) + SourceIndex(0) +4 >Emitted(2, 14) Source(2, 14) + SourceIndex(0) +5 >Emitted(2, 15) Source(2, 15) + SourceIndex(0) +--- +>>>} +1 >^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > + >} +1 >Emitted(3, 2) Source(3, 2) + SourceIndex(0) +--- +>>>declare const s = "Hello, world"; +1-> +2 >^^^^^^^^ +3 > ^^^^^^ +4 > ^ +5 > ^^^^^^^^^^^^^^^^^ +6 > ^ +1-> + > + > +2 > +3 > const +4 > s +5 > = "Hello, world" +6 > ; +1->Emitted(4, 1) Source(5, 1) + SourceIndex(0) +2 >Emitted(4, 9) Source(5, 1) + SourceIndex(0) +3 >Emitted(4, 15) Source(5, 7) + SourceIndex(0) +4 >Emitted(4, 16) Source(5, 8) + SourceIndex(0) +5 >Emitted(4, 33) Source(5, 25) + SourceIndex(0) +6 >Emitted(4, 34) Source(5, 26) + SourceIndex(0) +--- +>>>interface NoJsForHereEither { +1 > +2 >^^^^^^^^^^ +3 > ^^^^^^^^^^^^^^^^^ +1 > + > + > +2 >interface +3 > NoJsForHereEither +1 >Emitted(5, 1) Source(7, 1) + SourceIndex(0) +2 >Emitted(5, 11) Source(7, 11) + SourceIndex(0) +3 >Emitted(5, 28) Source(7, 28) + SourceIndex(0) +--- +>>> none: any; +1 >^^^^ +2 > ^^^^ +3 > ^^ +4 > ^^^ +5 > ^ +1 > { + > +2 > none +3 > : +4 > any +5 > ; +1 >Emitted(6, 5) Source(8, 5) + SourceIndex(0) +2 >Emitted(6, 9) Source(8, 9) + SourceIndex(0) +3 >Emitted(6, 11) Source(8, 11) + SourceIndex(0) +4 >Emitted(6, 14) Source(8, 14) + SourceIndex(0) +5 >Emitted(6, 15) Source(8, 15) + SourceIndex(0) +--- +>>>} +1 >^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > + >} +1 >Emitted(7, 2) Source(9, 2) + SourceIndex(0) +--- +------------------------------------------------------------------- +emittedFile:/src/third/thirdjs/output/third-output.d.ts +sourceFile:../../../first/first_part3.ts +------------------------------------------------------------------- +>>>declare function f(): string; +1-> +2 >^^^^^^^^^^^^^^^^^ +3 > ^ +4 > ^^^^^^^^^^^ +1-> +2 >function +3 > f +4 > () { + > return "JS does hoists"; + > } +1->Emitted(8, 1) Source(1, 1) + SourceIndex(1) +2 >Emitted(8, 18) Source(1, 10) + SourceIndex(1) +3 >Emitted(8, 19) Source(1, 11) + SourceIndex(1) +4 >Emitted(8, 30) Source(3, 2) + SourceIndex(1) +--- +------------------------------------------------------------------- +emittedFile:/src/third/thirdjs/output/third-output.d.ts +sourceFile:../../../second/second_part1.ts +------------------------------------------------------------------- +>>>declare namespace N { +1 > +2 >^^^^^^^^^^^^^^^^^^ +3 > ^ +4 > ^ +1 > +2 >namespace +3 > N +4 > +1 >Emitted(9, 1) Source(1, 1) + SourceIndex(2) +2 >Emitted(9, 19) Source(1, 11) + SourceIndex(2) +3 >Emitted(9, 20) Source(1, 12) + SourceIndex(2) +4 >Emitted(9, 21) Source(1, 13) + SourceIndex(2) +--- +>>>} +1 >^ +2 > ^^^^^^^^^^^^^^^^^^^^^-> +1 >{ + > // Comment text + >} +1 >Emitted(10, 2) Source(3, 2) + SourceIndex(2) +--- +>>>declare namespace N { +1-> +2 >^^^^^^^^^^^^^^^^^^ +3 > ^ +4 > ^ +1-> + > + > +2 >namespace +3 > N +4 > +1->Emitted(11, 1) Source(5, 1) + SourceIndex(2) +2 >Emitted(11, 19) Source(5, 11) + SourceIndex(2) +3 >Emitted(11, 20) Source(5, 12) + SourceIndex(2) +4 >Emitted(11, 21) Source(5, 13) + SourceIndex(2) +--- +>>>} +1 >^ +2 > ^^^^^^^^^^^^^^^^^-> +1 >{ + > function f() { + > console.log('testing'); + > } + > + > f(); + >} +1 >Emitted(12, 2) Source(11, 2) + SourceIndex(2) +--- +------------------------------------------------------------------- +emittedFile:/src/third/thirdjs/output/third-output.d.ts +sourceFile:../../../second/second_part2.ts +------------------------------------------------------------------- +>>>declare class C { +1-> +2 >^^^^^^^^^^^^^^ +3 > ^ +4 > ^^^^^^^^^^-> +1-> +2 >class +3 > C +1->Emitted(13, 1) Source(1, 1) + SourceIndex(3) +2 >Emitted(13, 15) Source(1, 7) + SourceIndex(3) +3 >Emitted(13, 16) Source(1, 8) + SourceIndex(3) +--- +>>> doSomething(): void; +1->^^^^ +2 > ^^^^^^^^^^^ +1-> { + > +2 > doSomething +1->Emitted(14, 5) Source(2, 5) + SourceIndex(3) +2 >Emitted(14, 16) Source(2, 16) + SourceIndex(3) +--- +>>>} +1 >^ +2 > ^^^^^^^^^^^^^^^^^-> +1 >() { + > console.log("something got done"); + > } + >} +1 >Emitted(15, 2) Source(5, 2) + SourceIndex(3) +--- +------------------------------------------------------------------- +emittedFile:/src/third/thirdjs/output/third-output.d.ts +sourceFile:../../third_part1.ts +------------------------------------------------------------------- +>>>declare var c: C; +1-> +2 >^^^^^^^^ +3 > ^^^^ +4 > ^ +5 > ^^^ +6 > ^ +7 > ^^^^^^^^^^^^^^^^^^^^^^^^-> +1-> +2 > +3 > var +4 > c +5 > = new C() +6 > ; +1->Emitted(16, 1) Source(1, 1) + SourceIndex(4) +2 >Emitted(16, 9) Source(1, 1) + SourceIndex(4) +3 >Emitted(16, 13) Source(1, 5) + SourceIndex(4) +4 >Emitted(16, 14) Source(1, 6) + SourceIndex(4) +5 >Emitted(16, 17) Source(1, 16) + SourceIndex(4) +6 >Emitted(16, 18) Source(1, 17) + SourceIndex(4) +--- +>>>//# sourceMappingURL=third-output.d.ts.map + +//// [/src/third/thirdjs/output/third-output.js] +var s = "Hello, world"; +console.log(s); +console.log(f()); +function f() { + return "JS does hoists"; +} +var N; +(function (N) { + function f() { + console.log('testing'); + } + f(); +})(N || (N = {})); +var C = (function () { + function C() { + } + C.prototype.doSomething = function () { + console.log("something got done"); + }; + return C; +}()); +var c = new C(); +c.doSomething(); +//# sourceMappingURL=third-output.js.map + +//// [/src/third/thirdjs/output/third-output.js.map] +{"version":3,"file":"third-output.js","sourceRoot":"","sources":["../../../first/first_PART1.ts","../../../first/first_part2.ts","../../../first/first_part3.ts","../../../second/second_part1.ts","../../../second/second_part2.ts","../../third_part1.ts"],"names":[],"mappings":"AAIA,IAAM,CAAC,GAAG,cAAc,CAAC;AAMzB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;ACVf,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;ACAjB,SAAS,CAAC;IACN,OAAO,gBAAgB,CAAC;AAC5B,CAAC;ACED,IAAU,CAAC,CAMV;AAND,WAAU,CAAC;IACP,SAAS,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IAED,CAAC,EAAE,CAAC;AACR,CAAC,EANS,CAAC,KAAD,CAAC,QAMV;ACVD;IAAA;IAIA,CAAC;IAHG,uBAAW,GAAX;QACI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACtC,CAAC;IACL,QAAC;AAAD,CAAC,AAJD,IAIC;ACJD,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAChB,CAAC,CAAC,WAAW,EAAE,CAAC"} + +//// [/src/third/thirdjs/output/third-output.js.map.baseline.txt] +=================================================================== +JsFile: third-output.js +mapUrl: third-output.js.map +sourceRoot: +sources: ../../../first/first_PART1.ts,../../../first/first_part2.ts,../../../first/first_part3.ts,../../../second/second_part1.ts,../../../second/second_part2.ts,../../third_part1.ts +=================================================================== +------------------------------------------------------------------- +emittedFile:/src/third/thirdjs/output/third-output.js +sourceFile:../../../first/first_PART1.ts +------------------------------------------------------------------- +>>>var s = "Hello, world"; +1 > +2 >^^^^ +3 > ^ +4 > ^^^ +5 > ^^^^^^^^^^^^^^ +6 > ^ +1 >interface TheFirst { + > none: any; + >} + > + > +2 >const +3 > s +4 > = +5 > "Hello, world" +6 > ; +1 >Emitted(1, 1) Source(5, 1) + SourceIndex(0) +2 >Emitted(1, 5) Source(5, 7) + SourceIndex(0) +3 >Emitted(1, 6) Source(5, 8) + SourceIndex(0) +4 >Emitted(1, 9) Source(5, 11) + SourceIndex(0) +5 >Emitted(1, 23) Source(5, 25) + SourceIndex(0) +6 >Emitted(1, 24) Source(5, 26) + SourceIndex(0) +--- +>>>console.log(s); +1 > +2 >^^^^^^^ +3 > ^ +4 > ^^^ +5 > ^ +6 > ^ +7 > ^ +8 > ^ +9 > ^^^-> +1 > + > + >interface NoJsForHereEither { + > none: any; + >} + > + > +2 >console +3 > . +4 > log +5 > ( +6 > s +7 > ) +8 > ; +1 >Emitted(2, 1) Source(11, 1) + SourceIndex(0) +2 >Emitted(2, 8) Source(11, 8) + SourceIndex(0) +3 >Emitted(2, 9) Source(11, 9) + SourceIndex(0) +4 >Emitted(2, 12) Source(11, 12) + SourceIndex(0) +5 >Emitted(2, 13) Source(11, 13) + SourceIndex(0) +6 >Emitted(2, 14) Source(11, 14) + SourceIndex(0) +7 >Emitted(2, 15) Source(11, 15) + SourceIndex(0) +8 >Emitted(2, 16) Source(11, 16) + SourceIndex(0) +--- +------------------------------------------------------------------- +emittedFile:/src/third/thirdjs/output/third-output.js +sourceFile:../../../first/first_part2.ts +------------------------------------------------------------------- +>>>console.log(f()); +1-> +2 >^^^^^^^ +3 > ^ +4 > ^^^ +5 > ^ +6 > ^ +7 > ^^ +8 > ^ +9 > ^ +1-> +2 >console +3 > . +4 > log +5 > ( +6 > f +7 > () +8 > ) +9 > ; +1->Emitted(3, 1) Source(1, 1) + SourceIndex(1) +2 >Emitted(3, 8) Source(1, 8) + SourceIndex(1) +3 >Emitted(3, 9) Source(1, 9) + SourceIndex(1) +4 >Emitted(3, 12) Source(1, 12) + SourceIndex(1) +5 >Emitted(3, 13) Source(1, 13) + SourceIndex(1) +6 >Emitted(3, 14) Source(1, 14) + SourceIndex(1) +7 >Emitted(3, 16) Source(1, 16) + SourceIndex(1) +8 >Emitted(3, 17) Source(1, 17) + SourceIndex(1) +9 >Emitted(3, 18) Source(1, 18) + SourceIndex(1) +--- +------------------------------------------------------------------- +emittedFile:/src/third/thirdjs/output/third-output.js +sourceFile:../../../first/first_part3.ts +------------------------------------------------------------------- +>>>function f() { +1 > +2 >^^^^^^^^^ +3 > ^ +4 > ^^^^^^^^^^^^^^^^^^^-> +1 > +2 >function +3 > f +1 >Emitted(4, 1) Source(1, 1) + SourceIndex(2) +2 >Emitted(4, 10) Source(1, 10) + SourceIndex(2) +3 >Emitted(4, 11) Source(1, 11) + SourceIndex(2) +--- +>>> return "JS does hoists"; +1->^^^^ +2 > ^^^^^^^ +3 > ^^^^^^^^^^^^^^^^ +4 > ^ +1->() { + > +2 > return +3 > "JS does hoists" +4 > ; +1->Emitted(5, 5) Source(2, 5) + SourceIndex(2) +2 >Emitted(5, 12) Source(2, 12) + SourceIndex(2) +3 >Emitted(5, 28) Source(2, 28) + SourceIndex(2) +4 >Emitted(5, 29) Source(2, 29) + SourceIndex(2) +--- +>>>} +1 > +2 >^ +3 > ^^^^^^-> +1 > + > +2 >} +1 >Emitted(6, 1) Source(3, 1) + SourceIndex(2) +2 >Emitted(6, 2) Source(3, 2) + SourceIndex(2) +--- +------------------------------------------------------------------- +emittedFile:/src/third/thirdjs/output/third-output.js +sourceFile:../../../second/second_part1.ts +------------------------------------------------------------------- +>>>var N; +1-> +2 >^^^^ +3 > ^ +4 > ^ +5 > ^^^^^^^^^^-> +1->namespace N { + > // Comment text + >} + > + > +2 >namespace +3 > N +4 > { + > function f() { + > console.log('testing'); + > } + > + > f(); + > } +1->Emitted(7, 1) Source(5, 1) + SourceIndex(3) +2 >Emitted(7, 5) Source(5, 11) + SourceIndex(3) +3 >Emitted(7, 6) Source(5, 12) + SourceIndex(3) +4 >Emitted(7, 7) Source(11, 2) + SourceIndex(3) +--- +>>>(function (N) { +1-> +2 >^^^^^^^^^^^ +3 > ^ +4 > ^^^^^^^-> +1-> +2 >namespace +3 > N +1->Emitted(8, 1) Source(5, 1) + SourceIndex(3) +2 >Emitted(8, 12) Source(5, 11) + SourceIndex(3) +3 >Emitted(8, 13) Source(5, 12) + SourceIndex(3) +--- +>>> function f() { +1->^^^^ +2 > ^^^^^^^^^ +3 > ^ +4 > ^^^^^^^^^^^^^^^^^^-> +1-> { + > +2 > function +3 > f +1->Emitted(9, 5) Source(6, 5) + SourceIndex(3) +2 >Emitted(9, 14) Source(6, 14) + SourceIndex(3) +3 >Emitted(9, 15) Source(6, 15) + SourceIndex(3) +--- +>>> console.log('testing'); +1->^^^^^^^^ +2 > ^^^^^^^ +3 > ^ +4 > ^^^ +5 > ^ +6 > ^^^^^^^^^ +7 > ^ +8 > ^ +1->() { + > +2 > console +3 > . +4 > log +5 > ( +6 > 'testing' +7 > ) +8 > ; +1->Emitted(10, 9) Source(7, 9) + SourceIndex(3) +2 >Emitted(10, 16) Source(7, 16) + SourceIndex(3) +3 >Emitted(10, 17) Source(7, 17) + SourceIndex(3) +4 >Emitted(10, 20) Source(7, 20) + SourceIndex(3) +5 >Emitted(10, 21) Source(7, 21) + SourceIndex(3) +6 >Emitted(10, 30) Source(7, 30) + SourceIndex(3) +7 >Emitted(10, 31) Source(7, 31) + SourceIndex(3) +8 >Emitted(10, 32) Source(7, 32) + SourceIndex(3) +--- +>>> } +1 >^^^^ +2 > ^ +3 > ^^^^-> +1 > + > +2 > } +1 >Emitted(11, 5) Source(8, 5) + SourceIndex(3) +2 >Emitted(11, 6) Source(8, 6) + SourceIndex(3) +--- +>>> f(); +1->^^^^ +2 > ^ +3 > ^^ +4 > ^ +5 > ^^^^^^^^^^^-> +1-> + > + > +2 > f +3 > () +4 > ; +1->Emitted(12, 5) Source(10, 5) + SourceIndex(3) +2 >Emitted(12, 6) Source(10, 6) + SourceIndex(3) +3 >Emitted(12, 8) Source(10, 8) + SourceIndex(3) +4 >Emitted(12, 9) Source(10, 9) + SourceIndex(3) +--- +>>>})(N || (N = {})); +1-> +2 >^ +3 > ^^ +4 > ^ +5 > ^^^^^ +6 > ^ +7 > ^^^^^^^^ +8 > ^^^^^-> +1-> + > +2 >} +3 > +4 > N +5 > +6 > N +7 > { + > function f() { + > console.log('testing'); + > } + > + > f(); + > } +1->Emitted(13, 1) Source(11, 1) + SourceIndex(3) +2 >Emitted(13, 2) Source(11, 2) + SourceIndex(3) +3 >Emitted(13, 4) Source(5, 11) + SourceIndex(3) +4 >Emitted(13, 5) Source(5, 12) + SourceIndex(3) +5 >Emitted(13, 10) Source(5, 11) + SourceIndex(3) +6 >Emitted(13, 11) Source(5, 12) + SourceIndex(3) +7 >Emitted(13, 19) Source(11, 2) + SourceIndex(3) +--- +------------------------------------------------------------------- +emittedFile:/src/third/thirdjs/output/third-output.js +sourceFile:../../../second/second_part2.ts +------------------------------------------------------------------- +>>>var C = (function () { +1-> +2 >^^^^^^^^^^^^^^^^^^^-> +1-> +1->Emitted(14, 1) Source(1, 1) + SourceIndex(4) +--- +>>> function C() { +1->^^^^ +2 > ^^-> +1-> +1->Emitted(15, 5) Source(1, 1) + SourceIndex(4) +--- +>>> } +1->^^^^ +2 > ^ +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1->class C { + > doSomething() { + > console.log("something got done"); + > } + > +2 > } +1->Emitted(16, 5) Source(5, 1) + SourceIndex(4) +2 >Emitted(16, 6) Source(5, 2) + SourceIndex(4) +--- +>>> C.prototype.doSomething = function () { +1->^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^ +3 > ^^^ +4 > ^^^^^^^^^^^^^-> +1-> +2 > doSomething +3 > +1->Emitted(17, 5) Source(2, 5) + SourceIndex(4) +2 >Emitted(17, 28) Source(2, 16) + SourceIndex(4) +3 >Emitted(17, 31) Source(2, 5) + SourceIndex(4) +--- +>>> console.log("something got done"); +1->^^^^^^^^ +2 > ^^^^^^^ +3 > ^ +4 > ^^^ +5 > ^ +6 > ^^^^^^^^^^^^^^^^^^^^ +7 > ^ +8 > ^ +1->doSomething() { + > +2 > console +3 > . +4 > log +5 > ( +6 > "something got done" +7 > ) +8 > ; +1->Emitted(18, 9) Source(3, 9) + SourceIndex(4) +2 >Emitted(18, 16) Source(3, 16) + SourceIndex(4) +3 >Emitted(18, 17) Source(3, 17) + SourceIndex(4) +4 >Emitted(18, 20) Source(3, 20) + SourceIndex(4) +5 >Emitted(18, 21) Source(3, 21) + SourceIndex(4) +6 >Emitted(18, 41) Source(3, 41) + SourceIndex(4) +7 >Emitted(18, 42) Source(3, 42) + SourceIndex(4) +8 >Emitted(18, 43) Source(3, 43) + SourceIndex(4) +--- +>>> }; +1 >^^^^ +2 > ^ +3 > ^^^^^^^^^-> +1 > + > +2 > } +1 >Emitted(19, 5) Source(4, 5) + SourceIndex(4) +2 >Emitted(19, 6) Source(4, 6) + SourceIndex(4) +--- +>>> return C; +1->^^^^ +2 > ^^^^^^^^ +1-> + > +2 > } +1->Emitted(20, 5) Source(5, 1) + SourceIndex(4) +2 >Emitted(20, 13) Source(5, 2) + SourceIndex(4) +--- +>>>}()); +1 > +2 >^ +3 > +4 > ^^^^ +5 > ^^^^^^^^^^^^-> +1 > +2 >} +3 > +4 > class C { + > doSomething() { + > console.log("something got done"); + > } + > } +1 >Emitted(21, 1) Source(5, 1) + SourceIndex(4) +2 >Emitted(21, 2) Source(5, 2) + SourceIndex(4) +3 >Emitted(21, 2) Source(1, 1) + SourceIndex(4) +4 >Emitted(21, 6) Source(5, 2) + SourceIndex(4) +--- +------------------------------------------------------------------- +emittedFile:/src/third/thirdjs/output/third-output.js +sourceFile:../../third_part1.ts +------------------------------------------------------------------- +>>>var c = new C(); +1-> +2 >^^^^ +3 > ^ +4 > ^^^ +5 > ^^^^ +6 > ^ +7 > ^^ +8 > ^ +9 > ^-> +1-> +2 >var +3 > c +4 > = +5 > new +6 > C +7 > () +8 > ; +1->Emitted(22, 1) Source(1, 1) + SourceIndex(5) +2 >Emitted(22, 5) Source(1, 5) + SourceIndex(5) +3 >Emitted(22, 6) Source(1, 6) + SourceIndex(5) +4 >Emitted(22, 9) Source(1, 9) + SourceIndex(5) +5 >Emitted(22, 13) Source(1, 13) + SourceIndex(5) +6 >Emitted(22, 14) Source(1, 14) + SourceIndex(5) +7 >Emitted(22, 16) Source(1, 16) + SourceIndex(5) +8 >Emitted(22, 17) Source(1, 17) + SourceIndex(5) +--- +>>>c.doSomething(); +1-> +2 >^ +3 > ^ +4 > ^^^^^^^^^^^ +5 > ^^ +6 > ^ +7 > ^^^^^^^^^^^^^^^^^^^^^^^-> +1-> + > +2 >c +3 > . +4 > doSomething +5 > () +6 > ; +1->Emitted(23, 1) Source(2, 1) + SourceIndex(5) +2 >Emitted(23, 2) Source(2, 2) + SourceIndex(5) +3 >Emitted(23, 3) Source(2, 3) + SourceIndex(5) +4 >Emitted(23, 14) Source(2, 14) + SourceIndex(5) +5 >Emitted(23, 16) Source(2, 16) + SourceIndex(5) +6 >Emitted(23, 17) Source(2, 17) + SourceIndex(5) +--- +>>>//# sourceMappingURL=third-output.js.map + +//// [/src/third/thirdjs/output/third-output.tsbuildinfo] +{ + "bundle": { + "commonSourceDirectory": "/src/third/", + "sourceFiles": [ + "/src/third/third_part1.ts" + ], + "js": { + "sections": [ + { + "pos": 0, + "end": 110, + "kind": "prepend", + "data": "/src/first/bin/first-output.js", + "texts": [ + { + "pos": 0, + "end": 110, + "kind": "text" + } + ] + }, + { + "pos": 110, + "end": 395, + "kind": "prepend", + "data": "/src/2/second-output.js", + "texts": [ + { + "pos": 110, + "end": 395, + "kind": "text" + } + ] + }, + { + "pos": 395, + "end": 431, + "kind": "text" + } + ] + }, + "dts": { + "sections": [ + { + "pos": 0, + "end": 157, + "kind": "prepend", + "data": "/src/first/bin/first-output.d.ts", + "texts": [ + { + "pos": 0, + "end": 157, + "kind": "text" + } + ] + }, + { + "pos": 157, + "end": 257, + "kind": "prepend", + "data": "/src/2/second-output.d.ts", + "texts": [ + { + "pos": 157, + "end": 257, + "kind": "text" + } + ] + }, + { + "pos": 257, + "end": 276, + "kind": "text" + } + ] + } + } +} + +//// [/src/third/thirdjs/output/third-output.tsbuildinfo.baseline.txt] +====================================================================== +File:: /src/third/thirdjs/output/third-output.js +---------------------------------------------------------------------- +prepend: (0-110):: /src/first/bin/first-output.js texts:: 1 +>>-------------------------------------------------------------------- +text: (0-110) +var s = "Hello, world"; +console.log(s); +console.log(f()); +function f() { + return "JS does hoists"; +} + +---------------------------------------------------------------------- +prepend: (110-395):: /src/2/second-output.js texts:: 1 +>>-------------------------------------------------------------------- +text: (110-395) +var N; +(function (N) { + function f() { + console.log('testing'); + } + f(); +})(N || (N = {})); +var C = (function () { + function C() { + } + C.prototype.doSomething = function () { + console.log("something got done"); + }; + return C; +}()); + +---------------------------------------------------------------------- +text: (395-431) +var c = new C(); +c.doSomething(); + +====================================================================== +====================================================================== +File:: /src/third/thirdjs/output/third-output.d.ts +---------------------------------------------------------------------- +prepend: (0-157):: /src/first/bin/first-output.d.ts texts:: 1 +>>-------------------------------------------------------------------- +text: (0-157) +interface TheFirst { + none: any; +} +declare const s = "Hello, world"; +interface NoJsForHereEither { + none: any; +} +declare function f(): string; + +---------------------------------------------------------------------- +prepend: (157-257):: /src/2/second-output.d.ts texts:: 1 +>>-------------------------------------------------------------------- +text: (157-257) +declare namespace N { +} +declare namespace N { +} +declare class C { + doSomething(): void; +} + +---------------------------------------------------------------------- +text: (257-276) +declare var c: C; + +====================================================================== + +//// [/src/third/tsconfig.json] +{ + "compilerOptions": { + "target": "es5", + "incremental": true, + "removeComments": true, + "strict": false, + "sourceMap": true, + "declarationMap": true, + "declaration": true, + "outFile": "./thirdjs/output/third-output.js", + "skipDefaultLibCheck": true + }, + "files": [ + "third_part1.ts" + ], + "references": [ + { "path": "../first", "prepend": true }, + { "path": "../second", "prepend": true }, + ] +} + + diff --git a/tests/baselines/reference/tsbuild/outfile-concat/initial-Build/no-buildInfo/when-final-project-is-not-composite-but-uses-project-references.js b/tests/baselines/reference/tsbuild/outfile-concat/initial-Build/no-buildInfo/when-final-project-is-not-composite-but-incremental.js similarity index 96% rename from tests/baselines/reference/tsbuild/outfile-concat/initial-Build/no-buildInfo/when-final-project-is-not-composite-but-uses-project-references.js rename to tests/baselines/reference/tsbuild/outfile-concat/initial-Build/no-buildInfo/when-final-project-is-not-composite-but-incremental.js index 42d37072a82..7b49458a528 100644 --- a/tests/baselines/reference/tsbuild/outfile-concat/initial-Build/no-buildInfo/when-final-project-is-not-composite-but-uses-project-references.js +++ b/tests/baselines/reference/tsbuild/outfile-concat/initial-Build/no-buildInfo/when-final-project-is-not-composite-but-incremental.js @@ -1431,7 +1431,7 @@ sourceFile:../../third_part1.ts { "compilerOptions": { "target": "es5", - + "incremental": true, "removeComments": true, "strict": false, "sourceMap": true, diff --git a/tests/cases/compiler/optionsCompositeWithIncrementalFalse.ts b/tests/cases/compiler/optionsCompositeWithIncrementalFalse.ts new file mode 100644 index 00000000000..6bc65a412ff --- /dev/null +++ b/tests/cases/compiler/optionsCompositeWithIncrementalFalse.ts @@ -0,0 +1,4 @@ +// @composite: true +// @incremental: false + +const x = "Hello World";