6.6.0: Modernize toolchain — Electron 42 (hardened), Vite, Vitest, Capacitor#1287
6.6.0: Modernize toolchain — Electron 42 (hardened), Vite, Vitest, Capacitor#1287jthrilly wants to merge 1 commit into
Conversation
|
Important Review skippedToo many files! This PR contains 215 files, which is 65 over the limit of 150. To get a review, narrow the scope: Upgrade to a paid plan to raise the limit. ⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (85)
📒 Files selected for processing (215)
You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Note for reviewers — both automated reviewers (Copilot, CodeRabbit) skipped this PR purely on file count. That count is dominated by two parts of the migration that are large but not hand-authored here:
The hand-written changes worth focusing on:
Design rationale + phased plan: |
|
Branch |
Modernizes the build, runtime, and test toolchain for v6.6.0. No product behavior changes beyond removing the obsolete Server integration. Work is split into dependency-ordered phases, each landing on a buildable/testable tree.
What changed
.node-version/.nvmrc/engines).networkQuery,network-exporters,protocol-validation) as in-tree source;.gitmodulesremoved.request-promise-native→ nativefetch.contextIsolation: true,sandbox: true,nodeIntegration: false, no@electron/remote. A typedcontextBridgepreload (window.NCAPI) exposes a minimal API; all privileged operations (filesystem, dialogs, app info, the zip extraction, and the network-exporters export pipeline) run in the main process behind IPC. The asset scheme uses the modernprotocol.handle. IPC is hardened against path-traversal / zip-slip, with a shell-scheme allowlist.electron-vitefor main/preload/renderer). One renderer build feeds Electron and Capacitor.enzyme-adapter-react-16). The dead Spectronintegration-tests/suite is removed; Jest is fully gone.ios//android/projects scaffolded and committed; the platform abstraction now uses Capacitor plugins (@capacitor/filesystem,device,app,browser,keyboard,status-bar,network) and@capawesome/capacitor-file-pickerfor protocol import.www/,public/, the obsolete Dockerfile; modernized README and CI (Node 24,npm ci, vitest + electron-vite). Version bumped to 6.6.0 (package.json + native projects).Verification
npm run lintclean · 540 Vitest tests pass ·vite build+electron-vite build(main/preload/renderer) succeed · the hardened Electron app builds and launches (boots, rehydrates state, routes; protocol import verified) ·npx cap syncsucceeds with both native projects present.Notes / out of scope
electron-builderpackaging (dist:*) is a release/CI step; onlyelectron-vite build+ launch were verified locally.npm install(it downloads on firstnpm run dev); adownload:electronscript and README note are included.docs/superpowers/.🤖 Generated with Claude Code