@@ -72,9 +72,30 @@ const archiveSpecs = (runSettings, filePath, excludeFiles, md5data) => {
7272 } ) ;
7373 }
7474
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+
7594 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` } ) ;
7899 }
79100
80101 //Create copy of package.json
0 commit comments