From 592a4b9fb3613b64574b7004307c053e355269c9 Mon Sep 17 00:00:00 2001 From: Sheetal Nandi Date: Mon, 4 Apr 2016 13:35:42 -0700 Subject: [PATCH] Emit "declare" for temp default var name only if declaration file emit context allows Fixes #7807 --- src/compiler/declarationEmitter.ts | 5 ++++- ...DefaultExportWithTempVarNameWithBundling.js | 18 +----------------- 2 files changed, 5 insertions(+), 18 deletions(-) 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/declarationEmitDefaultExportWithTempVarNameWithBundling.js b/tests/baselines/reference/declarationEmitDefaultExportWithTempVarNameWithBundling.js index a42233dba55..adb081dc2a3 100644 --- a/tests/baselines/reference/declarationEmitDefaultExportWithTempVarNameWithBundling.js +++ b/tests/baselines/reference/declarationEmitDefaultExportWithTempVarNameWithBundling.js @@ -17,22 +17,6 @@ System.register("pi", [], function(exports_1, context_1) { //// [app.d.ts] declare module "pi" { - declare var _default: number; + var _default: number; export default _default; } - - -//// [DtsFileErrors] - - -app.d.ts(2,5): error TS1038: A 'declare' modifier cannot be used in an already ambient context. - - -==== app.d.ts (1 errors) ==== - declare module "pi" { - declare var _default: number; - ~~~~~~~ -!!! error TS1038: A 'declare' modifier cannot be used in an already ambient context. - export default _default; - } - \ No newline at end of file