升級網站上的外掛程式

本頁內容

本指南適用於網站營運者:在網站上安裝外掛程式的人員。如果您撰寫外掛程式,請參閱遷移到外掛程式 CLI

升級您的相依性

emdash 和您的外掛程式套件更新到最新版本,然後重新安裝並重新建置:

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

升級後,您的網站可能無需進一步變更即可建置和執行。如果建置失敗或外掛程式停止載入,請檢視以下的重大變更。每一項都會準確告訴您需要變更什麼。

有關每個套件中變更的完整清單,請參閱 EmDash 變更日誌中的對應項目。

重大變更

重新命名:@emdash-cms/registry-cli 現在是 @emdash-cms/plugin-cli

早期版本將外掛程式登錄 CLI 作為 @emdash-cms/registry-cli 提供,帶有 emdash-registry 二進位檔案。

該套件現在是 @emdash-cms/plugin-cli,二進位檔案是 emdash-plugin。舊套件不再發布。

只有當您發布外掛程式或從網站儲存庫執行登錄指令時,才會有此相依性。大多數只安裝外掛程式的網站從未有過它。

我應該怎麼做?

替換該套件:

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

更新任何呼叫舊二進位檔案的 package.json 指令碼,將 emdash-registry 替換為 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

變更:已發布的外掛程式使用預設匯出

早期版本將第一方外掛程式作為具名匯出和工廠呼叫公開,例如 import { auditLogPlugin } from "@emdash-cms/plugin-audit-log" 用作 auditLogPlugin()

這些外掛程式現在提供一個預設匯出,您可以直接傳遞給 plugins:sandboxed:。沒有工廠呼叫。這影響 @emdash-cms/plugin-audit-log@emdash-cms/plugin-webhook-notifier@emdash-cms/plugin-atproto

我應該怎麼做?

astro.config.mjs 中,刪除匯入周圍的大括號和外掛程式名稱後的 ()

以下範例顯示了 @emdash-cms/plugin-audit-log 的變更,它在程序中執行並放在 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],
		}),
	],
});

對其他套件套用相同的兩個編輯。@emdash-cms/plugin-atproto@emdash-cms/plugin-webhook-notifier 是沙箱外掛程式,所以它們放在 sandboxed: 而不是 plugins: 中;匯入變更是相同的。

套件預設匯出繫結
@emdash-cms/plugin-audit-logauditLog
@emdash-cms/plugin-webhook-notifierwebhookNotifier
@emdash-cms/plugin-atprotoatproto

升級後

如果第三方外掛程式仍然提供具名匯出和工廠呼叫,則它尚未針對此版本進行更新。檢視其變更日誌。上面列出的所有第一方外掛程式都使用預設匯出形式。