// Deletes stale tsgo backup files left behind by `effect-tsgo patch`.//// The patch command backs up the real tsgo binary to `tsgo.original`, and if// that name is taken it writes `tsgo.original.1`, `.2`, ... without ever// cleaning up. On runners that restore node_modules from a build cache// (Vercel), backups accumulate across deploys until patch hard-fails at 101// with "Too many backup files exist". Removing them is safe: from the second// patch onward the backup is just the previously-patched binary, and pnpm// restores the pristine one whenever the package is re-materialized.//// Runs as part of `prepare`, so it must only use node builtins.import * as NodeFS from "node:fs";const backups = NodeFS.globSync( "node_modules/.pnpm/@typescript+native-preview-*/node_modules/@typescript/native-preview-*/lib/tsgo{,.exe}.original*",);for (const backup of backups) { NodeFS.rmSync(backup, { force: true });}if (backups.length > 0) { console.log(`Removed ${backups.length} stale tsgo backup(s)`);}
// Deletes stale tsgo backup files left behind by `effect-tsgo patch`.
//
// The patch command backs up the real tsgo binary to `tsgo.original`, and if
// that name is taken it writes `tsgo.original.1`, `.2`, ... without ever
// cleaning up. On runners that restore node_modules from a build cache
// (Vercel), backups accumulate across deploys until patch hard-fails at 101
// with "Too many backup files exist". Removing them is safe: from the second
// patch onward the backup is just the previously-patched binary, and pnpm
// restores the pristine one whenever the package is re-materialized.
//
// Runs as part of `prepare`, so it must only use node builtins.
import * as NodeFS from "node:fs";
const backups = NodeFS.globSync(
"node_modules/.pnpm/@typescript+native-preview-*/node_modules/@typescript/native-preview-*/lib/tsgo{,.exe}.original*",
);
for (const backup of backups) {
NodeFS.rmSync(backup, { force: true });
}
if (backups.length > 0) {
console.log(`Removed ${backups.length} stale tsgo backup(s)`);
}