@@ -10,7 +10,7 @@ import { resolve } from 'import-meta-resolve'
1010import { runProgram , getPackageVersion } from './utils.js'
1111import {
1212 ASCII_ROBOT , PROGRAM_TITLE , UNSUPPORTED_NODE_VERSION , DEFAULT_NPM_TAG ,
13- INSTALL_COMMAND , DEV_FLAG , PMs
13+ INSTALL_COMMAND , DEV_FLAG , PMs , EXECUTER , EXECUTE_COMMAND
1414} from './constants.js'
1515import type { ProgramOpts } from './types'
1616import { execSync } from 'node:child_process'
@@ -62,9 +62,11 @@ export async function createWebdriverIO(opts: ProgramOpts) {
6262 * find package manager that was used to create project
6363 */
6464 const pm = PMs . find ( ( pm ) => (
65- // for pnpm check for "~/Library/pnpm/store/v3/..."
65+ // for pnpm check "~/Library/pnpm/store/v3/..."
66+ // for NPM check "~/.npm/npx/..."
67+ // for Yarn check "~/.yarn/bin/create-wdio"
68+ // for Bun check "~/.bun/bin/create-wdio"
6669 process . argv [ 1 ] . includes ( `${ path . sep } ${ pm } ${ path . sep } ` ) ||
67- // for NPM and Yarn check for "~/.npm/npx/..." or "~/.yarn/bin/create-wdio"
6870 process . argv [ 1 ] . includes ( `${ path . sep } .${ pm } ${ path . sep } ` )
6971 ) ) || 'npm'
7072
@@ -92,11 +94,12 @@ export async function createWebdriverIO(opts: ProgramOpts) {
9294 console . log ( chalk . green . bold ( '✔ Success!' ) )
9395 }
9496
95- return runProgram ( pm === 'npm' ? 'npx' : pm , [
96- `${ pm === 'npm' ? '' : 'run ' } ${ WDIO_COMMAND } ` ,
97+ return runProgram ( EXECUTER [ pm ] , [
98+ EXECUTE_COMMAND [ pm ] ,
99+ WDIO_COMMAND ,
97100 'config' ,
98101 ...( opts . yes ? [ '--yes' ] : [ ] )
99- ] , { cwd : root } )
102+ ] . filter ( i => ! ! i ) , { cwd : root } )
100103}
101104
102105async function isCLIInstalled ( path : string ) {
0 commit comments