Référence Runtime API — rapide
Surface publique utilisée par les plugins et thèmes externes. Tous les exports ci-dessous viennent de — externalisés au build, redirigés au runtime par l'import-map de l'admin vers un stub qui
Surface publique utilisée par les plugins et thèmes externes. Tous les exports ci-dessous viennent de @flexweg/cms-runtime — externalisés au build, redirigés au runtime par l'import-map de l'admin vers un stub qui renvoie l'instance live de l'admin.
Versioning
import {
FLEXWEG_API_VERSION, // version actuelle de l'API runtime
FLEXWEG_API_MIN_VERSION, // plus ancienne version encore supportée
} from "@flexweg/cms-runtime";
apiVersion dans votre manifest.json est comparé à [FLEXWEG_API_MIN_VERSION, FLEXWEG_API_VERSION] à l'installation + à chaque boot. Les bundles hors-range sont skippés avec un warning console.
Le contrat actuel est 1.3.0. Les changements breaking bumpent le major ; les nouveaux champs optionnels bumpent le minor.
pluginApi
import { pluginApi } from "@flexweg/cms-runtime";
Expose les méthodes principales pour enregistrer des comportements :
| Méthode | Description |
|---|---|
addFilter<T>(hook, fn, priority?) |
Enregistre un filtre. fn(value, ...args) => value. Priorité défaut 100. |
addAction(hook, fn, priority?) |
Enregistre une action. fn(...args) => void | Promise<void>. |
applyFilters<T>(hook, value, ...args) |
Lance tous les filtres async pour le hook. |
applyFiltersSync<T>(hook, value, ...args) |
Idem en sync (head.extra, body.end). |
doAction(hook, ...args) |
Lance toutes les actions. |
registerBlock(manifest) |
Bloc d'éditeur Tiptap. |
registerDashboardCard(manifest) |
Carte de tableau de bord. |
registerRegenerationTarget(manifest) |
Entrée du menu Regenerate. |
registerInspectorTab(manifest) |
Onglet Inspecteur. |
registerTermEditorSection(manifest) |
Section dans Termes. |
registerEditorVariantProvider(manifest) |
Onglets de variantes au-dessus de l'éditeur. |
Helpers les plus utilisés
import {
slugify, buildPostUrl, buildTermUrl, canonicalUrl,
uploadFile, deleteFile,
fetchAllPosts, createPost, updatePost,
publishPost, buildPublishContext, publishMenuJson,
renderMarkdown, markdownToPlainText,
mediaToView, pickFormat, pickMediaUrl,
useCmsData, useAuth,
toast, i18n,
} from "@flexweg/cms-runtime";
Voir la référence complète pour la liste exhaustive et les signatures.
Types principaux
import type {
Post, Term, Media, SiteSettings, User,
PublishContext, SiteContext, BaseLayoutProps,
PluginManifest, ThemeManifest, BlockManifest,
RssItem, NewsLocaleEntry, RssLocaleEntry,
} from "@flexweg/cms-runtime";
Voir la référence des types pour les définitions détaillées.
Wave-throughs spécifiques à un backend
Aucun. Tous les CRUD passent par les dispatchers qui routent automatiquement vers Firebase ou SQLite. Votre code ne doit JAMAIS importer depuis firebase/firestore ou services/flexweg-sqlite/* directement — utilisez les exports du runtime.