colorize the prompts

This commit is contained in:
Aman Varshney
2025-02-13 16:50:48 +05:30
parent cf4ecff39a
commit 0bd0c8e59f
6 changed files with 160 additions and 56 deletions

View File

@@ -1,3 +1,4 @@
import chalk from "chalk";
import { DEFAULT_CONFIG } from "../consts";
import type { ProjectConfig } from "../types";
import { getUserPkgManager } from "./get-package-manager";
@@ -7,23 +8,29 @@ export function generateReproducibleCommand(config: ProjectConfig): string {
const defaultPackageManager = getUserPkgManager();
if (config.database !== DEFAULT_CONFIG.database) {
flags.push(`--database ${config.database}`);
flags.push(chalk.cyan(`--database ${config.database}`));
}
if (config.auth !== DEFAULT_CONFIG.auth) {
flags.push("--no-auth");
flags.push(chalk.yellow("--no-auth"));
}
if (
config.packageManager &&
config.packageManager !== defaultPackageManager
) {
flags.push(`--package-manager ${config.packageManager}`);
flags.push(chalk.magenta(`--package-manager ${config.packageManager}`));
}
for (const feature of config.features) {
flags.push(`--${feature}`);
flags.push(chalk.green(`--${feature}`));
}
return `npx create-better-t-stack${
config.projectName ? ` ${config.projectName}` : ""
}${flags.length > 0 ? ` ${flags.join(" ")}` : ""}`;
const baseCommand = chalk.bold("npx create-better-t-stack");
const projectName = config.projectName
? chalk.blue(` ${config.projectName}`)
: "";
const flagString = flags.length > 0 ? ` ${flags.join(" ")}` : "";
return `${baseCommand}${projectName}${flagString}`;
}