You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
claude: Replace Proxy-based quartoAPI with getQuartoAPI() function and dynamic engine registration
Refactored quartoAPI from Proxy-based lazy initialization to explicit
getQuartoAPI() function. This eliminates Proxy overhead on every property
access while maintaining lazy initialization semantics.
Key changes:
- src/core/api/index.ts: Replaced Proxy with memoized getQuartoAPI() function
- src/execute/engine.ts: Made engine registration dynamic
- Removed module-scope registerExecutionEngine() calls
- Added kStandardEngines array and enginesRegistered flag
- Renamed reorderEngines() to resolveEngines()
- Standard engines now registered on first resolveEngines() call
- src/command/command-utils.ts: Updated to use resolveEngines()
Benefits:
- Better performance: No Proxy overhead on property access
- Clearer semantics: Explicit function call for API initialization
- Simpler mental model: Standard memoization pattern
- Solves module initialization order issues
- Better naming: resolveEngines reflects dynamic loading
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <[email protected]>
0 commit comments