From da36e7e19b70788fed0e8e3066e4fc147cdf70b7 Mon Sep 17 00:00:00 2001 From: Christian Bromann Date: Wed, 24 Jan 2024 17:47:37 -0800 Subject: [PATCH 1/2] (@wdio/cli): use proper package manager when asking if to install --- packages/wdio-cli/src/constants.ts | 4 +++- packages/wdio-cli/src/install.ts | 3 ++- packages/wdio-cli/src/types.ts | 4 +++- packages/wdio-cli/src/utils.ts | 3 +-- 4 files changed, 9 insertions(+), 5 deletions(-) diff --git a/packages/wdio-cli/src/constants.ts b/packages/wdio-cli/src/constants.ts index f25eff6266c..040a446db94 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 */ From 0bcd39abf07b8ecffbc173eda6a4ad62570ca41b Mon Sep 17 00:00:00 2001 From: Christian Bromann Date: Wed, 24 Jan 2024 18:23:38 -0800 Subject: [PATCH 2/2] make it a function --- packages/wdio-cli/src/constants.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/wdio-cli/src/constants.ts b/packages/wdio-cli/src/constants.ts index 040a446db94..8561616266d 100644 --- a/packages/wdio-cli/src/constants.ts +++ b/packages/wdio-cli/src/constants.ts @@ -669,7 +669,7 @@ export const QUESTIONNAIRE = [{ }, { type: 'confirm', name: 'npmInstall', - message: `Do you want me to run \`${detectPackageManager()} install\``, + message: () => `Do you want me to run \`${detectPackageManager()} install\``, default: true }]