サイト上のプラグインのアップグレード

このページ

このガイドはサイト運営者向けです:サイトにプラグインをインストールする人々。プラグインを作成する場合は、代わりにプラグインCLIへの移行を参照してください。

依存関係の更新

emdashとプラグインパッケージを最新バージョンに更新し、再インストールして再ビルドします:

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

アップグレード後、サイトはさらなる変更なしにビルドして実行できる場合があります。ビルドが失敗するか、プラグインの読み込みが停止した場合は、以下の破壊的変更を確認してください。それぞれが正確に何を変更すればよいかを示しています。

各パッケージの変更の完全なリストについては、EmDash changelogの該当エントリを参照してください。

破壊的変更

名称変更:@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-registryemdash-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で、インポート周りの波括弧とプラグイン名の後の()を削除します。

次の例は、インプロセスで実行されplugins:に入る@emdash-cms/plugin-audit-logの変更を示しています:

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],
		}),
	],
});

他のパッケージにも同じ2つの編集を適用します。@emdash-cms/plugin-atproto@emdash-cms/plugin-webhook-notifierはサンドボックス化されたプラグインなので、plugins:の代わりにsandboxed:に入ります。インポートの変更は同じです。

パッケージデフォルトエクスポートバインディング
@emdash-cms/plugin-audit-logauditLog
@emdash-cms/plugin-webhook-notifierwebhookNotifier
@emdash-cms/plugin-atprotoatproto

アップグレード後

サードパーティプラグインがまだ名前付きエクスポートとファクトリー呼び出しを提供している場合、このリリースでは更新されていません。そのchangelogを確認してください。上記のすべてのファーストパーティプラグインは、デフォルトエクスポート形式を使用しています。