UNPKG

create-suid

Version:

CLI tool for creating a SUID project easily.

37 lines (36 loc) 977 B
import { mkdir, readdir, stat, writeFile } from "fs/promises"; import { dirname, join } from "path"; export async function safeStat(path) { try { return await stat(path); // eslint-disable-next-line @typescript-eslint/no-unused-vars } catch (error) { return; } } export async function isEmptyDir(path, exclude) { const info = await safeStat(path); if (!info) return true; if (info.isFile()) return false; const files = await readdir(path); for (const file of files) { if (exclude && exclude.includes(file)) { continue; } else { return false; } } return true; } export async function createFiles(files, baseDir = process.cwd()) { for (const name in files) { const path = join(baseDir, name); const dir = dirname(path); await mkdir(dir, { recursive: true }); await writeFile(path, files[name]); } }