Improve macOS Build and Distribution #22
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
Modernises the Electron Forge build pipeline with enhanced DMG installer configuration and upgraded tooling. Provides a more professional macOS installation experience with custom installer layout and drag-to-Applications UX.
Tip
After pulling, run
npm installto ensure you have the updated Electron Forge v7.10.2 dependencies. Node.js 22 is now required (check.nvmrc).Changes
Build Configuration
DMG Maker Enhancements
Electron Forge Upgrade
Node.js Version Pinning
.nvmrcforge.config.jsReplaced basic ZIP maker with fully-configured DMG maker for macOS platform. Added installer customisation options including window sizing and file positioning for optimal user experience. Included commented hooks for future asset customisation (background image, volume icon).
package.jsonRemoved deprecated manual
codesignscript - code signing is now handled automatically by Electron Forge during the build process..nvmrcAdded Node.js version specification (v22) to ensure consistent development and build environments.
package-lock.jsonUpdated all
@electron-forge/*packages from v7.6.0 to v7.10.2, including:Includes dependency tree updates for improved compatibility and security.
Summary
Like swapping out your hand-drawn "please drag me to Applications" sticky note for a professionally printed instruction manual with colour diagrams, proper margins, and a laminated finish - except the sticky note was actually just you shouting at users through their screen, and now you've learned to communicate like a civilised application.