UNPKG

everything-dev

Version:

A consolidated product package for building Module Federation apps with oRPC APIs.

60 lines (58 loc) • 2.22 kB
let effect = require("effect"); let node_fs_promises = require("node:fs/promises"); let node_child_process = require("node:child_process"); let glob = require("glob"); let node_util = require("node:util"); //#region src/services/scaffold/upgrade-audit/fs.ts const execFileAsync = (0, node_util.promisify)(node_child_process.execFile); const listFiles = (projectDir, pattern) => effect.Effect.tryPromise({ try: async () => (0, glob.glob)(pattern, { cwd: projectDir, nodir: true, dot: false, absolute: false }), catch: (error) => /* @__PURE__ */ new Error(`glob failed for ${pattern}: ${String(error)}`) }); const fileExists = (projectDir, relativePath) => effect.Effect.tryPromise({ try: async () => { try { await (0, node_fs_promises.stat)(`${projectDir}/${relativePath}`); return true; } catch { return false; } }, catch: (error) => /* @__PURE__ */ new Error(`stat failed for ${relativePath}: ${String(error)}`) }); const readText = (projectDir, relativePath) => effect.Effect.tryPromise({ try: () => (0, node_fs_promises.readFile)(`${projectDir}/${relativePath}`, "utf-8"), catch: (error) => /* @__PURE__ */ new Error(`read failed for ${relativePath}: ${String(error)}`) }); const writeText = (projectDir, relativePath, content) => effect.Effect.tryPromise({ try: async () => { const target = `${projectDir}/${relativePath}`; const dir = target.slice(0, target.lastIndexOf("/")); if (dir) await (0, node_fs_promises.mkdir)(dir, { recursive: true }); await (0, node_fs_promises.writeFile)(target, content); return relativePath; }, catch: (error) => /* @__PURE__ */ new Error(`write failed for ${relativePath}: ${String(error)}`) }); const removePath = (projectDir, relativePath) => effect.Effect.tryPromise({ try: async () => { await (0, node_fs_promises.rm)(`${projectDir}/${relativePath}`, { force: true, recursive: true }); return relativePath; }, catch: (error) => /* @__PURE__ */ new Error(`remove failed for ${relativePath}: ${String(error)}`) }); //#endregion exports.fileExists = fileExists; exports.listFiles = listFiles; exports.readText = readText; exports.removePath = removePath; exports.writeText = writeText; //# sourceMappingURL=fs.cjs.map