mirror of
https://github.com/Jeuners/ECC.git
synced 2026-09-10 23:42:31 +02:00
fix: add async/timeout to hooks schema and validate in CI
- hooks.schema.json: add async (boolean) and timeout (number) properties to hookItem definition, matching fields used in hooks.json - validate-hooks.js: validate async and timeout types when present - hooks.test.js: add SessionEnd to required event types check
This commit is contained in:
parent
639c9aaca3
commit
40a4fafa7f
3 changed files with 20 additions and 0 deletions
|
|
@ -24,6 +24,16 @@ function validateHookEntry(hook, label) {
|
|||
hasErrors = true;
|
||||
}
|
||||
|
||||
// Validate optional async and timeout fields
|
||||
if ('async' in hook && typeof hook.async !== 'boolean') {
|
||||
console.error(`ERROR: ${label} 'async' must be a boolean`);
|
||||
hasErrors = true;
|
||||
}
|
||||
if ('timeout' in hook && (typeof hook.timeout !== 'number' || hook.timeout < 0)) {
|
||||
console.error(`ERROR: ${label} 'timeout' must be a non-negative number`);
|
||||
hasErrors = true;
|
||||
}
|
||||
|
||||
if (!hook.command || (typeof hook.command !== 'string' && !Array.isArray(hook.command))) {
|
||||
console.error(`ERROR: ${label} missing or invalid 'command' field`);
|
||||
hasErrors = true;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue