validate-reusable-boundary.js 730 B

123456789101112131415
  1. 'use strict';
  2. const fs = require('fs');
  3. const path = require('path');
  4. const { execFileSync } = require('child_process');
  5. const root = path.resolve(__dirname, '..');
  6. const forbiddenPath = /(^|[\\/])(outputs?|messages|sessions?|logs?|knowledge-base[\\/]property-data)([\\/]|$)|(^|[\\/])(?:\.env\.local|.*\.db(?:-(?:shm|wal))?|.*\.log)$/i;
  7. const tracked = execFileSync('git', ['ls-files'], { cwd: root, encoding: 'utf8' }).split(/\r?\n/).filter(Boolean);
  8. const issues = tracked.filter(rel => forbiddenPath.test(rel));
  9. if (issues.length) {
  10. console.error(issues.map(rel => `forbidden tracked path: ${rel}`).join('\n'));
  11. process.exit(1);
  12. }
  13. console.log(`[ok] reusable boundary is clean (${tracked.length} tracked files checked)`);