@@ -30,41 +30,43 @@ export class DestCopy implements IBroccoliPlugin {
30
30
31
31
public rebuildChangedDirectories ( changedDirectories : string [ ] , platform : string ) : void {
32
32
_ . each ( changedDirectories , changedDirectoryAbsolutePath => {
33
- let pathToPackageJson = path . join ( changedDirectoryAbsolutePath , "package.json" ) ;
34
- let packageJsonFiles = fs . existsSync ( pathToPackageJson ) ? [ pathToPackageJson ] : [ ] ;
35
- let nodeModulesFolderPath = path . join ( changedDirectoryAbsolutePath , "node_modules" ) ;
36
- packageJsonFiles = packageJsonFiles . concat ( this . enumeratePackageJsonFilesSync ( nodeModulesFolderPath ) ) ;
37
-
38
- _ . each ( packageJsonFiles , packageJsonFilePath => {
39
- let fileContent = require ( packageJsonFilePath ) ;
40
- let isPlugin = fileContent . nativescript ;
41
-
42
- if ( ! this . devDependencies [ fileContent . name ] ) { // Don't flatten dev dependencies
43
-
44
- let currentDependency = {
45
- name : fileContent . name ,
46
- version : fileContent . version ,
47
- directory : path . dirname ( packageJsonFilePath ) ,
48
- isPlugin : isPlugin
49
- } ;
33
+ if ( ! this . devDependencies [ path . basename ( changedDirectoryAbsolutePath ) ] ) {
34
+ let pathToPackageJson = path . join ( changedDirectoryAbsolutePath , constants . PACKAGE_JSON_FILE_NAME ) ;
35
+ let packageJsonFiles = fs . existsSync ( pathToPackageJson ) ? [ pathToPackageJson ] : [ ] ;
36
+ let nodeModulesFolderPath = path . join ( changedDirectoryAbsolutePath , constants . NODE_MODULES_FOLDER_NAME ) ;
37
+ packageJsonFiles = packageJsonFiles . concat ( this . enumeratePackageJsonFilesSync ( nodeModulesFolderPath ) ) ;
50
38
51
- let addedDependency = this . dependencies [ currentDependency . name ] ;
52
- if ( addedDependency ) {
53
- if ( semver . gt ( currentDependency . version , addedDependency . version ) ) {
54
- let currentDependencyMajorVersion = semver . major ( currentDependency . version ) ;
55
- let addedDependencyMajorVersion = semver . major ( addedDependency . version ) ;
56
-
57
- let message = `The depedency located at ${ addedDependency . directory } with version ${ addedDependency . version } will be replaced with dependency located at ${ currentDependency . directory } with version ${ currentDependency . version } ` ;
58
- let logger = $injector . resolve ( "$logger" ) ;
59
- currentDependencyMajorVersion === addedDependencyMajorVersion ? logger . out ( message ) : logger . warn ( message ) ;
39
+ _ . each ( packageJsonFiles , packageJsonFilePath => {
40
+ let fileContent = require ( packageJsonFilePath ) ;
60
41
42
+ if ( ! this . devDependencies [ fileContent . name ] ) { // Don't flatten dev dependencies
43
+ let isPlugin = fileContent . nativescript ;
44
+
45
+ let currentDependency = {
46
+ name : fileContent . name ,
47
+ version : fileContent . version ,
48
+ directory : path . dirname ( packageJsonFilePath ) ,
49
+ isPlugin : isPlugin
50
+ } ;
51
+
52
+ let addedDependency = this . dependencies [ currentDependency . name ] ;
53
+ if ( addedDependency ) {
54
+ if ( semver . gt ( currentDependency . version , addedDependency . version ) ) {
55
+ let currentDependencyMajorVersion = semver . major ( currentDependency . version ) ;
56
+ let addedDependencyMajorVersion = semver . major ( addedDependency . version ) ;
57
+
58
+ let message = `The depedency located at ${ addedDependency . directory } with version ${ addedDependency . version } will be replaced with dependency located at ${ currentDependency . directory } with version ${ currentDependency . version } ` ;
59
+ let logger = $injector . resolve ( "$logger" ) ;
60
+ currentDependencyMajorVersion === addedDependencyMajorVersion ? logger . out ( message ) : logger . warn ( message ) ;
61
+
62
+ this . dependencies [ currentDependency . name ] = currentDependency ;
63
+ }
64
+ } else {
61
65
this . dependencies [ currentDependency . name ] = currentDependency ;
62
66
}
63
- } else {
64
- this . dependencies [ currentDependency . name ] = currentDependency ;
65
67
}
66
- }
67
- } ) ;
68
+ } ) ;
69
+ }
68
70
} ) ;
69
71
70
72
_ . each ( this . dependencies , dependency => {
@@ -98,12 +100,12 @@ export class DestCopy implements IBroccoliPlugin {
98
100
if ( fs . existsSync ( nodeModulesDirectoryPath ) ) {
99
101
let contents = fs . readdirSync ( nodeModulesDirectoryPath ) ;
100
102
for ( let i = 0 ; i < contents . length ; ++ i ) {
101
- let packageJsonFilePath = path . join ( nodeModulesDirectoryPath , contents [ i ] , "package.json" ) ;
103
+ let packageJsonFilePath = path . join ( nodeModulesDirectoryPath , contents [ i ] , constants . PACKAGE_JSON_FILE_NAME ) ;
102
104
if ( fs . existsSync ( packageJsonFilePath ) ) {
103
105
foundFiles . push ( packageJsonFilePath ) ;
104
106
}
105
107
106
- var directoryPath = path . join ( nodeModulesDirectoryPath , contents [ i ] , "node_modules" ) ;
108
+ var directoryPath = path . join ( nodeModulesDirectoryPath , contents [ i ] , constants . NODE_MODULES_FOLDER_NAME ) ;
107
109
if ( fs . existsSync ( directoryPath ) ) {
108
110
this . enumeratePackageJsonFilesSync ( directoryPath , foundFiles ) ;
109
111
}
0 commit comments