refactor: Replace TypeScript bootstrap with bash dependency checks
Simplified dependency installation by moving from TypeScript runtime bootstrap to bash-based checks in plugin manifest. This reduces complexity and code size while maintaining the same functionality.
Changes:
- Added bash conditional dependency checks to all 5 hooks in hooks.json
- Check runs before each hook: [ ! -d "${CLAUDE_PLUGIN_ROOT}/scripts/node_modules" ] && cd "${CLAUDE_PLUGIN_ROOT}/scripts" && npm install || true
- Reverted all hook TypeScript files to use simple static imports (removed dynamic imports)
- Removed src/shared/bootstrap.ts (44 lines)
- Removed ensureDependencies() calls from all hook entry points
Benefits:
- Simpler architecture using native bash instead of TypeScript
- Net reduction of 157 lines of code
- No runtime overhead when dependencies already installed
- Uses plugin manifest's command hook feature as intended
- Faster and more efficient
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -4,16 +4,9 @@
|
||||
* Standalone executable for plugin hooks
|
||||
*/
|
||||
|
||||
// Bootstrap: Ensure dependencies are installed before importing modules
|
||||
import { ensureDependencies } from '../../shared/bootstrap.js';
|
||||
import { contextHook } from '../../hooks/context.js';
|
||||
import { stdin } from 'process';
|
||||
|
||||
// Run bootstrap synchronously BEFORE any dynamic imports
|
||||
ensureDependencies();
|
||||
|
||||
// Dynamic import AFTER bootstrap ensures dependencies are installed
|
||||
const { contextHook } = await import('../../hooks/context.js');
|
||||
|
||||
try {
|
||||
if (stdin.isTTY) {
|
||||
const contextOutput = contextHook();
|
||||
|
||||
Reference in New Issue
Block a user