Home › Start
If you come from Angular
What changes on purpose compared with Angular and which optional modules replace its packages.
A counterpart, not a clone#
AngeLite takes the shape of Angular (templates, signals, routes, forms) and gives up what would make it big. What changes on purpose:
| Angular | AngeLite |
|---|---|
| Decorators + TypeScript + compiler | component(Class, meta) in plain JS (also Component(meta) as a decorator if your toolchain supports them). |
| Zone.js / change detection | Signals: only what depends on them is updated. Mutating a plain property does not repaint; use signal. |
@Input() / @Output() | input() / output() |
[(ngModel)]="prop" | [(ngModel)]="signal" (the signal must be writable). |
Assignments in templates ((click)="x = 1") | No: (click)="x.set(1)". Also no arrow functions, object literals or new. |
@angular/forms, HttpClient, @angular/localize, animations, SSR | Optional modules: forms, http, i18n, animate and tools/ssr.mjs. Smaller and with fewer features (no FormBuilder, async validators, ng extract-i18n, animations with states, incremental hydration). |
@defer, viewChild(), providers, children/canActivate/loadComponent | Yes, with the same idea: @defer, viewChild(), providers, children/canActivate/load. |
The comparison table says what is missing, feature by feature.
Migrate an idea, not a project
If you know Angular, the templates will feel familiar. What you will have to change are your state habits: instead of mutating properties, write to signals.