From afe35c810a8488ef14fbf1e8663977b1916a327a Mon Sep 17 00:00:00 2001 From: Mohamed Hegazy Date: Thu, 12 Mar 2015 22:52:54 -0700 Subject: [PATCH 1/2] Revert "Support an optional type annotation on export default statement" This reverts commit a6a8a9624985bd7d70583154f6dc3f2868c1a0a3. --- src/compiler/binder.ts | 2 +- src/compiler/checker.ts | 32 ++++--------------- .../diagnosticInformationMap.generated.ts | 1 - src/compiler/diagnosticMessages.json | 4 --- src/compiler/parser.ts | 11 ++----- src/compiler/types.ts | 3 +- src/services/breakpoints.ts | 4 --- .../exportDefaultTypeAnnoation.errors.txt | 8 ----- .../reference/exportDefaultTypeAnnoation.js | 6 ---- .../reference/exportDefaultTypeAnnoation2.js | 7 ---- .../exportDefaultTypeAnnoation2.types | 6 ---- .../exportDefaultTypeAnnoation3.errors.txt | 21 ------------ .../reference/exportDefaultTypeAnnoation3.js | 22 ------------- .../compiler/exportDefaultTypeAnnoation.ts | 4 --- .../compiler/exportDefaultTypeAnnoation2.ts | 6 ---- .../compiler/exportDefaultTypeAnnoation3.ts | 15 --------- 16 files changed, 11 insertions(+), 141 deletions(-) delete mode 100644 tests/baselines/reference/exportDefaultTypeAnnoation.errors.txt delete mode 100644 tests/baselines/reference/exportDefaultTypeAnnoation.js delete mode 100644 tests/baselines/reference/exportDefaultTypeAnnoation2.js delete mode 100644 tests/baselines/reference/exportDefaultTypeAnnoation2.types delete mode 100644 tests/baselines/reference/exportDefaultTypeAnnoation3.errors.txt delete mode 100644 tests/baselines/reference/exportDefaultTypeAnnoation3.js delete mode 100644 tests/cases/compiler/exportDefaultTypeAnnoation.ts delete mode 100644 tests/cases/compiler/exportDefaultTypeAnnoation2.ts delete mode 100644 tests/cases/compiler/exportDefaultTypeAnnoation3.ts diff --git a/src/compiler/binder.ts b/src/compiler/binder.ts index 494570c85c..81baf3313f 100644 --- a/src/compiler/binder.ts +++ b/src/compiler/binder.ts @@ -539,7 +539,7 @@ module ts { bindChildren(node, 0, /*isBlockScopeContainer*/ false); break; case SyntaxKind.ExportAssignment: - if ((node).expression && (node).expression.kind === SyntaxKind.Identifier) { + if ((node).expression.kind === SyntaxKind.Identifier) { // An export default clause with an identifier exports all meanings of that identifier declareSymbol(container.symbol.exports, container.symbol, node, SymbolFlags.Alias, SymbolFlags.PropertyExcludes | SymbolFlags.AliasExcludes); } diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index ea38a8f4b3..dc635abf4a 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -682,7 +682,7 @@ module ts { } function getTargetOfExportAssignment(node: ExportAssignment): Symbol { - return node.expression && resolveEntityName(node.expression, SymbolFlags.Value | SymbolFlags.Type | SymbolFlags.Namespace); + return resolveEntityName(node.expression, SymbolFlags.Value | SymbolFlags.Type | SymbolFlags.Namespace); } function getTargetOfAliasDeclaration(node: Declaration): Symbol { @@ -748,7 +748,7 @@ module ts { if (!links.referenced) { links.referenced = true; let node = getDeclarationOfAliasSymbol(symbol); - if (node.kind === SyntaxKind.ExportAssignment && (node).expression) { + if (node.kind === SyntaxKind.ExportAssignment) { // export default checkExpressionCached((node).expression); } @@ -2287,16 +2287,7 @@ module ts { } // Handle export default expressions if (declaration.kind === SyntaxKind.ExportAssignment) { - var exportAssignment = declaration; - if (exportAssignment.expression) { - return links.type = checkExpression(exportAssignment.expression); - } - else if (exportAssignment.type) { - return links.type = getTypeFromTypeNodeOrHeritageClauseElement(exportAssignment.type); - } - else { - return links.type = anyType; - } + return links.type = checkExpression((declaration).expression); } // Handle variable, parameter or property links.type = resolvingType; @@ -10599,21 +10590,12 @@ module ts { if (!checkGrammarDecorators(node) && !checkGrammarModifiers(node) && (node.flags & NodeFlags.Modifier)) { grammarErrorOnFirstToken(node, Diagnostics.An_export_assignment_cannot_have_modifiers); } - if (node.expression) { - if (node.expression.kind === SyntaxKind.Identifier) { - markExportAsReferenced(node); - } - else { - checkExpressionCached(node.expression); - } + if (node.expression.kind === SyntaxKind.Identifier) { + markExportAsReferenced(node); } - if (node.type) { - checkSourceElement(node.type); - if (!isInAmbientContext(node)) { - grammarErrorOnFirstToken(node.type, Diagnostics.A_type_annotation_on_an_export_statement_is_only_allowed_in_an_ambient_external_module_declaration); - } + else { + checkExpressionCached(node.expression); } - checkExternalModuleExports(container); if (node.isExportEquals && languageVersion >= ScriptTarget.ES6) { diff --git a/src/compiler/diagnosticInformationMap.generated.ts b/src/compiler/diagnosticInformationMap.generated.ts index 5062be5ed4..d3af14a8e2 100644 --- a/src/compiler/diagnosticInformationMap.generated.ts +++ b/src/compiler/diagnosticInformationMap.generated.ts @@ -158,7 +158,6 @@ module ts { An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive: { code: 1198, category: DiagnosticCategory.Error, key: "An extended Unicode escape value must be between 0x0 and 0x10FFFF inclusive." }, Unterminated_Unicode_escape_sequence: { code: 1199, category: DiagnosticCategory.Error, key: "Unterminated Unicode escape sequence." }, Line_terminator_not_permitted_before_arrow: { code: 1200, category: DiagnosticCategory.Error, key: "Line terminator not permitted before arrow." }, - A_type_annotation_on_an_export_statement_is_only_allowed_in_an_ambient_external_module_declaration: { code: 1201, category: DiagnosticCategory.Error, key: "A type annotation on an export statement is only allowed in an ambient external module declaration." }, Import_assignment_cannot_be_used_when_targeting_ECMAScript_6_or_higher_Consider_using_import_Asterisk_as_ns_from_mod_import_a_from_mod_or_import_d_from_mod_instead: { code: 1202, category: DiagnosticCategory.Error, key: "Import assignment cannot be used when targeting ECMAScript 6 or higher. Consider using 'import * as ns from \"mod\"', 'import {a} from \"mod\"' or 'import d from \"mod\"' instead." }, Export_assignment_cannot_be_used_when_targeting_ECMAScript_6_or_higher_Consider_using_export_default_instead: { code: 1203, category: DiagnosticCategory.Error, key: "Export assignment cannot be used when targeting ECMAScript 6 or higher. Consider using 'export default' instead." }, Cannot_compile_external_modules_into_amd_or_commonjs_when_targeting_es6_or_higher: { code: 1204, category: DiagnosticCategory.Error, key: "Cannot compile external modules into amd or commonjs when targeting es6 or higher." }, diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json index 4476b0cad4..34f4b542ad 100644 --- a/src/compiler/diagnosticMessages.json +++ b/src/compiler/diagnosticMessages.json @@ -623,10 +623,6 @@ "category": "Error", "code": 1200 }, - "A type annotation on an export statement is only allowed in an ambient external module declaration.": { - "category": "Error", - "code": 1201 - }, "Import assignment cannot be used when targeting ECMAScript 6 or higher. Consider using 'import * as ns from \"mod\"', 'import {a} from \"mod\"' or 'import d from \"mod\"' instead.": { "category": "Error", "code": 1202 diff --git a/src/compiler/parser.ts b/src/compiler/parser.ts index bde4cec3f3..202e35ba34 100644 --- a/src/compiler/parser.ts +++ b/src/compiler/parser.ts @@ -299,8 +299,7 @@ module ts { case SyntaxKind.ExportAssignment: return visitNodes(cbNodes, node.decorators) || visitNodes(cbNodes, node.modifiers) || - visitNode(cbNode, (node).expression) || - visitNode(cbNode, (node).type); + visitNode(cbNode, (node).expression); case SyntaxKind.TemplateExpression: return visitNode(cbNode, (node).head) || visitNodes(cbNodes, (node).templateSpans); case SyntaxKind.TemplateSpan: @@ -5123,17 +5122,11 @@ module ts { setModifiers(node, modifiers); if (parseOptional(SyntaxKind.EqualsToken)) { node.isExportEquals = true; - node.expression = parseAssignmentExpressionOrHigher(); } else { parseExpected(SyntaxKind.DefaultKeyword); - if (parseOptional(SyntaxKind.ColonToken)) { - node.type = parseType(); - } - else { - node.expression = parseAssignmentExpressionOrHigher(); - } } + node.expression = parseAssignmentExpressionOrHigher(); parseSemicolon(); return finishNode(node); } diff --git a/src/compiler/types.ts b/src/compiler/types.ts index 7477705796..c38e4e1275 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -975,8 +975,7 @@ module ts { export interface ExportAssignment extends Declaration, ModuleElement { isExportEquals?: boolean; - expression?: Expression; - type?: TypeNode; + expression: Expression; } export interface FileReference extends TextRange { diff --git a/src/services/breakpoints.ts b/src/services/breakpoints.ts index 395141cc4c..c56ea72cd6 100644 --- a/src/services/breakpoints.ts +++ b/src/services/breakpoints.ts @@ -173,10 +173,6 @@ module ts.BreakpointResolver { return textSpan(node, (node).expression); case SyntaxKind.ExportAssignment: - if (!(node).expression) { - return undefined; - } - // span on export = id return textSpan(node, (node).expression); diff --git a/tests/baselines/reference/exportDefaultTypeAnnoation.errors.txt b/tests/baselines/reference/exportDefaultTypeAnnoation.errors.txt deleted file mode 100644 index 71ff4261ff..0000000000 --- a/tests/baselines/reference/exportDefaultTypeAnnoation.errors.txt +++ /dev/null @@ -1,8 +0,0 @@ -tests/cases/compiler/exportDefaultTypeAnnoation.ts(2,18): error TS1201: A type annotation on an export statement is only allowed in an ambient external module declaration. - - -==== tests/cases/compiler/exportDefaultTypeAnnoation.ts (1 errors) ==== - - export default : number; - ~~~~~~ -!!! error TS1201: A type annotation on an export statement is only allowed in an ambient external module declaration. \ No newline at end of file diff --git a/tests/baselines/reference/exportDefaultTypeAnnoation.js b/tests/baselines/reference/exportDefaultTypeAnnoation.js deleted file mode 100644 index 71a829ac28..0000000000 --- a/tests/baselines/reference/exportDefaultTypeAnnoation.js +++ /dev/null @@ -1,6 +0,0 @@ -//// [exportDefaultTypeAnnoation.ts] - -export default : number; - -//// [exportDefaultTypeAnnoation.js] -exports.default = ; diff --git a/tests/baselines/reference/exportDefaultTypeAnnoation2.js b/tests/baselines/reference/exportDefaultTypeAnnoation2.js deleted file mode 100644 index 2c91895470..0000000000 --- a/tests/baselines/reference/exportDefaultTypeAnnoation2.js +++ /dev/null @@ -1,7 +0,0 @@ -//// [exportDefaultTypeAnnoation2.ts] - -declare module "mod" { - export default : number; -} - -//// [exportDefaultTypeAnnoation2.js] diff --git a/tests/baselines/reference/exportDefaultTypeAnnoation2.types b/tests/baselines/reference/exportDefaultTypeAnnoation2.types deleted file mode 100644 index 53ca78586c..0000000000 --- a/tests/baselines/reference/exportDefaultTypeAnnoation2.types +++ /dev/null @@ -1,6 +0,0 @@ -=== tests/cases/compiler/exportDefaultTypeAnnoation2.ts === - -No type information for this code.declare module "mod" { -No type information for this code. export default : number; -No type information for this code.} -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/exportDefaultTypeAnnoation3.errors.txt b/tests/baselines/reference/exportDefaultTypeAnnoation3.errors.txt deleted file mode 100644 index 326713e059..0000000000 --- a/tests/baselines/reference/exportDefaultTypeAnnoation3.errors.txt +++ /dev/null @@ -1,21 +0,0 @@ -tests/cases/compiler/reference1.ts(2,5): error TS2322: Type 'number' is not assignable to type 'string'. -tests/cases/compiler/reference2.ts(2,5): error TS2322: Type 'number' is not assignable to type 'string'. - - -==== tests/cases/compiler/mod.d.ts (0 errors) ==== - - declare module "mod" { - export default : number; - } - -==== tests/cases/compiler/reference1.ts (1 errors) ==== - import d from "mod"; - var s: string = d; // Error - ~ -!!! error TS2322: Type 'number' is not assignable to type 'string'. - -==== tests/cases/compiler/reference2.ts (1 errors) ==== - import { default as d } from "mod"; - var s: string = d; // Error - ~ -!!! error TS2322: Type 'number' is not assignable to type 'string'. \ No newline at end of file diff --git a/tests/baselines/reference/exportDefaultTypeAnnoation3.js b/tests/baselines/reference/exportDefaultTypeAnnoation3.js deleted file mode 100644 index 1f95e669de..0000000000 --- a/tests/baselines/reference/exportDefaultTypeAnnoation3.js +++ /dev/null @@ -1,22 +0,0 @@ -//// [tests/cases/compiler/exportDefaultTypeAnnoation3.ts] //// - -//// [mod.d.ts] - -declare module "mod" { - export default : number; -} - -//// [reference1.ts] -import d from "mod"; -var s: string = d; // Error - -//// [reference2.ts] -import { default as d } from "mod"; -var s: string = d; // Error - -//// [reference1.js] -var mod_1 = require("mod"); -var s = mod_1.default; // Error -//// [reference2.js] -var mod_1 = require("mod"); -var s = mod_1.default; // Error diff --git a/tests/cases/compiler/exportDefaultTypeAnnoation.ts b/tests/cases/compiler/exportDefaultTypeAnnoation.ts deleted file mode 100644 index d7fd24d5be..0000000000 --- a/tests/cases/compiler/exportDefaultTypeAnnoation.ts +++ /dev/null @@ -1,4 +0,0 @@ -// @target: es5 -// @module: commonjs - -export default : number; \ No newline at end of file diff --git a/tests/cases/compiler/exportDefaultTypeAnnoation2.ts b/tests/cases/compiler/exportDefaultTypeAnnoation2.ts deleted file mode 100644 index ddb317bd8f..0000000000 --- a/tests/cases/compiler/exportDefaultTypeAnnoation2.ts +++ /dev/null @@ -1,6 +0,0 @@ -// @target: es5 -// @module: commonjs - -declare module "mod" { - export default : number; -} \ No newline at end of file diff --git a/tests/cases/compiler/exportDefaultTypeAnnoation3.ts b/tests/cases/compiler/exportDefaultTypeAnnoation3.ts deleted file mode 100644 index 88a45de2d3..0000000000 --- a/tests/cases/compiler/exportDefaultTypeAnnoation3.ts +++ /dev/null @@ -1,15 +0,0 @@ -// @target: es5 -// @module: commonjs - -// @fileName: mod.d.ts -declare module "mod" { - export default : number; -} - -// @fileName: reference1.ts -import d from "mod"; -var s: string = d; // Error - -// @fileName: reference2.ts -import { default as d } from "mod"; -var s: string = d; // Error \ No newline at end of file From dc4d8c8d1f61f8655bade653f150644d25262450 Mon Sep 17 00:00:00 2001 From: Mohamed Hegazy Date: Thu, 9 Apr 2015 16:34:16 -0700 Subject: [PATCH 2/2] Emit temp var declaration for 'export default ' in declaration emit --- src/compiler/declarationEmitter.ts | 37 +++++++++++++++---- .../declarationEmitDefaultExport5.js | 3 +- .../declarationEmitDefaultExport6.js | 3 +- .../declarationEmitDefaultExport8.js | 18 +++++++++ .../declarationEmitDefaultExport8.types | 12 ++++++ .../reference/decoratorOnClassMethod11.js | 14 +++---- .../reference/es5ExportDefaultExpression.js | 3 +- .../reference/es6ExportDefaultExpression.js | 3 +- ...rtDefaultBindingFollowedWithNamedImport.js | 3 +- ...indingFollowedWithNamedImportWithExport.js | 3 +- .../compiler/declarationEmitDefaultExport8.ts | 6 +++ 11 files changed, 84 insertions(+), 21 deletions(-) create mode 100644 tests/baselines/reference/declarationEmitDefaultExport8.js create mode 100644 tests/baselines/reference/declarationEmitDefaultExport8.types create mode 100644 tests/cases/compiler/declarationEmitDefaultExport8.ts diff --git a/src/compiler/declarationEmitter.ts b/src/compiler/declarationEmitter.ts index 7d41a72435..76ea876c5f 100644 --- a/src/compiler/declarationEmitter.ts +++ b/src/compiler/declarationEmitter.ts @@ -442,20 +442,41 @@ module ts { emitLines(node.statements); } + // Return a temp variable name to be used in `export default` statements. + // The temp name will be of the form _default_counter. + // Note that export default is only allowed at most once in a module, so we + // do not need to keep track of created temp names. + function getExportDefaultTempVariableName(): string { + let baseName = "_default"; + if (!hasProperty(currentSourceFile.identifiers, baseName)) { + return baseName; + } + let count = 0; + while (true) { + let name = baseName + "_" + (++count); + if (!hasProperty(currentSourceFile.identifiers, name)) { + return name; + } + } + } + function emitExportAssignment(node: ExportAssignment) { - write(node.isExportEquals ? "export = " : "export default "); if (node.expression.kind === SyntaxKind.Identifier) { + write(node.isExportEquals ? "export = " : "export default "); writeTextOfNode(currentSourceFile, node.expression); } else { + // Expression + let tempVarName = getExportDefaultTempVariableName(); + write("declare var "); + write(tempVarName); write(": "); - if (node.type) { - emitType(node.type); - } - else { - writer.getSymbolAccessibilityDiagnostic = getDefaultExportAccessibilityDiagnostic; - resolver.writeTypeOfExpression(node.expression, enclosingDeclaration, TypeFormatFlags.UseTypeOfFunction, writer); - } + writer.getSymbolAccessibilityDiagnostic = getDefaultExportAccessibilityDiagnostic; + resolver.writeTypeOfExpression(node.expression, enclosingDeclaration, TypeFormatFlags.UseTypeOfFunction, writer); + write(";"); + writeLine(); + write(node.isExportEquals ? "export = " : "export default "); + write(tempVarName); } write(";"); writeLine(); diff --git a/tests/baselines/reference/declarationEmitDefaultExport5.js b/tests/baselines/reference/declarationEmitDefaultExport5.js index a8794d92c6..701318b14d 100644 --- a/tests/baselines/reference/declarationEmitDefaultExport5.js +++ b/tests/baselines/reference/declarationEmitDefaultExport5.js @@ -7,4 +7,5 @@ export default 1 + 2; //// [declarationEmitDefaultExport5.d.ts] -export default : number; +declare var _default: number; +export default _default; diff --git a/tests/baselines/reference/declarationEmitDefaultExport6.js b/tests/baselines/reference/declarationEmitDefaultExport6.js index d328458366..d56609e853 100644 --- a/tests/baselines/reference/declarationEmitDefaultExport6.js +++ b/tests/baselines/reference/declarationEmitDefaultExport6.js @@ -12,4 +12,5 @@ export default new A(); //// [declarationEmitDefaultExport6.d.ts] export declare class A { } -export default : A; +declare var _default: A; +export default _default; diff --git a/tests/baselines/reference/declarationEmitDefaultExport8.js b/tests/baselines/reference/declarationEmitDefaultExport8.js new file mode 100644 index 0000000000..c023f3be7d --- /dev/null +++ b/tests/baselines/reference/declarationEmitDefaultExport8.js @@ -0,0 +1,18 @@ +//// [declarationEmitDefaultExport8.ts] + +var _default = 1; +export {_default as d} +export default 1 + 2; + + +//// [declarationEmitDefaultExport8.js] +var _default = 1; +export { _default as d }; +export default 1 + 2; + + +//// [declarationEmitDefaultExport8.d.ts] +declare var _default: number; +export { _default as d }; +declare var _default_1: number; +export default _default_1; diff --git a/tests/baselines/reference/declarationEmitDefaultExport8.types b/tests/baselines/reference/declarationEmitDefaultExport8.types new file mode 100644 index 0000000000..b33fdc901f --- /dev/null +++ b/tests/baselines/reference/declarationEmitDefaultExport8.types @@ -0,0 +1,12 @@ +=== tests/cases/compiler/declarationEmitDefaultExport8.ts === + +var _default = 1; +>_default : number + +export {_default as d} +>_default : number +>d : number + +export default 1 + 2; +>1 + 2 : number + diff --git a/tests/baselines/reference/decoratorOnClassMethod11.js b/tests/baselines/reference/decoratorOnClassMethod11.js index 71d4298f02..f8276de2fe 100644 --- a/tests/baselines/reference/decoratorOnClassMethod11.js +++ b/tests/baselines/reference/decoratorOnClassMethod11.js @@ -1,11 +1,11 @@ //// [decoratorOnClassMethod11.ts] -module M { - class C { - decorator(target: Object, key: string): void { } - - @this.decorator - method() { } - } +module M { + class C { + decorator(target: Object, key: string): void { } + + @this.decorator + method() { } + } } //// [decoratorOnClassMethod11.js] diff --git a/tests/baselines/reference/es5ExportDefaultExpression.js b/tests/baselines/reference/es5ExportDefaultExpression.js index 1e14ae0bff..944b6fc71a 100644 --- a/tests/baselines/reference/es5ExportDefaultExpression.js +++ b/tests/baselines/reference/es5ExportDefaultExpression.js @@ -8,4 +8,5 @@ exports.default = (1 + 2); //// [es5ExportDefaultExpression.d.ts] -export default : number; +declare var _default: number; +export default _default; diff --git a/tests/baselines/reference/es6ExportDefaultExpression.js b/tests/baselines/reference/es6ExportDefaultExpression.js index 322e09bc46..100182b9f2 100644 --- a/tests/baselines/reference/es6ExportDefaultExpression.js +++ b/tests/baselines/reference/es6ExportDefaultExpression.js @@ -8,4 +8,5 @@ export default (1 + 2); //// [es6ExportDefaultExpression.d.ts] -export default : number; +declare var _default: number; +export default _default; diff --git a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImport.js b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImport.js index eef2357921..641941db9e 100644 --- a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImport.js +++ b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImport.js @@ -45,5 +45,6 @@ var x1 = m; export declare var a: number; export declare var x: number; export declare var m: number; -export default : {}; +declare var _default: {}; +export default _default; //// [es6ImportDefaultBindingFollowedWithNamedImport_1.d.ts] diff --git a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImportWithExport.js b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImportWithExport.js index 0d5f38c0be..9052100773 100644 --- a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImportWithExport.js +++ b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImportWithExport.js @@ -44,7 +44,8 @@ define(["require", "exports", "server", "server", "server", "server", "server"], export declare var a: number; export declare var x: number; export declare var m: number; -export default : {}; +declare var _default: {}; +export default _default; //// [client.d.ts] export declare var x1: number; export declare var x1: number; diff --git a/tests/cases/compiler/declarationEmitDefaultExport8.ts b/tests/cases/compiler/declarationEmitDefaultExport8.ts new file mode 100644 index 0000000000..6c379e25a4 --- /dev/null +++ b/tests/cases/compiler/declarationEmitDefaultExport8.ts @@ -0,0 +1,6 @@ +// @declaration: true +// @target: es6 + +var _default = 1; +export {_default as d} +export default 1 + 2;