zenith-gen
Version:
A CLI tool designed to streamline the creation of projects within the Zenith Inova ecosystem, providing optimized configurations and modern development tools.
36 lines (30 loc) • 1.13 kB
text/typescript
import chalk from 'chalk';
import { execSync } from 'child_process';
import { PackageManager } from '../types/packageManager';
export function installDependencies(packageManager: PackageManager): void {
const installCmdProd = {
pnpm: 'pnpm add',
npm: 'npm install',
}[packageManager];
console.log(chalk.blue('Installing production dependencies...'));
execSync(`${installCmdProd} motion zod react-hook-form react-icons`, {
stdio: 'inherit',
});
}
export function installDevDependencies(
packageManager: PackageManager,
useEslint: boolean,
useChromatic: boolean,
useStorybook: boolean,
usePrettier: boolean,
): void {
const installCmd = {
pnpm: 'pnpm add -D',
npm: 'npm install --save-dev',
}[packageManager];
console.log(chalk.blue('Installing dev dependencies...'));
execSync(
`${installCmd} ${useEslint && '@eslint/js'} ${useChromatic && 'chromatic'} ${useStorybook && '@storybook/theming'} ${usePrettier && 'prettier prettier-plugin-tailwindcss'}`,
{ stdio: 'inherit' },
);
}