create-wdio
Advanced tools
Comparing version 8.4.0 to 8.4.1
@@ -58,2 +58,14 @@ import { colorItBold, colorIt } from './utils.js'; | ||
}; | ||
export const EXECUTER = { | ||
npm: 'npx', | ||
pnpm: 'pnpm', | ||
yarn: 'yarn', | ||
bun: 'bunx' | ||
}; | ||
export const EXECUTE_COMMAND = { | ||
npm: '', | ||
pnpm: 'exec', | ||
yarn: 'exec', | ||
bun: '' | ||
}; | ||
export const DEV_FLAG = { | ||
@@ -60,0 +72,0 @@ npm: '--save-dev', |
@@ -9,3 +9,3 @@ import fs from 'node:fs/promises'; | ||
import { runProgram, getPackageVersion } from './utils.js'; | ||
import { ASCII_ROBOT, PROGRAM_TITLE, UNSUPPORTED_NODE_VERSION, DEFAULT_NPM_TAG, INSTALL_COMMAND, DEV_FLAG, PMs } from './constants.js'; | ||
import { ASCII_ROBOT, PROGRAM_TITLE, UNSUPPORTED_NODE_VERSION, DEFAULT_NPM_TAG, INSTALL_COMMAND, DEV_FLAG, PMs, EXECUTER, EXECUTE_COMMAND } from './constants.js'; | ||
import { execSync } from 'node:child_process'; | ||
@@ -50,5 +50,7 @@ const WDIO_COMMAND = 'wdio'; | ||
const pm = PMs.find((pm) => ( | ||
// for pnpm check for "~/Library/pnpm/store/v3/..." | ||
// for pnpm check "~/Library/pnpm/store/v3/..." | ||
// for NPM check "~/.npm/npx/..." | ||
// for Yarn check "~/.yarn/bin/create-wdio" | ||
// for Bun check "~/.bun/bin/create-wdio" | ||
process.argv[1].includes(`${path.sep}${pm}${path.sep}`) || | ||
// for NPM and Yarn check for "~/.npm/npx/..." or "~/.yarn/bin/create-wdio" | ||
process.argv[1].includes(`${path.sep}.${pm}${path.sep}`))) || 'npm'; | ||
@@ -77,7 +79,8 @@ const hasPackageJson = await fs.access(path.resolve(root, 'package.json')).then(() => true).catch(() => false); | ||
} | ||
return runProgram(pm === 'npm' ? 'npx' : pm, [ | ||
`${pm === 'npm' ? '' : 'run '}${WDIO_COMMAND}`, | ||
return runProgram(EXECUTER[pm], [ | ||
EXECUTE_COMMAND[pm], | ||
WDIO_COMMAND, | ||
'config', | ||
...(opts.yes ? ['--yes'] : []) | ||
], { cwd: root }); | ||
].filter(i => !!i), { cwd: root }); | ||
} | ||
@@ -84,0 +87,0 @@ async function isCLIInstalled(path) { |
{ | ||
"name": "create-wdio", | ||
"version": "8.4.0", | ||
"version": "8.4.1", | ||
"description": "Install and setup a WebdriverIO project with all its dependencies in a single run", | ||
@@ -5,0 +5,0 @@ "author": "Christian Bromann <mail@bromann.dev>", |
17318
307