@@ -8,24 +8,33 @@ export class NodeModulesBuilder implements INodeModulesBuilder {
8
8
) { }
9
9
10
10
public async prepareNodeModules ( opts : INodeModulesBuilderData ) : Promise < void > {
11
- const productionDependencies = this . initialPrepareNodeModules ( opts ) ;
11
+ const productionDependencies = this . intialPrepareNodeModulesIfRequired ( opts ) ;
12
12
const npmPluginPrepare : NpmPluginPrepare = this . $injector . resolve ( NpmPluginPrepare ) ;
13
13
await npmPluginPrepare . preparePlugins ( productionDependencies , opts . nodeModulesData . platform , opts . nodeModulesData . projectData , opts . nodeModulesData . projectFilesConfig ) ;
14
14
}
15
15
16
16
public async prepareJSNodeModules ( opts : INodeModulesBuilderData ) : Promise < void > {
17
- const productionDependencies = this . initialPrepareNodeModules ( opts ) ;
17
+ const productionDependencies = this . intialPrepareNodeModulesIfRequired ( opts ) ;
18
18
const npmPluginPrepare : NpmPluginPrepare = this . $injector . resolve ( NpmPluginPrepare ) ;
19
19
await npmPluginPrepare . prepareJSPlugins ( productionDependencies , opts . nodeModulesData . platform , opts . nodeModulesData . projectData , opts . nodeModulesData . projectFilesConfig ) ;
20
20
}
21
21
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
+
22
32
public cleanNodeModules ( absoluteOutputPath : string ) : void {
23
33
shelljs . rm ( "-rf" , absoluteOutputPath ) ;
24
34
}
25
35
26
- private initialPrepareNodeModules ( opts : INodeModulesBuilderData ) : IDependencyData [ ] {
36
+ private initialPrepareNodeModules ( opts : INodeModulesBuilderData , productionDependencies : IDependencyData [ ] ) : IDependencyData [ ] {
27
37
const { nodeModulesData, release } = opts ;
28
- const productionDependencies = this . $nodeModulesDependenciesBuilder . getProductionDependencies ( nodeModulesData . projectData . projectDir ) ;
29
38
30
39
if ( ! this . $fs . exists ( nodeModulesData . absoluteOutputPath ) ) {
31
40
// Force copying if the destination doesn't exist.
@@ -36,7 +45,7 @@ export class NodeModulesBuilder implements INodeModulesBuilder {
36
45
const tnsModulesCopy : TnsModulesCopy = this . $injector . resolve ( TnsModulesCopy , {
37
46
outputRoot : nodeModulesData . absoluteOutputPath
38
47
} ) ;
39
- tnsModulesCopy . copyModules ( { dependencies : productionDependencies , release} ) ;
48
+ tnsModulesCopy . copyModules ( { dependencies : productionDependencies , release } ) ;
40
49
} else {
41
50
this . cleanNodeModules ( nodeModulesData . absoluteOutputPath ) ;
42
51
}
0 commit comments