( forgeConfig: ResolvedForgeConfig, hookName: Hook, ...hookArgs: ForgeSimpleHookSignatures[Hook] )
| 14 | |
| 15 | // eslint-disable-next-line @typescript-eslint/no-explicit-any |
| 16 | export const runHook = async <Hook extends keyof ForgeSimpleHookSignatures>( |
| 17 | forgeConfig: ResolvedForgeConfig, |
| 18 | hookName: Hook, |
| 19 | ...hookArgs: ForgeSimpleHookSignatures[Hook] |
| 20 | ): Promise<void> => { |
| 21 | const { hooks } = forgeConfig; |
| 22 | if (hooks) { |
| 23 | d(`hook triggered: ${hookName}`); |
| 24 | if (typeof hooks[hookName] === 'function') { |
| 25 | d('calling hook:', hookName, 'with args:', hookArgs); |
| 26 | await (hooks[hookName] as ForgeSimpleHookFn<Hook>)( |
| 27 | forgeConfig, |
| 28 | ...hookArgs, |
| 29 | ); |
| 30 | } |
| 31 | } |
| 32 | await forgeConfig.pluginInterface.triggerHook(hookName, hookArgs); |
| 33 | }; |
| 34 | |
| 35 | export const getHookListrTasks = async < |
| 36 | Hook extends keyof ForgeSimpleHookSignatures, |
no test coverage detected