rn-quickstart
Version:
š The ultimate React Native starter CLI ā Bootstrap Expo & React Native CLI projects with navigation, Redux, Axios, ESLint, and more in seconds.
36 lines (28 loc) ⢠1.37 kB
JavaScript
import inquirer from "inquirer";
import chalk from "chalk";
import fs from "fs-extra";
import path from "path";
import { fileURLToPath } from "url";
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
async function createProject() {
console.log(chalk.green.bold("\nš Welcome to RN Quickstart Generator!\n"));
const answers = await inquirer.prompt([
{ type: "input", name: "projectName", message: "Enter your project name:" },
{ type: "list", name: "navigation", message: "Choose your navigation type:", choices: ["Stack", "Bottom Tabs", "Drawer"] },
{ type: "confirm", name: "components", message: "Do you want basic components (Button, Input, Header)?", default: true },
{ type: "confirm", name: "sampleScreens", message: "Do you want sample screens (Home, Profile, Settings)?", default: true }
]);
const targetDir = path.join(process.cwd(), answers.projectName);
const templateDir = path.join(__dirname, "../templates");
try {
await fs.copy(templateDir, targetDir);
console.log(chalk.green(`\nš Creating project at: ${targetDir}`));
console.log(chalk.blue(`\nā
Project ${answers.projectName} created successfully!\n`));
} catch (err) {
console.error(chalk.red("ā Error creating project:"), err);
process.exit(1);
}
}
createProject();