This package provides you with a belt full of all the tools you need for building a Electron application.
Aside from making the creation of a new application as easy as baking 🥞, it even ensures you won't get any trouble when the codebase gets huge.
While the main process is kept free from any form of transpilation setup (since Electron ships with a up-to-date version of Node.js), the renderer process is backed by Next.js, a framework for building React applications which has already seen tremendous growth and acceptance among the community.
Create a New App with a Single Command: The only thing you need to do in order to create a new boilerplate with everything necessary already installed is running
neutron init. That's all.
Compiler Included: Once you've finished developing your application, the
neutron buildcommand is the only thing needed for generating application bundles (
.exefor Windows, etc).
No Need to Set up Any Tooling: Things like hot code reloading, transpiling and bundling are all taken care of. No further tools required, just run
Isn't that magical? 💫
No matter if you're already familiar with the concept of building Electron applications backed by Next.js or not, I highly recommend at least giving it a shot. Just read on, it's very easy!
To create a fresh app, you only need to have Node.js installed. Then run this command:
npx neutron init
That's it – now follow the instructions shown! 🚀
To be clear: If your friend (who hasn't developed any mac applications at all yet) wants to get started with building such applications, these are litterally the only steps to follow:
- Buy computer
- Install Node.js
npx neutron init
Commands & Options
To get a list of all available sub commands and options, run this command:
This also works for sub commands. Here's an example for
neutron build --help
neutron will work just fine without any addition configuration. However, you can add a property named
neutron to the
package.json file of your application for changing the behaviour:
IMPORTANT: All of these configuration properties are optional.
It can hold the following properties (the dot in property names indicates a sub property):
All Operating Systems
||Holds the name of your application on all platforms.|
||By default, this is set to
||The string that identifies your application to the system. As an example: If your company is called "ZEIT" (zeit.co) and your application is called "Now", the
||The type of application you're building (possible values).|
||This property lets you extend the information contained within the
||The path to a
||Name of certificate to use when signing. Default to be selected with respect to provisioning-profile and platform from keychain or keychain by system default.|
||Path to entitlements file for signing the app. Default to built-in entitlements file, Sandbox enabled for Mac App Store platform.|
||Path to child entitlements which inherit the security settings for signing frameworks and bundles of a distribution. This option only applies when signing with entitlements.|
||By default, a
||A custom path to a GIF that shows while your Windows application is being installed using the
||The path to a
||By default, the installer for your Windows application will have the same icon as the application itself. If you want a separate one for it, this property can be set to the path to a
If you need to perform custom operations during specific actions
neutron is taking, you can specify lifecycle scripts in your project's
package.json file (just like you would do for npm lifecycle scripts).
Here's an example of how this could look:
|Script Name||When It Runs|
||Will be run before your app was bundled.|
||Will be run after your app was bundled.|
Do you want to help us spread the word? Feel free to add this badge to your repository:
Simply embed this markdown code in your
<!-- Below or next to the top heading --><!-- At the bottom of the file -->
- Fork this repository to your own GitHub account and then clone it to your local device
neutronif it's already installed:
yarn global remove neutron
- Link it to the global module directory by running this command in the repo directory:
After that, you can use the
neutron command everywhere!