Aurelia is a modern, client-side JavaScript framework designed for building browser, mobile, and desktop applications. It emphasizes web platform alignment, convention over configuration, and minimal framework intrusion, allowing developers to write more standard JavaScript/TypeScript code. The current stable version is 1.4.1, primarily receiving maintenance updates to address dependency vulnerabilities as seen in recent releases. Key differentiators include its powerful reactive binding engine, robust templating, and a focus on composing simple, standard components, typically a vanilla JavaScript/TypeScript class paired with an HTML template. It integrates core Aurelia libraries into a unified platform for application development.
npm install aurelia-frameworkVerified import paths — ran on the pinned version, not inferred.
This quickstart demonstrates a basic Aurelia application with a root component (`App`) and its corresponding HTML template, showcasing two-way data binding and list rendering.
Review `aurelia.setRoot()` calls and plugin configurations. Consider passing actual class references or ensuring string module IDs are correctly resolved via `PLATFORM.moduleName()`.
Ensure your bundler (e.g., Webpack, Rollup) is configured to correctly handle the `module` field in `package.json` for optimal ESM consumption. If using older CommonJS environments, verify module resolution.
Always update to the latest patch version (e.g., `npm install aurelia-framework@latest`) to ensure all known dependency vulnerabilities are patched. Regularly audit your dependencies.
Always import `PLATFORM` from `aurelia-pal` and use `PLATFORM.moduleName('module-id')` for all module string references in `aurelia.use` configuration or `setRoot` calls. Ensure `aurelia-pal` is correctly resolved by your bundler.Ensure that your `aurelia.setRoot()` call uses `PLATFORM.moduleName('app')` and that `app.js`/`app.ts` is located in a path discoverable by your build system and Aurelia's loader. Check `aurelia.json` or your Webpack/Rollup config.Ensure `new Aurelia().use.standardConfiguration()` is called before attempting to register any custom plugins or features. Verify the `aurelia` instance is correctly passed to your `configure` function.
Verify that `aurelia-templating` is listed in your `package.json` dependencies and installed. Ensure `aurelia.use.standardConfiguration()` is called, as it sets up essential core plugins including templating.