@dankupfer/create-dn-starter
Version:
Interactive CLI for creating modular React Native apps with Expo
32 lines (31 loc) • 1.21 kB
JavaScript
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);
});