https://github.com/jimschubert/electron-aurelia-example
An example desktop application written with Electron and Aurelia.
https://github.com/jimschubert/electron-aurelia-example
Last synced: over 1 year ago
JSON representation
An example desktop application written with Electron and Aurelia.
- Host: GitHub
- URL: https://github.com/jimschubert/electron-aurelia-example
- Owner: jimschubert
- License: mit
- Created: 2015-06-05T18:34:35.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2016-08-26T20:20:33.000Z (almost 10 years ago)
- Last Synced: 2025-03-21T08:34:56.742Z (over 1 year ago)
- Language: JavaScript
- Homepage:
- Size: 159 KB
- Stars: 35
- Watchers: 5
- Forks: 8
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- awesome-aurelia - electron-aurelia-example
README
# electron-aurelia-example
> An example desktop application written with Electron and Aurelia.
Based on [aurelia/skeleton-navigation](https://github.com/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](https://github.com/atom/electron/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](http://ipreferjim.com)
[aurelia/skeleton-navigation](https://github.com/aurelia/skeleton-navigation) is MIT © 2014 Durandal Inc.