Hi everyone,
I’m happy to announce @a4xrbj1/meteor-desktop v5.0.0 — a major release that brings full Meteor 3.x compatibility to Electron desktop builds.
This is a continuation of the meteor-desktop package originally created by Paweł Wójtkowiak and previously maintained under @meteor-community. The fork lives at
GitHub - a4xrbj1/meteor-desktop: Build a Meteor's desktop client with hot code push. · GitHub.
Why v5?
Meteor 3.x dropped the web.cordova build target that meteor-desktop relied on. v5 rewrites the integration to work with web.browser architecture instead, and modernizes everything else along the way.
Key changes
- Meteor 3.x support — switched from web.cordova to web.browser architecture. Manifest acquisition, /__browser/ asset paths, isCordova detection, and autoupdate all updated.
- ESM / Electron 33+ — replaced deprecated registerStreamProtocol with protocol.handle + net.fetch(). Dev-server responses are patched for import.meta, global, and
classic-script constraints. - Hot Code Push improvements — cordova.js renamed to desktop-hcp.js, auto-injected into index.html, with 5 fail-fast guardrails in autoupdate.
- Dependency debloat — removed node-fetch, shelljs, lodash, rimraf, isbinaryfile, and del. All replaced with native Node.js APIs. The dist/ build step is gone — the package
ships lib/ directly. - 7 build validation gates (A1–A7) — catch broken bundles, missing files, and hash mismatches early. Every error path now throws or exits instead of silently continuing.
- Reliability — fs.rmSync race-condition fixes on macOS, chmodRecursive on all platforms, 13+ previously silent error paths surfaced as hard failures.
Install
meteor npm install --save-dev @a4xrbj1/meteor-desktop
Requires Meteor 3.0+ and Node.js 22+.
Links
- GitHub
- npm
- CHANGELOG
131 commits since the last release. Full details in the changelog.
Feedback, issues, and PRs welcome!
P.S.: build with the help of Claude Code and VSC Copilot
