12 lines
645 B
JavaScript
12 lines
645 B
JavaScript
import fs from "node:fs";
|
|
import { syncBuiltinESMExports } from "node:module";
|
|
globalThis.__opened = [];
|
|
for (const name of ["openSync", "readFileSync", "open", "readFile", "createReadStream"]) {
|
|
const orig = fs[name];
|
|
fs[name] = function (p, ...rest) { globalThis.__opened.push(typeof p === "number" ? `fd:${p}` : String(p)); return orig.call(this, p, ...rest); };
|
|
}
|
|
const po = fs.promises.open, pr = fs.promises.readFile;
|
|
fs.promises.open = (p, ...r) => { globalThis.__opened.push(String(p)); return po(p, ...r); };
|
|
fs.promises.readFile = (p, ...r) => { globalThis.__opened.push(String(p)); return pr(p, ...r); };
|
|
syncBuiltinESMExports();
|