refactor: simplify package manager flags

This commit is contained in:
Aman Varshney
2025-02-14 12:50:45 +05:30
parent a2b2971582
commit aa3eaadd13
3 changed files with 21 additions and 6 deletions

View File

@@ -0,0 +1,5 @@
---
"create-better-t-stack": minor
---
refactor: simplify package manager flags

View File

@@ -248,11 +248,12 @@ async function main() {
.option("--docker", "Include Docker setup") .option("--docker", "Include Docker setup")
.option("--github-actions", "Include GitHub Actions") .option("--github-actions", "Include GitHub Actions")
.option("--seo", "Include SEO setup") .option("--seo", "Include SEO setup")
.option("--git", "Include git setup")
.option("--no-git", "Skip git initialization") .option("--no-git", "Skip git initialization")
.option( .option("--npm", "Use npm package manager")
"--package-manager <type>", .option("--pnpm", "Use pnpm package manager")
"Package manager to use (npm, yarn, pnpm, or bun)", .option("--yarn", "Use yarn package manager")
) .option("--bun", "Use bun package manager")
.parse(); .parse();
const options = program.opts(); const options = program.opts();
@@ -262,7 +263,15 @@ async function main() {
projectName: projectDirectory || undefined, projectName: projectDirectory || undefined,
database: options.database as ProjectDatabase | undefined, database: options.database as ProjectDatabase | undefined,
auth: "auth" in options ? options.auth : undefined, auth: "auth" in options ? options.auth : undefined,
packageManager: options.packageManager as PackageManager | undefined, packageManager: options.npm
? "npm"
: options.pnpm
? "pnpm"
: options.yarn
? "yarn"
: options.bun
? "bun"
: undefined,
git: "git" in options ? options.git : undefined, git: "git" in options ? options.git : undefined,
features: features:
options.docker || options.githubActions || options.seo options.docker || options.githubActions || options.seo

View File

@@ -27,11 +27,12 @@ export function generateReproducibleCommand(config: ProjectConfig): string {
flags.push(chalk.red("--no-git")); flags.push(chalk.red("--no-git"));
} }
// Updated package manager flag handling
if ( if (
config.packageManager && config.packageManager &&
config.packageManager !== DEFAULT_CONFIG.packageManager config.packageManager !== DEFAULT_CONFIG.packageManager
) { ) {
flags.push(chalk.magenta(`--package-manager ${config.packageManager}`)); flags.push(chalk.magenta(`--${config.packageManager}`));
} }
for (const feature of config.features) { for (const feature of config.features) {