ResilientLang docsDeveloper documentation (draft, product name is a placeholder)

Netlify

A local build plugin; it is not in the Netlify plugin directory. Copy integrations/ci, tools/cli, packages/sdk-js and a built packages/static-prerender into the repository (or set RL_PRERENDER), then follow netlify-plugin/netlify.toml.example.

What it does#

onPostBuild takes the publish directory and:

  1. runs rl pull: the signed bundle from the delivery origin, with the Ed25519 manifest signature mandatory, the SHA-256 of every file and refusal of rollbacks, into .rl-cache/bundle;
  2. runs rl-prerender run: translated copies with absolute reciprocal hreflang and x-default, a canonical link and the loader tag (see Framework and static-site SDKs);
  3. runs rl-prerender check.

Any failure calls failBuild, so the deploy does not happen. onPreBuild and onPostBuild restore and save the cache folder, so a build still works while the CDN is down (the cached bundle is verified again). No API key is used; the inputs are public values, and the same names exist as RL_* environment variables.

Settings#

Required: sourceLanguage, siteUrl, bundleBase, siteKey, publicKey. Optional: languages, loaderUrl, buildDir, hydration, minVersion, minCoverage, sitemap, cacheDir, onBundleError (fail is the default; warn deploys the source language when no origin answers and no cache exists, and an integrity failure is never downgraded).

Caution. onBundleError=warn publishes a build without the translated pages of earlier deploys.

verify the plugin manifest and input syntax and utils.cache in the Netlify documentation. Nothing was run on Netlify.