Atualizando plugins no seu site

Nesta página

Este guia é para operadores de sites: pessoas que instalam plugins em um site. Se você escreve plugins, consulte Migrando para a CLI de plugins em vez disso.

Atualize suas dependências

Atualize o emdash e seus pacotes de plugins para suas versões mais recentes, depois reinstale e reconstrua:

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

Após a atualização, seu site pode compilar e executar sem outras alterações. Se a compilação falhar ou um plugin parar de carregar, trabalhe através das alterações importantes abaixo. Cada uma informa exatamente o que mudar.

Para a lista completa de alterações em cada pacote, consulte sua entrada no changelog do EmDash.

Alterações importantes

Renomeado: @emdash-cms/registry-cli agora é @emdash-cms/plugin-cli

Versões anteriores forneciam a CLI do registro de plugins como @emdash-cms/registry-cli, com um binário emdash-registry.

O pacote agora é @emdash-cms/plugin-cli e o binário é emdash-plugin. O pacote antigo não é mais publicado.

Você só tem essa dependência se publicar plugins ou executar comandos de registro do seu repositório do site. A maioria dos sites que apenas instalam plugins nunca a teve.

O que devo fazer?

Substitua o pacote:

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

Atualize quaisquer scripts package.json que chamem o binário antigo, substituindo emdash-registry por 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

Alterado: plugins publicados usam uma exportação padrão

Versões anteriores expunham plugins de primeira parte como uma exportação nomeada e uma chamada de fábrica, por exemplo import { auditLogPlugin } from "@emdash-cms/plugin-audit-log" usado como auditLogPlugin().

Esses plugins agora fornecem uma exportação padrão que você passa diretamente para plugins: ou sandboxed:. Não há chamada de fábrica. Isso afeta @emdash-cms/plugin-audit-log, @emdash-cms/plugin-webhook-notifier e @emdash-cms/plugin-atproto.

O que devo fazer?

Em astro.config.mjs, remova as chaves ao redor da importação e os () após o nome do plugin.

O exemplo a seguir mostra a alteração para @emdash-cms/plugin-audit-log, que executa em processo e vai em 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],
		}),
	],
});

Aplique as mesmas duas edições aos outros pacotes. @emdash-cms/plugin-atproto e @emdash-cms/plugin-webhook-notifier são plugins em sandbox, portanto vão em sandboxed: em vez de plugins:; a alteração de importação é idêntica.

PacoteVinculação de exportação padrão
@emdash-cms/plugin-audit-logauditLog
@emdash-cms/plugin-webhook-notifierwebhookNotifier
@emdash-cms/plugin-atprotoatproto

Após a atualização

Se um plugin de terceiros ainda fornecer uma exportação nomeada e chamada de fábrica, ele não foi atualizado para esta versão. Verifique seu changelog. Todos os plugins de primeira parte listados acima usam a forma de exportação padrão.