From 105dda07d62245a4d25824d4eca2957bf04f2015 Mon Sep 17 00:00:00 2001 From: neverland Date: Tue, 9 Nov 2021 10:25:48 +0800 Subject: [PATCH] feat(@vant/cli): support pnpm install (#9824) --- packages/vant-cli/src/common/manager.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/vant-cli/src/common/manager.ts b/packages/vant-cli/src/common/manager.ts index da64f2d1b..ceae224e2 100644 --- a/packages/vant-cli/src/common/manager.ts +++ b/packages/vant-cli/src/common/manager.ts @@ -1,6 +1,9 @@ +import fs from 'fs-extra'; import execa from 'execa'; +import { join } from 'path'; import { consola } from './logger.js'; import { execSync } from 'child_process'; +import { ROOT } from './constant.js'; let hasYarnCache: boolean; @@ -17,11 +20,16 @@ export function hasYarn() { return hasYarnCache; } +function isUsingPnpm() { + const pnpmLock = join(ROOT, 'pnpm-lock.yaml'); + return fs.existsSync(pnpmLock); +} + export async function installDependencies() { consola.info('Install Dependencies\n'); try { - const manager = hasYarn() ? 'yarn' : 'npm'; + const manager = isUsingPnpm() ? 'pnpm' : hasYarn() ? 'yarn' : 'npm'; await execa(manager, ['install', '--prod=false'], { stdio: 'inherit',