@flightdev/ui-angular
v1.1.0
Published
Angular 17+ SSR adapter for Flight Framework
Readme
@flightdev/ui-angular
Angular 17+ SSR adapter for Flight Framework. Provides server-side rendering with streaming and incremental hydration support.
Table of Contents
Installation
npm install @flightdev/ui @flightdev/ui-angularPeer dependencies:
npm install @angular/core @angular/platform-browser @angular/platform-server rxjs zone.jsQuick Start
import { defineUI } from '@flightdev/ui';
import { angular } from '@flightdev/ui-angular';
const ui = defineUI(angular());
// Bootstrap function is required for Angular SSR
const result = await ui.adapter.renderToString({
component: bootstrap,
props: {},
}, {
url: '/dashboard',
});
console.log(result.html);SSR Options
Configure the Angular adapter with options:
import { angular } from '@flightdev/ui-angular';
const adapter = angular({
incrementalHydration: true,
eventReplay: true,
documentTemplate: '<!DOCTYPE html><html><body><app-root></app-root></body></html>',
});Available Options
| Option | Type | Default | Description |
|--------|------|---------|-------------|
| incrementalHydration | boolean | false | Enable incremental hydration (Angular 17+) |
| eventReplay | boolean | false | Enable event replay during hydration |
| documentTemplate | string | Default template | Custom HTML document template |
| providers | unknown[] | [] | Custom providers for SSR |
Incremental Hydration
Angular 17+ supports incremental hydration, allowing parts of the page to hydrate independently:
import { angular } from '@flightdev/ui-angular';
const adapter = angular({
incrementalHydration: true,
});
// Components can defer hydration with @defer blocks
// <ng-container @defer (on viewport)>
// <heavy-component />
// </ng-container>Event Replay
Enable event replay to capture user interactions before hydration completes:
import { angular } from '@flightdev/ui-angular';
const adapter = angular({
eventReplay: true,
});
// User clicks during SSR are replayed after hydrationAPI Reference
angular(options?)
Create an Angular adapter instance.
function angular(options?: AngularAdapterOptions): AngularAdapter;AngularAdapter
| Method | Description |
|--------|-------------|
| renderToString(component, context?) | Render to HTML string |
| getHydrationScript(result) | Generate hydration script |
| getClientEntry() | Get client entry code |
Capabilities
| Capability | Supported | |------------|-----------| | Streaming | Yes | | Partial Hydration | Yes | | Islands | No | | Resumable | No | | SSG | Yes | | CSR | Yes | | Server Components | No |
License
MIT
