UNPKG

@daks.dev/svelte.sdk

Version:
45 lines (44 loc) 1.64 kB
import { promises as fs, constants } from 'node:fs'; import { fileURLToPath } from 'node:url'; import { dirname, resolve } from 'node:path'; export const error = (e) => console.error(e); export const __dirname = (url) => dirname(fileURLToPath(url)); export function rootpath(...args) { return resolve(process.cwd(), ...args); } export async function readSubdirs(src) { return await fs .stat(src) .then(async () => await fs .readdir(src, { withFileTypes: true }) .then((val) => val.filter((val) => val.isDirectory()).map((val) => val.name)) .catch(error)) .catch(error); } export async function makeDir(src) { return fs.stat(src).catch(async () => await fs.mkdir(src, { recursive: true }).catch(error)); } export async function readFile(src, flag = 'r') { return await fs .stat(src) .then(async () => await fs.readFile(src, { flag, encoding: 'utf-8' }).catch(error)) .catch(error); } export async function writeFile(file, data, flag = 'w') { return await fs.writeFile(file, data, { flag, encoding: 'utf-8' }).catch(error); } export async function copyFile(src, dest) { return await fs .stat(src) .then(async () => await fs.copyFile(src, dest).catch(error)) .catch(error); } export async function access(src, callback) { return await fs.access(src, constants.F_OK).catch(callback); } export async function remove(src) { return await fs .stat(src) .then(async (stats) => await (stats.isFile() ? fs.unlink(src) : fs.rm(src, { recursive: true, force: true })).catch(error)) .catch(error); }