@absolutejs/absolute 0.19.0-beta.980 → 0.19.0-beta.982
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/angular/browser.js +19 -4
- package/dist/angular/browser.js.map +3 -3
- package/dist/angular/components/core/streamingSlotRegistrar.js +1 -1
- package/dist/angular/components/core/streamingSlotRegistry.js +2 -2
- package/dist/angular/index.js +48 -18
- package/dist/angular/index.js.map +4 -4
- package/dist/angular/server.js +30 -15
- package/dist/angular/server.js.map +3 -3
- package/dist/build.js +69 -20
- package/dist/build.js.map +4 -4
- package/dist/index.js +69 -20
- package/dist/index.js.map +4 -4
- package/dist/src/angular/composables/useSubscription.d.ts +9 -3
- package/dist/src/build/compileAngular.d.ts +19 -1
- package/package.json +1 -1
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { DestroyRef } from '@angular/core';
|
|
1
2
|
import type { Observable, Subscription } from 'rxjs';
|
|
2
3
|
export type Observer<T> = {
|
|
3
4
|
next?: (value: T) => void;
|
|
@@ -10,11 +11,16 @@ export type Observer<T> = {
|
|
|
10
11
|
* collapsed into one call so consumers can't forget the cleanup
|
|
11
12
|
* operator (the most common Angular memory-leak source).
|
|
12
13
|
*
|
|
13
|
-
*
|
|
14
|
+
* Prefer calling from an injection context (field initializer or
|
|
15
|
+
* constructor). When called outside one — e.g. from `ngOnInit` —
|
|
16
|
+
* pass the host's `DestroyRef` explicitly as the third argument
|
|
17
|
+
* (capture it via `destroyRef = inject(DestroyRef)` in a field
|
|
18
|
+
* initializer once). Otherwise auto-teardown is dropped and the
|
|
19
|
+
* caller owns the returned `Subscription`.
|
|
14
20
|
*
|
|
15
21
|
* Note: this composable handles teardown only — it does not trigger
|
|
16
22
|
* change detection on emissions. If the observer mutates state that
|
|
17
23
|
* drives the template, store that state in a `signal()` so updates
|
|
18
24
|
* propagate in zoneless Angular. */
|
|
19
|
-
export declare function useSubscription<T>(observable: Observable<T>, next: (value: T) => void): Subscription;
|
|
20
|
-
export declare function useSubscription<T>(observable: Observable<T>, observer: Observer<T
|
|
25
|
+
export declare function useSubscription<T>(observable: Observable<T>, next: (value: T) => void, destroyRef?: DestroyRef): Subscription;
|
|
26
|
+
export declare function useSubscription<T>(observable: Observable<T>, observer: Observer<T>, destroyRef?: DestroyRef): Subscription;
|
|
@@ -8,7 +8,25 @@ export declare const invalidateAngularJitCache: (filePath: string) => void;
|
|
|
8
8
|
* Recursively transpiles all local imports so Bun's bundler can resolve them.
|
|
9
9
|
* ~50-100ms for a tree of ~10 files vs ~500-700ms for AOT. */
|
|
10
10
|
export declare const compileAngularFileJIT: (inputPath: string, outDir: string, rootDir?: string, stylePreprocessors?: StylePreprocessorConfig, cacheBuster?: string) => Promise<string[]>;
|
|
11
|
-
|
|
11
|
+
/** Build-time providers info threaded down from `runAngularHandlerScan`.
|
|
12
|
+
* When present, `compileAngular` injects an `export const providers = [...]`
|
|
13
|
+
* declaration directly into each page's compiled server output instead
|
|
14
|
+
* of relying on a sibling `.providers.ts` file. Injecting in-place
|
|
15
|
+
* avoids the circular ESM dependency that arises when a router page
|
|
16
|
+
* exports `routes` (`.providers.ts` would import `routes` from the
|
|
17
|
+
* page, the page server output would re-export `providers` from
|
|
18
|
+
* `.providers.ts` — circular; `provideRouter(undefined, ...)` then
|
|
19
|
+
* throws NG04014 at SSR bootstrap). */
|
|
20
|
+
export type AngularProvidersInjection = {
|
|
21
|
+
/** Source `.ts` path of the user's `angular.providers` binding. */
|
|
22
|
+
appProvidersSource: string;
|
|
23
|
+
/** Source `.ts` path → page metadata for every page the scanner saw. */
|
|
24
|
+
pagesByFile: Map<string, {
|
|
25
|
+
hasRoutes: boolean;
|
|
26
|
+
basePath: string | null;
|
|
27
|
+
}>;
|
|
28
|
+
};
|
|
29
|
+
export declare const compileAngular: (entryPoints: string[], outRoot: string, hmr?: boolean, stylePreprocessors?: StylePreprocessorConfig, providersInjection?: AngularProvidersInjection) => Promise<{
|
|
12
30
|
clientPaths: string[];
|
|
13
31
|
serverPaths: string[];
|
|
14
32
|
allIndexesUnchanged?: undefined;
|
package/package.json
CHANGED