Incremental regeneration and caching
The web page contract accepts render: 'isr', revalidate and loader cache
metadata. The RC does not export an @tagna/udiot/isr entry point.
Do not import internal ISRManager, ISRCache, or ISRRevalidator classes
as npm APIs.
import assert from 'node:assert/strict';
import { definePage } from '@tagna/udiot/web';
const page = definePage({
route: '/news',
render: 'isr',
revalidate: 60,
loader: async () => ({ props: { title: 'News' } }),
});
assert.equal(page.render, 'isr');
This checks the page definition only. It is not a guarantee of background regeneration, shared cache coherence, persistence across restarts, or a stale content service-level objective. Test those behaviors with the actual web server/build integration before relying on them.
For application caching, use the public caching layer or the Express cache helper. Keep tenant/host variants separated. Responses to credentialed or query-bearing requests, private/cache-restricted responses, cookies and varied responses must not be shared across users. Review the cache policy for your deployment.
See rendering options and deployment.