UNPKG

@dankupfer/create-dn-starter

Version:

Interactive CLI for creating modular React Native apps with Expo

32 lines (31 loc) 1.21 kB
import fs from 'fs-extra'; import path from 'path'; import { fileURLToPath } from 'url'; import chalk from 'chalk'; async function copyTemplate() { const currentFilePath = fileURLToPath(import.meta.url); const cliSrcDir = path.dirname(currentFilePath); const cliDir = path.resolve(cliSrcDir, '..'); // Source template is in the parent directory const sourceTemplate = path.resolve(cliDir, '..', 'template'); const targetTemplate = path.join(cliDir, 'template'); console.log(chalk.blue(`Copying template from ${sourceTemplate} to ${targetTemplate}`)); if (!fs.existsSync(sourceTemplate)) { throw new Error(`Source template not found at ${sourceTemplate}`); } // Clean and copy if (fs.existsSync(targetTemplate)) { fs.removeSync(targetTemplate); } await fs.copy(sourceTemplate, targetTemplate, { filter: (src) => { // Skip node_modules and .expo return !src.includes('node_modules') && !src.includes('.expo'); } }); console.log(chalk.green('Template copied successfully')); } copyTemplate().catch(error => { console.error(chalk.red('Failed to copy template:'), error); process.exit(1); });