This skeleton is part of the Aurelia platform. It sets up a standard navigation-style app using gulp to build your ES6 code with the Babel compiler. Karma/Protractor/Jasmine testing is also configured.
To keep up to date on Aurelia, please visit and subscribe to the official blog. If you have questions, we invite you to join us on Gitter. If you would like to have deeper insight into our development process, please install the ZenHub Chrome Extension and visit any of our repository's boards. You can get an overview of all Aurelia work by visiting the framework board.
To run the app, follow these steps.
npm install
npm install -g gulp
Note: Gulp must be installed globally, but a local version will also be installed to ensure a compatible version is used for the project.
npm install -g jspm
Note: jspm must be installed globally, but a local version will also be installed to ensure a compatible version is used for the project.
Note: jspm queries GitHub to install semver packages, but GitHub has a rate limit on anonymous API requests. It is advised that you configure jspm with your GitHub credentials in order to avoid problems. You can do this by executing
jspm registry config github
and following the prompts. If you choose to authorize jspm by an access token instead of giving your password (see GitHubSettings > Personal Access Tokens
),public_repo
access for the token is required.
jspm install -y
Note: Windows users, if you experience an error of "unknown command unzip" you can solve this problem by doing
npm install -g unzip
and then re-runningjspm install
.
gulp watch
src
and the browser should auto-refresh itself as you save files.The Skeleton App uses BrowserSync for automated page refreshes on code/markup changes concurrently across multiple browsers. If you prefer to disable the mirroring feature set the ghostMode option to false
To run the app under Electron, follow these steps.
npm install electron-prebuilt -g
electron index.js
Note: If you use electron every time or are packaging and so-forth, Then change this line in package.json from
"main": "dist/main.js",
to"main": "index.js",
Build the app (this will give you a dist directory)
gulp build
To start the app, execute the following command:
electron .
Bundling is performed by Aurelia Bundler. A gulp task is already configured for that. Use the following command to bundle the app:
gulp bundle
You can also unbundle using the command bellow:
gulp unbundle
The configuration is done by bundles.js
file.
Under options
of dist/aurelia
add rev: true
to add bundle file revision/version.
To run the unit tests, first ensure that you have followed the steps above in order to install all dependencies and successfully build the library. Once you have done that, proceed with these additional steps:
npm install -g karma-cli
jspm install aurelia-framework
jspm install aurelia-http-client
jspm install aurelia-router
karma start
Integration tests are performed with Protractor.
test/e2e/src
gulp webdriver-update
Configure the path to the webdriver by opening the file protractor.conf.js
and adjusting the seleniumServerJar
property. Typically its only needed to adjust the version number.
Make sure your app runs and is accessible
gulp watch
gulp e2e
A gulp task is already configured for that. Use the following command to export the app:
gulp export
The app will be exported into export
directory preserving the directory structure.
The configuration is done by bundles.js
file.
In addition, export.js
file is available for including individual files.