codex-plugin-cc/plugins/codex/scripts/lib/fs.mjs
Dominik Kundel c69527eb18
Initial commit
Co-authored-by: Codex <noreply@openai.com>
2026-03-30 09:42:33 -07:00

41 lines
1021 B
JavaScript

import fs from "node:fs";
import os from "node:os";
import path from "node:path";
export function ensureAbsolutePath(cwd, maybePath) {
return path.isAbsolute(maybePath) ? maybePath : path.resolve(cwd, maybePath);
}
export function createTempDir(prefix = "codex-plugin-") {
return fs.mkdtempSync(path.join(os.tmpdir(), prefix));
}
export function readJsonFile(filePath) {
return JSON.parse(fs.readFileSync(filePath, "utf8"));
}
export function writeJsonFile(filePath, value) {
fs.writeFileSync(filePath, `${JSON.stringify(value, null, 2)}\n`, "utf8");
}
export function safeReadFile(filePath) {
return fs.existsSync(filePath) ? fs.readFileSync(filePath, "utf8") : "";
}
export function isProbablyText(buffer) {
const sample = buffer.subarray(0, Math.min(buffer.length, 4096));
for (const value of sample) {
if (value === 0) {
return false;
}
}
return true;
}
export function readStdinIfPiped() {
if (process.stdin.isTTY) {
return "";
}
return fs.readFileSync(0, "utf8");
}