Skip to content
← All release notesImprovedanfra0.11.0

Data App features come from plugins

Queries, exports, lineage and pictures each come from a plugin the host installs, and a page checks for one with `Anfra.plugins.has()`.

Everything a Data App reaches beyond itself comes from a plugin: core runs queries, export adds query.export(), lineage adds Anfra.lineage(), and render adds Anfra.render(). anfra serve installs them all, but another host may install fewer, so check before you offer one:

if (Anfra.plugins.has('export')) showDownloadButton()

A plugin's API is undefined where it isn't installed. Anfra.features still answers, but is deprecated: replace it with Anfra.plugins.has().

For hosts

If you host Data Apps in your own app with @holistics/anfra-sdk, createHost(...).mount(...) replaces mountDataApp and serveBridge, and the corePlugin replaces the Backend option. You can write plugins of your own, with build and testing entrypoints in the SDK.

Full changelog (opens in a new tab)