( root, appName, originalDirectory, verbose, useYarn, addons, dependencies, devDependencies, alias, installDependencies )
| 95 | } |
| 96 | |
| 97 | async function run( |
| 98 | root, |
| 99 | appName, |
| 100 | originalDirectory, |
| 101 | verbose, |
| 102 | useYarn, |
| 103 | addons, |
| 104 | dependencies, |
| 105 | devDependencies, |
| 106 | alias, |
| 107 | installDependencies |
| 108 | ) { |
| 109 | if (useYarn) { |
| 110 | isOnline = await checkIfOnline(useYarn); |
| 111 | } else { |
| 112 | isOnline = true; |
| 113 | } |
| 114 | |
| 115 | const command = useYarn ? 'yarn' : 'npm run'; |
| 116 | |
| 117 | if (installDependencies) { |
| 118 | console.log(chalk.green('Installing packages. This might take a couple of minutes.')); |
| 119 | console.log(chalk.green('Installing dependencies...')); |
| 120 | console.log(); |
| 121 | // Install dependencies |
| 122 | await install(root, useYarn, dependencies, verbose, isOnline, false); |
| 123 | |
| 124 | if (devDependencies.length > 0) { |
| 125 | console.log(); |
| 126 | console.log(chalk.green('Installing devDependencies...')); |
| 127 | console.log(); |
| 128 | //Install devDependencies |
| 129 | await install(root, useYarn, devDependencies, verbose, isOnline, true); |
| 130 | } |
| 131 | } else { |
| 132 | console.log(chalk.yellow('Skip package installation.')); |
| 133 | console.log(chalk.yellow('Run npm install/yarn in your project.')); |
| 134 | let packageJson = JSON.parse(fs.readFileSync(`${root}/package.json`, 'utf8')); |
| 135 | packageJson.dependencies = dependencies.reduce((dep, elem) => { |
| 136 | if (/.+@[0-9a-zA-Z-.]+$/.test(elem)) { |
| 137 | let [name, version] = elem.split('@'); |
| 138 | dep[name] = `^${version}`; |
| 139 | } else { |
| 140 | dep[elem] = '*'; |
| 141 | } |
| 142 | return dep; |
| 143 | }, {}); |
| 144 | packageJson.devDependencies = devDependencies.reduce((dep, elem) => { |
| 145 | dep[elem] = '*'; |
| 146 | return dep; |
| 147 | }, {}); |
| 148 | |
| 149 | fs.writeFileSync( |
| 150 | path.join(root, 'package.json'), |
| 151 | JSON.stringify(packageJson, null, 2) + os.EOL |
| 152 | ); |
| 153 | } |
| 154 |
no test coverage detected