mirror of
https://github.com/vercel-labs/scriptc.git
synced 2026-10-21 05:50:55 +08:00
27 lines
922 B
TypeScript
27 lines
922 B
TypeScript
// node:fs across modules: the entry file AND a helper module both import
|
|
// from "node:fs" (plus a relative import between them); the helper wraps
|
|
// the library behind ordinary exported functions.
|
|
import { existsSync, readFileSync } from "node:fs";
|
|
import { cleanup, countLines, saveLine, scratchDir } from "./store.ts";
|
|
|
|
const dir = scratchDir("tmp-997-");
|
|
console.log(existsSync(dir));
|
|
|
|
saveLine(dir, "log.txt", "alpha");
|
|
saveLine(dir, "log.txt", "beta");
|
|
saveLine(dir, "log.txt", "gamma");
|
|
console.log(countLines(dir, "log.txt"));
|
|
|
|
const raw = readFileSync(dir + "/log.txt", "utf8");
|
|
console.log(raw.startsWith("alpha"), raw.includes("beta"), raw.endsWith("gamma\n"));
|
|
|
|
// A helper's fs error propagates across the module boundary to this catch.
|
|
try {
|
|
console.log("unreachable", countLines(dir, "absent.txt"));
|
|
} catch {
|
|
console.log("caught cross-module fs error");
|
|
}
|
|
|
|
cleanup(dir);
|
|
console.log(existsSync(dir));
|