| 60 | |
| 61 | // Lazy-load heavy modules (CodeGraph, runInstaller) to keep CLI startup fast. |
| 62 | async function loadCodeGraph(): Promise<typeof import('../index')> { |
| 63 | try { |
| 64 | return await import('../index'); |
| 65 | } catch (err) { |
| 66 | const msg = err instanceof Error ? err.message : String(err); |
| 67 | const [red, reset] = COLORS_ENABLED ? ['\x1b[31m', '\x1b[0m'] : ['', '']; |
| 68 | console.error(`${red}${getGlyphs().err}${reset} Failed to load CodeGraph modules.`); |
| 69 | console.error(`\n Node: ${process.version} Platform: ${process.platform} ${process.arch}`); |
| 70 | console.error(`\n Error: ${msg}`); |
| 71 | console.error('\n Try reinstalling with: npm install -g @colbymchenry/codegraph\n'); |
| 72 | process.exit(1); |
| 73 | } |
| 74 | } |
| 75 | |
| 76 | // Dynamic import helper — tsc compiles import() to require() in CJS mode, |
| 77 | // which fails for ESM-only packages. This bypasses the transformation. |