This template is laid out in order to maintain a clear separation-of-concerns (SoC) and composability in order for you to take the template in any way you need to build your app. At the root level we have a few folders:
app/
dev-scripts/
docs/
resources/
test/
Contains everything for your app. All of your js/css files will go here as well as the electron-specific code. You can go here to find more information about this directory.
Due to limitations in running electron after a webpack development server has been started [and successfully compiled], additional scripts that run the development Electron configuration are in this directory that ensure we only start our development Electron configuration after webpack has loaded completely.
Houses documentation pages such as this one.
Any resources your electron app needs in for building/distributing executables should go here - icons are a great example.
Contains mocha tests you may use for E2E (end-to-end) testing.
At the root level we also have some configuration files.
.babelrc
package.json
webpack configs
In the babel configuration file we've set up aliases in order for you to import files with a little less typing. More information can be found here. There are also a few babel presets for ES2015 features and react (so that we can handle .jsx files).
Where all the NPM modules are stored, as well as build and package scripts. If you want more detail on these scripts, head over here.
These files hold the webpack config for the template. The base template, webpack.config.js
is used for both environments (development and production) while the other two are used for their respective environment.