Mise à jour des plugins sur votre site

Sur cette page

Ce guide est destiné aux opérateurs de sites : les personnes qui installent des plugins sur un site. Si vous écrivez des plugins, consultez plutôt Migration vers la CLI des plugins.

Mettez à jour vos dépendances

Mettez à jour emdash et vos packages de plugins vers leurs dernières versions, puis réinstallez et reconstruisez :

pnpm up emdash @emdash-cms/plugin-audit-log @emdash-cms/plugin-webhook-notifier @emdash-cms/plugin-atproto
pnpm build

Après la mise à jour, votre site peut se construire et s’exécuter sans autres modifications. Si la construction échoue ou qu’un plugin cesse de se charger, parcourez les changements majeurs ci-dessous. Chacun vous indique exactement quoi modifier.

Pour la liste complète des modifications dans chaque package, consultez son entrée dans le journal des modifications EmDash.

Changements majeurs

Renommé : @emdash-cms/registry-cli est maintenant @emdash-cms/plugin-cli

Les versions antérieures livraient la CLI du registre de plugins sous @emdash-cms/registry-cli, avec un binaire emdash-registry.

Le package s’appelle maintenant @emdash-cms/plugin-cli et le binaire est emdash-plugin. L’ancien package n’est plus publié.

Vous n’avez cette dépendance que si vous publiez des plugins ou exécutez des commandes de registre depuis votre dépôt de site. La plupart des sites qui installent uniquement des plugins ne l’ont jamais eue.

Que dois-je faire ?

Remplacez le package :

pnpm remove @emdash-cms/registry-cli
pnpm add -D @emdash-cms/plugin-cli

Mettez à jour tous les scripts package.json qui appellent l’ancien binaire, en remplaçant emdash-registry par emdash-plugin :

emdash-registry publish --url https://example.com/my-plugin-1.0.0.tar.gz
emdash-plugin publish --url https://example.com/my-plugin-1.0.0.tar.gz

Modifié : les plugins publiés utilisent une exportation par défaut

Les versions antérieures exposaient les plugins de première partie comme une exportation nommée et un appel de fabrique, par exemple import { auditLogPlugin } from "@emdash-cms/plugin-audit-log" utilisé comme auditLogPlugin().

Ces plugins fournissent maintenant une exportation par défaut que vous passez directement à plugins: ou sandboxed:. Il n’y a pas d’appel de fabrique. Cela affecte @emdash-cms/plugin-audit-log, @emdash-cms/plugin-webhook-notifier et @emdash-cms/plugin-atproto.

Que dois-je faire ?

Dans astro.config.mjs, supprimez les accolades autour de l’importation et les () après le nom du plugin.

L’exemple suivant montre le changement pour @emdash-cms/plugin-audit-log, qui s’exécute en processus et va dans plugins: :

import { auditLogPlugin } from "@emdash-cms/plugin-audit-log";
import auditLog from "@emdash-cms/plugin-audit-log";

export default defineConfig({
	integrations: [
		emdash({
			plugins: [auditLogPlugin()],
			plugins: [auditLog],
		}),
	],
});

Appliquez les deux mêmes modifications aux autres packages. @emdash-cms/plugin-atproto et @emdash-cms/plugin-webhook-notifier sont des plugins sandboxés, ils vont donc dans sandboxed: au lieu de plugins: ; la modification d’importation est identique.

PackageLiaison d’exportation par défaut
@emdash-cms/plugin-audit-logauditLog
@emdash-cms/plugin-webhook-notifierwebhookNotifier
@emdash-cms/plugin-atprotoatproto

Après la mise à jour

Si un plugin tiers fournit toujours une exportation nommée et un appel de fabrique, il n’a pas été mis à jour pour cette version. Consultez son journal des modifications. Tous les plugins de première partie listés ci-dessus utilisent la forme d’exportation par défaut.