diff --git a/packages/wdio-cli/src/constants.ts b/packages/wdio-cli/src/constants.ts index f25eff6266c..8561616266d 100644 --- a/packages/wdio-cli/src/constants.ts +++ b/packages/wdio-cli/src/constants.ts @@ -9,6 +9,7 @@ import { getDefaultFiles, convertPackageHashToObject, getProjectRoot, + detectPackageManager, } from './utils.js' import type { Questionnair } from './types.js' @@ -23,6 +24,7 @@ export const CONFIG_HELPER_INTRO = ` =============================== ` +export const PMs = ['npm', 'yarn', 'pnpm', 'bun'] as const export const SUPPORTED_CONFIG_FILE_EXTENSION = ['js', 'ts', 'mjs', 'mts', 'cjs', 'cts'] export const configHelperSuccessMessage = ({ projectRootDir, runScript, extraInfo = '' }: { projectRootDir: string, runScript: string, extraInfo: string }) => ` 🤖 Successfully setup project at ${ projectRootDir } 🎉 @@ -667,7 +669,7 @@ export const QUESTIONNAIRE = [{ }, { type: 'confirm', name: 'npmInstall', - message: 'Do you want me to run `npm install`', + message: () => `Do you want me to run \`${detectPackageManager()} install\``, default: true }] diff --git a/packages/wdio-cli/src/install.ts b/packages/wdio-cli/src/install.ts index 14b78372b20..b44436f4939 100644 --- a/packages/wdio-cli/src/install.ts +++ b/packages/wdio-cli/src/install.ts @@ -1,5 +1,6 @@ import { execa } from 'execa' -import { detectPackageManager, type PM } from './utils.js' +import { detectPackageManager } from './utils.js' +import type { PM } from './types.js' const installCommand: Record = { npm: 'install', diff --git a/packages/wdio-cli/src/types.ts b/packages/wdio-cli/src/types.ts index d6c4410a7ad..97de75314c3 100644 --- a/packages/wdio-cli/src/types.ts +++ b/packages/wdio-cli/src/types.ts @@ -1,6 +1,8 @@ import type { Options, Reporters } from '@wdio/types' import type { NormalizedPackageJson } from 'read-pkg-up' -import type { BackendChoice, RegionOptions, CompilerOptions, ElectronBuildToolChoice } from './constants.js' +import type { BackendChoice, RegionOptions, CompilerOptions, ElectronBuildToolChoice, PMs } from './constants.js' + +export type PM = typeof PMs[number] export interface Questionnair { runner: string diff --git a/packages/wdio-cli/src/utils.ts b/packages/wdio-cli/src/utils.ts index 00eccbfb0a5..e57ef1c8696 100644 --- a/packages/wdio-cli/src/utils.ts +++ b/packages/wdio-cli/src/utils.ts @@ -30,6 +30,7 @@ import { TESTING_LIBRARY_PACKAGES, COMMUNITY_PACKAGES_WITH_TS_SUPPORT, usesSerenity, + PMs, } from './constants.js' import type { OnCompleteResult, @@ -815,8 +816,6 @@ export async function npmInstall(parsedAnswers: ParsedAnswers, npmTag: string) { } } -export const PMs = ['npm', 'yarn', 'pnpm', 'bun'] as const -export type PM = typeof PMs[number] /** * detect the package manager that was used */