import { $ } from 'zx' import { catchError, onProcSuccess } from '../helpers/proc' import type { PlopTypes } from '@turbo/gen' import type { Answers } from '../answers' export type PnpmInstallData = Answers & { destination: string } export function pnpmInstall(data: PnpmInstallData, _config: any, _plop: PlopTypes.NodePlopAPI) { return new Promise((resolve, reject) => { console.log('🌀 running pnpm install') $({ cwd: data.turbo.paths.root, nothrow: true, })`pnpm install --child-concurrency=10 -F ./${data.destination}` .then(onProcSuccess('pnpm install', resolve, reject)) .catch(catchError(reject)) }) }