From 0fef046d34f91d87b764b0e73bf58075b6d77ae7 Mon Sep 17 00:00:00 2001 From: Jon Perl Date: Fri, 20 Mar 2020 12:21:55 -0600 Subject: [PATCH] support "yarn create qawolf --yarn" --- packages/create-qawolf/src/cli.ts | 11 +++++++++-- packages/create-qawolf/src/index.ts | 16 ++++++++++++---- packages/create-qawolf/src/packageJson.ts | 4 ++-- 3 files changed, 23 insertions(+), 8 deletions(-) diff --git a/packages/create-qawolf/src/cli.ts b/packages/create-qawolf/src/cli.ts index f20c0f865..bbe351081 100644 --- a/packages/create-qawolf/src/cli.ts +++ b/packages/create-qawolf/src/cli.ts @@ -15,12 +15,19 @@ export const logError = (error: Error): void => { } }; -export const logNpmInstall = (packages: Packages): void => { +export const logInstallDependencies = ( + packages: Packages, + useYarn = false, +): void => { console.log(cyan(`Installing dependencies`)); Object.keys(packages).forEach(name => { const version = packages[name]; - console.log(cyan(`npm install --save-dev ${name}@${version}`)); + console.log( + cyan( + `${useYarn ? 'yarn add' : 'npm install --save-dev'} ${name}@${version}`, + ), + ); }); }; diff --git a/packages/create-qawolf/src/index.ts b/packages/create-qawolf/src/index.ts index 75e718765..e12b6c15c 100644 --- a/packages/create-qawolf/src/index.ts +++ b/packages/create-qawolf/src/index.ts @@ -2,15 +2,22 @@ import { install as installCi } from 'playwright-ci'; import { logError, - logNpmInstall, + logInstallDependencies, logUseTypeScript, promptRootDir, } from './cli'; import { detectTypeScript, writeConfig } from './config'; -import { addDevDependencies, readPackageJson, npmInstall } from './packageJson'; +import { + addDevDependencies, + readPackageJson, + installDependencies, +} from './packageJson'; (async (): Promise => { try { + const useYarn = process.argv[process.argv.length - 1] === '--yarn'; + + // const isYarn = ''; // create a new line for yarn create console.log(); @@ -27,8 +34,9 @@ import { addDevDependencies, readPackageJson, npmInstall } from './packageJson'; await writeConfig({ rootDir, useTypeScript }); const packages = await addDevDependencies(useTypeScript); - logNpmInstall(packages); - npmInstall(); + logInstallDependencies(packages, useYarn); + + installDependencies(useYarn); } catch (error) { logError(error); process.exit(1); diff --git a/packages/create-qawolf/src/packageJson.ts b/packages/create-qawolf/src/packageJson.ts index 9ed2e3710..0d7d1f40a 100644 --- a/packages/create-qawolf/src/packageJson.ts +++ b/packages/create-qawolf/src/packageJson.ts @@ -76,6 +76,6 @@ export const addDevDependencies = async ( return packages; }; -export const npmInstall = (): void => { - execSync('npm install', { stdio: 'inherit' }); +export const installDependencies = (useYarn = false): void => { + execSync(useYarn ? 'yarn' : 'npm install', { stdio: 'inherit' }); };