UNPKG

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
#!/usr/bin/env node 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();