everything-dev
Version:
A consolidated product package for building Module Federation apps with oRPC APIs.
60 lines (58 loc) • 2.22 kB
JavaScript
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