Skip to content
An example desktop application written with Electron and Aurelia.
JavaScript HTML CSS
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
build bug(build): Fix issue with changelog/release tasks Jun 15, 2015
builds chore(*): Initial commit Jun 5, 2015
client feat(e2e): Functioning end-to-end tests Jun 15, 2015
spec bug(size): Reduces packaged app size by 25MB Jun 15, 2015
.editorconfig
.eslintrc chore(*): Initial commit Jun 5, 2015
.gitattributes
.gitignore fix(*): Include missing *.js Jun 5, 2015
.jshintrc chore(*): Initial commit Jun 5, 2015
CHANGELOG.md bug(build): Fix issue with changelog/release tasks Jun 15, 2015
LICENSE chore(*): Initial commit Jun 5, 2015
README.md docs(test): Add info about chromedriver Jun 15, 2015
build.js feat(e2e): Functioning end-to-end tests Jun 15, 2015
gulpfile.js
index.js
package.json bug(build): Fix issue with changelog/release tasks Jun 15, 2015

README.md

electron-aurelia-example

An example desktop application written with Electron and Aurelia.

Based on aurelia/skeleton-navigation, early versions of this repository are based heavily on Aurelia's project structure and the skeleton application.

Dev

First, install dependencies. This will also trigger jspm install for client deps.

$ npm install

The default gulp task will run lint on your ES6 files.

$ gulp

For a list of available tasks, run gulp help.

Some tasks support debugging of streams being processed. Check those tasks by passing a debug switch:

$ gulp --debug

Run

To start an electron instance:

$ npm start

Testing

Unit tests are executed from within a running instance of the app. This allows the unit tests to interact with app source as it is included through jspm. Currently, these tests are written using jasmine.

End-to-end (e2e) tests are executed outside of the application through chromedriver and webdriverio using gulp-webdriver. The package is currently referenced from jimschubert/gulp-webdriver with pending changes I hope to have integrated upstream. Because the module executes a standalone selenium server, you'll only need to download and start chromedriver. Get the most recent binaries from Electron's releases for your development environment and start chromedriver:

$ ./chromedriver --url-base=/wd/hub --port=4321

Run gulp specs to run unit tests (gulp specs:unit) and e2e tests (gulp specs:e2e).

Build

Execute a build specific to your dev machine using the build.js wrapper script (which provides system defaults and other stuff around electron-packager).

$ node build.js

On x64 OS X for example, you can now run this from the builds directory:

$ open builds/darwin/x64/ElectronAureliaExample.app

You may also run a specific build using the defined gulp tasks. These are pre-configured invocations of node build.js.

$ gulp build:linux:32
$ gulp build:linux:64
$ gulp build:darwin:64
$ gulp build:windows:32
$ gulp build:windows:64

Running all cross-platform builds is rolled up into gulp release. Running gulp release will roll the revision number in your package.json and update CHANGELOG.md.

TODO

  • Packaging of cross-platform releases?
  • Icon settings
  • OS X Signing

License

MIT © Jim Schubert

aurelia/skeleton-navigation is MIT © 2014 Durandal Inc.

You can’t perform that action at this time.