From 2147731b4ce0beb907fdb6e6279ba1ac511fa41e Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 12 Oct 2026 05:58:17 +0000 Subject: [PATCH 1/3] Add export-star default compiler test Co-authored-by: DanielRosenwasser <972891+DanielRosenwasser@users.noreply.github.com> --- .../tests/cases/compiler/exportStarDefault.ts | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 tsc/testdata/tests/cases/compiler/exportStarDefault.ts diff --git a/tsc/testdata/tests/cases/compiler/exportStarDefault.ts b/tsc/testdata/tests/cases/compiler/exportStarDefault.ts new file mode 100644 index 0000000000000..7ca3b96ef193d --- /dev/null +++ b/tsc/testdata/tests/cases/compiler/exportStarDefault.ts @@ -0,0 +1,30 @@ +// @target: esnext +// @module: commonjs, esnext +// @declaration: true + +// @filename: /default.ts +export default class Default {} +export const named = 1; + +// @filename: /other.ts +export default class Other {} + +// @filename: /reexport.ts +export * from "./default"; + +// @filename: /ambiguous.ts +export * from "./default"; +export * from "./other"; + +// @filename: /resolved.ts +export * from "./default"; +export * from "./other"; +export { default } from "./default"; + +// @filename: /main.ts +import Default, { named } from "./reexport"; +import Resolved from "./resolved"; + +new Default(); +new Resolved(); +named; From 19b3ea9cb1cc75da1b6153e029fd8eea111160c1 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 12 Oct 2026 06:01:11 +0000 Subject: [PATCH 2/3] Implement export-star default propagation Co-authored-by: DanielRosenwasser <972891+DanielRosenwasser@users.noreply.github.com> --- tsc/internal/checker/checker.go | 27 ++++--------------- tsc/internal/printer/helpers.go | 2 +- .../tests/cases/compiler/exportStarDefault.ts | 17 ++++++++++++ 3 files changed, 23 insertions(+), 23 deletions(-) diff --git a/tsc/internal/checker/checker.go b/tsc/internal/checker/checker.go index 345ea00ce1437..39e698324c569 100644 --- a/tsc/internal/checker/checker.go +++ b/tsc/internal/checker/checker.go @@ -14890,36 +14890,22 @@ func (c *Checker) reportNonDefaultExport(moduleSymbol *ast.Symbol, node *ast.Nod if moduleSymbol.Exports() != nil && moduleSymbol.Exports()[node.Symbol().Name()] != nil { c.error(node, diagnostics.Module_0_has_no_default_export_Did_you_mean_to_use_import_1_from_0_instead, c.symbolToString(moduleSymbol), c.symbolToString(node.Symbol())) } else { - diagnostic := c.error(node.Name(), diagnostics.Module_0_has_no_default_export, c.symbolToString(moduleSymbol)) - var exportStar *ast.Symbol - if moduleSymbol.Exports() != nil { - exportStar = moduleSymbol.Exports()[ast.InternalSymbolNameExportStar] - } - if exportStar != nil { - defaultExport := core.Find(exportStar.Declarations(), func(decl *ast.Declaration) bool { - if !(ast.IsExportDeclaration(decl) && decl.ModuleSpecifier() != nil) { - return false - } - resolvedExternalModuleName := c.resolveExternalModuleName(decl, decl.ModuleSpecifier(), false /*ignoreErrors*/, c.getTypeFromImportAttributes(ast.GetImportAttributes(decl))) - return resolvedExternalModuleName != nil && resolvedExternalModuleName.Exports()[ast.InternalSymbolNameDefault] != nil - }) - if defaultExport != nil { - diagnostic.AddRelatedInfo(createDiagnosticForNode(defaultExport, diagnostics.X_export_Asterisk_does_not_re_export_a_default)) - } - } + c.error(node.Name(), diagnostics.Module_0_has_no_default_export, c.symbolToString(moduleSymbol)) } } func (c *Checker) resolveExportByName(moduleSymbol *ast.Symbol, name string, sourceNode *ast.Node, dontResolveAlias bool) *ast.Symbol { exportValue := moduleSymbol.Exports()[ast.InternalSymbolNameExportEquals] var exportSymbol *ast.Symbol + var exportStarDeclaration *ast.Node if exportValue != nil { exportSymbol = c.getPropertyOfTypeEx(c.getTypeOfSymbol(exportValue), name, true /*skipObjectFunctionPropertyAugment*/, false /*includeTypeOnlyMembers*/) } else { - exportSymbol = moduleSymbol.Exports()[name] + exportSymbol = c.getExportsOfSymbol(moduleSymbol)[name] + exportStarDeclaration = c.moduleSymbolLinks.Get(moduleSymbol).typeOnlyExportStarMap[name] } resolved := c.resolveSymbolEx(exportSymbol, dontResolveAlias) - c.markSymbolOfAliasDeclarationIfTypeOnly(sourceNode, nil) + c.markSymbolOfAliasDeclarationIfTypeOnly(sourceNode, exportStarDeclaration) return resolved } @@ -16629,9 +16615,6 @@ func (c *Checker) getExportsOfModuleWorker(moduleSymbol *ast.Symbol) (exports as */ func (c *Checker) extendExportSymbols(target ast.SymbolTable, source ast.SymbolTable, lookupTable ExportCollisionTable, exportNode *ast.Node) { for id, sourceSymbol := range source { - if id == ast.InternalSymbolNameDefault { - continue - } targetSymbol := target[id] if targetSymbol == nil { target[id] = sourceSymbol diff --git a/tsc/internal/printer/helpers.go b/tsc/internal/printer/helpers.go index 0c412f8dd86dd..84313c67d7a8a 100644 --- a/tsc/internal/printer/helpers.go +++ b/tsc/internal/printer/helpers.go @@ -539,7 +539,7 @@ var exportStarHelper = &EmitHelper{ Dependencies: []*EmitHelper{createBindingHelper}, Priority: &Priority{2}, Text: `var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); + for (var p in m) if (!Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); };`, } diff --git a/tsc/testdata/tests/cases/compiler/exportStarDefault.ts b/tsc/testdata/tests/cases/compiler/exportStarDefault.ts index 7ca3b96ef193d..e5cdc582c5129 100644 --- a/tsc/testdata/tests/cases/compiler/exportStarDefault.ts +++ b/tsc/testdata/tests/cases/compiler/exportStarDefault.ts @@ -21,10 +21,27 @@ export * from "./default"; export * from "./other"; export { default } from "./default"; +// @filename: /localDefault.ts +export * from "./default"; +export * from "./other"; +export default class Local {} + +// @filename: /defaultType.ts +export default interface DefaultType { + value: string; +} + +// @filename: /reexportType.ts +export type * from "./defaultType"; + // @filename: /main.ts import Default, { named } from "./reexport"; import Resolved from "./resolved"; +import Local from "./localDefault"; +import type DefaultType from "./reexportType"; new Default(); new Resolved(); +new Local(); +const value: DefaultType = { value: "" }; named; From a2eb13a4c28926149c6a427fcb4466530a767c17 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 12 Oct 2026 06:15:12 +0000 Subject: [PATCH 3/3] Update export-star default baselines Co-authored-by: DanielRosenwasser <972891+DanielRosenwasser@users.noreply.github.com> --- tsc/internal/checker/checker.go | 7 +- .../moduletransforms/externalmoduleinfo.go | 6 + .../assertionFunctionWildcardImport1.js | 2 +- .../declarationEmitAliasExportStar.js | 2 +- ...nedNamespaceNoTripleSlashTypesReference.js | 2 +- ...clarationEmitReexportedSymlinkReference.js | 2 +- ...larationEmitReexportedSymlinkReference2.js | 2 +- ...larationEmitReexportedSymlinkReference3.js | 2 +- .../doubleUnderscoreExportStarConflict.js | 2 +- .../es6ExportAllInEs5(target=es2015).js | 2 +- .../compiler/es6ExportEqualsInterop.js | 2 +- ...uleInteropWithExportStar(target=es2015).js | 2 +- ...ortStarDefault(module=commonjs).errors.txt | 56 ++++ .../exportStarDefault(module=commonjs).js | 265 ++++++++++++++++++ ...exportStarDefault(module=commonjs).symbols | 91 ++++++ .../exportStarDefault(module=commonjs).types | 95 +++++++ ...xportStarDefault(module=esnext).errors.txt | 56 ++++ .../exportStarDefault(module=esnext).js | 130 +++++++++ .../exportStarDefault(module=esnext).symbols | 91 ++++++ .../exportStarDefault(module=esnext).types | 95 +++++++ .../reference/compiler/exportStarForValues.js | 2 +- .../compiler/exportStarForValues2.js | 4 +- .../compiler/exportStarForValues3.js | 8 +- .../compiler/exportStarForValues4.js | 4 +- .../compiler/exportStarForValues5.js | 2 +- .../compiler/exportStarForValues7.js | 4 +- .../compiler/exportStarForValues8.js | 8 +- .../compiler/exportStarForValues9.js | 4 +- ...xportStarFromEmptyModule(target=es2015).js | 2 +- .../reference/compiler/exportStarNotElided.js | 2 +- .../mergeMultipleInterfacesReexported.js | 2 +- ...ugmentationDoesInterfaceMergeOfReexport.js | 2 +- ...ntationDoesNamespaceEnumMergeOfReexport.js | 2 +- ...ugmentationDoesNamespaceMergeOfReexport.js | 2 +- ...entationEnumClassMergeOfReexportIsError.js | 2 +- ...tionExportStarShadowingGlobalIsNameable.js | 2 +- ...duleSameValueDuplicateExportedBindings1.js | 4 +- ...duleSameValueDuplicateExportedBindings2.js | 2 +- .../symbolLinkDeclarationEmitModuleNames.js | 2 +- .../conformance/ambientShorthand_reExport.js | 2 +- .../reference/conformance/exportNamespace1.js | 2 +- .../reference/conformance/exportNamespace5.js | 2 +- .../reference/conformance/exportNamespace6.js | 2 +- .../reference/conformance/exportNamespace8.js | 2 +- .../reference/conformance/exportNamespace9.js | 2 +- .../exportStar(target=es2015).errors.txt | 6 +- .../conformance/exportStar(target=es2015).js | 2 +- .../exportStar(target=es2015).types | 4 +- .../importAssertion2(module=commonjs).js | 2 +- .../importAttributes2(module=commonjs).js | 2 +- .../inlineJsxFactoryDeclarations.js | 2 +- ...sDeclarationsExportForms(target=es2015).js | 4 +- ...clarationsExportFormsErr(target=es2015).js | 2 +- ...ibling-package-through-indirect-symlink.js | 2 +- .../tests/cases/compiler/exportStarDefault.ts | 7 + 55 files changed, 954 insertions(+), 63 deletions(-) create mode 100644 tsc/testdata/baselines/reference/compiler/exportStarDefault(module=commonjs).errors.txt create mode 100644 tsc/testdata/baselines/reference/compiler/exportStarDefault(module=commonjs).js create mode 100644 tsc/testdata/baselines/reference/compiler/exportStarDefault(module=commonjs).symbols create mode 100644 tsc/testdata/baselines/reference/compiler/exportStarDefault(module=commonjs).types create mode 100644 tsc/testdata/baselines/reference/compiler/exportStarDefault(module=esnext).errors.txt create mode 100644 tsc/testdata/baselines/reference/compiler/exportStarDefault(module=esnext).js create mode 100644 tsc/testdata/baselines/reference/compiler/exportStarDefault(module=esnext).symbols create mode 100644 tsc/testdata/baselines/reference/compiler/exportStarDefault(module=esnext).types diff --git a/tsc/internal/checker/checker.go b/tsc/internal/checker/checker.go index 39e698324c569..5c0e7e126cbea 100644 --- a/tsc/internal/checker/checker.go +++ b/tsc/internal/checker/checker.go @@ -14901,8 +14901,11 @@ func (c *Checker) resolveExportByName(moduleSymbol *ast.Symbol, name string, sou if exportValue != nil { exportSymbol = c.getPropertyOfTypeEx(c.getTypeOfSymbol(exportValue), name, true /*skipObjectFunctionPropertyAugment*/, false /*includeTypeOnlyMembers*/) } else { - exportSymbol = c.getExportsOfSymbol(moduleSymbol)[name] - exportStarDeclaration = c.moduleSymbolLinks.Get(moduleSymbol).typeOnlyExportStarMap[name] + exportSymbol = moduleSymbol.Exports()[name] + if exportSymbol == nil && name == ast.InternalSymbolNameDefault { + exportSymbol = c.getExportsOfSymbol(moduleSymbol)[name] + exportStarDeclaration = c.moduleSymbolLinks.Get(moduleSymbol).typeOnlyExportStarMap[name] + } } resolved := c.resolveSymbolEx(exportSymbol, dontResolveAlias) c.markSymbolOfAliasDeclarationIfTypeOnly(sourceNode, exportStarDeclaration) diff --git a/tsc/internal/transformers/moduletransforms/externalmoduleinfo.go b/tsc/internal/transformers/moduletransforms/externalmoduleinfo.go index baf2f040613d3..795ef81ae23a7 100644 --- a/tsc/internal/transformers/moduletransforms/externalmoduleinfo.go +++ b/tsc/internal/transformers/moduletransforms/externalmoduleinfo.go @@ -118,6 +118,8 @@ func (c *externalModuleInfoCollector) collect() *externalModuleInfo { if n.IsExportEquals && c.output.exportEquals == nil { // export = x c.output.exportEquals = n + } else if !n.IsExportEquals { + c.hasExportDefault = true } case ast.KindVariableStatement: @@ -161,6 +163,10 @@ func (c *externalModuleInfoCollector) collect() *externalModuleInfo { } } + if c.hasExportDefault && c.output.hasExportStarsToExportValues { + c.addExportedName(c.emitContext.Factory.NewIdentifier("default")) + } + return c.output } diff --git a/tsc/testdata/baselines/reference/compiler/assertionFunctionWildcardImport1.js b/tsc/testdata/baselines/reference/compiler/assertionFunctionWildcardImport1.js index 11f0c6c93f61f..4aeb849988164 100644 --- a/tsc/testdata/baselines/reference/compiler/assertionFunctionWildcardImport1.js +++ b/tsc/testdata/baselines/reference/compiler/assertionFunctionWildcardImport1.js @@ -124,7 +124,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); + for (var p in m) if (!Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); __exportStar(require("../../core/_namespaces/ts"), exports); diff --git a/tsc/testdata/baselines/reference/compiler/declarationEmitAliasExportStar.js b/tsc/testdata/baselines/reference/compiler/declarationEmitAliasExportStar.js index 7215f2f291fa6..550c97bc007e6 100644 --- a/tsc/testdata/baselines/reference/compiler/declarationEmitAliasExportStar.js +++ b/tsc/testdata/baselines/reference/compiler/declarationEmitAliasExportStar.js @@ -26,7 +26,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); + for (var p in m) if (!Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); __exportStar(require("./thingB"), exports); diff --git a/tsc/testdata/baselines/reference/compiler/declarationEmitExportAssignedNamespaceNoTripleSlashTypesReference.js b/tsc/testdata/baselines/reference/compiler/declarationEmitExportAssignedNamespaceNoTripleSlashTypesReference.js index 2d15052e32dba..ac63e7e7e283e 100644 --- a/tsc/testdata/baselines/reference/compiler/declarationEmitExportAssignedNamespaceNoTripleSlashTypesReference.js +++ b/tsc/testdata/baselines/reference/compiler/declarationEmitExportAssignedNamespaceNoTripleSlashTypesReference.js @@ -68,7 +68,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); + for (var p in m) if (!Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); __exportStar(require("@emotion/core"), exports); diff --git a/tsc/testdata/baselines/reference/compiler/declarationEmitReexportedSymlinkReference.js b/tsc/testdata/baselines/reference/compiler/declarationEmitReexportedSymlinkReference.js index 8ac5615ef5ca5..6c59a8c17a96e 100644 --- a/tsc/testdata/baselines/reference/compiler/declarationEmitReexportedSymlinkReference.js +++ b/tsc/testdata/baselines/reference/compiler/declarationEmitReexportedSymlinkReference.js @@ -63,7 +63,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); + for (var p in m) if (!Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); __exportStar(require("./keys"), exports); diff --git a/tsc/testdata/baselines/reference/compiler/declarationEmitReexportedSymlinkReference2.js b/tsc/testdata/baselines/reference/compiler/declarationEmitReexportedSymlinkReference2.js index 39c84dd98a5cc..5ab8884b93701 100644 --- a/tsc/testdata/baselines/reference/compiler/declarationEmitReexportedSymlinkReference2.js +++ b/tsc/testdata/baselines/reference/compiler/declarationEmitReexportedSymlinkReference2.js @@ -66,7 +66,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); + for (var p in m) if (!Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); __exportStar(require("./keys"), exports); diff --git a/tsc/testdata/baselines/reference/compiler/declarationEmitReexportedSymlinkReference3.js b/tsc/testdata/baselines/reference/compiler/declarationEmitReexportedSymlinkReference3.js index 3107740ce24c8..697c4041b36a6 100644 --- a/tsc/testdata/baselines/reference/compiler/declarationEmitReexportedSymlinkReference3.js +++ b/tsc/testdata/baselines/reference/compiler/declarationEmitReexportedSymlinkReference3.js @@ -63,7 +63,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); + for (var p in m) if (!Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); __exportStar(require("./keys"), exports); diff --git a/tsc/testdata/baselines/reference/compiler/doubleUnderscoreExportStarConflict.js b/tsc/testdata/baselines/reference/compiler/doubleUnderscoreExportStarConflict.js index 23e8d188bdc14..4ecafaa6c6fe7 100644 --- a/tsc/testdata/baselines/reference/compiler/doubleUnderscoreExportStarConflict.js +++ b/tsc/testdata/baselines/reference/compiler/doubleUnderscoreExportStarConflict.js @@ -35,7 +35,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); + for (var p in m) if (!Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); __exportStar(require("./b"), exports); diff --git a/tsc/testdata/baselines/reference/compiler/es6ExportAllInEs5(target=es2015).js b/tsc/testdata/baselines/reference/compiler/es6ExportAllInEs5(target=es2015).js index e04d79ecbc09b..fc38d3a7d3d16 100644 --- a/tsc/testdata/baselines/reference/compiler/es6ExportAllInEs5(target=es2015).js +++ b/tsc/testdata/baselines/reference/compiler/es6ExportAllInEs5(target=es2015).js @@ -41,7 +41,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); + for (var p in m) if (!Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); __exportStar(require("./server"), exports); diff --git a/tsc/testdata/baselines/reference/compiler/es6ExportEqualsInterop.js b/tsc/testdata/baselines/reference/compiler/es6ExportEqualsInterop.js index e1bc8f717a01b..257f90233796d 100644 --- a/tsc/testdata/baselines/reference/compiler/es6ExportEqualsInterop.js +++ b/tsc/testdata/baselines/reference/compiler/es6ExportEqualsInterop.js @@ -243,7 +243,7 @@ var __importStar = (this && this.__importStar) || (function () { }; })(); var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); + for (var p in m) if (!Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.a0 = exports.a9 = exports.a8 = exports.a7 = exports.a6 = exports.a5 = exports.a4 = exports.a3 = exports.a2 = exports.a1 = void 0; diff --git a/tsc/testdata/baselines/reference/compiler/esModuleInteropWithExportStar(target=es2015).js b/tsc/testdata/baselines/reference/compiler/esModuleInteropWithExportStar(target=es2015).js index 19c10e937b370..6fc559430e41a 100644 --- a/tsc/testdata/baselines/reference/compiler/esModuleInteropWithExportStar(target=es2015).js +++ b/tsc/testdata/baselines/reference/compiler/esModuleInteropWithExportStar(target=es2015).js @@ -48,7 +48,7 @@ var __importStar = (this && this.__importStar) || (function () { }; })(); var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); + for (var p in m) if (!Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.y = exports.x = void 0; diff --git a/tsc/testdata/baselines/reference/compiler/exportStarDefault(module=commonjs).errors.txt b/tsc/testdata/baselines/reference/compiler/exportStarDefault(module=commonjs).errors.txt new file mode 100644 index 0000000000000..80b12a0a59d53 --- /dev/null +++ b/tsc/testdata/baselines/reference/compiler/exportStarDefault(module=commonjs).errors.txt @@ -0,0 +1,56 @@ +/ambiguous.ts(2,1): error TS2308: Module "./default" has already exported a member named 'default'. Consider explicitly re-exporting to resolve the ambiguity. + + +==== /default.ts (0 errors) ==== + export default class Default {} + export const named = 1; + +==== /other.ts (0 errors) ==== + export default class Other {} + +==== /reexport.ts (0 errors) ==== + export * from "./default"; + +==== /ambiguous.ts (1 errors) ==== + export * from "./default"; + export * from "./other"; + ~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2308: Module "./default" has already exported a member named 'default'. Consider explicitly re-exporting to resolve the ambiguity. + +==== /resolved.ts (0 errors) ==== + export * from "./default"; + export * from "./other"; + export { default } from "./default"; + +==== /localDefault.ts (0 errors) ==== + export * from "./default"; + export * from "./other"; + export default class Local {} + +==== /localDefaultExpression.ts (0 errors) ==== + export * from "./default"; + export * from "./other"; + export default 1; + +==== /defaultType.ts (0 errors) ==== + export default interface DefaultType { + value: string; + } + +==== /reexportType.ts (0 errors) ==== + export type * from "./defaultType"; + +==== /main.ts (0 errors) ==== + import Default, { named } from "./reexport"; + import Resolved from "./resolved"; + import Local from "./localDefault"; + import valueDefault from "./localDefaultExpression"; + import type DefaultType from "./reexportType"; + + new Default(); + new Resolved(); + new Local(); + valueDefault.toFixed(); + const value: DefaultType = { value: "" }; + named; + \ No newline at end of file diff --git a/tsc/testdata/baselines/reference/compiler/exportStarDefault(module=commonjs).js b/tsc/testdata/baselines/reference/compiler/exportStarDefault(module=commonjs).js new file mode 100644 index 0000000000000..d457e23278f32 --- /dev/null +++ b/tsc/testdata/baselines/reference/compiler/exportStarDefault(module=commonjs).js @@ -0,0 +1,265 @@ +//// [tests/cases/compiler/exportStarDefault.ts] //// + +//// [default.ts] +export default class Default {} +export const named = 1; + +//// [other.ts] +export default class Other {} + +//// [reexport.ts] +export * from "./default"; + +//// [ambiguous.ts] +export * from "./default"; +export * from "./other"; + +//// [resolved.ts] +export * from "./default"; +export * from "./other"; +export { default } from "./default"; + +//// [localDefault.ts] +export * from "./default"; +export * from "./other"; +export default class Local {} + +//// [localDefaultExpression.ts] +export * from "./default"; +export * from "./other"; +export default 1; + +//// [defaultType.ts] +export default interface DefaultType { + value: string; +} + +//// [reexportType.ts] +export type * from "./defaultType"; + +//// [main.ts] +import Default, { named } from "./reexport"; +import Resolved from "./resolved"; +import Local from "./localDefault"; +import valueDefault from "./localDefaultExpression"; +import type DefaultType from "./reexportType"; + +new Default(); +new Resolved(); +new Local(); +valueDefault.toFixed(); +const value: DefaultType = { value: "" }; +named; + + +//// [default.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.named = void 0; +class Default { +} +exports.default = Default; +exports.named = 1; +//// [other.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class Other { +} +exports.default = Other; +//// [reexport.js] +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (!Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +__exportStar(require("./default"), exports); +//// [ambiguous.js] +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (!Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +__exportStar(require("./default"), exports); +__exportStar(require("./other"), exports); +//// [resolved.js] +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (!Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = void 0; +__exportStar(require("./default"), exports); +__exportStar(require("./other"), exports); +var default_1 = require("./default"); +Object.defineProperty(exports, "default", { enumerable: true, get: function () { return __importDefault(default_1).default; } }); +//// [localDefault.js] +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (!Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = void 0; +__exportStar(require("./default"), exports); +__exportStar(require("./other"), exports); +class Local { +} +exports.default = Local; +//// [localDefaultExpression.js] +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (!Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = void 0; +__exportStar(require("./default"), exports); +__exportStar(require("./other"), exports); +exports.default = 1; +//// [defaultType.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//// [reexportType.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//// [main.js] +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || (function () { + var ownKeys = function(o) { + ownKeys = Object.getOwnPropertyNames || function (o) { + var ar = []; + for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; + return ar; + }; + return ownKeys(o); + }; + return function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); + __setModuleDefault(result, mod); + return result; + }; +})(); +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const reexport_1 = __importStar(require("./reexport")); +const resolved_1 = __importDefault(require("./resolved")); +const localDefault_1 = __importDefault(require("./localDefault")); +const localDefaultExpression_1 = __importDefault(require("./localDefaultExpression")); +new reexport_1.default(); +new resolved_1.default(); +new localDefault_1.default(); +localDefaultExpression_1.default.toFixed(); +const value = { value: "" }; +reexport_1.named; + + +//// [default.d.ts] +export default class Default { +} +export declare const named = 1; +//// [other.d.ts] +export default class Other { +} +//// [reexport.d.ts] +export * from "./default"; +//// [ambiguous.d.ts] +export * from "./default"; +export * from "./other"; +//// [resolved.d.ts] +export * from "./default"; +export * from "./other"; +export { default } from "./default"; +//// [localDefault.d.ts] +export * from "./default"; +export * from "./other"; +export default class Local { +} +//// [localDefaultExpression.d.ts] +export * from "./default"; +export * from "./other"; +declare const _default = 1; +export default _default; +//// [defaultType.d.ts] +export default interface DefaultType { + value: string; +} +//// [reexportType.d.ts] +export type * from "./defaultType"; +//// [main.d.ts] +export {}; diff --git a/tsc/testdata/baselines/reference/compiler/exportStarDefault(module=commonjs).symbols b/tsc/testdata/baselines/reference/compiler/exportStarDefault(module=commonjs).symbols new file mode 100644 index 0000000000000..1c1e73a2f9fc0 --- /dev/null +++ b/tsc/testdata/baselines/reference/compiler/exportStarDefault(module=commonjs).symbols @@ -0,0 +1,91 @@ +//// [tests/cases/compiler/exportStarDefault.ts] //// + +=== /default.ts === +export default class Default {} +>Default : Symbol(Default, Decl(default.ts, 0, 0)) + +export const named = 1; +>named : Symbol(named, Decl(default.ts, 1, 12)) + +=== /other.ts === +export default class Other {} +>Other : Symbol(Other, Decl(other.ts, 0, 0)) + +=== /reexport.ts === + +export * from "./default"; + +=== /ambiguous.ts === + +export * from "./default"; +export * from "./other"; + +=== /resolved.ts === +export * from "./default"; +export * from "./other"; +export { default } from "./default"; +>default : Symbol(default, Decl(resolved.ts, 2, 8)) + +=== /localDefault.ts === +export * from "./default"; +export * from "./other"; +export default class Local {} +>Local : Symbol(Local, Decl(localDefault.ts, 1, 24)) + +=== /localDefaultExpression.ts === + +export * from "./default"; +export * from "./other"; +export default 1; + +=== /defaultType.ts === +export default interface DefaultType { +>DefaultType : Symbol(DefaultType, Decl(defaultType.ts, 0, 0)) + + value: string; +>value : Symbol(DefaultType.value, Decl(defaultType.ts, 0, 38)) +} + +=== /reexportType.ts === + +export type * from "./defaultType"; + +=== /main.ts === +import Default, { named } from "./reexport"; +>Default : Symbol(Default, Decl(main.ts, 0, 6)) +>named : Symbol(named, Decl(main.ts, 0, 17)) + +import Resolved from "./resolved"; +>Resolved : Symbol(Resolved, Decl(main.ts, 1, 6)) + +import Local from "./localDefault"; +>Local : Symbol(Local, Decl(main.ts, 2, 6)) + +import valueDefault from "./localDefaultExpression"; +>valueDefault : Symbol(valueDefault, Decl(main.ts, 3, 6)) + +import type DefaultType from "./reexportType"; +>DefaultType : Symbol(DefaultType, Decl(main.ts, 4, 6)) + +new Default(); +>Default : Symbol(Default, Decl(main.ts, 0, 6)) + +new Resolved(); +>Resolved : Symbol(Resolved, Decl(main.ts, 1, 6)) + +new Local(); +>Local : Symbol(Local, Decl(main.ts, 2, 6)) + +valueDefault.toFixed(); +>valueDefault.toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) +>valueDefault : Symbol(valueDefault, Decl(main.ts, 3, 6)) +>toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) + +const value: DefaultType = { value: "" }; +>value : Symbol(value, Decl(main.ts, 10, 5)) +>DefaultType : Symbol(DefaultType, Decl(main.ts, 4, 6)) +>value : Symbol(value, Decl(main.ts, 10, 28)) + +named; +>named : Symbol(named, Decl(main.ts, 0, 17)) + diff --git a/tsc/testdata/baselines/reference/compiler/exportStarDefault(module=commonjs).types b/tsc/testdata/baselines/reference/compiler/exportStarDefault(module=commonjs).types new file mode 100644 index 0000000000000..e1a6972b6946d --- /dev/null +++ b/tsc/testdata/baselines/reference/compiler/exportStarDefault(module=commonjs).types @@ -0,0 +1,95 @@ +//// [tests/cases/compiler/exportStarDefault.ts] //// + +=== /default.ts === +export default class Default {} +>Default : Default + +export const named = 1; +>named : 1 +>1 : 1 + +=== /other.ts === +export default class Other {} +>Other : Other + +=== /reexport.ts === + +export * from "./default"; + +=== /ambiguous.ts === + +export * from "./default"; +export * from "./other"; + +=== /resolved.ts === +export * from "./default"; +export * from "./other"; +export { default } from "./default"; +>default : typeof import("./default").default + +=== /localDefault.ts === +export * from "./default"; +export * from "./other"; +export default class Local {} +>Local : Local + +=== /localDefaultExpression.ts === + +export * from "./default"; +export * from "./other"; +export default 1; + +=== /defaultType.ts === +export default interface DefaultType { + value: string; +>value : string +} + +=== /reexportType.ts === + +export type * from "./defaultType"; + +=== /main.ts === +import Default, { named } from "./reexport"; +>Default : typeof Default +>named : 1 + +import Resolved from "./resolved"; +>Resolved : typeof Default + +import Local from "./localDefault"; +>Local : typeof Local + +import valueDefault from "./localDefaultExpression"; +>valueDefault : 1 + +import type DefaultType from "./reexportType"; +>DefaultType : DefaultType + +new Default(); +>new Default() : Default +>Default : typeof Default + +new Resolved(); +>new Resolved() : Default +>Resolved : typeof Default + +new Local(); +>new Local() : Local +>Local : typeof Local + +valueDefault.toFixed(); +>valueDefault.toFixed() : string +>valueDefault.toFixed : (fractionDigits?: number) => string +>valueDefault : 1 +>toFixed : (fractionDigits?: number) => string + +const value: DefaultType = { value: "" }; +>value : DefaultType +>{ value: "" } : { value: string; } +>value : string +>"" : "" + +named; +>named : 1 + diff --git a/tsc/testdata/baselines/reference/compiler/exportStarDefault(module=esnext).errors.txt b/tsc/testdata/baselines/reference/compiler/exportStarDefault(module=esnext).errors.txt new file mode 100644 index 0000000000000..80b12a0a59d53 --- /dev/null +++ b/tsc/testdata/baselines/reference/compiler/exportStarDefault(module=esnext).errors.txt @@ -0,0 +1,56 @@ +/ambiguous.ts(2,1): error TS2308: Module "./default" has already exported a member named 'default'. Consider explicitly re-exporting to resolve the ambiguity. + + +==== /default.ts (0 errors) ==== + export default class Default {} + export const named = 1; + +==== /other.ts (0 errors) ==== + export default class Other {} + +==== /reexport.ts (0 errors) ==== + export * from "./default"; + +==== /ambiguous.ts (1 errors) ==== + export * from "./default"; + export * from "./other"; + ~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2308: Module "./default" has already exported a member named 'default'. Consider explicitly re-exporting to resolve the ambiguity. + +==== /resolved.ts (0 errors) ==== + export * from "./default"; + export * from "./other"; + export { default } from "./default"; + +==== /localDefault.ts (0 errors) ==== + export * from "./default"; + export * from "./other"; + export default class Local {} + +==== /localDefaultExpression.ts (0 errors) ==== + export * from "./default"; + export * from "./other"; + export default 1; + +==== /defaultType.ts (0 errors) ==== + export default interface DefaultType { + value: string; + } + +==== /reexportType.ts (0 errors) ==== + export type * from "./defaultType"; + +==== /main.ts (0 errors) ==== + import Default, { named } from "./reexport"; + import Resolved from "./resolved"; + import Local from "./localDefault"; + import valueDefault from "./localDefaultExpression"; + import type DefaultType from "./reexportType"; + + new Default(); + new Resolved(); + new Local(); + valueDefault.toFixed(); + const value: DefaultType = { value: "" }; + named; + \ No newline at end of file diff --git a/tsc/testdata/baselines/reference/compiler/exportStarDefault(module=esnext).js b/tsc/testdata/baselines/reference/compiler/exportStarDefault(module=esnext).js new file mode 100644 index 0000000000000..433fefe9ee506 --- /dev/null +++ b/tsc/testdata/baselines/reference/compiler/exportStarDefault(module=esnext).js @@ -0,0 +1,130 @@ +//// [tests/cases/compiler/exportStarDefault.ts] //// + +//// [default.ts] +export default class Default {} +export const named = 1; + +//// [other.ts] +export default class Other {} + +//// [reexport.ts] +export * from "./default"; + +//// [ambiguous.ts] +export * from "./default"; +export * from "./other"; + +//// [resolved.ts] +export * from "./default"; +export * from "./other"; +export { default } from "./default"; + +//// [localDefault.ts] +export * from "./default"; +export * from "./other"; +export default class Local {} + +//// [localDefaultExpression.ts] +export * from "./default"; +export * from "./other"; +export default 1; + +//// [defaultType.ts] +export default interface DefaultType { + value: string; +} + +//// [reexportType.ts] +export type * from "./defaultType"; + +//// [main.ts] +import Default, { named } from "./reexport"; +import Resolved from "./resolved"; +import Local from "./localDefault"; +import valueDefault from "./localDefaultExpression"; +import type DefaultType from "./reexportType"; + +new Default(); +new Resolved(); +new Local(); +valueDefault.toFixed(); +const value: DefaultType = { value: "" }; +named; + + +//// [default.js] +export default class Default { +} +export const named = 1; +//// [other.js] +export default class Other { +} +//// [reexport.js] +export * from "./default"; +//// [ambiguous.js] +export * from "./default"; +export * from "./other"; +//// [resolved.js] +export * from "./default"; +export * from "./other"; +export { default } from "./default"; +//// [localDefault.js] +export * from "./default"; +export * from "./other"; +export default class Local { +} +//// [localDefaultExpression.js] +export * from "./default"; +export * from "./other"; +export default 1; +//// [defaultType.js] +export {}; +//// [reexportType.js] +export {}; +//// [main.js] +import Default, { named } from "./reexport"; +import Resolved from "./resolved"; +import Local from "./localDefault"; +import valueDefault from "./localDefaultExpression"; +new Default(); +new Resolved(); +new Local(); +valueDefault.toFixed(); +const value = { value: "" }; +named; + + +//// [default.d.ts] +export default class Default { +} +export declare const named = 1; +//// [other.d.ts] +export default class Other { +} +//// [reexport.d.ts] +export * from "./default"; +//// [ambiguous.d.ts] +export * from "./default"; +export * from "./other"; +//// [resolved.d.ts] +export * from "./default"; +export * from "./other"; +export { default } from "./default"; +//// [localDefault.d.ts] +export * from "./default"; +export * from "./other"; +export default class Local { +} +//// [localDefaultExpression.d.ts] +export * from "./default"; +export * from "./other"; +declare const _default = 1; +export default _default; +//// [defaultType.d.ts] +export default interface DefaultType { + value: string; +} +//// [reexportType.d.ts] +export type * from "./defaultType"; +//// [main.d.ts] +export {}; diff --git a/tsc/testdata/baselines/reference/compiler/exportStarDefault(module=esnext).symbols b/tsc/testdata/baselines/reference/compiler/exportStarDefault(module=esnext).symbols new file mode 100644 index 0000000000000..1c1e73a2f9fc0 --- /dev/null +++ b/tsc/testdata/baselines/reference/compiler/exportStarDefault(module=esnext).symbols @@ -0,0 +1,91 @@ +//// [tests/cases/compiler/exportStarDefault.ts] //// + +=== /default.ts === +export default class Default {} +>Default : Symbol(Default, Decl(default.ts, 0, 0)) + +export const named = 1; +>named : Symbol(named, Decl(default.ts, 1, 12)) + +=== /other.ts === +export default class Other {} +>Other : Symbol(Other, Decl(other.ts, 0, 0)) + +=== /reexport.ts === + +export * from "./default"; + +=== /ambiguous.ts === + +export * from "./default"; +export * from "./other"; + +=== /resolved.ts === +export * from "./default"; +export * from "./other"; +export { default } from "./default"; +>default : Symbol(default, Decl(resolved.ts, 2, 8)) + +=== /localDefault.ts === +export * from "./default"; +export * from "./other"; +export default class Local {} +>Local : Symbol(Local, Decl(localDefault.ts, 1, 24)) + +=== /localDefaultExpression.ts === + +export * from "./default"; +export * from "./other"; +export default 1; + +=== /defaultType.ts === +export default interface DefaultType { +>DefaultType : Symbol(DefaultType, Decl(defaultType.ts, 0, 0)) + + value: string; +>value : Symbol(DefaultType.value, Decl(defaultType.ts, 0, 38)) +} + +=== /reexportType.ts === + +export type * from "./defaultType"; + +=== /main.ts === +import Default, { named } from "./reexport"; +>Default : Symbol(Default, Decl(main.ts, 0, 6)) +>named : Symbol(named, Decl(main.ts, 0, 17)) + +import Resolved from "./resolved"; +>Resolved : Symbol(Resolved, Decl(main.ts, 1, 6)) + +import Local from "./localDefault"; +>Local : Symbol(Local, Decl(main.ts, 2, 6)) + +import valueDefault from "./localDefaultExpression"; +>valueDefault : Symbol(valueDefault, Decl(main.ts, 3, 6)) + +import type DefaultType from "./reexportType"; +>DefaultType : Symbol(DefaultType, Decl(main.ts, 4, 6)) + +new Default(); +>Default : Symbol(Default, Decl(main.ts, 0, 6)) + +new Resolved(); +>Resolved : Symbol(Resolved, Decl(main.ts, 1, 6)) + +new Local(); +>Local : Symbol(Local, Decl(main.ts, 2, 6)) + +valueDefault.toFixed(); +>valueDefault.toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) +>valueDefault : Symbol(valueDefault, Decl(main.ts, 3, 6)) +>toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) + +const value: DefaultType = { value: "" }; +>value : Symbol(value, Decl(main.ts, 10, 5)) +>DefaultType : Symbol(DefaultType, Decl(main.ts, 4, 6)) +>value : Symbol(value, Decl(main.ts, 10, 28)) + +named; +>named : Symbol(named, Decl(main.ts, 0, 17)) + diff --git a/tsc/testdata/baselines/reference/compiler/exportStarDefault(module=esnext).types b/tsc/testdata/baselines/reference/compiler/exportStarDefault(module=esnext).types new file mode 100644 index 0000000000000..e1a6972b6946d --- /dev/null +++ b/tsc/testdata/baselines/reference/compiler/exportStarDefault(module=esnext).types @@ -0,0 +1,95 @@ +//// [tests/cases/compiler/exportStarDefault.ts] //// + +=== /default.ts === +export default class Default {} +>Default : Default + +export const named = 1; +>named : 1 +>1 : 1 + +=== /other.ts === +export default class Other {} +>Other : Other + +=== /reexport.ts === + +export * from "./default"; + +=== /ambiguous.ts === + +export * from "./default"; +export * from "./other"; + +=== /resolved.ts === +export * from "./default"; +export * from "./other"; +export { default } from "./default"; +>default : typeof import("./default").default + +=== /localDefault.ts === +export * from "./default"; +export * from "./other"; +export default class Local {} +>Local : Local + +=== /localDefaultExpression.ts === + +export * from "./default"; +export * from "./other"; +export default 1; + +=== /defaultType.ts === +export default interface DefaultType { + value: string; +>value : string +} + +=== /reexportType.ts === + +export type * from "./defaultType"; + +=== /main.ts === +import Default, { named } from "./reexport"; +>Default : typeof Default +>named : 1 + +import Resolved from "./resolved"; +>Resolved : typeof Default + +import Local from "./localDefault"; +>Local : typeof Local + +import valueDefault from "./localDefaultExpression"; +>valueDefault : 1 + +import type DefaultType from "./reexportType"; +>DefaultType : DefaultType + +new Default(); +>new Default() : Default +>Default : typeof Default + +new Resolved(); +>new Resolved() : Default +>Resolved : typeof Default + +new Local(); +>new Local() : Local +>Local : typeof Local + +valueDefault.toFixed(); +>valueDefault.toFixed() : string +>valueDefault.toFixed : (fractionDigits?: number) => string +>valueDefault : 1 +>toFixed : (fractionDigits?: number) => string + +const value: DefaultType = { value: "" }; +>value : DefaultType +>{ value: "" } : { value: string; } +>value : string +>"" : "" + +named; +>named : 1 + diff --git a/tsc/testdata/baselines/reference/compiler/exportStarForValues.js b/tsc/testdata/baselines/reference/compiler/exportStarForValues.js index 9c468454182bb..9ef23f7c722de 100644 --- a/tsc/testdata/baselines/reference/compiler/exportStarForValues.js +++ b/tsc/testdata/baselines/reference/compiler/exportStarForValues.js @@ -24,7 +24,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); + for (var p in m) if (!Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); __exportStar(require("file1"), exports); diff --git a/tsc/testdata/baselines/reference/compiler/exportStarForValues2.js b/tsc/testdata/baselines/reference/compiler/exportStarForValues2.js index 79bde6f7db993..a9fecf9c6fd78 100644 --- a/tsc/testdata/baselines/reference/compiler/exportStarForValues2.js +++ b/tsc/testdata/baselines/reference/compiler/exportStarForValues2.js @@ -28,7 +28,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); + for (var p in m) if (!Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); __exportStar(require("file1"), exports); @@ -47,7 +47,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); + for (var p in m) if (!Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); __exportStar(require("file2"), exports); diff --git a/tsc/testdata/baselines/reference/compiler/exportStarForValues3.js b/tsc/testdata/baselines/reference/compiler/exportStarForValues3.js index 109cb5e768771..07f8fa61dba34 100644 --- a/tsc/testdata/baselines/reference/compiler/exportStarForValues3.js +++ b/tsc/testdata/baselines/reference/compiler/exportStarForValues3.js @@ -40,7 +40,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); + for (var p in m) if (!Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); __exportStar(require("file1"), exports); @@ -59,7 +59,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); + for (var p in m) if (!Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); __exportStar(require("file1"), exports); @@ -78,7 +78,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); + for (var p in m) if (!Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); __exportStar(require("file2"), exports); @@ -98,7 +98,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); + for (var p in m) if (!Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); __exportStar(require("file4"), exports); diff --git a/tsc/testdata/baselines/reference/compiler/exportStarForValues4.js b/tsc/testdata/baselines/reference/compiler/exportStarForValues4.js index fe10b7c4151ba..bc78fa2552258 100644 --- a/tsc/testdata/baselines/reference/compiler/exportStarForValues4.js +++ b/tsc/testdata/baselines/reference/compiler/exportStarForValues4.js @@ -32,7 +32,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); + for (var p in m) if (!Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); __exportStar(require("file1"), exports); @@ -52,7 +52,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); + for (var p in m) if (!Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); __exportStar(require("file2"), exports); diff --git a/tsc/testdata/baselines/reference/compiler/exportStarForValues5.js b/tsc/testdata/baselines/reference/compiler/exportStarForValues5.js index 32be7c4a92c11..719a00b770d90 100644 --- a/tsc/testdata/baselines/reference/compiler/exportStarForValues5.js +++ b/tsc/testdata/baselines/reference/compiler/exportStarForValues5.js @@ -24,7 +24,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); + for (var p in m) if (!Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.x = void 0; diff --git a/tsc/testdata/baselines/reference/compiler/exportStarForValues7.js b/tsc/testdata/baselines/reference/compiler/exportStarForValues7.js index be769e8be0b74..72bf68e4c3edb 100644 --- a/tsc/testdata/baselines/reference/compiler/exportStarForValues7.js +++ b/tsc/testdata/baselines/reference/compiler/exportStarForValues7.js @@ -28,7 +28,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); + for (var p in m) if (!Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.x = void 0; @@ -48,7 +48,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); + for (var p in m) if (!Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.x = void 0; diff --git a/tsc/testdata/baselines/reference/compiler/exportStarForValues8.js b/tsc/testdata/baselines/reference/compiler/exportStarForValues8.js index f1dfd136c17b6..f23348bcf8aa4 100644 --- a/tsc/testdata/baselines/reference/compiler/exportStarForValues8.js +++ b/tsc/testdata/baselines/reference/compiler/exportStarForValues8.js @@ -40,7 +40,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); + for (var p in m) if (!Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.x = void 0; @@ -60,7 +60,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); + for (var p in m) if (!Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.x = void 0; @@ -80,7 +80,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); + for (var p in m) if (!Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.x = void 0; @@ -101,7 +101,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); + for (var p in m) if (!Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.x = void 0; diff --git a/tsc/testdata/baselines/reference/compiler/exportStarForValues9.js b/tsc/testdata/baselines/reference/compiler/exportStarForValues9.js index afe81e92ac6c4..0c99177f0ecab 100644 --- a/tsc/testdata/baselines/reference/compiler/exportStarForValues9.js +++ b/tsc/testdata/baselines/reference/compiler/exportStarForValues9.js @@ -32,7 +32,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); + for (var p in m) if (!Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.x = void 0; @@ -53,7 +53,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); + for (var p in m) if (!Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.x = void 0; diff --git a/tsc/testdata/baselines/reference/compiler/exportStarFromEmptyModule(target=es2015).js b/tsc/testdata/baselines/reference/compiler/exportStarFromEmptyModule(target=es2015).js index bc5fecd4b61bd..ee8c7d4fa732c 100644 --- a/tsc/testdata/baselines/reference/compiler/exportStarFromEmptyModule(target=es2015).js +++ b/tsc/testdata/baselines/reference/compiler/exportStarFromEmptyModule(target=es2015).js @@ -46,7 +46,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); + for (var p in m) if (!Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.A = void 0; diff --git a/tsc/testdata/baselines/reference/compiler/exportStarNotElided.js b/tsc/testdata/baselines/reference/compiler/exportStarNotElided.js index dabe577d9dce9..53190acd19d99 100644 --- a/tsc/testdata/baselines/reference/compiler/exportStarNotElided.js +++ b/tsc/testdata/baselines/reference/compiler/exportStarNotElided.js @@ -40,7 +40,7 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? ( o["default"] = v; }); var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); + for (var p in m) if (!Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; var __importStar = (this && this.__importStar) || (function () { var ownKeys = function(o) { diff --git a/tsc/testdata/baselines/reference/compiler/mergeMultipleInterfacesReexported.js b/tsc/testdata/baselines/reference/compiler/mergeMultipleInterfacesReexported.js index 97398ee4f769f..847a6f51c6232 100644 --- a/tsc/testdata/baselines/reference/compiler/mergeMultipleInterfacesReexported.js +++ b/tsc/testdata/baselines/reference/compiler/mergeMultipleInterfacesReexported.js @@ -49,7 +49,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); + for (var p in m) if (!Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); __exportStar(require("./eventList"), exports); diff --git a/tsc/testdata/baselines/reference/compiler/moduleAugmentationDoesInterfaceMergeOfReexport.js b/tsc/testdata/baselines/reference/compiler/moduleAugmentationDoesInterfaceMergeOfReexport.js index d89dda1b7f2ef..66d37c88a20ae 100644 --- a/tsc/testdata/baselines/reference/compiler/moduleAugmentationDoesInterfaceMergeOfReexport.js +++ b/tsc/testdata/baselines/reference/compiler/moduleAugmentationDoesInterfaceMergeOfReexport.js @@ -39,7 +39,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); + for (var p in m) if (!Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); __exportStar(require("./file"), exports); diff --git a/tsc/testdata/baselines/reference/compiler/moduleAugmentationDoesNamespaceEnumMergeOfReexport.js b/tsc/testdata/baselines/reference/compiler/moduleAugmentationDoesNamespaceEnumMergeOfReexport.js index 57ed1afddb364..28f9b3855269e 100644 --- a/tsc/testdata/baselines/reference/compiler/moduleAugmentationDoesNamespaceEnumMergeOfReexport.js +++ b/tsc/testdata/baselines/reference/compiler/moduleAugmentationDoesNamespaceEnumMergeOfReexport.js @@ -44,7 +44,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); + for (var p in m) if (!Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); __exportStar(require("./file"), exports); diff --git a/tsc/testdata/baselines/reference/compiler/moduleAugmentationDoesNamespaceMergeOfReexport.js b/tsc/testdata/baselines/reference/compiler/moduleAugmentationDoesNamespaceMergeOfReexport.js index 5106f636c1a01..27ed50050bc20 100644 --- a/tsc/testdata/baselines/reference/compiler/moduleAugmentationDoesNamespaceMergeOfReexport.js +++ b/tsc/testdata/baselines/reference/compiler/moduleAugmentationDoesNamespaceMergeOfReexport.js @@ -43,7 +43,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); + for (var p in m) if (!Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); __exportStar(require("./file"), exports); diff --git a/tsc/testdata/baselines/reference/compiler/moduleAugmentationEnumClassMergeOfReexportIsError.js b/tsc/testdata/baselines/reference/compiler/moduleAugmentationEnumClassMergeOfReexportIsError.js index 50b6c2cf05c79..f0b86746439ce 100644 --- a/tsc/testdata/baselines/reference/compiler/moduleAugmentationEnumClassMergeOfReexportIsError.js +++ b/tsc/testdata/baselines/reference/compiler/moduleAugmentationEnumClassMergeOfReexportIsError.js @@ -39,7 +39,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); + for (var p in m) if (!Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); __exportStar(require("./file"), exports); diff --git a/tsc/testdata/baselines/reference/compiler/moduleDeclarationExportStarShadowingGlobalIsNameable.js b/tsc/testdata/baselines/reference/compiler/moduleDeclarationExportStarShadowingGlobalIsNameable.js index 05a55dc77c384..77bb1a79a8218 100644 --- a/tsc/testdata/baselines/reference/compiler/moduleDeclarationExportStarShadowingGlobalIsNameable.js +++ b/tsc/testdata/baselines/reference/compiler/moduleDeclarationExportStarShadowingGlobalIsNameable.js @@ -42,7 +42,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); + for (var p in m) if (!Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); __exportStar(require("./account"), exports); diff --git a/tsc/testdata/baselines/reference/compiler/moduleSameValueDuplicateExportedBindings1.js b/tsc/testdata/baselines/reference/compiler/moduleSameValueDuplicateExportedBindings1.js index 3264e89dbbf53..48713d8bf3f43 100644 --- a/tsc/testdata/baselines/reference/compiler/moduleSameValueDuplicateExportedBindings1.js +++ b/tsc/testdata/baselines/reference/compiler/moduleSameValueDuplicateExportedBindings1.js @@ -29,7 +29,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); + for (var p in m) if (!Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); __exportStar(require("./c"), exports); @@ -47,7 +47,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); + for (var p in m) if (!Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); __exportStar(require("./b"), exports); diff --git a/tsc/testdata/baselines/reference/compiler/moduleSameValueDuplicateExportedBindings2.js b/tsc/testdata/baselines/reference/compiler/moduleSameValueDuplicateExportedBindings2.js index 7c9730ce20e3f..a3e2cda81fcd3 100644 --- a/tsc/testdata/baselines/reference/compiler/moduleSameValueDuplicateExportedBindings2.js +++ b/tsc/testdata/baselines/reference/compiler/moduleSameValueDuplicateExportedBindings2.js @@ -43,7 +43,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); + for (var p in m) if (!Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); __exportStar(require("./b"), exports); diff --git a/tsc/testdata/baselines/reference/compiler/symbolLinkDeclarationEmitModuleNames.js b/tsc/testdata/baselines/reference/compiler/symbolLinkDeclarationEmitModuleNames.js index f72870eada60e..b364958074085 100644 --- a/tsc/testdata/baselines/reference/compiler/symbolLinkDeclarationEmitModuleNames.js +++ b/tsc/testdata/baselines/reference/compiler/symbolLinkDeclarationEmitModuleNames.js @@ -51,7 +51,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); + for (var p in m) if (!Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); __exportStar(require("./src/value-promise"), exports); diff --git a/tsc/testdata/baselines/reference/conformance/ambientShorthand_reExport.js b/tsc/testdata/baselines/reference/conformance/ambientShorthand_reExport.js index 34cb38935efce..bf8775eff6c9b 100644 --- a/tsc/testdata/baselines/reference/conformance/ambientShorthand_reExport.js +++ b/tsc/testdata/baselines/reference/conformance/ambientShorthand_reExport.js @@ -36,7 +36,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); + for (var p in m) if (!Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); __exportStar(require("jquery"), exports); diff --git a/tsc/testdata/baselines/reference/conformance/exportNamespace1.js b/tsc/testdata/baselines/reference/conformance/exportNamespace1.js index e06c79acfb07d..54cc023489948 100644 --- a/tsc/testdata/baselines/reference/conformance/exportNamespace1.js +++ b/tsc/testdata/baselines/reference/conformance/exportNamespace1.js @@ -38,7 +38,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); + for (var p in m) if (!Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); __exportStar(require("./b"), exports); diff --git a/tsc/testdata/baselines/reference/conformance/exportNamespace5.js b/tsc/testdata/baselines/reference/conformance/exportNamespace5.js index 327180ef339c2..1052a1a24b2d5 100644 --- a/tsc/testdata/baselines/reference/conformance/exportNamespace5.js +++ b/tsc/testdata/baselines/reference/conformance/exportNamespace5.js @@ -65,7 +65,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); + for (var p in m) if (!Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); __exportStar(require("./a"), exports); diff --git a/tsc/testdata/baselines/reference/conformance/exportNamespace6.js b/tsc/testdata/baselines/reference/conformance/exportNamespace6.js index 36cd8e08a94d8..90941135548de 100644 --- a/tsc/testdata/baselines/reference/conformance/exportNamespace6.js +++ b/tsc/testdata/baselines/reference/conformance/exportNamespace6.js @@ -42,7 +42,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); + for (var p in m) if (!Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); __exportStar(require("./b"), exports); diff --git a/tsc/testdata/baselines/reference/conformance/exportNamespace8.js b/tsc/testdata/baselines/reference/conformance/exportNamespace8.js index 188abb9396df6..2f20f54774711 100644 --- a/tsc/testdata/baselines/reference/conformance/exportNamespace8.js +++ b/tsc/testdata/baselines/reference/conformance/exportNamespace8.js @@ -53,7 +53,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); + for (var p in m) if (!Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); __exportStar(require("./b"), exports); // Collision error diff --git a/tsc/testdata/baselines/reference/conformance/exportNamespace9.js b/tsc/testdata/baselines/reference/conformance/exportNamespace9.js index 04bc178b522ec..ee1945e5a52b7 100644 --- a/tsc/testdata/baselines/reference/conformance/exportNamespace9.js +++ b/tsc/testdata/baselines/reference/conformance/exportNamespace9.js @@ -65,7 +65,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); + for (var p in m) if (!Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); __exportStar(require("./e"), exports); diff --git a/tsc/testdata/baselines/reference/conformance/exportStar(target=es2015).errors.txt b/tsc/testdata/baselines/reference/conformance/exportStar(target=es2015).errors.txt index 4402aed8a528c..d5e0a77d321a5 100644 --- a/tsc/testdata/baselines/reference/conformance/exportStar(target=es2015).errors.txt +++ b/tsc/testdata/baselines/reference/conformance/exportStar(target=es2015).errors.txt @@ -1,4 +1,3 @@ -main.ts(1,8): error TS1192: Module '"t4"' has no default export. t4.ts(3,1): error TS2308: Module "./t1" has already exported a member named 'x'. Consider explicitly re-exporting to resolve the ambiguity. t4.ts(3,1): error TS2308: Module "./t1" has already exported a member named 'y'. Consider explicitly re-exporting to resolve the ambiguity. @@ -26,11 +25,8 @@ t4.ts(3,1): error TS2308: Module "./t1" has already exported a member named 'y'. ~~~~~~~~~~~~~~~~~~~~~ !!! error TS2308: Module "./t1" has already exported a member named 'y'. Consider explicitly re-exporting to resolve the ambiguity. -==== main.ts (1 errors) ==== +==== main.ts (0 errors) ==== import hello, { x, y, z, foo } from "./t4"; - ~~~~~ -!!! error TS1192: Module '"t4"' has no default export. -!!! related TS1195 t4.ts:2:1: 'export *' does not re-export a default. hello; x; y; diff --git a/tsc/testdata/baselines/reference/conformance/exportStar(target=es2015).js b/tsc/testdata/baselines/reference/conformance/exportStar(target=es2015).js index f1467d3ce7de2..60d0f09d08ba9 100644 --- a/tsc/testdata/baselines/reference/conformance/exportStar(target=es2015).js +++ b/tsc/testdata/baselines/reference/conformance/exportStar(target=es2015).js @@ -64,7 +64,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); + for (var p in m) if (!Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); __exportStar(require("./t1"), exports); diff --git a/tsc/testdata/baselines/reference/conformance/exportStar(target=es2015).types b/tsc/testdata/baselines/reference/conformance/exportStar(target=es2015).types index e6e84d77312b9..0eaf4d9df1d97 100644 --- a/tsc/testdata/baselines/reference/conformance/exportStar(target=es2015).types +++ b/tsc/testdata/baselines/reference/conformance/exportStar(target=es2015).types @@ -40,14 +40,14 @@ export * from "./t3"; === main.ts === import hello, { x, y, z, foo } from "./t4"; ->hello : any +>hello : "hello" >x : number >y : number >z : string >foo : () => void hello; ->hello : any +>hello : "hello" x; >x : number diff --git a/tsc/testdata/baselines/reference/conformance/importAssertion2(module=commonjs).js b/tsc/testdata/baselines/reference/conformance/importAssertion2(module=commonjs).js index 947aea50dd696..af8d2df64a210 100644 --- a/tsc/testdata/baselines/reference/conformance/importAssertion2(module=commonjs).js +++ b/tsc/testdata/baselines/reference/conformance/importAssertion2(module=commonjs).js @@ -40,7 +40,7 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? ( o["default"] = v; }); var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); + for (var p in m) if (!Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; var __importStar = (this && this.__importStar) || (function () { var ownKeys = function(o) { diff --git a/tsc/testdata/baselines/reference/conformance/importAttributes2(module=commonjs).js b/tsc/testdata/baselines/reference/conformance/importAttributes2(module=commonjs).js index 293da2aab76dd..1982408af95b4 100644 --- a/tsc/testdata/baselines/reference/conformance/importAttributes2(module=commonjs).js +++ b/tsc/testdata/baselines/reference/conformance/importAttributes2(module=commonjs).js @@ -40,7 +40,7 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? ( o["default"] = v; }); var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); + for (var p in m) if (!Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; var __importStar = (this && this.__importStar) || (function () { var ownKeys = function(o) { diff --git a/tsc/testdata/baselines/reference/conformance/inlineJsxFactoryDeclarations.js b/tsc/testdata/baselines/reference/conformance/inlineJsxFactoryDeclarations.js index 5e568b5ba5e29..6622123358c26 100644 --- a/tsc/testdata/baselines/reference/conformance/inlineJsxFactoryDeclarations.js +++ b/tsc/testdata/baselines/reference/conformance/inlineJsxFactoryDeclarations.js @@ -113,7 +113,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); + for (var p in m) if (!Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); /** @jsx dom */ diff --git a/tsc/testdata/baselines/reference/conformance/jsDeclarationsExportForms(target=es2015).js b/tsc/testdata/baselines/reference/conformance/jsDeclarationsExportForms(target=es2015).js index 6767632cfbc83..635a59561ce34 100644 --- a/tsc/testdata/baselines/reference/conformance/jsDeclarationsExportForms(target=es2015).js +++ b/tsc/testdata/baselines/reference/conformance/jsDeclarationsExportForms(target=es2015).js @@ -84,7 +84,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); + for (var p in m) if (!Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); __exportStar(require("./cls"), exports); @@ -102,7 +102,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); + for (var p in m) if (!Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); __exportStar(require("./func"), exports); diff --git a/tsc/testdata/baselines/reference/conformance/jsDeclarationsExportFormsErr(target=es2015).js b/tsc/testdata/baselines/reference/conformance/jsDeclarationsExportFormsErr(target=es2015).js index 87f0b0da7af4f..47ef189d09b1a 100644 --- a/tsc/testdata/baselines/reference/conformance/jsDeclarationsExportFormsErr(target=es2015).js +++ b/tsc/testdata/baselines/reference/conformance/jsDeclarationsExportFormsErr(target=es2015).js @@ -84,7 +84,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); + for (var p in m) if (!Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); __exportStar(require("./cls"), exports); diff --git a/tsc/testdata/baselines/reference/tsc/declarationEmit/when-pkg-references-sibling-package-through-indirect-symlink.js b/tsc/testdata/baselines/reference/tsc/declarationEmit/when-pkg-references-sibling-package-through-indirect-symlink.js index 7c1ae17bd0c5d..218e2d7304ba1 100644 --- a/tsc/testdata/baselines/reference/tsc/declarationEmit/when-pkg-references-sibling-package-through-indirect-symlink.js +++ b/tsc/testdata/baselines/reference/tsc/declarationEmit/when-pkg-references-sibling-package-through-indirect-symlink.js @@ -130,7 +130,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); + for (var p in m) if (!Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); __exportStar(require("./keys"), exports); diff --git a/tsc/testdata/tests/cases/compiler/exportStarDefault.ts b/tsc/testdata/tests/cases/compiler/exportStarDefault.ts index e5cdc582c5129..116205220997f 100644 --- a/tsc/testdata/tests/cases/compiler/exportStarDefault.ts +++ b/tsc/testdata/tests/cases/compiler/exportStarDefault.ts @@ -26,6 +26,11 @@ export * from "./default"; export * from "./other"; export default class Local {} +// @filename: /localDefaultExpression.ts +export * from "./default"; +export * from "./other"; +export default 1; + // @filename: /defaultType.ts export default interface DefaultType { value: string; @@ -38,10 +43,12 @@ export type * from "./defaultType"; import Default, { named } from "./reexport"; import Resolved from "./resolved"; import Local from "./localDefault"; +import valueDefault from "./localDefaultExpression"; import type DefaultType from "./reexportType"; new Default(); new Resolved(); new Local(); +valueDefault.toFixed(); const value: DefaultType = { value: "" }; named;