fix(observer): hook-resolver — Windows backslash path support

Code-review followup. TOOL_SCRIPT_RE didn't include \ in delimiter
char class — Windows-native commands like `node tools\foo.mjs` fell
through to inline:<sha> fallback. Added \ to char class + inner
[\/\] alternation, normalize match to forward-slash.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Дмитрий
2026-05-23 13:19:53 +03:00
parent 4665c537e8
commit 7fdf0ba971
3 changed files with 13 additions and 5 deletions
+8
View File
@@ -31,6 +31,14 @@ describe('extractScriptName', () => {
const b = extractScriptName('node -e "process.exit(1);"');
expect(a).not.toBe(b);
});
it('extracts tools/X.mjs from Windows backslash path', () => {
expect(extractScriptName('node tools\\observer-stop-hook.mjs')).toBe('tools/observer-stop-hook.mjs');
});
it('extracts tools/X.mjs from full Windows abs path with backslashes', () => {
expect(extractScriptName('node C:\\path\\tools\\foo.mjs')).toBe('tools/foo.mjs');
});
});
describe('buildHookMap', () => {