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.
| Package | Liaison d’exportation par défaut |
|---|---|
@emdash-cms/plugin-audit-log | auditLog |
@emdash-cms/plugin-webhook-notifier | webhookNotifier |
@emdash-cms/plugin-atproto | atproto |
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.