Docs/renderingv1.0.0-rc.1

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.

From the canonical UDIOT public documentation.Try it in the playground ↗