@nifrajs/web 0.1.0-alpha.1
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/LICENSE +21 -0
- package/README.md +18 -0
- package/css-modules.d.ts +34 -0
- package/dist/build.d.ts +110 -0
- package/dist/build.d.ts.map +1 -0
- package/dist/build.js +238 -0
- package/dist/build.js.map +1 -0
- package/dist/client.d.ts +32 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +204 -0
- package/dist/client.js.map +1 -0
- package/dist/deferred.d.ts +90 -0
- package/dist/deferred.d.ts.map +1 -0
- package/dist/deferred.js +310 -0
- package/dist/deferred.js.map +1 -0
- package/dist/dev-error.d.ts +17 -0
- package/dist/dev-error.d.ts.map +1 -0
- package/dist/dev-error.js +59 -0
- package/dist/dev-error.js.map +1 -0
- package/dist/dev.d.ts +25 -0
- package/dist/dev.d.ts.map +1 -0
- package/dist/dev.js +83 -0
- package/dist/dev.js.map +1 -0
- package/dist/draft.d.ts +58 -0
- package/dist/draft.d.ts.map +1 -0
- package/dist/draft.js +55 -0
- package/dist/draft.js.map +1 -0
- package/dist/fonts-google.d.ts +109 -0
- package/dist/fonts-google.d.ts.map +1 -0
- package/dist/fonts-google.js +291 -0
- package/dist/fonts-google.js.map +1 -0
- package/dist/fonts.d.ts +67 -0
- package/dist/fonts.d.ts.map +1 -0
- package/dist/fonts.js +103 -0
- package/dist/fonts.js.map +1 -0
- package/dist/fs.d.ts +10 -0
- package/dist/fs.d.ts.map +1 -0
- package/dist/fs.js +24 -0
- package/dist/fs.js.map +1 -0
- package/dist/index.d.ts +280 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +784 -0
- package/dist/index.js.map +1 -0
- package/dist/islands.d.ts +37 -0
- package/dist/islands.d.ts.map +1 -0
- package/dist/islands.js +107 -0
- package/dist/islands.js.map +1 -0
- package/dist/isr.d.ts +154 -0
- package/dist/isr.d.ts.map +1 -0
- package/dist/isr.js +331 -0
- package/dist/isr.js.map +1 -0
- package/dist/manifest.d.ts +178 -0
- package/dist/manifest.d.ts.map +1 -0
- package/dist/manifest.js +213 -0
- package/dist/manifest.js.map +1 -0
- package/dist/plugins/css-modules.d.ts +40 -0
- package/dist/plugins/css-modules.d.ts.map +1 -0
- package/dist/plugins/css-modules.js +0 -0
- package/dist/plugins/css-modules.js.map +1 -0
- package/dist/plugins/kit.d.ts +44 -0
- package/dist/plugins/kit.d.ts.map +1 -0
- package/dist/plugins/kit.js +105 -0
- package/dist/plugins/kit.js.map +1 -0
- package/dist/plugins/scss.d.ts +27 -0
- package/dist/plugins/scss.d.ts.map +1 -0
- package/dist/plugins/scss.js +78 -0
- package/dist/plugins/scss.js.map +1 -0
- package/dist/prerender.d.ts +77 -0
- package/dist/prerender.d.ts.map +1 -0
- package/dist/prerender.js +139 -0
- package/dist/prerender.js.map +1 -0
- package/dist/query.d.ts +62 -0
- package/dist/query.d.ts.map +1 -0
- package/dist/query.js +184 -0
- package/dist/query.js.map +1 -0
- package/dist/router.d.ts +169 -0
- package/dist/router.d.ts.map +1 -0
- package/dist/router.js +531 -0
- package/dist/router.js.map +1 -0
- package/dist/vite.d.ts +49 -0
- package/dist/vite.d.ts.map +1 -0
- package/dist/vite.js +144 -0
- package/dist/vite.js.map +1 -0
- package/package.json +127 -0
- package/src/build.ts +375 -0
- package/src/client.ts +218 -0
- package/src/deferred.ts +339 -0
- package/src/dev-error.ts +62 -0
- package/src/dev.ts +108 -0
- package/src/draft.ts +82 -0
- package/src/fonts-google.ts +397 -0
- package/src/fonts.ts +147 -0
- package/src/fs.ts +26 -0
- package/src/index.ts +1202 -0
- package/src/islands.ts +121 -0
- package/src/isr.ts +461 -0
- package/src/manifest.ts +366 -0
- package/src/plugins/css-modules.ts +0 -0
- package/src/plugins/kit.ts +123 -0
- package/src/plugins/scss.ts +108 -0
- package/src/prerender.ts +209 -0
- package/src/query.ts +250 -0
- package/src/router.ts +676 -0
- package/src/vite.ts +212 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @nifrajs/web/islands — the framework-agnostic islands client runtime.
|
|
3
|
+
*
|
|
4
|
+
* An "island" is a server-rendered `<nifra-island>` element whose interactivity is mounted by a small
|
|
5
|
+
* **plain-DOM** enhancer instead of a framework runtime. On a route that opts out of full-document
|
|
6
|
+
* hydration (`export const hydrate = false`), the page ships **zero** framework JS; only the island
|
|
7
|
+
* bundle (this runtime + your enhancers) loads. This variant ships ~99% less client JS than full
|
|
8
|
+
* React hydration on a mostly-static page — the framework runtime is the cost, and islands skip it
|
|
9
|
+
* entirely here.
|
|
10
|
+
*
|
|
11
|
+
* Server side: render the marker with `@nifrajs/web-react`'s `<Island>` (or any framework's host element
|
|
12
|
+
* `<nifra-island data-id data-strategy data-props>`). Props are JSON-encoded inline in `data-props`
|
|
13
|
+
* (attribute-escaped by the framework) — no central registry, so concurrent SSR renders never share
|
|
14
|
+
* state. Client side: bundle one entry that calls `mountIslands({ <id>: enhancer })` and load it via
|
|
15
|
+
* the route's `islandScripts`.
|
|
16
|
+
*/
|
|
17
|
+
/** When an island's enhancer runs. Default `load`. */
|
|
18
|
+
export type IslandStrategy = "load" | "idle" | "visible";
|
|
19
|
+
/** Optional teardown an enhancer returns (remove listeners/observers); run on `dispose()`. */
|
|
20
|
+
export type IslandCleanup = () => void;
|
|
21
|
+
/**
|
|
22
|
+
* Enhances one island element with its (typed) props. Return a cleanup function to tear down on
|
|
23
|
+
* `dispose()` (listeners, observers) — optional; an enhancer with nothing to clean up returns nothing.
|
|
24
|
+
* The `void` member is the no-cleanup case, the same shape as React's `EffectCallback`.
|
|
25
|
+
*/
|
|
26
|
+
export type IslandEnhancer<P = unknown> = (el: HTMLElement, props: P) => IslandCleanup | void;
|
|
27
|
+
/**
|
|
28
|
+
* Find every `<nifra-island data-id>` under `root` (default `document`) and enhance each with the
|
|
29
|
+
* matching enhancer, honoring its `data-strategy`. An island whose `id` has no enhancer is left as
|
|
30
|
+
* inert SSR HTML (forward-compatible). An enhancer that throws is isolated — it never blocks the
|
|
31
|
+
* others (each island is independent). Returns a disposer that cancels pending triggers and runs every
|
|
32
|
+
* enhancer's cleanup (call it on soft-nav teardown; harmless if your app never navigates).
|
|
33
|
+
*/
|
|
34
|
+
export declare function mountIslands(enhancers: Readonly<Record<string, IslandEnhancer>>, options?: {
|
|
35
|
+
readonly root?: ParentNode;
|
|
36
|
+
}): () => void;
|
|
37
|
+
//# sourceMappingURL=islands.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"islands.d.ts","sourceRoot":"","sources":["../src/islands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,sDAAsD;AACtD,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;AAExD,8FAA8F;AAC9F,MAAM,MAAM,aAAa,GAAG,MAAM,IAAI,CAAA;AAEtC;;;;GAIG;AAEH,MAAM,MAAM,cAAc,CAAC,CAAC,GAAG,OAAO,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,KAAK,aAAa,GAAG,IAAI,CAAA;AAiD7F;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,EACnD,OAAO,GAAE;IAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAA;CAAO,GAC3C,MAAM,IAAI,CAgCZ"}
|
package/dist/islands.js
ADDED
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @nifrajs/web/islands — the framework-agnostic islands client runtime.
|
|
3
|
+
*
|
|
4
|
+
* An "island" is a server-rendered `<nifra-island>` element whose interactivity is mounted by a small
|
|
5
|
+
* **plain-DOM** enhancer instead of a framework runtime. On a route that opts out of full-document
|
|
6
|
+
* hydration (`export const hydrate = false`), the page ships **zero** framework JS; only the island
|
|
7
|
+
* bundle (this runtime + your enhancers) loads. This variant ships ~99% less client JS than full
|
|
8
|
+
* React hydration on a mostly-static page — the framework runtime is the cost, and islands skip it
|
|
9
|
+
* entirely here.
|
|
10
|
+
*
|
|
11
|
+
* Server side: render the marker with `@nifrajs/web-react`'s `<Island>` (or any framework's host element
|
|
12
|
+
* `<nifra-island data-id data-strategy data-props>`). Props are JSON-encoded inline in `data-props`
|
|
13
|
+
* (attribute-escaped by the framework) — no central registry, so concurrent SSR renders never share
|
|
14
|
+
* state. Client side: bundle one entry that calls `mountIslands({ <id>: enhancer })` and load it via
|
|
15
|
+
* the route's `islandScripts`.
|
|
16
|
+
*/
|
|
17
|
+
const NOOP = () => { };
|
|
18
|
+
/** Parse an island's inline `data-props` JSON; malformed/absent → `undefined` (never throws). */
|
|
19
|
+
function readProps(el) {
|
|
20
|
+
const raw = el.dataset.props;
|
|
21
|
+
if (raw === undefined || raw === "")
|
|
22
|
+
return undefined;
|
|
23
|
+
try {
|
|
24
|
+
return JSON.parse(raw);
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
return undefined;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
/** Run `run` per the island's strategy; returns a disposer that cancels a not-yet-fired trigger. */
|
|
31
|
+
function whenStrategy(el, strategy, run) {
|
|
32
|
+
if (strategy === "idle") {
|
|
33
|
+
const ric = globalThis.requestIdleCallback;
|
|
34
|
+
if (ric === undefined) {
|
|
35
|
+
const t = setTimeout(run, 1);
|
|
36
|
+
return () => clearTimeout(t);
|
|
37
|
+
}
|
|
38
|
+
const handle = ric(run);
|
|
39
|
+
return () => globalThis.cancelIdleCallback?.(handle);
|
|
40
|
+
}
|
|
41
|
+
if (strategy === "visible") {
|
|
42
|
+
// No IntersectionObserver (old engine / SSR smoke) → degrade to immediate, never skip the island.
|
|
43
|
+
if (typeof IntersectionObserver === "undefined") {
|
|
44
|
+
run();
|
|
45
|
+
return NOOP;
|
|
46
|
+
}
|
|
47
|
+
const io = new IntersectionObserver((entries, obs) => {
|
|
48
|
+
for (const entry of entries) {
|
|
49
|
+
if (entry.isIntersecting) {
|
|
50
|
+
obs.disconnect();
|
|
51
|
+
run();
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
io.observe(el);
|
|
57
|
+
return () => io.disconnect();
|
|
58
|
+
}
|
|
59
|
+
// "load" (and any unknown value) → run immediately on mount.
|
|
60
|
+
run();
|
|
61
|
+
return NOOP;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Find every `<nifra-island data-id>` under `root` (default `document`) and enhance each with the
|
|
65
|
+
* matching enhancer, honoring its `data-strategy`. An island whose `id` has no enhancer is left as
|
|
66
|
+
* inert SSR HTML (forward-compatible). An enhancer that throws is isolated — it never blocks the
|
|
67
|
+
* others (each island is independent). Returns a disposer that cancels pending triggers and runs every
|
|
68
|
+
* enhancer's cleanup (call it on soft-nav teardown; harmless if your app never navigates).
|
|
69
|
+
*/
|
|
70
|
+
export function mountIslands(enhancers, options = {}) {
|
|
71
|
+
const root = options.root ?? document;
|
|
72
|
+
const disposers = [];
|
|
73
|
+
for (const el of root.querySelectorAll("nifra-island[data-id]")) {
|
|
74
|
+
const id = el.dataset.id;
|
|
75
|
+
if (id === undefined)
|
|
76
|
+
continue;
|
|
77
|
+
const enhancer = enhancers[id];
|
|
78
|
+
if (enhancer === undefined)
|
|
79
|
+
continue; // no enhancer for this id → leave it as inert SSR markup
|
|
80
|
+
const props = readProps(el);
|
|
81
|
+
const strategyAttr = el.dataset.strategy;
|
|
82
|
+
const strategy = strategyAttr === "idle" || strategyAttr === "visible" ? strategyAttr : "load";
|
|
83
|
+
const run = () => {
|
|
84
|
+
try {
|
|
85
|
+
const cleanup = enhancer(el, props);
|
|
86
|
+
if (typeof cleanup === "function")
|
|
87
|
+
disposers.push(cleanup);
|
|
88
|
+
}
|
|
89
|
+
catch (err) {
|
|
90
|
+
// One island's failure must not take down the others; surface it without throwing.
|
|
91
|
+
console.error(`[nifra/islands] enhancer "${id}" failed:`, err);
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
disposers.push(whenStrategy(el, strategy, run));
|
|
95
|
+
}
|
|
96
|
+
return () => {
|
|
97
|
+
for (const dispose of disposers) {
|
|
98
|
+
try {
|
|
99
|
+
dispose();
|
|
100
|
+
}
|
|
101
|
+
catch {
|
|
102
|
+
// best-effort teardown — a failing cleanup must not block the rest
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=islands.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"islands.js","sourceRoot":"","sources":["../src/islands.ts"],"names":[],"mappings":"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"}
|
package/dist/isr.d.ts
ADDED
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
/** A cached SSR response — the bytes + metadata a {@link CacheStore} persists. */
|
|
2
|
+
export interface CachedResponse {
|
|
3
|
+
/** The rendered document (UTF-8 HTML, fully buffered). */
|
|
4
|
+
readonly body: string;
|
|
5
|
+
readonly status: number;
|
|
6
|
+
/** Response headers to replay (e.g. `content-type`). */
|
|
7
|
+
readonly headers: Readonly<Record<string, string>>;
|
|
8
|
+
/** When this entry was stored, via the injected clock (ms epoch). */
|
|
9
|
+
readonly storedAt: number;
|
|
10
|
+
/** Freshness window (ms): `now - storedAt >= revalidate` ⇒ stale (serve it, regenerate behind it). */
|
|
11
|
+
readonly revalidate: number;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Pluggable ISR cache backend. **Production deploys MUST use a shared/durable store** (Workers KV,
|
|
15
|
+
* Redis, the platform Cache API) so cached pages *and* revalidation hold across instances;
|
|
16
|
+
* {@link MemoryCacheStore} is dev / single-instance only. Implementations are async so a network store
|
|
17
|
+
* (KV/Redis) fits the same interface.
|
|
18
|
+
*/
|
|
19
|
+
export interface CacheStore {
|
|
20
|
+
/** The cached entry for `key`, or `undefined` on a miss. */
|
|
21
|
+
get(key: string): Promise<CachedResponse | undefined>;
|
|
22
|
+
/** Store (or overwrite) the entry for `key`. */
|
|
23
|
+
set(key: string, value: CachedResponse): Promise<void>;
|
|
24
|
+
/** Drop `key` (on-demand revalidation / purge). A no-op if absent. */
|
|
25
|
+
delete(key: string): Promise<void>;
|
|
26
|
+
}
|
|
27
|
+
export interface MemoryCacheStoreOptions {
|
|
28
|
+
/** Allow the in-memory store in production. Off by default — per-instance caching means revalidation
|
|
29
|
+
* won't propagate across instances and each instance caches separately. */
|
|
30
|
+
readonly allowInProduction?: boolean;
|
|
31
|
+
/** Hard cap on entries; the least-recently-used is evicted past it (default 500). */
|
|
32
|
+
readonly max?: number;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* In-process ISR cache. Refuses to run in production unless explicitly allowed (mirrors the
|
|
36
|
+
* rate-limit `MemoryStore` — a per-instance cache is unsafe across instances). Bounded **LRU**: a
|
|
37
|
+
* read or write bumps the entry, so the least-recently-used evicts past `max` (a hot, frequently-read
|
|
38
|
+
* page survives a burst of new pages).
|
|
39
|
+
*/
|
|
40
|
+
export declare class MemoryCacheStore implements CacheStore {
|
|
41
|
+
private readonly cache;
|
|
42
|
+
private readonly max;
|
|
43
|
+
constructor(options?: MemoryCacheStoreOptions);
|
|
44
|
+
get(key: string): Promise<CachedResponse | undefined>;
|
|
45
|
+
set(key: string, value: CachedResponse): Promise<void>;
|
|
46
|
+
delete(key: string): Promise<void>;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Minimal structural shape of a Cloudflare Workers **KV namespace** binding — just the three methods
|
|
50
|
+
* {@link KVCacheStore} uses. Structural (not a dependency on `@cloudflare/workers-types`) so any
|
|
51
|
+
* KV-like binding satisfies it and tests can pass an in-memory double.
|
|
52
|
+
*/
|
|
53
|
+
export interface KVNamespaceLike {
|
|
54
|
+
/** Read a stored string value, or `null` on a miss (Cloudflare's `KVNamespace.get(key)` default). */
|
|
55
|
+
get(key: string): Promise<string | null>;
|
|
56
|
+
/** Write a string value, optionally with a TTL (**seconds**). */
|
|
57
|
+
put(key: string, value: string, options?: {
|
|
58
|
+
readonly expirationTtl?: number;
|
|
59
|
+
}): Promise<void>;
|
|
60
|
+
/** Delete a key (a no-op if absent). */
|
|
61
|
+
delete(key: string): Promise<void>;
|
|
62
|
+
}
|
|
63
|
+
export interface KVCacheStoreOptions {
|
|
64
|
+
/**
|
|
65
|
+
* GC backstop (**seconds**) written as the KV entry's `expirationTtl`, so abandoned entries
|
|
66
|
+
* eventually evict. MUST exceed your longest `revalidate` window — otherwise KV expiry turns a
|
|
67
|
+
* stale-while-revalidate into a *blocking* miss (the entry vanishes instead of being served stale
|
|
68
|
+
* while it regenerates) — and be ≥ 60 (Cloudflare KV's minimum). Omit ⇒ entries persist until
|
|
69
|
+
* overwritten on regeneration or purged via `revalidateEndpoint`.
|
|
70
|
+
*/
|
|
71
|
+
readonly expirationTtl?: number;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* A {@link CacheStore} backed by a **Cloudflare Workers KV** namespace (or any {@link KVNamespaceLike}
|
|
75
|
+
* binding) — the production-grade shared/durable store ISR wants: cached pages and on-demand purges
|
|
76
|
+
* hold *across* worker instances (unlike the per-instance {@link MemoryCacheStore}). Entries serialize
|
|
77
|
+
* to JSON; every read is validated before it's trusted (a malformed/version-skewed entry is treated as
|
|
78
|
+
* a miss). Construct it in your Workers `fetch` from the binding: `new KVCacheStore(env.ISR_CACHE)`.
|
|
79
|
+
*/
|
|
80
|
+
export declare class KVCacheStore implements CacheStore {
|
|
81
|
+
private readonly kv;
|
|
82
|
+
private readonly putOptions;
|
|
83
|
+
constructor(kv: KVNamespaceLike, options?: KVCacheStoreOptions);
|
|
84
|
+
get(key: string): Promise<CachedResponse | undefined>;
|
|
85
|
+
set(key: string, value: CachedResponse): Promise<void>;
|
|
86
|
+
delete(key: string): Promise<void>;
|
|
87
|
+
}
|
|
88
|
+
/** Minimal platform shape `withISR` needs — just `waitUntil` (edge runtimes extend the response
|
|
89
|
+
* lifetime so background regeneration finishes). Off-edge it's absent and regen runs fire-and-forget. */
|
|
90
|
+
export interface ISRPlatform {
|
|
91
|
+
readonly waitUntil?: (promise: Promise<unknown>) => void;
|
|
92
|
+
}
|
|
93
|
+
/** The app `withISR` wraps — anything with a `fetch(req, platform?)` (a `createWebApp` result). */
|
|
94
|
+
export interface ISRApp {
|
|
95
|
+
fetch(req: Request, platform?: ISRPlatform): Response | Promise<Response>;
|
|
96
|
+
}
|
|
97
|
+
/** Response header marking how an ISR response was served: a cache `hit` (fresh), `stale` (served +
|
|
98
|
+
* regenerating behind it), or `miss` (rendered now + stored). Useful for debugging + tests. */
|
|
99
|
+
export declare const ISR_STATUS_HEADER = "x-nifra-isr";
|
|
100
|
+
/**
|
|
101
|
+
* Response header a route uses to advertise its ISR freshness (**seconds**) to a {@link withISR}
|
|
102
|
+
* wrapper — `createWebApp` emits it from a route's `export const revalidate`. Deliberately distinct
|
|
103
|
+
* from the action-revalidation `x-nifra-revalidate` header (a CSV path list the *client* parses to
|
|
104
|
+
* refetch): this one is an integer TTL the *wrapper* reads, so the two channels never alias.
|
|
105
|
+
*/
|
|
106
|
+
export declare const ISR_REVALIDATE_HEADER = "x-nifra-isr-revalidate";
|
|
107
|
+
export interface ISROptions {
|
|
108
|
+
readonly store: CacheStore;
|
|
109
|
+
/** Default freshness window (**seconds**) for a cached page; older ⇒ stale (served, regenerated
|
|
110
|
+
* behind). A route overrides it per-page via `export const revalidate` (surfaced as the
|
|
111
|
+
* `x-nifra-isr-revalidate` response header). */
|
|
112
|
+
readonly revalidate: number;
|
|
113
|
+
/** Monotonic clock (ms) — injected for testability; production passes `() => Date.now()`. */
|
|
114
|
+
readonly now: () => number;
|
|
115
|
+
/** Cache key for a request. Default: `origin + pathname + search` so host-routed apps do not share
|
|
116
|
+
* entries across tenants. Return `null` to bypass the cache for this request (it goes straight to the
|
|
117
|
+
* app, uncached). */
|
|
118
|
+
readonly key?: (req: Request) => string | null;
|
|
119
|
+
/** Draft/preview secret (the same one given to `createWebApp({ draftSecret })` + `enableDraft`). When
|
|
120
|
+
* set, a request carrying a valid signed draft cookie **bypasses the cache** — editors always render
|
|
121
|
+
* fresh, and a draft render is never written to the store (it can't poison the public cache). */
|
|
122
|
+
readonly draftSecret?: string;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Wrap a nifra app with **Incremental Static Regeneration**: a cacheable page is served from
|
|
126
|
+
* {@link CacheStore} when fresh, served **stale while a fresh copy regenerates in the background**
|
|
127
|
+
* (`platform.waitUntil` on edge), or rendered + stored on a miss. Framework-agnostic (it caches the
|
|
128
|
+
* rendered bytes). Returns a `fetch(req, platform?)` handler — hand it to `Bun.serve`/the Workers
|
|
129
|
+
* `export default`, etc. Regeneration is single-flight per key (no stampede on a hot stale page).
|
|
130
|
+
*
|
|
131
|
+
* Each route's freshness comes from the `revalidate` header the app sets (per-route
|
|
132
|
+
* `export const revalidate`), falling back to `options.revalidate`. Only full-document `text/html`
|
|
133
|
+
* GET 200s are cached; everything else (assets, data-mode GETs, redirects, errors) passes through.
|
|
134
|
+
*/
|
|
135
|
+
export declare function withISR(app: ISRApp, options: ISROptions): (req: Request, platform?: ISRPlatform) => Promise<Response>;
|
|
136
|
+
export interface RevalidateEndpointOptions {
|
|
137
|
+
readonly store: CacheStore;
|
|
138
|
+
/** Shared secret; the request's token must match it (constant-time). */
|
|
139
|
+
readonly secret: string;
|
|
140
|
+
/** Header carrying the secret. Default `x-nifra-revalidate-token`. */
|
|
141
|
+
readonly tokenHeader?: string;
|
|
142
|
+
/** Map a to-purge path → its cache key — MUST match the `withISR` `key` fn. The default uses the
|
|
143
|
+
* revalidation request's origin plus the purged path, matching `withISR`'s default host-aware key. */
|
|
144
|
+
readonly key?: (path: string, req: Request) => string;
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* An **on-demand revalidation** (purge) endpoint — a `fetch` handler that drops a path's cached entry
|
|
148
|
+
* so the next request re-renders. `POST` with the secret in the token header and the path as `?path=`
|
|
149
|
+
* or a JSON `{ "path": "/blog/x" }` body. The token is checked in **constant time** (wrong/missing →
|
|
150
|
+
* `401`); a missing/relative path → `400`; non-POST → `405`. Mount it on a nifra route, e.g.
|
|
151
|
+
* `app.post("/__nifra/revalidate", (c) => handler(c.req))`.
|
|
152
|
+
*/
|
|
153
|
+
export declare function revalidateEndpoint(options: RevalidateEndpointOptions): (req: Request) => Promise<Response>;
|
|
154
|
+
//# sourceMappingURL=isr.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isr.d.ts","sourceRoot":"","sources":["../src/isr.ts"],"names":[],"mappings":"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"}
|