validstart
Version:
ValidStart is a powerful and intuitive command-line interface (CLI) tool meticulously crafted to streamline the project setup process.
26 lines (20 loc) • 903 B
text/typescript
import fs from "fs-extra";
import path from "path";
import chalk from "chalk";;
import { execa } from "execa";;
export async function scaffoldCLIToolTS({ projectName }: any): Promise<void> {
const projectPath = path.resolve(process.cwd(), projectName);
await fs.mkdirp(projectPath);
await execa("npm", ["init", "-y"], { cwd: projectPath });
await execa("npm", ["install", "oclif", "typescript", "ts-node", "@oclif/core"], {
cwd: projectPath,
stdio: "inherit",
});
const srcDir = path.join(projectPath, "src");
await fs.mkdirp(srcDir);
await fs.writeFile(
path.join(srcDir, "index.ts"),
`import { Command, Flags } from '@oclif/core';\n\nclass Hello extends Command {\n async run() {\n this.log("Hello CLI in TS!");\n }\n}\n\nexport = Hello;`,
);
console.log(chalk.green(`✅ TypeScript CLI project '${projectName}' scaffolded.`));
}