@@ -72,9 +72,30 @@ const archiveSpecs = (runSettings, filePath, excludeFiles, md5data) => {
72
72
} ) ;
73
73
}
74
74
75
+ // Split mac and win configs
76
+ let macPackageJSON = { } ;
77
+ let winPackageJSON = { } ;
78
+ Object . assign ( macPackageJSON , packageJSON ) ;
79
+ Object . assign ( winPackageJSON , packageJSON ) ;
80
+
81
+ if ( typeof runSettings . npm_dependencies === 'object' ) {
82
+ let macNpmDependencies = Object . assign ( { } , runSettings . npm_dependencies , runSettings . mac_npm_dependencies || { } ) ;
83
+ let winNpmDependencies = Object . assign ( { } , runSettings . npm_dependencies , runSettings . win_npm_dependencies || { } ) ;
84
+
85
+ Object . assign ( macPackageJSON , {
86
+ devDependencies : macNpmDependencies ,
87
+ } ) ;
88
+
89
+ Object . assign ( winPackageJSON , {
90
+ devDependencies : winNpmDependencies ,
91
+ } ) ;
92
+ }
93
+
75
94
if ( Object . keys ( packageJSON ) . length > 0 ) {
76
- let packageJSONString = JSON . stringify ( packageJSON , null , 4 ) ;
77
- archive . append ( packageJSONString , { name : `${ cypressAppendFilesZipLocation } browserstack-package.json` } ) ;
95
+ const macPackageJSONString = JSON . stringify ( macPackageJSON , null , 4 ) ;
96
+ const winPackageJSONString = JSON . stringify ( winPackageJSON , null , 4 ) ;
97
+ archive . append ( macPackageJSONString , { name : `${ cypressAppendFilesZipLocation } browserstack-mac-package.json` } ) ;
98
+ archive . append ( winPackageJSONString , { name : `${ cypressAppendFilesZipLocation } browserstack-win-package.json` } ) ;
78
99
}
79
100
80
101
//Create copy of package.json
0 commit comments