fix: add cwd to prettier hook, consistent process.exit(0), and stdout pass-through

- post-edit-format.js: add cwd based on file directory so npx resolves
  correct local prettier binary
- post-edit-typecheck.js, post-edit-format.js: replace console.log(data)
  with process.stdout.write(data) to avoid trailing newline corruption
- Add process.exit(0) to 4 hooks for consistent termination
  (check-console-log, post-edit-console-warn, post-edit-format,
  post-edit-typecheck)
- run-all.js: switch from execSync to spawnSync so stderr is visible
  on the success path (hook warnings were silently discarded)
- Add 21 tests: cwd verification, process.exit(0) checks, exact
  stdout pass-through, extension edge cases, exclusion pattern
  matching, threshold boundary values (630 → 651)
This commit is contained in:
Affaan Mustafa
2026-02-13 03:20:41 -08:00
parent 253645b5e4
commit 992688a674
7 changed files with 255 additions and 27 deletions

View File

@@ -31,7 +31,8 @@ process.stdin.on("end", () => {
if (filePath && /\.(ts|tsx)$/.test(filePath)) {
const resolvedPath = path.resolve(filePath);
if (!fs.existsSync(resolvedPath)) {
console.log(data);
process.stdout.write(data);
process.exit(0);
return;
}
// Find nearest tsconfig.json by walking up (max 20 levels to prevent infinite loop)
@@ -90,5 +91,6 @@ process.stdin.on("end", () => {
// Invalid input — pass through
}
console.log(data);
process.stdout.write(data);
process.exit(0);
});