25 lines
647 B
JavaScript
25 lines
647 B
JavaScript
#!/usr/bin/env node
|
|
|
|
import { execFileSync } from "node:child_process";
|
|
|
|
const forbiddenPattern =
|
|
/(^|\/)\.DS_Store$|\.swp$|\.env\.local$|^\.claude\/|^migration-backup|^tsconfig\.tsbuildinfo$/;
|
|
|
|
const trackedFiles = execFileSync("git", ["ls-files"], {
|
|
encoding: "utf8",
|
|
})
|
|
.split(/\r?\n/)
|
|
.filter(Boolean);
|
|
|
|
const violations = trackedFiles.filter((file) => forbiddenPattern.test(file));
|
|
|
|
if (violations.length > 0) {
|
|
console.error("Tracked local artifacts found. Remove them from git tracking:");
|
|
for (const file of violations) {
|
|
console.error(`- ${file}`);
|
|
}
|
|
process.exit(1);
|
|
}
|
|
|
|
console.log("Tracked artifact check passed.");
|