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.
| Pacote | Vinculação de exportação padrão |
|---|---|
@emdash-cms/plugin-audit-log | auditLog |
@emdash-cms/plugin-webhook-notifier | webhookNotifier |
@emdash-cms/plugin-atproto | atproto |
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.