UNPKG

@25sprout/react-starter

Version:

25sprout web starter with React

42 lines (30 loc) 1.15 kB
import path from 'path'; import { fileURLToPath } from 'url'; import fs from 'fs/promises'; import fsExtra from 'fs-extra'; import processPkg from './preprocess/package.js'; import processReadme from './preprocess/readme.js'; import processGitignore from './preprocess/gitignore.js'; const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); const templateFolder = path.join(__dirname, '../template'); const tsTemplateFolder = path.join(__dirname, '../template-ts'); async function exec(options) { const projectName = options.name || 'react-starter'; const projectPath = path.join(process.cwd(), projectName); const projectTemplate = options.typescript ? tsTemplateFolder : templateFolder; try { await fs.mkdir(projectPath, { recursive: true }); console.log(`${projectName} is created`); await fsExtra.copy(projectTemplate, projectPath); await Promise.all([ processPkg(projectPath, options), processReadme(projectPath, options), processGitignore(projectPath, options), ]); console.log('Creat project done'); } catch (error) { console.log(error); } } export default exec;