The aurelia framework brings together all required core aurelia libraries into a ready-to-go application-building platform.
npx @tessl/cli install tessl/npm-aurelia-framework@1.4.0Aurelia Framework is a modern, front-end JavaScript/TypeScript framework for building browser, mobile, and desktop applications. It serves as the main orchestrator that brings together all required core Aurelia libraries into a unified application-building platform, focusing on convention over configuration with minimal framework intrusion.
npm install aurelia-frameworkimport { Aurelia, FrameworkConfiguration } from "aurelia-framework";For CommonJS:
const { Aurelia, FrameworkConfiguration } = require("aurelia-framework");Re-exported Core Libraries:
// All exports from core libraries are available directly
import {
Container,
ViewResources,
BindingEngine,
// ... and hundreds more from re-exported libraries
} from "aurelia-framework";
// Or import the logging namespace
import { LogManager } from "aurelia-framework";import { Aurelia } from "aurelia-framework";
// Create and configure Aurelia application
const aurelia = new Aurelia();
// Configure with standard plugins
aurelia.use
.standardConfiguration()
.developmentLogging();
// Start the application
aurelia.start().then(() => {
// Set root component and host element
aurelia.setRoot('app', document.body);
});Aurelia Framework is built around several key architectural patterns:
Aurelia class manages application lifecycle, bootstrapping, and coordinationFrameworkConfiguration provides fluent API for configuring plugins, resources, and servicesCore application bootstrapping and lifecycle management functionality. The Aurelia class provides methods for starting applications, setting root components, and enhancing existing DOM elements.
class Aurelia {
host: Element;
loader: Loader;
container: Container;
resources: ViewResources;
use: FrameworkConfiguration;
constructor(loader?: Loader, container?: Container, resources?: ViewResources);
start(): Promise<Aurelia>;
enhance(bindingContext?: object, applicationHost?: string | Element): Promise<Aurelia>;
setRoot(root?: string | Function, applicationHost?: string | Element): Promise<Aurelia>;
}Comprehensive configuration system for managing plugins, resources, and application setup. Provides fluent API for configuring the Aurelia application before startup.
class FrameworkConfiguration {
container: Container;
aurelia: Aurelia;
constructor(aurelia: Aurelia);
instance(type: any, instance: any): FrameworkConfiguration;
singleton(type: any, implementation?: Function): FrameworkConfiguration;
plugin(plugin: string | Function | FrameworkPluginInfo, pluginConfig?: any): FrameworkConfiguration;
standardConfiguration(): FrameworkConfiguration;
apply(): Promise<void>;
}Direct access to all functionality from Aurelia's core libraries through the framework package. Includes dependency injection, binding, templating, loading, and platform abstraction.
// All exports from these libraries are available:
// - aurelia-dependency-injection (DI container and decorators)
// - aurelia-binding (data binding engine)
// - aurelia-metadata (reflection and annotations)
// - aurelia-templating (view engine and components)
// - aurelia-loader (module loading abstraction)
// - aurelia-task-queue (async task management)
// - aurelia-path (path manipulation utilities)
// - aurelia-pal (platform abstraction layer)
export * as LogManager from "aurelia-logging";interface FrameworkPluginInfo {
moduleId?: string;
resourcesRelativeTo?: string[];
configure?: (config: FrameworkConfiguration, pluginConfig?: any) => any;
config?: any;
}