/new

The Aurelia 2 scaffolding repo used by our tools to setup new projects.

Primary LanguageJavaScriptMIT LicenseMIT

Aurelia 2 scaffolding skeleton

CI E2E-Linux E2E-Windows E2E-macOS

The scaffolding repo for Aurelia 2 used by the makes tool to create new Aurelia 2 projects.

Create an Aurelia 2 project

First, ensure that you have Node.js v10 or above installed on your system. Next, using npx, a tool distributed as part of Node.js, we'll create a new Aurelia 2 app. At a command prompt, run the following command:

npx makes aurelia

This will cause npx to download the makes tool, along with the aurelia scaffold from this repo, which it will use to guide you through creating your project.

Status

  • Aurelia convention support (boilerplate free like Aurelia v1) at bundler level
  • Basic app with webpack
  • Basic app with dumber (successor of CLI built-in bundler. Doc WIP)
  • Basic app with parcel (On hold)
    • Parcel v2 is also very near. Might wait for the new version.
  • Basic app with FuseBox (On hold)
    • FuseBox v4 is coming, and it's a total rewrite. Wait for it before implement.
  • Basic less/scss setup.
  • Basic unit test setup for jest, jasmine, mocha, tape. (ava is on hold, pending implementing transformer.)
  • Basic e2e test setup for cypress

Development

This scaffolding skeleton is in the early stage, not quite ready for adding features. We want to keep feature set manageable as Aurelia 2 is constantly evolving.

There are some tests for this skeleton, setup in package.json. (totally not required by makes)

Unit tests

Unit tests for various "makes" files.

npm test

E2E Test

E2E tests for skeletons.

GitHub Actions runs a subset of them for every PR or push to master.

# Do not run following directly. There are too many skeletons.
npm run test:e2e

Always target a subset of skeletons, use env variable TARGET_FEATURES.

# only test skeletons using webpack and typescript features.
npx cross-env TARGET_FEATURES=webpack,typescript npm run test:e2e

Local development

If you forked this repo, you can try your skeleton with:

# Try your master branch if your forked name is "new"
npx makes your_GitHub_name
# Try some branch or commit or tag
npx makes your_GitHub_name/forked_repo_name#some-branch

License

MIT.