- Node.js 22+
- npm
- A GitHub Personal Access Token (classic) with
reposcope
npm install
npm run electron:devThis starts the Next.js dev server on port 3001 and launches Electron pointing at it.
npm run electron:buildOutput: release/Voltex Notes Setup 1.0.0.exe (installer) and release/win-unpacked/ (portable).
This does not upload anything — just builds the installer locally.
Edit package.json:
"version": "1.1.0"$env:GH_TOKEN = "ghp_your_token_here"npm run electron:publishThis runs the full pipeline:
next build— builds the Next.js appnode scripts/electron-build.mjs— compiles Electron TypeScript via esbuildelectron-builder --publish always— packages the app and uploads to GitHub Releases
Uploaded artifacts:
| File | Purpose |
|---|---|
Voltex-Notes-Setup-X.X.X.exe |
Windows installer |
Voltex-Notes-Setup-X.X.X.exe.blockmap |
Delta update data |
latest.yml |
Auto-updater manifest |
The release is created at https://github.com/Dev-Lune/voltex-notes/releases/tag/vX.X.X.
If you prefer uploading manually:
- Build locally:
npm run electron:build
- Go to https://github.com/Dev-Lune/voltex-notes/releases/new
- Tag:
v1.0.0(must matchpackage.jsonversion withvprefix) - Upload these files from
release/:Voltex Notes Setup 1.0.0.exeVoltex Notes Setup 1.0.0.exe.blockmaplatest.yml
- Publish the release
Important: You must upload
latest.yml— the auto-updater reads this file to detect new versions.
The app checks for updates automatically:
- On startup
- Every 4 hours
When an update is found:
updater:update-availableevent sent to renderer (shows notification)- Download happens in background with
updater:download-progressevents - Once ready,
updater:update-readyfires - User triggers install via
updater:installIPC — app restarts with new version
electron-builder.yml controls the build:
publish:
provider: github
owner: Dev-Lune
repo: voltex-notes
releaseType: releaseChange owner/repo if the repository moves.
| Issue | Fix |
|---|---|
Cannot find package 'esbuild' |
Run npm install --save-dev esbuild |
duplicated mapping key in YAML |
Check electron-builder.yml for duplicate keys |
middleware.ts + proxy.ts conflict |
Delete middleware.ts — Next.js 16 uses proxy.ts only |
| Code signing skipped | Expected for local builds. Set up a certificate for signed releases |
| Token expired / 401 | Generate a new token at https://github.com/settings/tokens |