Root causes:
- react-ace v12 doesn't support React 19 (project uses ^19.2.5)
- Dynamic import(`ace-builds/src-noconflict/mode-${language}`) broken with Vite
(template-literal dynamic imports can't be statically analyzed)
- No React Error Boundaries — ACE render crash whitescreens entire app
- ace-builds/react-ace duplicated in backend package.json
Fixes:
1. Upgrade react-ace ^12.0.0 → ^14.0.1 (React 19 support)
2. Upgrade ace-builds ^1.36.0 → ^1.43.6
3. Remove ACE deps from backend package.json (not used by Express)
4. Replace broken dynamic imports with Vite ?url + ace.config.setModuleUrl()
pattern (canonical Vite solution per ace#4597)
5. Add ErrorBoundary component wrapping EditorPanel
6. Add vite.d.ts type declarations for ?url/?raw/?worker imports
7. Fix worker-typescript import (doesn't exist — TS uses worker-javascript)
8. Register 24 language modes, 4 workers, 1 theme, 2 extensions
Verified: TypeScript clean, production build passes, heartbeat worker intact.
19 lines
501 B
JSON
19 lines
501 B
JSON
{
|
|
"name": "gadget-code-frontend",
|
|
"version": "1.0.0",
|
|
"description": "Gadget Code Frontend - A self-hosted Agentic Engineering Platform (AEP).",
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "vite",
|
|
"typecheck": "tsc --noEmit",
|
|
"build": "tsc --noEmit && vite build"
|
|
},
|
|
"author": "Robert Colbert <rob.colbert@openplatform.us>",
|
|
"license": "Apache-2.0",
|
|
"dependencies": {
|
|
"ace-builds": "^1.44.0",
|
|
"marked": "^16.0.0",
|
|
"react-ace": "^14.0.1",
|
|
"slug": "^11.0.1"
|
|
}
|
|
} |