Skip to content

CHORE: Migrate launcher from Vue CLI to electron-vite - #2305

Merged
NeoPlays merged 7 commits into
stereum-dev:test-buildfrom
NeoPlays:chore/migrate-to-electron-vite
Jul 30, 2026
Merged

CHORE: Migrate launcher from Vue CLI to electron-vite#2305
NeoPlays merged 7 commits into
stereum-dev:test-buildfrom
NeoPlays:chore/migrate-to-electron-vite

Conversation

@NeoPlays

Copy link
Copy Markdown
Member

Replaces the unmaintained @vue/cli-service + vue-cli-plugin-electron-builder (abandoned alpha) build stack with electron-vite (Vite 7), and fixes the issues the switch surfaced.

  • Build: electron.vite.config.js builds main/preload/renderer; electron-builder.config.cjs packages it (signing/notarization preserved). Moved index.html to root, added postcss.config.js, updated background.js (dev/prod URL handling + app:// protocol), updated the release CI workflow, removed vue.config.js.
  • Bug fixes exposed by the stricter bundler: renamed LoginPage.vue.vue, fixed double-slash image paths, declared missing runtime deps (uuid, js-yaml, events), converted renderer require()s to ESM imports.
  • Control-tab crash + empty widgets: caused by eval() in the monitoring code that broke under bundler variable renaming, replaced with direct lookups and guarded the affected store accesses.
  • CSP: added a Content-Security-Policy (no unsafe-eval); removed all runtime eval/new Function (replaced vue3-circle-progress with an inline SVG, used JSON5.parse for devnet input, enabled Vue-I18n JIT).
  • Dependencies: npm audit 12 vulnerabilities → 0 via safe minor/patch bumps; no breaking majors.

@NeoPlays NeoPlays closed this Jul 28, 2026
@NeoPlays
NeoPlays deleted the chore/migrate-to-electron-vite branch July 28, 2026 14:43
@NeoPlays
NeoPlays restored the chore/migrate-to-electron-vite branch July 28, 2026 14:45
@NeoPlays NeoPlays reopened this Jul 28, 2026
@NeoPlays
NeoPlays changed the base branch from main to test-build July 30, 2026 21:16
@NeoPlays
NeoPlays merged commit c3cdee9 into stereum-dev:test-build Jul 30, 2026
8 checks passed
NeoPlays added a commit that referenced this pull request Aug 4, 2026
#2308)

* CHORE: Migrate launcher from Vue CLI to electron-vite (#2305)

* Add CLAUDE.md

* Migrate launcher build from vue-cli to electron-vite

* Bump Vue to 3.5.40

* Replace misused TransitionGroup with Transition in client components

* Fix control-page crash and missing monitoring data from eval under bundler

* Add Content-Security-Policy and remove runtime eval/new Function usage

* Update dependencies to fix all npm audit vulnerabilities

* FIX: remove electron-builder from dependencies

* FIX: move web3 to dependencies only so it's packaged in the asar

* FIX: lock launcher window to a fixed, non-resizable size

* FIX: detect production via app.isPackaged so fixed window size applies in builds
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant