@@ -8,24 +8,33 @@ export class NodeModulesBuilder implements INodeModulesBuilder {
88 ) { }
99
1010 public async prepareNodeModules ( opts : INodeModulesBuilderData ) : Promise < void > {
11- const productionDependencies = this . initialPrepareNodeModules ( opts ) ;
11+ const productionDependencies = this . intialPrepareNodeModulesIfRequired ( opts ) ;
1212 const npmPluginPrepare : NpmPluginPrepare = this . $injector . resolve ( NpmPluginPrepare ) ;
1313 await npmPluginPrepare . preparePlugins ( productionDependencies , opts . nodeModulesData . platform , opts . nodeModulesData . projectData , opts . nodeModulesData . projectFilesConfig ) ;
1414 }
1515
1616 public async prepareJSNodeModules ( opts : INodeModulesBuilderData ) : Promise < void > {
17- const productionDependencies = this . initialPrepareNodeModules ( opts ) ;
17+ const productionDependencies = this . intialPrepareNodeModulesIfRequired ( opts ) ;
1818 const npmPluginPrepare : NpmPluginPrepare = this . $injector . resolve ( NpmPluginPrepare ) ;
1919 await npmPluginPrepare . prepareJSPlugins ( productionDependencies , opts . nodeModulesData . platform , opts . nodeModulesData . projectData , opts . nodeModulesData . projectFilesConfig ) ;
2020 }
2121
22+ private intialPrepareNodeModulesIfRequired ( opts : INodeModulesBuilderData ) : IDependencyData [ ] {
23+ const productionDependencies = this . $nodeModulesDependenciesBuilder . getProductionDependencies ( opts . nodeModulesData . projectData . projectDir ) ;
24+
25+ if ( opts . copyNodeModules ) {
26+ this . initialPrepareNodeModules ( opts , productionDependencies ) ;
27+ }
28+
29+ return productionDependencies ;
30+ }
31+
2232 public cleanNodeModules ( absoluteOutputPath : string ) : void {
2333 shelljs . rm ( "-rf" , absoluteOutputPath ) ;
2434 }
2535
26- private initialPrepareNodeModules ( opts : INodeModulesBuilderData ) : IDependencyData [ ] {
36+ private initialPrepareNodeModules ( opts : INodeModulesBuilderData , productionDependencies : IDependencyData [ ] ) : IDependencyData [ ] {
2737 const { nodeModulesData, release } = opts ;
28- const productionDependencies = this . $nodeModulesDependenciesBuilder . getProductionDependencies ( nodeModulesData . projectData . projectDir ) ;
2938
3039 if ( ! this . $fs . exists ( nodeModulesData . absoluteOutputPath ) ) {
3140 // Force copying if the destination doesn't exist.
@@ -36,7 +45,7 @@ export class NodeModulesBuilder implements INodeModulesBuilder {
3645 const tnsModulesCopy : TnsModulesCopy = this . $injector . resolve ( TnsModulesCopy , {
3746 outputRoot : nodeModulesData . absoluteOutputPath
3847 } ) ;
39- tnsModulesCopy . copyModules ( { dependencies : productionDependencies , release} ) ;
48+ tnsModulesCopy . copyModules ( { dependencies : productionDependencies , release } ) ;
4049 } else {
4150 this . cleanNodeModules ( nodeModulesData . absoluteOutputPath ) ;
4251 }
0 commit comments