mirror of
https://github.com/affaan-m/everything-claude-code.git
synced 2026-06-14 04:01:30 +08:00
fix: make plugin hooks run on Node 21+ and green the suite under modern Node (#2184)
ROOT CAUSE: hooks load plugin-hook-bootstrap.js via `node -e "...; process.argv.splice(1,0,s); require(s)"`. On Node 21+, require.main is `undefined` under --eval, so the `if (require.main === module)` guard was false and main() never ran — every plugin hook silently no-op'd (e.g. the MCP-health PreToolUse hook stopped blocking). CI (Node 18/20) hid this; it only surfaces on Node 21+. Fix: also run main() when require.main is undefined (the eval-bootstrap case), while staying dormant on real imports. Also clears pre-existing main debt the full local suite enforces: - catalog:sync — README/docs agent+skill counts drifted after recent merges - tests/ci/supply-chain-watch-workflow: update checkout SHA to the merged v6.0.3 (#2183) - markdownlint + check-unicode-safety --write across docs/skills Suite: 2683/2683 green under Node v25; lint + unicode clean. Co-authored-by: ECC Test <ecc@example.test>
This commit is contained in:
@@ -43,7 +43,7 @@ function run() {
|
||||
if (test('uses read-only permissions and non-persisting checkout credentials', () => {
|
||||
assert.match(source, /permissions:\r?\n\s+contents: read/);
|
||||
assert.doesNotMatch(source, /^\s+[A-Za-z-]+:\s*write\b/m);
|
||||
assert.match(source, /uses: actions\/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd/);
|
||||
assert.match(source, /uses: actions\/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10/);
|
||||
assert.match(source, /persist-credentials: false/);
|
||||
assert.doesNotMatch(source, /id-token:\s*write/);
|
||||
assert.doesNotMatch(source, /actions\/cache@/);
|
||||
|
||||
Reference in New Issue
Block a user