Official plugins

A plugin's only job is to extend the Pilet API, and plugins live only in the app shell — see PiralPlugin for what that means. Each plugin below adds typed methods to the api object every pilet receives; none of them is required to have a capability, they just expose it to pilets.

There are two tiers of official plugins:

  • Standard plugins — bundled in the piral-ext package, which ships as part of the all-in-one piral package. If you scaffolded with piral, these are already available.
  • Additional official plugins — developed and published from the Piral monorepo but installed individually. Add them when you need them (and register them explicitly on piral-core).

Install a plugin in the app shell and add its factory to createInstance({ plugins: [...] }). Each plugin then surfaces its methods on PiletApi, fully typed.

Standard plugins

These ship in piral-ext and are included with the piral package. On piral-core, install and register the ones you want.

PackageAdds to the Pilet APIPurpose
piral-menuregisterMenuNavigation entries rendered into named menu zones (<Menu type="…" />).
piral-notificationsshowNotificationToast notifications (<Notifications />).
piral-modalsregisterModal, showModalNamed modal dialogs (<Modals />).
piral-dashboardregisterTileTiles on a dashboard page.
piral-feedscreateConnectorReactive data connectors with loading/refresh handling.
piral-translatetranslate, setTranslationsLocalization / i18n for pilets.

Additional official plugins

All of these are official (developed in the Piral monorepo); install and register them as needed.

App & UX features

PackagePurpose
piral-formsManaged form state for pilet forms.
piral-searchGlobal search providers contributed by pilets.
piral-breadcrumbsBreadcrumb entries contributed by pilets.
piral-updateNotify users when pilets have updates available.
piral-page-layoutsNamed page layouts that pilets can opt into.
piral-containersPer-pilet state containers.
piral-trackingUser activity / interaction tracking hooks.

Data access

PackagePurpose
piral-fetchA small typed fetch wrapper on the API.
piral-axiosA shared Axios instance on the API.
piral-urqlGraphQL access via urql.

Authentication

PackagePurpose
piral-authGeneric token-based user/session info.
piral-oidcOpenID Connect tokens and flows.
piral-oauth2OAuth 2 tokens and flows.
piral-adalMicrosoft Entra ID / Azure AD tokens.
Auth plugins only surface tokens

As described in PiralPlugin, these plugins exist purely to bring tokens (and related helpers) to the Pilet API. You do not need any of them to implement authentication — the app shell can authenticate on its own. Add one only when pilets should consume tokens through the API. See Authentication.

State & performance

PackagePurpose
piral-reduxRedux store integration.
piral-lazyLazily load pilets and resources.
piral-millionMillion.js integration for faster React rendering.

Framework converters

Converters let a pilet be written in a framework other than React. A converter is not installed as a shell plugin — the pilet imports it from the converter's standalone /convert submodule (e.g. piral-svelte/convert) and wraps its components with the matching from… helper. See Multi-framework pilets and Creating a converter.

PackageFramework
piral-ngAngular
piral-ngjsAngularJS (1.x)
piral-vueVue 2
piral-vue-3Vue 3
piral-reactReact (isolated/secondary React version)
piral-react-15React 15
piral-preactPreact
piral-solidSolid
piral-svelteSvelte
piral-litelLit / LitElement
piral-mithrilMithril
piral-hyperappHyperapp
piral-aureliaAurelia
piral-infernoInferno
piral-riotRiot
piral-cycleCycle.js
piral-elmElm
piral-emberEmber
piral-blazorBlazor / .NET (Piral.Blazor)

Plain web components need no converter — a custom element is already a DOM element, so it can be used directly.

Tooling packages (not Pilet API plugins)

Some official piral-* packages are not Pilet API plugins and don't belong in createInstance:

  • Bundler & CLI pluginspiral-cli-webpack5, piral-cli-esbuild, piral-cli-rspack, piral-cli-vite, piral-cli-parcel2, piral-cli-xbuild, plus helpers like piral-cli-local-feed and piral-cli-dotenv. These extend the CLI; see the CLI reference.
  • Utility libraries — e.g. piral-ssr-utils, piral-hooks-utils, piral-systemjs-utils. These are plain helper libraries you import where needed.

Finding the complete, current list

New plugins are added over time. The authoritative, always-up-to-date list is the src/plugins and src/converters folders in the Piral monorepo, and the piral-* packages published on npm.