Skip to content

baerrach/aurelia

 
 

Repository files navigation

Aurelia

License: MIT npm version CircleCI TypeScript Twitter

lerna Maintainability Test Coverage Commitizen friendly

Backers on Open Collective Sponsors on Open Collective

Aurelia 2

This is the Aurelia 2 monorepo, containing core and plugin packages, examples, benchmarks, and documentation for the upcoming major version of everybody's favorite modern JavaScript framework, Aurelia.

Introduction

Please keep in mind that Aurelia 2 is still in pre-alpha. Many core features and use cases around the public API are still untested and there will be several breaking changes to come.

Aurelia is a modern, front-end JavaScript framework for building browser, mobile, and desktop applications. It focuses on aligning closely with web platform specifications, using convention over configuration, and having minimal framework intrusion. Basically, we want you to just write your code without the framework getting in your way. 😉

Aurelia applications are built by composing a series of simple components. By convention, components are made up of a vanilla JavaScript or Typescript class, with a corresponding HTML template.

//app.js
export class App {
  welcome = "Welcome to Aurelia";

  quests = [
    "To seek the holy grail",
    "To take the ring to Mordor",
    "To rescue princess Leia"
  ];
}
<!-- app.html -->
<form>
  <label for="name-field">What is your name?</label>
  <input id="name-field" value.bind="name & debounce:500">

  <label for="quest-field">What is your quest?</label>
  <select id="quest-field" value.bind="quest">
    <option></option>
    <option repeat.for="q of quests">${q}</option>
  </select>
</form>

<p if.bind="name">${welcome}, ${name}!</p>
<p if.bind="quest">Now set forth ${quest.toLowerCase()}!</p>

This example shows you some of the powerful features of the aurelia binding syntax. To learn further, please see our documentation.

Feeling excited? Check out how to how to use makes to get started in the next section.

Getting Started

To get started with a new Aurelia 2 project, with Node.js installed, simply run npx makes aurelia. You'll then be guided through a series of choices on how you'd like to setup your project. Once complete, you'll have a new Aurelia 2 project ready to run. For more information on Aurelia's use of makes, see here. If you aren't interested in taking our preferred approach to generating a project, you can also see the examples folder in this repo for pure JIT setups (no conventions) with various loaders and bundlers.

Documentation

You can read the documentation on Aurelia 2 here. During the pre-Alpha phase, the most complete documentation is available in our getting started section.

Contributing

If you are interested in contributing to Aurelia, please see our contributor documentation for more information. You'll learn how to build the code and run tests, how best to engage in our social channels, how to submit PRs, and even how to contribute to our documentation. We welcome you and thank you in advance for joining with us in this endeavor.

Staying Up-to-Date

To keep up to date on Aurelia, please visit and subscribe to the official blog and our email list. We also invite you to follow us on twitter. If you have questions, have a look around our Discourse forum. For chat on Aurelia 2, join our new Aurelia 2 community on Discord. If you'd like to join the growing list of Aurelia sponsors, please back us on Open Collective.

License

Aurelia is MIT licensed. You can find out more and read the license document here.


Cross-browser testing provided by:

BrowserStack

About

Aurelia vNext

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 76.3%
  • HTML 15.1%
  • JavaScript 8.4%
  • Other 0.2%