Aurelia 2 Scaffolding skeleton
Work In Progress
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 v8.9.0 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 can be done. But requires a dedicated repo (out of our mono repo) in order to write in commonjs format that Parcel wants.
- parcel-bundler/parcel#3256
- Parcel v2 is also very near. Might wait for the new version.
- Basic app with browserify (On hold)
- Browserify has technical obstacle on TypeScript (tsify) TypeStrong/tsify#34 (comment)
- There is no problem on babelify. But we will hold browserify for now.
- 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 jasmine, mocha, tape. (jest and ava are on hold, pending implementing transformer.)
- Basic e2e test setup for cypress
- Basic e2e test setup for protractor
Development
This scaffolding skeleton is in very 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)
npm install
# test some top level makes hooks
npm test
# test all skeletons, take some time, not turned on in .travis.yml
npm run test:e2e
To target 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
If you forked this repo, you can run your skeleton with:
# test your master branch if your forked name is "new"
npx makes your_GitHub_name
# test some branch or commit or tag
npx makes your_GitHub_name/forked_repo_name#some-branch
License
MIT.