diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index aa5fbd6421c..ff5d1c661e8 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -22149,9 +22149,9 @@ namespace ts { } } else { - if (modulekind === ModuleKind.ES2015 && !isInAmbientContext(node)) { + if (modulekind >= ModuleKind.ES2015 && !isInAmbientContext(node)) { // Import equals declaration is deprecated in es6 or above - grammarErrorOnNode(node, Diagnostics.Import_assignment_cannot_be_used_when_targeting_ECMAScript_2015_modules_Consider_using_import_Asterisk_as_ns_from_mod_import_a_from_mod_import_d_from_mod_or_another_module_format_instead); + grammarErrorOnNode(node, Diagnostics.Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_ns_from_mod_import_a_from_mod_import_d_from_mod_or_another_module_format_instead); } } } @@ -22187,7 +22187,7 @@ namespace ts { error(node.moduleSpecifier, Diagnostics.Module_0_uses_export_and_cannot_be_used_with_export_Asterisk, symbolToString(moduleSymbol)); } - if (modulekind !== ModuleKind.System && modulekind !== ModuleKind.ES2015) { + if (modulekind !== ModuleKind.System && modulekind !== ModuleKind.ES2015 && modulekind !== ModuleKind.ESNext) { checkExternalEmitHelpers(node, ExternalEmitHelpers.ExportStar); } } @@ -22249,9 +22249,9 @@ namespace ts { checkExternalModuleExports(container); if (node.isExportEquals && !isInAmbientContext(node)) { - if (modulekind === ModuleKind.ES2015) { + if (modulekind >= ModuleKind.ES2015) { // export assignment is not supported in es6 modules - grammarErrorOnNode(node, Diagnostics.Export_assignment_cannot_be_used_when_targeting_ECMAScript_2015_modules_Consider_using_export_default_or_another_module_format_instead); + grammarErrorOnNode(node, Diagnostics.Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or_another_module_format_instead); } else if (modulekind === ModuleKind.System) { // system modules does not support export assignment @@ -24851,7 +24851,7 @@ namespace ts { } } - if (compilerOptions.module !== ModuleKind.ES2015 && compilerOptions.module !== ModuleKind.System && !compilerOptions.noEmit && + if (compilerOptions.module !== ModuleKind.ES2015 && compilerOptions.module !== ModuleKind.ESNext && compilerOptions.module !== ModuleKind.System && !compilerOptions.noEmit && !isInAmbientContext(node.parent.parent) && hasModifier(node.parent.parent, ModifierFlags.Export)) { checkESModuleMarker(node.name); } diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json index c7713839ce3..14fb7499f8f 100644 --- a/src/compiler/diagnosticMessages.json +++ b/src/compiler/diagnosticMessages.json @@ -627,11 +627,11 @@ "category": "Error", "code": 1200 }, - "Import assignment cannot be used when targeting ECMAScript 2015 modules. Consider using 'import * as ns from \"mod\"', 'import {a} from \"mod\"', 'import d from \"mod\"', or another module format instead.": { + "Import assignment cannot be used when targeting ECMAScript modules. Consider using 'import * as ns from \"mod\"', 'import {a} from \"mod\"', 'import d from \"mod\"', or another module format instead.": { "category": "Error", "code": 1202 }, - "Export assignment cannot be used when targeting ECMAScript 2015 modules. Consider using 'export default' or another module format instead.": { + "Export assignment cannot be used when targeting ECMAScript modules. Consider using 'export default' or another module format instead.": { "category": "Error", "code": 1203 }, diff --git a/src/compiler/factory.ts b/src/compiler/factory.ts index 2bf6d6e879d..0369be30076 100644 --- a/src/compiler/factory.ts +++ b/src/compiler/factory.ts @@ -4158,7 +4158,8 @@ namespace ts { const moduleKind = getEmitModuleKind(compilerOptions); let create = hasExportStarsToExportValues && moduleKind !== ModuleKind.System - && moduleKind !== ModuleKind.ES2015; + && moduleKind !== ModuleKind.ES2015 + && moduleKind !== ModuleKind.ESNext; if (!create) { const helpers = getEmitHelpers(node); if (helpers) { diff --git a/src/compiler/transformers/ts.ts b/src/compiler/transformers/ts.ts index ebce55aa7e5..8640c642675 100644 --- a/src/compiler/transformers/ts.ts +++ b/src/compiler/transformers/ts.ts @@ -521,7 +521,7 @@ namespace ts { function visitSourceFile(node: SourceFile) { const alwaysStrict = (compilerOptions.alwaysStrict === undefined ? compilerOptions.strict : compilerOptions.alwaysStrict) && - !(isExternalModule(node) && moduleKind === ModuleKind.ES2015); + !(isExternalModule(node) && moduleKind >= ModuleKind.ES2015); return updateSourceFileNode( node, visitLexicalEnvironment(node.statements, sourceElementVisitor, context, /*start*/ 0, alwaysStrict)); @@ -2665,6 +2665,7 @@ namespace ts { return isExportOfNamespace(node) || (isExternalModuleExport(node) && moduleKind !== ModuleKind.ES2015 + && moduleKind !== ModuleKind.ESNext && moduleKind !== ModuleKind.System); } diff --git a/tests/baselines/reference/es6ExportAssignment.errors.txt b/tests/baselines/reference/es6ExportAssignment.errors.txt index 55a150f47ad..eea3299f56e 100644 --- a/tests/baselines/reference/es6ExportAssignment.errors.txt +++ b/tests/baselines/reference/es6ExportAssignment.errors.txt @@ -1,8 +1,8 @@ -tests/cases/compiler/es6ExportAssignment.ts(2,1): error TS1203: Export assignment cannot be used when targeting ECMAScript 2015 modules. Consider using 'export default' or another module format instead. +tests/cases/compiler/es6ExportAssignment.ts(2,1): error TS1203: Export assignment cannot be used when targeting ECMAScript modules. Consider using 'export default' or another module format instead. ==== tests/cases/compiler/es6ExportAssignment.ts (1 errors) ==== var a = 10; export = a; ~~~~~~~~~~~ -!!! error TS1203: Export assignment cannot be used when targeting ECMAScript 2015 modules. Consider using 'export default' or another module format instead. \ No newline at end of file +!!! error TS1203: Export assignment cannot be used when targeting ECMAScript modules. Consider using 'export default' or another module format instead. \ No newline at end of file diff --git a/tests/baselines/reference/es6ExportAssignment2.errors.txt b/tests/baselines/reference/es6ExportAssignment2.errors.txt index 9065f9ba6ce..c735da428cb 100644 --- a/tests/baselines/reference/es6ExportAssignment2.errors.txt +++ b/tests/baselines/reference/es6ExportAssignment2.errors.txt @@ -1,11 +1,11 @@ -tests/cases/compiler/a.ts(2,1): error TS1203: Export assignment cannot be used when targeting ECMAScript 2015 modules. Consider using 'export default' or another module format instead. +tests/cases/compiler/a.ts(2,1): error TS1203: Export assignment cannot be used when targeting ECMAScript modules. Consider using 'export default' or another module format instead. ==== tests/cases/compiler/a.ts (1 errors) ==== var a = 10; export = a; // Error: export = not allowed in ES6 ~~~~~~~~~~~ -!!! error TS1203: Export assignment cannot be used when targeting ECMAScript 2015 modules. Consider using 'export default' or another module format instead. +!!! error TS1203: Export assignment cannot be used when targeting ECMAScript modules. Consider using 'export default' or another module format instead. ==== tests/cases/compiler/b.ts (0 errors) ==== import * as a from "a"; diff --git a/tests/baselines/reference/es6ExportEquals.errors.txt b/tests/baselines/reference/es6ExportEquals.errors.txt index fa6e8519918..05f093db853 100644 --- a/tests/baselines/reference/es6ExportEquals.errors.txt +++ b/tests/baselines/reference/es6ExportEquals.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/es6ExportEquals.ts(3,1): error TS1203: Export assignment cannot be used when targeting ECMAScript 2015 modules. Consider using 'export default' or another module format instead. +tests/cases/compiler/es6ExportEquals.ts(3,1): error TS1203: Export assignment cannot be used when targeting ECMAScript modules. Consider using 'export default' or another module format instead. tests/cases/compiler/es6ExportEquals.ts(3,1): error TS2309: An export assignment cannot be used in a module with other exported elements. @@ -7,7 +7,7 @@ tests/cases/compiler/es6ExportEquals.ts(3,1): error TS2309: An export assignment export = f; ~~~~~~~~~~~ -!!! error TS1203: Export assignment cannot be used when targeting ECMAScript 2015 modules. Consider using 'export default' or another module format instead. +!!! error TS1203: Export assignment cannot be used when targeting ECMAScript modules. Consider using 'export default' or another module format instead. ~~~~~~~~~~~ !!! error TS2309: An export assignment cannot be used in a module with other exported elements. \ No newline at end of file diff --git a/tests/baselines/reference/es6ImportEqualsDeclaration.errors.txt b/tests/baselines/reference/es6ImportEqualsDeclaration.errors.txt index 37870a2a366..696c71950cd 100644 --- a/tests/baselines/reference/es6ImportEqualsDeclaration.errors.txt +++ b/tests/baselines/reference/es6ImportEqualsDeclaration.errors.txt @@ -1,14 +1,14 @@ -tests/cases/compiler/client.ts(1,1): error TS1202: Import assignment cannot be used when targeting ECMAScript 2015 modules. Consider using 'import * as ns from "mod"', 'import {a} from "mod"', 'import d from "mod"', or another module format instead. -tests/cases/compiler/server.ts(2,1): error TS1203: Export assignment cannot be used when targeting ECMAScript 2015 modules. Consider using 'export default' or another module format instead. +tests/cases/compiler/client.ts(1,1): error TS1202: Import assignment cannot be used when targeting ECMAScript modules. Consider using 'import * as ns from "mod"', 'import {a} from "mod"', 'import d from "mod"', or another module format instead. +tests/cases/compiler/server.ts(2,1): error TS1203: Export assignment cannot be used when targeting ECMAScript modules. Consider using 'export default' or another module format instead. ==== tests/cases/compiler/client.ts (1 errors) ==== import a = require("server"); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS1202: Import assignment cannot be used when targeting ECMAScript 2015 modules. Consider using 'import * as ns from "mod"', 'import {a} from "mod"', 'import d from "mod"', or another module format instead. +!!! error TS1202: Import assignment cannot be used when targeting ECMAScript modules. Consider using 'import * as ns from "mod"', 'import {a} from "mod"', 'import d from "mod"', or another module format instead. ==== tests/cases/compiler/server.ts (1 errors) ==== var a = 10; export = a; ~~~~~~~~~~~ -!!! error TS1203: Export assignment cannot be used when targeting ECMAScript 2015 modules. Consider using 'export default' or another module format instead. +!!! error TS1203: Export assignment cannot be used when targeting ECMAScript modules. Consider using 'export default' or another module format instead. \ No newline at end of file diff --git a/tests/baselines/reference/es6modulekind.symbols b/tests/baselines/reference/es6modulekind.symbols index cc563db6826..185969969a1 100644 --- a/tests/baselines/reference/es6modulekind.symbols +++ b/tests/baselines/reference/es6modulekind.symbols @@ -1,4 +1,4 @@ -=== tests/cases/compiler/es6modulekind.ts === +=== tests/cases/conformance/externalModules/es6/es6modulekind.ts === export default class A >A : Symbol(A, Decl(es6modulekind.ts, 0, 0)) { diff --git a/tests/baselines/reference/es6modulekind.types b/tests/baselines/reference/es6modulekind.types index a8b6fa077f0..4b150f00729 100644 --- a/tests/baselines/reference/es6modulekind.types +++ b/tests/baselines/reference/es6modulekind.types @@ -1,4 +1,4 @@ -=== tests/cases/compiler/es6modulekind.ts === +=== tests/cases/conformance/externalModules/es6/es6modulekind.ts === export default class A >A : A { diff --git a/tests/baselines/reference/es6modulekindWithES2015Target.symbols b/tests/baselines/reference/es6modulekindWithES2015Target.symbols index b7cf2e19c74..9c9f1e904ad 100644 --- a/tests/baselines/reference/es6modulekindWithES2015Target.symbols +++ b/tests/baselines/reference/es6modulekindWithES2015Target.symbols @@ -1,4 +1,4 @@ -=== tests/cases/compiler/es6modulekindWithES2015Target.ts === +=== tests/cases/conformance/externalModules/es6/es6modulekindWithES2015Target.ts === export default class A >A : Symbol(A, Decl(es6modulekindWithES2015Target.ts, 0, 0)) { diff --git a/tests/baselines/reference/es6modulekindWithES2015Target.types b/tests/baselines/reference/es6modulekindWithES2015Target.types index 018d06e0745..46f44784d74 100644 --- a/tests/baselines/reference/es6modulekindWithES2015Target.types +++ b/tests/baselines/reference/es6modulekindWithES2015Target.types @@ -1,4 +1,4 @@ -=== tests/cases/compiler/es6modulekindWithES2015Target.ts === +=== tests/cases/conformance/externalModules/es6/es6modulekindWithES2015Target.ts === export default class A >A : A { diff --git a/tests/baselines/reference/es6modulekindWithES5Target.symbols b/tests/baselines/reference/es6modulekindWithES5Target.symbols index edba44a2223..2b91794b97e 100644 --- a/tests/baselines/reference/es6modulekindWithES5Target.symbols +++ b/tests/baselines/reference/es6modulekindWithES5Target.symbols @@ -1,4 +1,4 @@ -=== tests/cases/compiler/es6modulekindWithES5Target.ts === +=== tests/cases/conformance/externalModules/es6/es6modulekindWithES5Target.ts === export class C { >C : Symbol(C, Decl(es6modulekindWithES5Target.ts, 0, 0)) diff --git a/tests/baselines/reference/es6modulekindWithES5Target.types b/tests/baselines/reference/es6modulekindWithES5Target.types index 018114be43d..9d9b7704552 100644 --- a/tests/baselines/reference/es6modulekindWithES5Target.types +++ b/tests/baselines/reference/es6modulekindWithES5Target.types @@ -1,4 +1,4 @@ -=== tests/cases/compiler/es6modulekindWithES5Target.ts === +=== tests/cases/conformance/externalModules/es6/es6modulekindWithES5Target.ts === export class C { >C : C diff --git a/tests/baselines/reference/es6modulekindWithES5Target10.errors.txt b/tests/baselines/reference/es6modulekindWithES5Target10.errors.txt index 16dfab25794..d4164e56491 100644 --- a/tests/baselines/reference/es6modulekindWithES5Target10.errors.txt +++ b/tests/baselines/reference/es6modulekindWithES5Target10.errors.txt @@ -1,12 +1,12 @@ -tests/cases/compiler/es6modulekindWithES5Target10.ts(1,1): error TS1202: Import assignment cannot be used when targeting ECMAScript 2015 modules. Consider using 'import * as ns from "mod"', 'import {a} from "mod"', 'import d from "mod"', or another module format instead. -tests/cases/compiler/es6modulekindWithES5Target10.ts(1,20): error TS2307: Cannot find module 'mod'. -tests/cases/compiler/es6modulekindWithES5Target10.ts(6,1): error TS1203: Export assignment cannot be used when targeting ECMAScript 2015 modules. Consider using 'export default' or another module format instead. +tests/cases/conformance/externalModules/es6/es6modulekindWithES5Target10.ts(1,1): error TS1202: Import assignment cannot be used when targeting ECMAScript modules. Consider using 'import * as ns from "mod"', 'import {a} from "mod"', 'import d from "mod"', or another module format instead. +tests/cases/conformance/externalModules/es6/es6modulekindWithES5Target10.ts(1,20): error TS2307: Cannot find module 'mod'. +tests/cases/conformance/externalModules/es6/es6modulekindWithES5Target10.ts(6,1): error TS1203: Export assignment cannot be used when targeting ECMAScript modules. Consider using 'export default' or another module format instead. -==== tests/cases/compiler/es6modulekindWithES5Target10.ts (3 errors) ==== +==== tests/cases/conformance/externalModules/es6/es6modulekindWithES5Target10.ts (3 errors) ==== import i = require("mod"); // Error; ~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS1202: Import assignment cannot be used when targeting ECMAScript 2015 modules. Consider using 'import * as ns from "mod"', 'import {a} from "mod"', 'import d from "mod"', or another module format instead. +!!! error TS1202: Import assignment cannot be used when targeting ECMAScript modules. Consider using 'import * as ns from "mod"', 'import {a} from "mod"', 'import d from "mod"', or another module format instead. ~~~~~ !!! error TS2307: Cannot find module 'mod'. @@ -15,4 +15,4 @@ tests/cases/compiler/es6modulekindWithES5Target10.ts(6,1): error TS1203: Export } export = N; // Error ~~~~~~~~~~~ -!!! error TS1203: Export assignment cannot be used when targeting ECMAScript 2015 modules. Consider using 'export default' or another module format instead. \ No newline at end of file +!!! error TS1203: Export assignment cannot be used when targeting ECMAScript modules. Consider using 'export default' or another module format instead. \ No newline at end of file diff --git a/tests/baselines/reference/es6modulekindWithES5Target11.symbols b/tests/baselines/reference/es6modulekindWithES5Target11.symbols index 39c351a0e5e..429a3982c10 100644 --- a/tests/baselines/reference/es6modulekindWithES5Target11.symbols +++ b/tests/baselines/reference/es6modulekindWithES5Target11.symbols @@ -1,4 +1,4 @@ -=== tests/cases/compiler/es6modulekindWithES5Target11.ts === +=== tests/cases/conformance/externalModules/es6/es6modulekindWithES5Target11.ts === declare function foo(...args: any[]): any; >foo : Symbol(foo, Decl(es6modulekindWithES5Target11.ts, 0, 0)) >args : Symbol(args, Decl(es6modulekindWithES5Target11.ts, 0, 21)) diff --git a/tests/baselines/reference/es6modulekindWithES5Target11.types b/tests/baselines/reference/es6modulekindWithES5Target11.types index 497d8e0af78..9ace8e2d37d 100644 --- a/tests/baselines/reference/es6modulekindWithES5Target11.types +++ b/tests/baselines/reference/es6modulekindWithES5Target11.types @@ -1,4 +1,4 @@ -=== tests/cases/compiler/es6modulekindWithES5Target11.ts === +=== tests/cases/conformance/externalModules/es6/es6modulekindWithES5Target11.ts === declare function foo(...args: any[]): any; >foo : (...args: any[]) => any >args : any[] diff --git a/tests/baselines/reference/es6modulekindWithES5Target12.symbols b/tests/baselines/reference/es6modulekindWithES5Target12.symbols index a16baab08ce..dd8746ecad3 100644 --- a/tests/baselines/reference/es6modulekindWithES5Target12.symbols +++ b/tests/baselines/reference/es6modulekindWithES5Target12.symbols @@ -1,4 +1,4 @@ -=== tests/cases/compiler/es6modulekindWithES5Target12.ts === +=== tests/cases/conformance/externalModules/es6/es6modulekindWithES5Target12.ts === export class C { >C : Symbol(C, Decl(es6modulekindWithES5Target12.ts, 0, 0), Decl(es6modulekindWithES5Target12.ts, 1, 1)) } diff --git a/tests/baselines/reference/es6modulekindWithES5Target12.types b/tests/baselines/reference/es6modulekindWithES5Target12.types index 7d38adb3f46..ecb29ca021a 100644 --- a/tests/baselines/reference/es6modulekindWithES5Target12.types +++ b/tests/baselines/reference/es6modulekindWithES5Target12.types @@ -1,4 +1,4 @@ -=== tests/cases/compiler/es6modulekindWithES5Target12.ts === +=== tests/cases/conformance/externalModules/es6/es6modulekindWithES5Target12.ts === export class C { >C : C } diff --git a/tests/baselines/reference/es6modulekindWithES5Target2.symbols b/tests/baselines/reference/es6modulekindWithES5Target2.symbols index 66f1375e6e5..ff0f5c4388e 100644 --- a/tests/baselines/reference/es6modulekindWithES5Target2.symbols +++ b/tests/baselines/reference/es6modulekindWithES5Target2.symbols @@ -1,4 +1,4 @@ -=== tests/cases/compiler/es6modulekindWithES5Target2.ts === +=== tests/cases/conformance/externalModules/es6/es6modulekindWithES5Target2.ts === export default class C { >C : Symbol(C, Decl(es6modulekindWithES5Target2.ts, 0, 0)) diff --git a/tests/baselines/reference/es6modulekindWithES5Target2.types b/tests/baselines/reference/es6modulekindWithES5Target2.types index 6540471c890..d120f0c5b56 100644 --- a/tests/baselines/reference/es6modulekindWithES5Target2.types +++ b/tests/baselines/reference/es6modulekindWithES5Target2.types @@ -1,4 +1,4 @@ -=== tests/cases/compiler/es6modulekindWithES5Target2.ts === +=== tests/cases/conformance/externalModules/es6/es6modulekindWithES5Target2.ts === export default class C { >C : C diff --git a/tests/baselines/reference/es6modulekindWithES5Target3.symbols b/tests/baselines/reference/es6modulekindWithES5Target3.symbols index cc0b1ecc89d..8dc8b658a28 100644 --- a/tests/baselines/reference/es6modulekindWithES5Target3.symbols +++ b/tests/baselines/reference/es6modulekindWithES5Target3.symbols @@ -1,4 +1,4 @@ -=== tests/cases/compiler/es6modulekindWithES5Target3.ts === +=== tests/cases/conformance/externalModules/es6/es6modulekindWithES5Target3.ts === declare function foo(...args: any[]): any; >foo : Symbol(foo, Decl(es6modulekindWithES5Target3.ts, 0, 0)) >args : Symbol(args, Decl(es6modulekindWithES5Target3.ts, 0, 21)) diff --git a/tests/baselines/reference/es6modulekindWithES5Target3.types b/tests/baselines/reference/es6modulekindWithES5Target3.types index d2cc641b732..f7059999daf 100644 --- a/tests/baselines/reference/es6modulekindWithES5Target3.types +++ b/tests/baselines/reference/es6modulekindWithES5Target3.types @@ -1,4 +1,4 @@ -=== tests/cases/compiler/es6modulekindWithES5Target3.ts === +=== tests/cases/conformance/externalModules/es6/es6modulekindWithES5Target3.ts === declare function foo(...args: any[]): any; >foo : (...args: any[]) => any >args : any[] diff --git a/tests/baselines/reference/es6modulekindWithES5Target4.symbols b/tests/baselines/reference/es6modulekindWithES5Target4.symbols index f7ff2d07016..4b672f1f3f1 100644 --- a/tests/baselines/reference/es6modulekindWithES5Target4.symbols +++ b/tests/baselines/reference/es6modulekindWithES5Target4.symbols @@ -1,4 +1,4 @@ -=== tests/cases/compiler/es6modulekindWithES5Target4.ts === +=== tests/cases/conformance/externalModules/es6/es6modulekindWithES5Target4.ts === class E { } >E : Symbol(E, Decl(es6modulekindWithES5Target4.ts, 0, 0)) diff --git a/tests/baselines/reference/es6modulekindWithES5Target4.types b/tests/baselines/reference/es6modulekindWithES5Target4.types index 20bea4e397b..4429c443d36 100644 --- a/tests/baselines/reference/es6modulekindWithES5Target4.types +++ b/tests/baselines/reference/es6modulekindWithES5Target4.types @@ -1,4 +1,4 @@ -=== tests/cases/compiler/es6modulekindWithES5Target4.ts === +=== tests/cases/conformance/externalModules/es6/es6modulekindWithES5Target4.ts === class E { } >E : E diff --git a/tests/baselines/reference/es6modulekindWithES5Target5.symbols b/tests/baselines/reference/es6modulekindWithES5Target5.symbols index d4401b86d6b..cc6833f753b 100644 --- a/tests/baselines/reference/es6modulekindWithES5Target5.symbols +++ b/tests/baselines/reference/es6modulekindWithES5Target5.symbols @@ -1,4 +1,4 @@ -=== tests/cases/compiler/es6modulekindWithES5Target5.ts === +=== tests/cases/conformance/externalModules/es6/es6modulekindWithES5Target5.ts === export enum E1 { >E1 : Symbol(E1, Decl(es6modulekindWithES5Target5.ts, 0, 0)) diff --git a/tests/baselines/reference/es6modulekindWithES5Target5.types b/tests/baselines/reference/es6modulekindWithES5Target5.types index 5abe6f5b165..b5e69598788 100644 --- a/tests/baselines/reference/es6modulekindWithES5Target5.types +++ b/tests/baselines/reference/es6modulekindWithES5Target5.types @@ -1,4 +1,4 @@ -=== tests/cases/compiler/es6modulekindWithES5Target5.ts === +=== tests/cases/conformance/externalModules/es6/es6modulekindWithES5Target5.ts === export enum E1 { >E1 : E1 diff --git a/tests/baselines/reference/es6modulekindWithES5Target6.symbols b/tests/baselines/reference/es6modulekindWithES5Target6.symbols index b07af7462ba..6f17707b708 100644 --- a/tests/baselines/reference/es6modulekindWithES5Target6.symbols +++ b/tests/baselines/reference/es6modulekindWithES5Target6.symbols @@ -1,4 +1,4 @@ -=== tests/cases/compiler/es6modulekindWithES5Target6.ts === +=== tests/cases/conformance/externalModules/es6/es6modulekindWithES5Target6.ts === export function f1(d = 0) { >f1 : Symbol(f1, Decl(es6modulekindWithES5Target6.ts, 0, 0)) >d : Symbol(d, Decl(es6modulekindWithES5Target6.ts, 0, 19)) diff --git a/tests/baselines/reference/es6modulekindWithES5Target6.types b/tests/baselines/reference/es6modulekindWithES5Target6.types index 5296f4730b3..611edc9bbaa 100644 --- a/tests/baselines/reference/es6modulekindWithES5Target6.types +++ b/tests/baselines/reference/es6modulekindWithES5Target6.types @@ -1,4 +1,4 @@ -=== tests/cases/compiler/es6modulekindWithES5Target6.ts === +=== tests/cases/conformance/externalModules/es6/es6modulekindWithES5Target6.ts === export function f1(d = 0) { >f1 : (d?: number) => void >d : number diff --git a/tests/baselines/reference/es6modulekindWithES5Target7.symbols b/tests/baselines/reference/es6modulekindWithES5Target7.symbols index bcc89efaeab..0cdb72fcc54 100644 --- a/tests/baselines/reference/es6modulekindWithES5Target7.symbols +++ b/tests/baselines/reference/es6modulekindWithES5Target7.symbols @@ -1,4 +1,4 @@ -=== tests/cases/compiler/es6modulekindWithES5Target7.ts === +=== tests/cases/conformance/externalModules/es6/es6modulekindWithES5Target7.ts === export namespace N { >N : Symbol(N, Decl(es6modulekindWithES5Target7.ts, 0, 0)) diff --git a/tests/baselines/reference/es6modulekindWithES5Target7.types b/tests/baselines/reference/es6modulekindWithES5Target7.types index 0e534b85c54..5a386abe7e6 100644 --- a/tests/baselines/reference/es6modulekindWithES5Target7.types +++ b/tests/baselines/reference/es6modulekindWithES5Target7.types @@ -1,4 +1,4 @@ -=== tests/cases/compiler/es6modulekindWithES5Target7.ts === +=== tests/cases/conformance/externalModules/es6/es6modulekindWithES5Target7.ts === export namespace N { >N : typeof N diff --git a/tests/baselines/reference/es6modulekindWithES5Target8.symbols b/tests/baselines/reference/es6modulekindWithES5Target8.symbols index 1a5e54ce96d..a487c30a444 100644 --- a/tests/baselines/reference/es6modulekindWithES5Target8.symbols +++ b/tests/baselines/reference/es6modulekindWithES5Target8.symbols @@ -1,4 +1,4 @@ -=== tests/cases/compiler/es6modulekindWithES5Target8.ts === +=== tests/cases/conformance/externalModules/es6/es6modulekindWithES5Target8.ts === export const c = 0; >c : Symbol(c, Decl(es6modulekindWithES5Target8.ts, 0, 12)) diff --git a/tests/baselines/reference/es6modulekindWithES5Target8.types b/tests/baselines/reference/es6modulekindWithES5Target8.types index 4bfea977016..8a91f27b10d 100644 --- a/tests/baselines/reference/es6modulekindWithES5Target8.types +++ b/tests/baselines/reference/es6modulekindWithES5Target8.types @@ -1,4 +1,4 @@ -=== tests/cases/compiler/es6modulekindWithES5Target8.ts === +=== tests/cases/conformance/externalModules/es6/es6modulekindWithES5Target8.ts === export const c = 0; >c : 0 >0 : 0 diff --git a/tests/baselines/reference/es6modulekindWithES5Target9.errors.txt b/tests/baselines/reference/es6modulekindWithES5Target9.errors.txt index af941e65bbe..10351e92529 100644 --- a/tests/baselines/reference/es6modulekindWithES5Target9.errors.txt +++ b/tests/baselines/reference/es6modulekindWithES5Target9.errors.txt @@ -1,11 +1,11 @@ -tests/cases/compiler/es6modulekindWithES5Target9.ts(1,15): error TS2307: Cannot find module 'mod'. -tests/cases/compiler/es6modulekindWithES5Target9.ts(3,17): error TS2307: Cannot find module 'mod'. -tests/cases/compiler/es6modulekindWithES5Target9.ts(5,20): error TS2307: Cannot find module 'mod'. -tests/cases/compiler/es6modulekindWithES5Target9.ts(13,15): error TS2307: Cannot find module 'mod'. -tests/cases/compiler/es6modulekindWithES5Target9.ts(15,17): error TS2307: Cannot find module 'mod'. +tests/cases/conformance/externalModules/es6/es6modulekindWithES5Target9.ts(1,15): error TS2307: Cannot find module 'mod'. +tests/cases/conformance/externalModules/es6/es6modulekindWithES5Target9.ts(3,17): error TS2307: Cannot find module 'mod'. +tests/cases/conformance/externalModules/es6/es6modulekindWithES5Target9.ts(5,20): error TS2307: Cannot find module 'mod'. +tests/cases/conformance/externalModules/es6/es6modulekindWithES5Target9.ts(13,15): error TS2307: Cannot find module 'mod'. +tests/cases/conformance/externalModules/es6/es6modulekindWithES5Target9.ts(15,17): error TS2307: Cannot find module 'mod'. -==== tests/cases/compiler/es6modulekindWithES5Target9.ts (5 errors) ==== +==== tests/cases/conformance/externalModules/es6/es6modulekindWithES5Target9.ts (5 errors) ==== import d from "mod"; ~~~~~ !!! error TS2307: Cannot find module 'mod'. diff --git a/tests/baselines/reference/esnextmodulekind.js b/tests/baselines/reference/esnextmodulekind.js new file mode 100644 index 00000000000..073c319c861 --- /dev/null +++ b/tests/baselines/reference/esnextmodulekind.js @@ -0,0 +1,22 @@ +//// [esnextmodulekind.ts] +export default class A +{ + constructor () + { + + } + + public B() + { + return 42; + } +} + +//// [esnextmodulekind.js] +export default class A { + constructor() { + } + B() { + return 42; + } +} diff --git a/tests/baselines/reference/esnextmodulekind.symbols b/tests/baselines/reference/esnextmodulekind.symbols new file mode 100644 index 00000000000..5cd1de6716b --- /dev/null +++ b/tests/baselines/reference/esnextmodulekind.symbols @@ -0,0 +1,15 @@ +=== tests/cases/conformance/externalModules/esnext/esnextmodulekind.ts === +export default class A +>A : Symbol(A, Decl(esnextmodulekind.ts, 0, 0)) +{ + constructor () + { + + } + + public B() +>B : Symbol(A.B, Decl(esnextmodulekind.ts, 5, 5)) + { + return 42; + } +} diff --git a/tests/baselines/reference/esnextmodulekind.types b/tests/baselines/reference/esnextmodulekind.types new file mode 100644 index 00000000000..a4e66e350b7 --- /dev/null +++ b/tests/baselines/reference/esnextmodulekind.types @@ -0,0 +1,16 @@ +=== tests/cases/conformance/externalModules/esnext/esnextmodulekind.ts === +export default class A +>A : A +{ + constructor () + { + + } + + public B() +>B : () => number + { + return 42; +>42 : 42 + } +} diff --git a/tests/baselines/reference/esnextmodulekindWithES2015Target.js b/tests/baselines/reference/esnextmodulekindWithES2015Target.js new file mode 100644 index 00000000000..fbaf4625244 --- /dev/null +++ b/tests/baselines/reference/esnextmodulekindWithES2015Target.js @@ -0,0 +1,22 @@ +//// [esnextmodulekindWithES2015Target.ts] +export default class A +{ + constructor () + { + + } + + public B() + { + return 42; + } +} + +//// [esnextmodulekindWithES2015Target.js] +export default class A { + constructor() { + } + B() { + return 42; + } +} diff --git a/tests/baselines/reference/esnextmodulekindWithES2015Target.symbols b/tests/baselines/reference/esnextmodulekindWithES2015Target.symbols new file mode 100644 index 00000000000..68909c42291 --- /dev/null +++ b/tests/baselines/reference/esnextmodulekindWithES2015Target.symbols @@ -0,0 +1,15 @@ +=== tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES2015Target.ts === +export default class A +>A : Symbol(A, Decl(esnextmodulekindWithES2015Target.ts, 0, 0)) +{ + constructor () + { + + } + + public B() +>B : Symbol(A.B, Decl(esnextmodulekindWithES2015Target.ts, 5, 5)) + { + return 42; + } +} diff --git a/tests/baselines/reference/esnextmodulekindWithES2015Target.types b/tests/baselines/reference/esnextmodulekindWithES2015Target.types new file mode 100644 index 00000000000..647d40731e8 --- /dev/null +++ b/tests/baselines/reference/esnextmodulekindWithES2015Target.types @@ -0,0 +1,16 @@ +=== tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES2015Target.ts === +export default class A +>A : A +{ + constructor () + { + + } + + public B() +>B : () => number + { + return 42; +>42 : 42 + } +} diff --git a/tests/baselines/reference/esnextmodulekindWithES5Target.js b/tests/baselines/reference/esnextmodulekindWithES5Target.js new file mode 100644 index 00000000000..061dd3e4050 --- /dev/null +++ b/tests/baselines/reference/esnextmodulekindWithES5Target.js @@ -0,0 +1,57 @@ +//// [esnextmodulekindWithES5Target.ts] +export class C { + static s = 0; + p = 1; + method() { } +} +export { C as C2 }; + +declare function foo(...args: any[]): any; +@foo +export class D { + static s = 0; + p = 1; + method() { } +} +export { D as D2 }; + +class E { } +export {E}; + + +//// [esnextmodulekindWithES5Target.js] +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var C = /** @class */ (function () { + function C() { + this.p = 1; + } + C.prototype.method = function () { }; + C.s = 0; + return C; +}()); +export { C }; +export { C as C2 }; +var D = /** @class */ (function () { + function D() { + this.p = 1; + } + D.prototype.method = function () { }; + D.s = 0; + D = __decorate([ + foo + ], D); + return D; +}()); +export { D }; +export { D as D2 }; +var E = /** @class */ (function () { + function E() { + } + return E; +}()); +export { E }; diff --git a/tests/baselines/reference/esnextmodulekindWithES5Target.symbols b/tests/baselines/reference/esnextmodulekindWithES5Target.symbols new file mode 100644 index 00000000000..ae548754ae2 --- /dev/null +++ b/tests/baselines/reference/esnextmodulekindWithES5Target.symbols @@ -0,0 +1,46 @@ +=== tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target.ts === +export class C { +>C : Symbol(C, Decl(esnextmodulekindWithES5Target.ts, 0, 0)) + + static s = 0; +>s : Symbol(C.s, Decl(esnextmodulekindWithES5Target.ts, 0, 16)) + + p = 1; +>p : Symbol(C.p, Decl(esnextmodulekindWithES5Target.ts, 1, 17)) + + method() { } +>method : Symbol(C.method, Decl(esnextmodulekindWithES5Target.ts, 2, 10)) +} +export { C as C2 }; +>C : Symbol(C2, Decl(esnextmodulekindWithES5Target.ts, 5, 8)) +>C2 : Symbol(C2, Decl(esnextmodulekindWithES5Target.ts, 5, 8)) + +declare function foo(...args: any[]): any; +>foo : Symbol(foo, Decl(esnextmodulekindWithES5Target.ts, 5, 19)) +>args : Symbol(args, Decl(esnextmodulekindWithES5Target.ts, 7, 21)) + +@foo +>foo : Symbol(foo, Decl(esnextmodulekindWithES5Target.ts, 5, 19)) + +export class D { +>D : Symbol(D, Decl(esnextmodulekindWithES5Target.ts, 7, 42)) + + static s = 0; +>s : Symbol(D.s, Decl(esnextmodulekindWithES5Target.ts, 9, 16)) + + p = 1; +>p : Symbol(D.p, Decl(esnextmodulekindWithES5Target.ts, 10, 17)) + + method() { } +>method : Symbol(D.method, Decl(esnextmodulekindWithES5Target.ts, 11, 10)) +} +export { D as D2 }; +>D : Symbol(D2, Decl(esnextmodulekindWithES5Target.ts, 14, 8)) +>D2 : Symbol(D2, Decl(esnextmodulekindWithES5Target.ts, 14, 8)) + +class E { } +>E : Symbol(E, Decl(esnextmodulekindWithES5Target.ts, 14, 19)) + +export {E}; +>E : Symbol(E, Decl(esnextmodulekindWithES5Target.ts, 17, 8)) + diff --git a/tests/baselines/reference/esnextmodulekindWithES5Target.types b/tests/baselines/reference/esnextmodulekindWithES5Target.types new file mode 100644 index 00000000000..89b35314e86 --- /dev/null +++ b/tests/baselines/reference/esnextmodulekindWithES5Target.types @@ -0,0 +1,50 @@ +=== tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target.ts === +export class C { +>C : C + + static s = 0; +>s : number +>0 : 0 + + p = 1; +>p : number +>1 : 1 + + method() { } +>method : () => void +} +export { C as C2 }; +>C : typeof C +>C2 : typeof C + +declare function foo(...args: any[]): any; +>foo : (...args: any[]) => any +>args : any[] + +@foo +>foo : (...args: any[]) => any + +export class D { +>D : D + + static s = 0; +>s : number +>0 : 0 + + p = 1; +>p : number +>1 : 1 + + method() { } +>method : () => void +} +export { D as D2 }; +>D : typeof D +>D2 : typeof D + +class E { } +>E : E + +export {E}; +>E : typeof E + diff --git a/tests/baselines/reference/esnextmodulekindWithES5Target10.errors.txt b/tests/baselines/reference/esnextmodulekindWithES5Target10.errors.txt new file mode 100644 index 00000000000..4793bc650ad --- /dev/null +++ b/tests/baselines/reference/esnextmodulekindWithES5Target10.errors.txt @@ -0,0 +1,18 @@ +tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target10.ts(1,1): error TS1202: Import assignment cannot be used when targeting ECMAScript modules. Consider using 'import * as ns from "mod"', 'import {a} from "mod"', 'import d from "mod"', or another module format instead. +tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target10.ts(1,20): error TS2307: Cannot find module 'mod'. +tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target10.ts(6,1): error TS1203: Export assignment cannot be used when targeting ECMAScript modules. Consider using 'export default' or another module format instead. + + +==== tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target10.ts (3 errors) ==== + import i = require("mod"); // Error; + ~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS1202: Import assignment cannot be used when targeting ECMAScript modules. Consider using 'import * as ns from "mod"', 'import {a} from "mod"', 'import d from "mod"', or another module format instead. + ~~~~~ +!!! error TS2307: Cannot find module 'mod'. + + + namespace N { + } + export = N; // Error + ~~~~~~~~~~~ +!!! error TS1203: Export assignment cannot be used when targeting ECMAScript modules. Consider using 'export default' or another module format instead. \ No newline at end of file diff --git a/tests/baselines/reference/esnextmodulekindWithES5Target10.js b/tests/baselines/reference/esnextmodulekindWithES5Target10.js new file mode 100644 index 00000000000..e68e1d72b98 --- /dev/null +++ b/tests/baselines/reference/esnextmodulekindWithES5Target10.js @@ -0,0 +1,9 @@ +//// [esnextmodulekindWithES5Target10.ts] +import i = require("mod"); // Error; + + +namespace N { +} +export = N; // Error + +//// [esnextmodulekindWithES5Target10.js] diff --git a/tests/baselines/reference/esnextmodulekindWithES5Target11.js b/tests/baselines/reference/esnextmodulekindWithES5Target11.js new file mode 100644 index 00000000000..58b18c4e829 --- /dev/null +++ b/tests/baselines/reference/esnextmodulekindWithES5Target11.js @@ -0,0 +1,32 @@ +//// [esnextmodulekindWithES5Target11.ts] +declare function foo(...args: any[]): any; +@foo +export default class C { + static x() { return C.y; } + static y = 1 + p = 1; + method() { } +} + +//// [esnextmodulekindWithES5Target11.js] +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var C = /** @class */ (function () { + function C() { + this.p = 1; + } + C_1 = C; + C.x = function () { return C_1.y; }; + C.prototype.method = function () { }; + C.y = 1; + C = C_1 = __decorate([ + foo + ], C); + return C; + var C_1; +}()); +export default C; diff --git a/tests/baselines/reference/esnextmodulekindWithES5Target11.symbols b/tests/baselines/reference/esnextmodulekindWithES5Target11.symbols new file mode 100644 index 00000000000..c7261964049 --- /dev/null +++ b/tests/baselines/reference/esnextmodulekindWithES5Target11.symbols @@ -0,0 +1,26 @@ +=== tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target11.ts === +declare function foo(...args: any[]): any; +>foo : Symbol(foo, Decl(esnextmodulekindWithES5Target11.ts, 0, 0)) +>args : Symbol(args, Decl(esnextmodulekindWithES5Target11.ts, 0, 21)) + +@foo +>foo : Symbol(foo, Decl(esnextmodulekindWithES5Target11.ts, 0, 0)) + +export default class C { +>C : Symbol(C, Decl(esnextmodulekindWithES5Target11.ts, 0, 42)) + + static x() { return C.y; } +>x : Symbol(C.x, Decl(esnextmodulekindWithES5Target11.ts, 2, 24)) +>C.y : Symbol(C.y, Decl(esnextmodulekindWithES5Target11.ts, 3, 30)) +>C : Symbol(C, Decl(esnextmodulekindWithES5Target11.ts, 0, 42)) +>y : Symbol(C.y, Decl(esnextmodulekindWithES5Target11.ts, 3, 30)) + + static y = 1 +>y : Symbol(C.y, Decl(esnextmodulekindWithES5Target11.ts, 3, 30)) + + p = 1; +>p : Symbol(C.p, Decl(esnextmodulekindWithES5Target11.ts, 4, 16)) + + method() { } +>method : Symbol(C.method, Decl(esnextmodulekindWithES5Target11.ts, 5, 10)) +} diff --git a/tests/baselines/reference/esnextmodulekindWithES5Target11.types b/tests/baselines/reference/esnextmodulekindWithES5Target11.types new file mode 100644 index 00000000000..733ae8c55f9 --- /dev/null +++ b/tests/baselines/reference/esnextmodulekindWithES5Target11.types @@ -0,0 +1,28 @@ +=== tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target11.ts === +declare function foo(...args: any[]): any; +>foo : (...args: any[]) => any +>args : any[] + +@foo +>foo : (...args: any[]) => any + +export default class C { +>C : C + + static x() { return C.y; } +>x : () => number +>C.y : number +>C : typeof C +>y : number + + static y = 1 +>y : number +>1 : 1 + + p = 1; +>p : number +>1 : 1 + + method() { } +>method : () => void +} diff --git a/tests/baselines/reference/esnextmodulekindWithES5Target12.js b/tests/baselines/reference/esnextmodulekindWithES5Target12.js new file mode 100644 index 00000000000..72d85ba1450 --- /dev/null +++ b/tests/baselines/reference/esnextmodulekindWithES5Target12.js @@ -0,0 +1,70 @@ +//// [esnextmodulekindWithES5Target12.ts] +export class C { +} + +export namespace C { + export const x = 1; +} + +export enum E { + w = 1 +} + +export enum E { + x = 2 +} + +export namespace E { + export const y = 1; +} + +export namespace E { + export const z = 1; +} + +export namespace N { +} + +export namespace N { + export const x = 1; +} + +export function F() { +} + +export namespace F { + export const x = 1; +} + +//// [esnextmodulekindWithES5Target12.js] +var C = /** @class */ (function () { + function C() { + } + return C; +}()); +export { C }; +(function (C) { + C.x = 1; +})(C || (C = {})); +export var E; +(function (E) { + E[E["w"] = 1] = "w"; +})(E || (E = {})); +(function (E) { + E[E["x"] = 2] = "x"; +})(E || (E = {})); +(function (E) { + E.y = 1; +})(E || (E = {})); +(function (E) { + E.z = 1; +})(E || (E = {})); +export var N; +(function (N) { + N.x = 1; +})(N || (N = {})); +export function F() { +} +(function (F) { + F.x = 1; +})(F || (F = {})); diff --git a/tests/baselines/reference/esnextmodulekindWithES5Target12.symbols b/tests/baselines/reference/esnextmodulekindWithES5Target12.symbols new file mode 100644 index 00000000000..f28d6cb4158 --- /dev/null +++ b/tests/baselines/reference/esnextmodulekindWithES5Target12.symbols @@ -0,0 +1,61 @@ +=== tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target12.ts === +export class C { +>C : Symbol(C, Decl(esnextmodulekindWithES5Target12.ts, 0, 0), Decl(esnextmodulekindWithES5Target12.ts, 1, 1)) +} + +export namespace C { +>C : Symbol(C, Decl(esnextmodulekindWithES5Target12.ts, 0, 0), Decl(esnextmodulekindWithES5Target12.ts, 1, 1)) + + export const x = 1; +>x : Symbol(x, Decl(esnextmodulekindWithES5Target12.ts, 4, 16)) +} + +export enum E { +>E : Symbol(E, Decl(esnextmodulekindWithES5Target12.ts, 5, 1), Decl(esnextmodulekindWithES5Target12.ts, 9, 1), Decl(esnextmodulekindWithES5Target12.ts, 13, 1), Decl(esnextmodulekindWithES5Target12.ts, 17, 1)) + + w = 1 +>w : Symbol(E.w, Decl(esnextmodulekindWithES5Target12.ts, 7, 15)) +} + +export enum E { +>E : Symbol(E, Decl(esnextmodulekindWithES5Target12.ts, 5, 1), Decl(esnextmodulekindWithES5Target12.ts, 9, 1), Decl(esnextmodulekindWithES5Target12.ts, 13, 1), Decl(esnextmodulekindWithES5Target12.ts, 17, 1)) + + x = 2 +>x : Symbol(E.x, Decl(esnextmodulekindWithES5Target12.ts, 11, 15)) +} + +export namespace E { +>E : Symbol(E, Decl(esnextmodulekindWithES5Target12.ts, 5, 1), Decl(esnextmodulekindWithES5Target12.ts, 9, 1), Decl(esnextmodulekindWithES5Target12.ts, 13, 1), Decl(esnextmodulekindWithES5Target12.ts, 17, 1)) + + export const y = 1; +>y : Symbol(y, Decl(esnextmodulekindWithES5Target12.ts, 16, 16)) +} + +export namespace E { +>E : Symbol(E, Decl(esnextmodulekindWithES5Target12.ts, 5, 1), Decl(esnextmodulekindWithES5Target12.ts, 9, 1), Decl(esnextmodulekindWithES5Target12.ts, 13, 1), Decl(esnextmodulekindWithES5Target12.ts, 17, 1)) + + export const z = 1; +>z : Symbol(z, Decl(esnextmodulekindWithES5Target12.ts, 20, 16)) +} + +export namespace N { +>N : Symbol(N, Decl(esnextmodulekindWithES5Target12.ts, 21, 1), Decl(esnextmodulekindWithES5Target12.ts, 24, 1)) +} + +export namespace N { +>N : Symbol(N, Decl(esnextmodulekindWithES5Target12.ts, 21, 1), Decl(esnextmodulekindWithES5Target12.ts, 24, 1)) + + export const x = 1; +>x : Symbol(x, Decl(esnextmodulekindWithES5Target12.ts, 27, 16)) +} + +export function F() { +>F : Symbol(F, Decl(esnextmodulekindWithES5Target12.ts, 28, 1), Decl(esnextmodulekindWithES5Target12.ts, 31, 1)) +} + +export namespace F { +>F : Symbol(F, Decl(esnextmodulekindWithES5Target12.ts, 28, 1), Decl(esnextmodulekindWithES5Target12.ts, 31, 1)) + + export const x = 1; +>x : Symbol(x, Decl(esnextmodulekindWithES5Target12.ts, 34, 16)) +} diff --git a/tests/baselines/reference/esnextmodulekindWithES5Target12.types b/tests/baselines/reference/esnextmodulekindWithES5Target12.types new file mode 100644 index 00000000000..608cf700cfd --- /dev/null +++ b/tests/baselines/reference/esnextmodulekindWithES5Target12.types @@ -0,0 +1,68 @@ +=== tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target12.ts === +export class C { +>C : C +} + +export namespace C { +>C : typeof C + + export const x = 1; +>x : 1 +>1 : 1 +} + +export enum E { +>E : E + + w = 1 +>w : E.w +>1 : 1 +} + +export enum E { +>E : E + + x = 2 +>x : E.x +>2 : 2 +} + +export namespace E { +>E : typeof E + + export const y = 1; +>y : 1 +>1 : 1 +} + +export namespace E { +>E : typeof E + + export const z = 1; +>z : 1 +>1 : 1 +} + +export namespace N { +>N : typeof N +} + +export namespace N { +>N : typeof N + + export const x = 1; +>x : 1 +>1 : 1 +} + +export function F() { +>F : typeof F +} + +export namespace F { +>F : typeof F + + export const x = 1; +>x : 1 +>1 : 1 +} diff --git a/tests/baselines/reference/esnextmodulekindWithES5Target2.js b/tests/baselines/reference/esnextmodulekindWithES5Target2.js new file mode 100644 index 00000000000..dd2a0b301a3 --- /dev/null +++ b/tests/baselines/reference/esnextmodulekindWithES5Target2.js @@ -0,0 +1,18 @@ +//// [esnextmodulekindWithES5Target2.ts] +export default class C { + static s = 0; + p = 1; + method() { } +} + + +//// [esnextmodulekindWithES5Target2.js] +var C = /** @class */ (function () { + function C() { + this.p = 1; + } + C.prototype.method = function () { }; + C.s = 0; + return C; +}()); +export default C; diff --git a/tests/baselines/reference/esnextmodulekindWithES5Target2.symbols b/tests/baselines/reference/esnextmodulekindWithES5Target2.symbols new file mode 100644 index 00000000000..c1626775f65 --- /dev/null +++ b/tests/baselines/reference/esnextmodulekindWithES5Target2.symbols @@ -0,0 +1,14 @@ +=== tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target2.ts === +export default class C { +>C : Symbol(C, Decl(esnextmodulekindWithES5Target2.ts, 0, 0)) + + static s = 0; +>s : Symbol(C.s, Decl(esnextmodulekindWithES5Target2.ts, 0, 24)) + + p = 1; +>p : Symbol(C.p, Decl(esnextmodulekindWithES5Target2.ts, 1, 17)) + + method() { } +>method : Symbol(C.method, Decl(esnextmodulekindWithES5Target2.ts, 2, 10)) +} + diff --git a/tests/baselines/reference/esnextmodulekindWithES5Target2.types b/tests/baselines/reference/esnextmodulekindWithES5Target2.types new file mode 100644 index 00000000000..165ef17ced9 --- /dev/null +++ b/tests/baselines/reference/esnextmodulekindWithES5Target2.types @@ -0,0 +1,16 @@ +=== tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target2.ts === +export default class C { +>C : C + + static s = 0; +>s : number +>0 : 0 + + p = 1; +>p : number +>1 : 1 + + method() { } +>method : () => void +} + diff --git a/tests/baselines/reference/esnextmodulekindWithES5Target3.js b/tests/baselines/reference/esnextmodulekindWithES5Target3.js new file mode 100644 index 00000000000..e46e7c1bcac --- /dev/null +++ b/tests/baselines/reference/esnextmodulekindWithES5Target3.js @@ -0,0 +1,28 @@ +//// [esnextmodulekindWithES5Target3.ts] +declare function foo(...args: any[]): any; +@foo +export default class D { + static s = 0; + p = 1; + method() { } +} + +//// [esnextmodulekindWithES5Target3.js] +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var D = /** @class */ (function () { + function D() { + this.p = 1; + } + D.prototype.method = function () { }; + D.s = 0; + D = __decorate([ + foo + ], D); + return D; +}()); +export default D; diff --git a/tests/baselines/reference/esnextmodulekindWithES5Target3.symbols b/tests/baselines/reference/esnextmodulekindWithES5Target3.symbols new file mode 100644 index 00000000000..3c34e0f2d81 --- /dev/null +++ b/tests/baselines/reference/esnextmodulekindWithES5Target3.symbols @@ -0,0 +1,20 @@ +=== tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target3.ts === +declare function foo(...args: any[]): any; +>foo : Symbol(foo, Decl(esnextmodulekindWithES5Target3.ts, 0, 0)) +>args : Symbol(args, Decl(esnextmodulekindWithES5Target3.ts, 0, 21)) + +@foo +>foo : Symbol(foo, Decl(esnextmodulekindWithES5Target3.ts, 0, 0)) + +export default class D { +>D : Symbol(D, Decl(esnextmodulekindWithES5Target3.ts, 0, 42)) + + static s = 0; +>s : Symbol(D.s, Decl(esnextmodulekindWithES5Target3.ts, 2, 24)) + + p = 1; +>p : Symbol(D.p, Decl(esnextmodulekindWithES5Target3.ts, 3, 17)) + + method() { } +>method : Symbol(D.method, Decl(esnextmodulekindWithES5Target3.ts, 4, 10)) +} diff --git a/tests/baselines/reference/esnextmodulekindWithES5Target3.types b/tests/baselines/reference/esnextmodulekindWithES5Target3.types new file mode 100644 index 00000000000..15a6ba1ce5f --- /dev/null +++ b/tests/baselines/reference/esnextmodulekindWithES5Target3.types @@ -0,0 +1,22 @@ +=== tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target3.ts === +declare function foo(...args: any[]): any; +>foo : (...args: any[]) => any +>args : any[] + +@foo +>foo : (...args: any[]) => any + +export default class D { +>D : D + + static s = 0; +>s : number +>0 : 0 + + p = 1; +>p : number +>1 : 1 + + method() { } +>method : () => void +} diff --git a/tests/baselines/reference/esnextmodulekindWithES5Target4.js b/tests/baselines/reference/esnextmodulekindWithES5Target4.js new file mode 100644 index 00000000000..c31286cd30e --- /dev/null +++ b/tests/baselines/reference/esnextmodulekindWithES5Target4.js @@ -0,0 +1,11 @@ +//// [esnextmodulekindWithES5Target4.ts] +class E { } +export default E; + +//// [esnextmodulekindWithES5Target4.js] +var E = /** @class */ (function () { + function E() { + } + return E; +}()); +export default E; diff --git a/tests/baselines/reference/esnextmodulekindWithES5Target4.symbols b/tests/baselines/reference/esnextmodulekindWithES5Target4.symbols new file mode 100644 index 00000000000..06ac0dc56e5 --- /dev/null +++ b/tests/baselines/reference/esnextmodulekindWithES5Target4.symbols @@ -0,0 +1,7 @@ +=== tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target4.ts === +class E { } +>E : Symbol(E, Decl(esnextmodulekindWithES5Target4.ts, 0, 0)) + +export default E; +>E : Symbol(E, Decl(esnextmodulekindWithES5Target4.ts, 0, 0)) + diff --git a/tests/baselines/reference/esnextmodulekindWithES5Target4.types b/tests/baselines/reference/esnextmodulekindWithES5Target4.types new file mode 100644 index 00000000000..b9ed448e9b8 --- /dev/null +++ b/tests/baselines/reference/esnextmodulekindWithES5Target4.types @@ -0,0 +1,7 @@ +=== tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target4.ts === +class E { } +>E : E + +export default E; +>E : E + diff --git a/tests/baselines/reference/esnextmodulekindWithES5Target5.js b/tests/baselines/reference/esnextmodulekindWithES5Target5.js new file mode 100644 index 00000000000..178a6c366f8 --- /dev/null +++ b/tests/baselines/reference/esnextmodulekindWithES5Target5.js @@ -0,0 +1,18 @@ +//// [esnextmodulekindWithES5Target5.ts] +export enum E1 { + value1 +} + +export const enum E2 { + value1 +} + +//// [esnextmodulekindWithES5Target5.js] +export var E1; +(function (E1) { + E1[E1["value1"] = 0] = "value1"; +})(E1 || (E1 = {})); +export var E2; +(function (E2) { + E2[E2["value1"] = 0] = "value1"; +})(E2 || (E2 = {})); diff --git a/tests/baselines/reference/esnextmodulekindWithES5Target5.symbols b/tests/baselines/reference/esnextmodulekindWithES5Target5.symbols new file mode 100644 index 00000000000..26db8dab610 --- /dev/null +++ b/tests/baselines/reference/esnextmodulekindWithES5Target5.symbols @@ -0,0 +1,14 @@ +=== tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target5.ts === +export enum E1 { +>E1 : Symbol(E1, Decl(esnextmodulekindWithES5Target5.ts, 0, 0)) + + value1 +>value1 : Symbol(E1.value1, Decl(esnextmodulekindWithES5Target5.ts, 0, 16)) +} + +export const enum E2 { +>E2 : Symbol(E2, Decl(esnextmodulekindWithES5Target5.ts, 2, 1)) + + value1 +>value1 : Symbol(E2.value1, Decl(esnextmodulekindWithES5Target5.ts, 4, 22)) +} diff --git a/tests/baselines/reference/esnextmodulekindWithES5Target5.types b/tests/baselines/reference/esnextmodulekindWithES5Target5.types new file mode 100644 index 00000000000..c838a953ef9 --- /dev/null +++ b/tests/baselines/reference/esnextmodulekindWithES5Target5.types @@ -0,0 +1,14 @@ +=== tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target5.ts === +export enum E1 { +>E1 : E1 + + value1 +>value1 : E1 +} + +export const enum E2 { +>E2 : E2 + + value1 +>value1 : E2 +} diff --git a/tests/baselines/reference/esnextmodulekindWithES5Target6.js b/tests/baselines/reference/esnextmodulekindWithES5Target6.js new file mode 100644 index 00000000000..85a87acacef --- /dev/null +++ b/tests/baselines/reference/esnextmodulekindWithES5Target6.js @@ -0,0 +1,24 @@ +//// [esnextmodulekindWithES5Target6.ts] +export function f1(d = 0) { +} + +export function f2(...arg) { +} + +export default function f3(d = 0) { +} + + +//// [esnextmodulekindWithES5Target6.js] +export function f1(d) { + if (d === void 0) { d = 0; } +} +export function f2() { + var arg = []; + for (var _i = 0; _i < arguments.length; _i++) { + arg[_i] = arguments[_i]; + } +} +export default function f3(d) { + if (d === void 0) { d = 0; } +} diff --git a/tests/baselines/reference/esnextmodulekindWithES5Target6.symbols b/tests/baselines/reference/esnextmodulekindWithES5Target6.symbols new file mode 100644 index 00000000000..a77b1691a05 --- /dev/null +++ b/tests/baselines/reference/esnextmodulekindWithES5Target6.symbols @@ -0,0 +1,16 @@ +=== tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target6.ts === +export function f1(d = 0) { +>f1 : Symbol(f1, Decl(esnextmodulekindWithES5Target6.ts, 0, 0)) +>d : Symbol(d, Decl(esnextmodulekindWithES5Target6.ts, 0, 19)) +} + +export function f2(...arg) { +>f2 : Symbol(f2, Decl(esnextmodulekindWithES5Target6.ts, 1, 1)) +>arg : Symbol(arg, Decl(esnextmodulekindWithES5Target6.ts, 3, 19)) +} + +export default function f3(d = 0) { +>f3 : Symbol(f3, Decl(esnextmodulekindWithES5Target6.ts, 4, 1)) +>d : Symbol(d, Decl(esnextmodulekindWithES5Target6.ts, 6, 27)) +} + diff --git a/tests/baselines/reference/esnextmodulekindWithES5Target6.types b/tests/baselines/reference/esnextmodulekindWithES5Target6.types new file mode 100644 index 00000000000..ac826125710 --- /dev/null +++ b/tests/baselines/reference/esnextmodulekindWithES5Target6.types @@ -0,0 +1,18 @@ +=== tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target6.ts === +export function f1(d = 0) { +>f1 : (d?: number) => void +>d : number +>0 : 0 +} + +export function f2(...arg) { +>f2 : (...arg: any[]) => void +>arg : any[] +} + +export default function f3(d = 0) { +>f3 : (d?: number) => void +>d : number +>0 : 0 +} + diff --git a/tests/baselines/reference/esnextmodulekindWithES5Target7.js b/tests/baselines/reference/esnextmodulekindWithES5Target7.js new file mode 100644 index 00000000000..be9e6984f42 --- /dev/null +++ b/tests/baselines/reference/esnextmodulekindWithES5Target7.js @@ -0,0 +1,15 @@ +//// [esnextmodulekindWithES5Target7.ts] +export namespace N { + var x = 0; +} + +export namespace N2 { + export interface I { } +} + + +//// [esnextmodulekindWithES5Target7.js] +export var N; +(function (N) { + var x = 0; +})(N || (N = {})); diff --git a/tests/baselines/reference/esnextmodulekindWithES5Target7.symbols b/tests/baselines/reference/esnextmodulekindWithES5Target7.symbols new file mode 100644 index 00000000000..bf23ed8e3c5 --- /dev/null +++ b/tests/baselines/reference/esnextmodulekindWithES5Target7.symbols @@ -0,0 +1,15 @@ +=== tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target7.ts === +export namespace N { +>N : Symbol(N, Decl(esnextmodulekindWithES5Target7.ts, 0, 0)) + + var x = 0; +>x : Symbol(x, Decl(esnextmodulekindWithES5Target7.ts, 1, 7)) +} + +export namespace N2 { +>N2 : Symbol(N2, Decl(esnextmodulekindWithES5Target7.ts, 2, 1)) + + export interface I { } +>I : Symbol(I, Decl(esnextmodulekindWithES5Target7.ts, 4, 21)) +} + diff --git a/tests/baselines/reference/esnextmodulekindWithES5Target7.types b/tests/baselines/reference/esnextmodulekindWithES5Target7.types new file mode 100644 index 00000000000..6d0887adf69 --- /dev/null +++ b/tests/baselines/reference/esnextmodulekindWithES5Target7.types @@ -0,0 +1,16 @@ +=== tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target7.ts === +export namespace N { +>N : typeof N + + var x = 0; +>x : number +>0 : 0 +} + +export namespace N2 { +>N2 : any + + export interface I { } +>I : I +} + diff --git a/tests/baselines/reference/esnextmodulekindWithES5Target8.js b/tests/baselines/reference/esnextmodulekindWithES5Target8.js new file mode 100644 index 00000000000..6a73cbb6b6c --- /dev/null +++ b/tests/baselines/reference/esnextmodulekindWithES5Target8.js @@ -0,0 +1,7 @@ +//// [esnextmodulekindWithES5Target8.ts] +export const c = 0; +export let l = 1; + +//// [esnextmodulekindWithES5Target8.js] +export var c = 0; +export var l = 1; diff --git a/tests/baselines/reference/esnextmodulekindWithES5Target8.symbols b/tests/baselines/reference/esnextmodulekindWithES5Target8.symbols new file mode 100644 index 00000000000..a2fa5496c97 --- /dev/null +++ b/tests/baselines/reference/esnextmodulekindWithES5Target8.symbols @@ -0,0 +1,7 @@ +=== tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target8.ts === +export const c = 0; +>c : Symbol(c, Decl(esnextmodulekindWithES5Target8.ts, 0, 12)) + +export let l = 1; +>l : Symbol(l, Decl(esnextmodulekindWithES5Target8.ts, 1, 10)) + diff --git a/tests/baselines/reference/esnextmodulekindWithES5Target8.types b/tests/baselines/reference/esnextmodulekindWithES5Target8.types new file mode 100644 index 00000000000..deb60c9c0df --- /dev/null +++ b/tests/baselines/reference/esnextmodulekindWithES5Target8.types @@ -0,0 +1,9 @@ +=== tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target8.ts === +export const c = 0; +>c : 0 +>0 : 0 + +export let l = 1; +>l : number +>1 : 1 + diff --git a/tests/baselines/reference/esnextmodulekindWithES5Target9.errors.txt b/tests/baselines/reference/esnextmodulekindWithES5Target9.errors.txt new file mode 100644 index 00000000000..cccb20f9659 --- /dev/null +++ b/tests/baselines/reference/esnextmodulekindWithES5Target9.errors.txt @@ -0,0 +1,36 @@ +tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target9.ts(1,15): error TS2307: Cannot find module 'mod'. +tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target9.ts(3,17): error TS2307: Cannot find module 'mod'. +tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target9.ts(5,20): error TS2307: Cannot find module 'mod'. +tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target9.ts(13,15): error TS2307: Cannot find module 'mod'. +tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target9.ts(15,17): error TS2307: Cannot find module 'mod'. + + +==== tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target9.ts (5 errors) ==== + import d from "mod"; + ~~~~~ +!!! error TS2307: Cannot find module 'mod'. + + import {a} from "mod"; + ~~~~~ +!!! error TS2307: Cannot find module 'mod'. + + import * as M from "mod"; + ~~~~~ +!!! error TS2307: Cannot find module 'mod'. + + export {a}; + + export {M}; + + export {d}; + + export * from "mod"; + ~~~~~ +!!! error TS2307: Cannot find module 'mod'. + + export {b} from "mod" + ~~~~~ +!!! error TS2307: Cannot find module 'mod'. + + export default d; + \ No newline at end of file diff --git a/tests/baselines/reference/esnextmodulekindWithES5Target9.js b/tests/baselines/reference/esnextmodulekindWithES5Target9.js new file mode 100644 index 00000000000..65197694501 --- /dev/null +++ b/tests/baselines/reference/esnextmodulekindWithES5Target9.js @@ -0,0 +1,30 @@ +//// [esnextmodulekindWithES5Target9.ts] +import d from "mod"; + +import {a} from "mod"; + +import * as M from "mod"; + +export {a}; + +export {M}; + +export {d}; + +export * from "mod"; + +export {b} from "mod" + +export default d; + + +//// [esnextmodulekindWithES5Target9.js] +import d from "mod"; +import { a } from "mod"; +import * as M from "mod"; +export { a }; +export { M }; +export { d }; +export * from "mod"; +export { b } from "mod"; +export default d; diff --git a/tests/cases/compiler/es6modulekind.ts b/tests/cases/conformance/externalModules/es6/es6modulekind.ts similarity index 100% rename from tests/cases/compiler/es6modulekind.ts rename to tests/cases/conformance/externalModules/es6/es6modulekind.ts diff --git a/tests/cases/compiler/es6modulekindWithES2015Target.ts b/tests/cases/conformance/externalModules/es6/es6modulekindWithES2015Target.ts similarity index 100% rename from tests/cases/compiler/es6modulekindWithES2015Target.ts rename to tests/cases/conformance/externalModules/es6/es6modulekindWithES2015Target.ts diff --git a/tests/cases/compiler/es6modulekindWithES5Target.ts b/tests/cases/conformance/externalModules/es6/es6modulekindWithES5Target.ts similarity index 100% rename from tests/cases/compiler/es6modulekindWithES5Target.ts rename to tests/cases/conformance/externalModules/es6/es6modulekindWithES5Target.ts diff --git a/tests/cases/compiler/es6modulekindWithES5Target10.ts b/tests/cases/conformance/externalModules/es6/es6modulekindWithES5Target10.ts similarity index 100% rename from tests/cases/compiler/es6modulekindWithES5Target10.ts rename to tests/cases/conformance/externalModules/es6/es6modulekindWithES5Target10.ts diff --git a/tests/cases/compiler/es6modulekindWithES5Target11.ts b/tests/cases/conformance/externalModules/es6/es6modulekindWithES5Target11.ts similarity index 100% rename from tests/cases/compiler/es6modulekindWithES5Target11.ts rename to tests/cases/conformance/externalModules/es6/es6modulekindWithES5Target11.ts diff --git a/tests/cases/compiler/es6modulekindWithES5Target12.ts b/tests/cases/conformance/externalModules/es6/es6modulekindWithES5Target12.ts similarity index 100% rename from tests/cases/compiler/es6modulekindWithES5Target12.ts rename to tests/cases/conformance/externalModules/es6/es6modulekindWithES5Target12.ts diff --git a/tests/cases/compiler/es6modulekindWithES5Target2.ts b/tests/cases/conformance/externalModules/es6/es6modulekindWithES5Target2.ts similarity index 100% rename from tests/cases/compiler/es6modulekindWithES5Target2.ts rename to tests/cases/conformance/externalModules/es6/es6modulekindWithES5Target2.ts diff --git a/tests/cases/compiler/es6modulekindWithES5Target3.ts b/tests/cases/conformance/externalModules/es6/es6modulekindWithES5Target3.ts similarity index 100% rename from tests/cases/compiler/es6modulekindWithES5Target3.ts rename to tests/cases/conformance/externalModules/es6/es6modulekindWithES5Target3.ts diff --git a/tests/cases/compiler/es6modulekindWithES5Target4.ts b/tests/cases/conformance/externalModules/es6/es6modulekindWithES5Target4.ts similarity index 100% rename from tests/cases/compiler/es6modulekindWithES5Target4.ts rename to tests/cases/conformance/externalModules/es6/es6modulekindWithES5Target4.ts diff --git a/tests/cases/compiler/es6modulekindWithES5Target5.ts b/tests/cases/conformance/externalModules/es6/es6modulekindWithES5Target5.ts similarity index 100% rename from tests/cases/compiler/es6modulekindWithES5Target5.ts rename to tests/cases/conformance/externalModules/es6/es6modulekindWithES5Target5.ts diff --git a/tests/cases/compiler/es6modulekindWithES5Target6.ts b/tests/cases/conformance/externalModules/es6/es6modulekindWithES5Target6.ts similarity index 100% rename from tests/cases/compiler/es6modulekindWithES5Target6.ts rename to tests/cases/conformance/externalModules/es6/es6modulekindWithES5Target6.ts diff --git a/tests/cases/compiler/es6modulekindWithES5Target7.ts b/tests/cases/conformance/externalModules/es6/es6modulekindWithES5Target7.ts similarity index 100% rename from tests/cases/compiler/es6modulekindWithES5Target7.ts rename to tests/cases/conformance/externalModules/es6/es6modulekindWithES5Target7.ts diff --git a/tests/cases/compiler/es6modulekindWithES5Target8.ts b/tests/cases/conformance/externalModules/es6/es6modulekindWithES5Target8.ts similarity index 100% rename from tests/cases/compiler/es6modulekindWithES5Target8.ts rename to tests/cases/conformance/externalModules/es6/es6modulekindWithES5Target8.ts diff --git a/tests/cases/compiler/es6modulekindWithES5Target9.ts b/tests/cases/conformance/externalModules/es6/es6modulekindWithES5Target9.ts similarity index 100% rename from tests/cases/compiler/es6modulekindWithES5Target9.ts rename to tests/cases/conformance/externalModules/es6/es6modulekindWithES5Target9.ts diff --git a/tests/cases/conformance/externalModules/esnext/esnextmodulekind.ts b/tests/cases/conformance/externalModules/esnext/esnextmodulekind.ts new file mode 100644 index 00000000000..59b61f742b4 --- /dev/null +++ b/tests/cases/conformance/externalModules/esnext/esnextmodulekind.ts @@ -0,0 +1,17 @@ +// @target: ES6 +// @sourcemap: false +// @declaration: false +// @module: esnext + +export default class A +{ + constructor () + { + + } + + public B() + { + return 42; + } +} \ No newline at end of file diff --git a/tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES2015Target.ts b/tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES2015Target.ts new file mode 100644 index 00000000000..aaf79e6607d --- /dev/null +++ b/tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES2015Target.ts @@ -0,0 +1,17 @@ +// @target: es2015 +// @sourcemap: false +// @declaration: false +// @module: es6 + +export default class A +{ + constructor () + { + + } + + public B() + { + return 42; + } +} \ No newline at end of file diff --git a/tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target.ts b/tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target.ts new file mode 100644 index 00000000000..98c38ee6e3a --- /dev/null +++ b/tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target.ts @@ -0,0 +1,22 @@ +// @target: es5 +// @module: esnext +// @experimentalDecorators: true + +export class C { + static s = 0; + p = 1; + method() { } +} +export { C as C2 }; + +declare function foo(...args: any[]): any; +@foo +export class D { + static s = 0; + p = 1; + method() { } +} +export { D as D2 }; + +class E { } +export {E}; diff --git a/tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target10.ts b/tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target10.ts new file mode 100644 index 00000000000..2505870ed8e --- /dev/null +++ b/tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target10.ts @@ -0,0 +1,9 @@ +// @target: es5 +// @module: esnext + +import i = require("mod"); // Error; + + +namespace N { +} +export = N; // Error \ No newline at end of file diff --git a/tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target11.ts b/tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target11.ts new file mode 100644 index 00000000000..29f883acd68 --- /dev/null +++ b/tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target11.ts @@ -0,0 +1,12 @@ +// @target: es5 +// @module: esnext +// @experimentalDecorators: true + +declare function foo(...args: any[]): any; +@foo +export default class C { + static x() { return C.y; } + static y = 1 + p = 1; + method() { } +} \ No newline at end of file diff --git a/tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target12.ts b/tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target12.ts new file mode 100644 index 00000000000..93c29f88ae5 --- /dev/null +++ b/tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target12.ts @@ -0,0 +1,39 @@ +// @target: es5 +// @module: esnext + +export class C { +} + +export namespace C { + export const x = 1; +} + +export enum E { + w = 1 +} + +export enum E { + x = 2 +} + +export namespace E { + export const y = 1; +} + +export namespace E { + export const z = 1; +} + +export namespace N { +} + +export namespace N { + export const x = 1; +} + +export function F() { +} + +export namespace F { + export const x = 1; +} \ No newline at end of file diff --git a/tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target2.ts b/tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target2.ts new file mode 100644 index 00000000000..3b94c938cd1 --- /dev/null +++ b/tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target2.ts @@ -0,0 +1,8 @@ +// @target: es5 +// @module: esnext + +export default class C { + static s = 0; + p = 1; + method() { } +} diff --git a/tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target3.ts b/tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target3.ts new file mode 100644 index 00000000000..6726db916e5 --- /dev/null +++ b/tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target3.ts @@ -0,0 +1,12 @@ +// @target: es5 +// @module: esnext +// @experimentalDecorators: true + + +declare function foo(...args: any[]): any; +@foo +export default class D { + static s = 0; + p = 1; + method() { } +} \ No newline at end of file diff --git a/tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target4.ts b/tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target4.ts new file mode 100644 index 00000000000..090ecc64305 --- /dev/null +++ b/tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target4.ts @@ -0,0 +1,5 @@ +// @target: es5 +// @module: esnext + +class E { } +export default E; \ No newline at end of file diff --git a/tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target5.ts b/tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target5.ts new file mode 100644 index 00000000000..9dd83fd45db --- /dev/null +++ b/tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target5.ts @@ -0,0 +1,11 @@ +// @target: es5 +// @module: esnext +// @preserveConstEnums: true + +export enum E1 { + value1 +} + +export const enum E2 { + value1 +} \ No newline at end of file diff --git a/tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target6.ts b/tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target6.ts new file mode 100644 index 00000000000..2c53a8a9254 --- /dev/null +++ b/tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target6.ts @@ -0,0 +1,11 @@ +// @target: es5 +// @module: esnext + +export function f1(d = 0) { +} + +export function f2(...arg) { +} + +export default function f3(d = 0) { +} diff --git a/tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target7.ts b/tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target7.ts new file mode 100644 index 00000000000..4d22faba173 --- /dev/null +++ b/tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target7.ts @@ -0,0 +1,10 @@ +// @target: es5 +// @module: esnext + +export namespace N { + var x = 0; +} + +export namespace N2 { + export interface I { } +} diff --git a/tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target8.ts b/tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target8.ts new file mode 100644 index 00000000000..530f4c88c39 --- /dev/null +++ b/tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target8.ts @@ -0,0 +1,5 @@ +// @target: es5 +// @module: esnext + +export const c = 0; +export let l = 1; \ No newline at end of file diff --git a/tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target9.ts b/tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target9.ts new file mode 100644 index 00000000000..d91d6399ad3 --- /dev/null +++ b/tests/cases/conformance/externalModules/esnext/esnextmodulekindWithES5Target9.ts @@ -0,0 +1,20 @@ +// @target: es5 +// @module: esnext + +import d from "mod"; + +import {a} from "mod"; + +import * as M from "mod"; + +export {a}; + +export {M}; + +export {d}; + +export * from "mod"; + +export {b} from "mod" + +export default d;