@@ -700,7 +700,6 @@ namespace ts {
700
700
701
701
const promise = factory . createNewExpression ( factory . createIdentifier ( "Promise" ) , /*typeArguments*/ undefined , [ func ] ) ;
702
702
if ( compilerOptions . esModuleInterop ) {
703
- context . requestEmitHelper ( importStarHelper ) ;
704
703
return factory . createCallExpression ( factory . createPropertyAccessExpression ( promise , factory . createIdentifier ( "then" ) ) , /*typeArguments*/ undefined , [ emitHelpers ( ) . createImportStarCallbackHelper ( ) ] ) ;
705
704
}
706
705
return promise ;
@@ -715,7 +714,6 @@ namespace ts {
715
714
const promiseResolveCall = factory . createCallExpression ( factory . createPropertyAccessExpression ( factory . createIdentifier ( "Promise" ) , "resolve" ) , /*typeArguments*/ undefined , /*argumentsArray*/ [ ] ) ;
716
715
let requireCall : Expression = factory . createCallExpression ( factory . createIdentifier ( "require" ) , /*typeArguments*/ undefined , arg ? [ arg ] : [ ] ) ;
717
716
if ( compilerOptions . esModuleInterop ) {
718
- context . requestEmitHelper ( importStarHelper ) ;
719
717
requireCall = emitHelpers ( ) . createImportStarHelper ( requireCall ) ;
720
718
}
721
719
@@ -755,8 +753,7 @@ namespace ts {
755
753
return innerExpr ;
756
754
}
757
755
if ( getExportNeedsImportStarHelper ( node ) ) {
758
- context . requestEmitHelper ( importStarHelper ) ;
759
- return factory . createCallExpression ( context . getEmitHelperFactory ( ) . getUnscopedHelperName ( "__importStar" ) , /*typeArguments*/ undefined , [ innerExpr ] ) ;
756
+ return emitHelpers ( ) . createImportStarHelper ( innerExpr ) ;
760
757
}
761
758
return innerExpr ;
762
759
}
@@ -766,11 +763,9 @@ namespace ts {
766
763
return innerExpr ;
767
764
}
768
765
if ( getImportNeedsImportStarHelper ( node ) ) {
769
- context . requestEmitHelper ( importStarHelper ) ;
770
766
return emitHelpers ( ) . createImportStarHelper ( innerExpr ) ;
771
767
}
772
768
if ( getImportNeedsImportDefaultHelper ( node ) ) {
773
- context . requestEmitHelper ( importDefaultHelper ) ;
774
769
return emitHelpers ( ) . createImportDefaultHelper ( innerExpr ) ;
775
770
}
776
771
return innerExpr ;
@@ -1015,18 +1010,21 @@ namespace ts {
1015
1010
setOriginalNode (
1016
1011
setTextRange (
1017
1012
factory . createExpressionStatement (
1018
- context . getEmitHelperFactory ( ) . createCreateBindingHelper ( generatedName , factory . createStringLiteralFromNode ( specifier . propertyName || specifier . name ) , specifier . propertyName ? factory . createStringLiteralFromNode ( specifier . name ) : undefined )
1013
+ emitHelpers ( ) . createCreateBindingHelper ( generatedName , factory . createStringLiteralFromNode ( specifier . propertyName || specifier . name ) , specifier . propertyName ? factory . createStringLiteralFromNode ( specifier . name ) : undefined )
1019
1014
) ,
1020
1015
specifier ) ,
1021
1016
specifier
1022
1017
)
1023
1018
) ;
1024
1019
}
1025
1020
else {
1021
+ const exportNeedsImportDefault =
1022
+ ! ! compilerOptions . esModuleInterop &&
1023
+ ! ( getEmitFlags ( node ) & EmitFlags . NeverApplyImportHelper ) &&
1024
+ idText ( specifier . propertyName || specifier . name ) === "default" ;
1026
1025
const exportedValue = factory . createPropertyAccessExpression (
1027
- generatedName ,
1028
- specifier . propertyName || specifier . name
1029
- ) ;
1026
+ exportNeedsImportDefault ? emitHelpers ( ) . createImportDefaultHelper ( generatedName ) : generatedName ,
1027
+ specifier . propertyName || specifier . name ) ;
1030
1028
statements . push (
1031
1029
setOriginalNode (
1032
1030
setTextRange (
@@ -1051,9 +1049,9 @@ namespace ts {
1051
1049
factory . createExpressionStatement (
1052
1050
createExportExpression (
1053
1051
factory . cloneNode ( node . exportClause . name ) ,
1054
- moduleKind !== ModuleKind . AMD ?
1055
- getHelperExpressionForExport ( node , createRequireCall ( node ) ) :
1056
- factory . createIdentifier ( idText ( node . exportClause . name ) )
1052
+ getHelperExpressionForExport ( node , moduleKind !== ModuleKind . AMD ?
1053
+ createRequireCall ( node ) :
1054
+ factory . createIdentifier ( idText ( node . exportClause . name ) ) )
1057
1055
)
1058
1056
) ,
1059
1057
node
@@ -1069,7 +1067,7 @@ namespace ts {
1069
1067
return setOriginalNode (
1070
1068
setTextRange (
1071
1069
factory . createExpressionStatement (
1072
- createExportStarHelper ( context , moduleKind !== ModuleKind . AMD ? createRequireCall ( node ) : generatedName )
1070
+ emitHelpers ( ) . createExportStarHelper ( moduleKind !== ModuleKind . AMD ? createRequireCall ( node ) : generatedName )
1073
1071
) ,
1074
1072
node ) ,
1075
1073
node
@@ -1857,24 +1855,6 @@ namespace ts {
1857
1855
}
1858
1856
}
1859
1857
1860
- // emit output for the __export helper function
1861
- const exportStarHelper : UnscopedEmitHelper = {
1862
- name : "typescript:export-star" ,
1863
- importName : "__exportStar" ,
1864
- scoped : false ,
1865
- dependencies : [ createBindingHelper ] ,
1866
- priority : 2 ,
1867
- text : `
1868
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
1869
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
1870
- };`
1871
- } ;
1872
-
1873
- function createExportStarHelper ( context : TransformationContext , module : Expression ) {
1874
- context . requestEmitHelper ( exportStarHelper ) ;
1875
- return context . factory . createCallExpression ( context . getEmitHelperFactory ( ) . getUnscopedHelperName ( "__exportStar" ) , /*typeArguments*/ undefined , [ module , context . factory . createIdentifier ( "exports" ) ] ) ;
1876
- }
1877
-
1878
1858
// emit helper for dynamic import
1879
1859
const dynamicImportUMDHelper : EmitHelper = {
1880
1860
name : "typescript:dynamicimport-sync-require" ,
0 commit comments