Building and testing aurelia

Get setup to build and test the Aurelia 2 source!

If you're looking to contribute directly to Aurelia or its test suite, you've come to the right place!

Setup

In order to build Aurelia, ensure that you have Git, Node.js v15.4.0 or higher, and npm@7.0.0 or higher installed.

Run the following commands to clone, install:

git clone https://github.com/aurelia/aurelia.git && cd aurelia
npm ci

packages

From the root level of the project, run npm run dev to start the development. This will:

  • build & watch the runtime package for rebuild

  • build & watch the runtime-html package for rebuild

  • build & watch the __testing__ package for rebuild

  • start a process to run all the tests with karma

Example scenarios:

  1. Fixing a repeater bug, so run all the repeater tests and rebuild repeater source code on change:

npm run dev -- --test repeater
  1. Fixing a router bug, so run all the router tests and rebuild router source code on change:

npm run dev -- --dev router --test router
  • The --dev (shortcut: -d) is to specify what additional package beside runtime & runtime-html packages should be rebuild on changes

  • The --test (shortcut: -t) is to specify what glob to search test files to run

This documentation will be expanded upon in the future.

packages-tooling

Similar to core packages, to develop/test any of the tooling packages, run npm run dev:tooling to start the development. This will

  • build & watch the kernel core package for rebuild

  • build & watch the plugin-conventions tooling package for rebuild

  • start a process to run all the tests with mocha

Example scenarios:

  1. Fixing a convention bug, so run all the plugin convention tests, and rebuild plugin-conventions tooling package on code change:

npm run dev -- --test plugin-conventions
# or
npm run dev -- --test conventions
  1. Fixing a webpack loader bug, sp run all the load tests and rebuild webpack loader code on change

npm run dev -- --dev webpack-loader --test loader

Last updated

Was this helpful?

Revision created

chore(slotted): add reminder doc about standard