create-octoflare
Version:
🌤️ A CLI for creating new Octoflare projects
22 lines (21 loc) • 902 B
JavaScript
import { mkdir } from 'node:fs/promises';
import path from 'node:path';
import { listup } from './utils/listup.js';
import { replaceCopy } from './utils/replaceCopy.js';
import { templateDir } from './utils/templateDir.js';
export const staticTemplates = async (params) => {
const { slug, typescript } = params;
const staticDir = path.join(templateDir, 'static');
const [allDirs, allFiles] = await Promise.all([
listup('dir', staticDir),
listup('file', staticDir)
]);
await Promise.all(allDirs.map((dir) => mkdir(path.join(slug, dir), { recursive: true })));
const results = allFiles.map(async (file) => {
const src = path.join(staticDir, file);
const target = path.join(slug, file);
const dist = typescript ? target.replace('.js', '.ts') : target;
await replaceCopy(src, dist, params);
});
await Promise.all(results);
};