From 83fcca81a8625de02c1823c36e779556824a2a43 Mon Sep 17 00:00:00 2001 From: Vladimir Matveev Date: Fri, 10 Apr 2015 12:31:10 -0700 Subject: [PATCH] emit publish of exported values in variable declarations --- src/compiler/emitter.ts | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index 77f9c9a7f3b..721ae4e76bd 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -2740,7 +2740,6 @@ var __param = this.__param || function(index, decorator) { return function (targ } else { renameNonTopLevelLetAndConst(node.name); - emitModuleMemberName(node); let initializer = node.initializer; if (!initializer && languageVersion < ScriptTarget.ES6) { @@ -2763,7 +2762,21 @@ var __param = this.__param || function(index, decorator) { return function (targ } } + let publishExportedValue = + currentFileIsEmittedAsSystemModule() && (getCombinedNodeFlags(node) & NodeFlags.Export) && isSourceFileLevelDeclaration(node); + + if (publishExportedValue) { + write(`${exportFunctionForFile}("`); + emitNodeWithoutSourceMap(node.name); + write(`", `); + } + + emitModuleMemberName(node); emitOptional(" = ", initializer); + + if (publishExportedValue) { + write(")") + } } }