diff --git a/src/compiler/declarationEmitter.ts b/src/compiler/declarationEmitter.ts index 0a8b6615a23..423c1067e77 100644 --- a/src/compiler/declarationEmitter.ts +++ b/src/compiler/declarationEmitter.ts @@ -530,7 +530,10 @@ namespace ts { else { // Expression const tempVarName = getExportDefaultTempVariableName(); - write("declare var "); + if (!noDeclare) { + write("declare "); + } + write("var "); write(tempVarName); write(": "); writer.getSymbolAccessibilityDiagnostic = getDefaultExportAccessibilityDiagnostic; diff --git a/tests/baselines/reference/declarationEmitDefaultExportWithTempVarName.js b/tests/baselines/reference/declarationEmitDefaultExportWithTempVarName.js new file mode 100644 index 00000000000..a0c8ab59b97 --- /dev/null +++ b/tests/baselines/reference/declarationEmitDefaultExportWithTempVarName.js @@ -0,0 +1,19 @@ +//// [pi.ts] +export default 3.14159; + +//// [pi.js] +System.register([], function(exports_1, context_1) { + "use strict"; + var __moduleName = context_1 && context_1.id; + return { + setters:[], + execute: function() { + exports_1("default",3.14159); + } + } +}); + + +//// [pi.d.ts] +declare var _default: number; +export default _default; diff --git a/tests/baselines/reference/declarationEmitDefaultExportWithTempVarName.symbols b/tests/baselines/reference/declarationEmitDefaultExportWithTempVarName.symbols new file mode 100644 index 00000000000..a45ecb2e47e --- /dev/null +++ b/tests/baselines/reference/declarationEmitDefaultExportWithTempVarName.symbols @@ -0,0 +1,3 @@ +=== tests/cases/compiler/pi.ts === +export default 3.14159; +No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/declarationEmitDefaultExportWithTempVarName.types b/tests/baselines/reference/declarationEmitDefaultExportWithTempVarName.types new file mode 100644 index 00000000000..a45ecb2e47e --- /dev/null +++ b/tests/baselines/reference/declarationEmitDefaultExportWithTempVarName.types @@ -0,0 +1,3 @@ +=== tests/cases/compiler/pi.ts === +export default 3.14159; +No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/declarationEmitDefaultExportWithTempVarNameWithBundling.js b/tests/baselines/reference/declarationEmitDefaultExportWithTempVarNameWithBundling.js new file mode 100644 index 00000000000..adb081dc2a3 --- /dev/null +++ b/tests/baselines/reference/declarationEmitDefaultExportWithTempVarNameWithBundling.js @@ -0,0 +1,22 @@ +//// [pi.ts] + +export default 3.14159; + +//// [app.js] +System.register("pi", [], function(exports_1, context_1) { + "use strict"; + var __moduleName = context_1 && context_1.id; + return { + setters:[], + execute: function() { + exports_1("default",3.14159); + } + } +}); + + +//// [app.d.ts] +declare module "pi" { + var _default: number; + export default _default; +} diff --git a/tests/baselines/reference/declarationEmitDefaultExportWithTempVarNameWithBundling.symbols b/tests/baselines/reference/declarationEmitDefaultExportWithTempVarNameWithBundling.symbols new file mode 100644 index 00000000000..82f52e818e3 --- /dev/null +++ b/tests/baselines/reference/declarationEmitDefaultExportWithTempVarNameWithBundling.symbols @@ -0,0 +1,4 @@ +=== tests/cases/compiler/pi.ts === + +No type information for this code.export default 3.14159; +No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/declarationEmitDefaultExportWithTempVarNameWithBundling.types b/tests/baselines/reference/declarationEmitDefaultExportWithTempVarNameWithBundling.types new file mode 100644 index 00000000000..82f52e818e3 --- /dev/null +++ b/tests/baselines/reference/declarationEmitDefaultExportWithTempVarNameWithBundling.types @@ -0,0 +1,4 @@ +=== tests/cases/compiler/pi.ts === + +No type information for this code.export default 3.14159; +No type information for this code. \ No newline at end of file diff --git a/tests/cases/compiler/declarationEmitDefaultExportWithTempVarName.ts b/tests/cases/compiler/declarationEmitDefaultExportWithTempVarName.ts new file mode 100644 index 00000000000..13c967c4fe5 --- /dev/null +++ b/tests/cases/compiler/declarationEmitDefaultExportWithTempVarName.ts @@ -0,0 +1,4 @@ +// @declaration: true +// @module: system +// @Filename: pi.ts +export default 3.14159; \ No newline at end of file diff --git a/tests/cases/compiler/declarationEmitDefaultExportWithTempVarNameWithBundling.ts b/tests/cases/compiler/declarationEmitDefaultExportWithTempVarNameWithBundling.ts new file mode 100644 index 00000000000..6bd5320f3fe --- /dev/null +++ b/tests/cases/compiler/declarationEmitDefaultExportWithTempVarNameWithBundling.ts @@ -0,0 +1,6 @@ +// @declaration: true +// @module: system +// @outFile: app.js + +// @Filename: pi.ts +export default 3.14159; \ No newline at end of file