@@ -8,14 +8,33 @@ const devDependencies = require('./devDependencies.json');
8
8
9
9
const deleteFile = ( fileName ) => fs . unlinkSync ( path . join ( process . cwd ( ) , fileName ) ) ;
10
10
const writeFile = ( fileName , data ) => fs . writeFileSync ( path . join ( process . cwd ( ) , fileName ) , data ) ;
11
+ const isYarnAvailable = ( ) => {
12
+ try {
13
+ execSync ( 'yarnpkg --version' , { stdio : 'ignore' } ) ;
14
+ return true ;
15
+ } catch ( e ) {
16
+ return false ;
17
+ }
18
+ }
19
+ const currPackager = isYarnAvailable ? "yarn" : "npm" ;
20
+ const logInstallingWith = pkg => console . log ( `\n📦 Installing dependencies with ${ pkg } ...\n` ) ;
21
+ const execOptions = {
22
+ stdio : 'inherit'
23
+ }
11
24
12
- console . log ( '🔄 Please wait...' ) ;
25
+ console . log ( '\n 🔄 Please wait...\n ' ) ;
13
26
14
27
packageJson . scripts . start = `${ packageJson . scripts . start } --config ../../../../rn-cli.config.js` ;
15
28
packageJson . jest = Object . assign ( packageJson . jest , jestJson ) ;
16
29
writeFile ( 'package.json' , JSON . stringify ( packageJson , null , 2 ) ) ;
17
30
18
- execSync ( `npm i ${ devDependencies . join ( ' ' ) } --save-dev --save-exact` ) ;
31
+ logInstallingWith ( currPackager ) ;
32
+
33
+ if ( isYarnAvailable ) {
34
+ execSync ( `yarn add ${ devDependencies . join ( ' ' ) } --dev --exact` , execOptions ) ;
35
+ } else {
36
+ execSync ( `npm i ${ devDependencies . join ( ' ' ) } --save-dev --save-exact` , execOptions ) ;
37
+ }
19
38
20
39
deleteFile ( 'App.js' ) ;
21
40
deleteFile ( '__tests__/App.js' ) ;
@@ -26,4 +45,4 @@ deleteFile('README.md');
26
45
deleteFile ( 'LICENSE' ) ;
27
46
deleteFile ( 'setup.js' ) ;
28
47
29
- console . log ( ' ✅ Setup completed! You can now start with: npm start' ) ;
48
+ console . log ( `\n ✅ Setup completed! You can now start with: ${ currPackager } start\n` ) ;
0 commit comments