Easy to use, ready for distribution boilerplate for Electron Angular applications supporting native code.
Native code is supported in two different ways:
You can define application name, version, author and runtime node dependencies in app.package.js
-
Running application in debug mode:
yarn start
This will run your Electron Angular application in watch mode, i.e. if you change any .ts
file the application will reload the changes automatically.
The application starts with debug tools open so that you can place breakpoints and debug your Typescript code.
Note that first time you run yarn start
the application might open with console error saying "Not allowed to load local resource: file:///.../electron-angular-native/serve/index.html".
The reason for that is that webpack compilation and electron serve run simultaneously and the application starts before the code is ready.
All you need to do is wait - once the compilation is complete the application will reload with the compiled code.
-
Debugging production build (AoT, Uglify etc.):
Sometimes you want to make sure your code compiles in production mode during the development (or even debug AoT related issues).
In order to build the application in production mode run:
yarn build:prod
If you want to debug the application in production mode (built with AoT) use this:
yarn start:prod
-
Compiling native code:
Native code is not compiled on every yarn start
(it's only compiled on yarn
and before the distribution), but if you want to recompile it, run the following command from your bash command line:
yarn electron:build:native
-
Running end to end tests with Spectron:
To run end to end tests use the following command:
yarn e2e
This will run all the tests in e2e
directory (the tests extension must be .e2e-spec.ts
).
For your convenience there is a helper class SpectronUtils
which can be used for tests definition and two test examples:
native-links.e2e-spec.ts
verifies that the links that loaded from native modules present upon the application startsanity.e2e-spec.ts
verifies that the application starts
Note that end-to-end tests check the end user application (meaning the application created with yarn dist
command). This means that prior to executing yarn e2e
you have to execute yarn dist
at least once