Zero Native Compilation on Node.js 22.5+
The single biggest installation friction — native C++ compilation of better-sqlite3 — is now eliminated for Node.js 22.5+ users.
How it works
New db-adapter.js detects your Node.js version at startup:
| Node.js version | SQLite backend | Build tools needed? |
|---|---|---|
| 22.5+ | Built-in node:sqlite (DatabaseSync)
| No — just npm install
|
| 18.0 – 22.4 | better-sqlite3 (unchanged)
| Yes — Python, make, g++/MSVC |
Why this matters:
- Windows users: no more Visual Studio Build Tools headaches
- Docker: smaller images, faster builds — no
python3,make,g++layer - CI/CD: cleaner pipelines with no native addon compilation
- npx:
npx github:Lexus2016/claude-code-studiojust works on Node 22.5+ — zero setup
better-sqlite3 moved from dependencies to optionalDependencies — it's only installed and compiled when Node.js < 22.5.
The adapter provides a unified API with shims for db.pragma() and db.transaction() so the rest of the codebase is unchanged.
Clipboard Image Copy Fix
Fixed NotAllowedError when copying images to clipboard in the web UI.
Root cause: fetch() to load the image introduced an async delay, causing the clipboard.write() call to happen outside the browser's user gesture window.
Fix: Pass Promise<Blob> directly to ClipboardItem — the browser resolves it lazily while the clipboard.write() call itself stays synchronous within the gesture. Also auto-converts all image formats (JPEG, WebP, GIF, SVG) to PNG via offscreen canvas for cross-browser compatibility.
Stats
- New file:
db-adapter.js(121 lines) server.js: 10 lines removed (pragma setup moved to adapter)public/index.html: clipboard copy rewritten (34 lines)package.json:better-sqlite3→optionalDependencies- README updated (en/ua/ru) with Node.js 22.5+ note
Upgrade
npx github:Lexus2016/claude-code-studio@latest