gadget/gadget-code/frontend
Rob Colbert c705cbd3d9 feat: replace react-ace with @uiw/react-codemirror
react-ace v14 is CommonJS-only with no ESM entry point, making it
fundamentally incompatible with Vite's ESM-first dev server. Every
CJS interop workaround failed. Switched to @uiw/react-codemirror v4.25
which ships proper dual ESM+CJS and works with Vite out of the box.

Changes:
- Remove ace-builds and react-ace dependencies
- Add @uiw/react-codemirror + 16 @codemirror/lang-* packages
- Add @uiw/codemirror-theme-tomorrow-night-blue (closest to ACE's 'tomorrow')
- Add @replit/codemirror-lang-csharp for C# support
- Rewrite EditorPanel.tsx: delete 108 lines of ACE boilerplate
  (?url imports, setModuleUrl, CJS interop hack), replace with
  ~30 lines of clean CodeMirror language extension setup
- Delete vite.d.ts (only needed for ACE ?url import types)
- Remove optimizeDeps.include from vite.config.ts (not needed for CM)
- Add CodeMirror flex layout CSS to index.css

Supported languages: JavaScript/JSX, TypeScript/TSX, Python, JSON,
HTML, CSS, Less, YAML, Markdown, SQL, Java, Go, Rust, C/C++, C#,
PHP, XML. Unsupported types fall back to plain text.

Verified: tsc clean, vite build passes, heartbeat worker intact.
2026-05-12 22:41:31 -04:00
..
src feat: replace react-ace with @uiw/react-codemirror 2026-05-12 22:41:31 -04:00
index.html created by merging gadget-code and gadget-drone 2026-04-28 09:20:37 -04:00
package.json feat: replace react-ace with @uiw/react-codemirror 2026-05-12 22:41:31 -04:00
postcss.config.js created by merging gadget-code and gadget-drone 2026-04-28 09:20:37 -04:00
tailwind.config.js theme enforced and correctly implemented; e2e tests added for theme 2026-04-28 17:43:05 -04:00
tsconfig.json Define missing socket event types and enforce typed events in frontend build 2026-05-12 10:42:31 -04:00
vite.config.ts feat: replace react-ace with @uiw/react-codemirror 2026-05-12 22:41:31 -04:00