사이트의 플러그인 업그레이드

이 페이지

이 가이드는 사이트 운영자를 위한 것입니다: 사이트에 플러그인을 설치하는 사람들. 플러그인을 작성하는 경우 대신 플러그인 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-registry 바이너리와 함께 @emdash-cms/registry-cli로 제공했습니다.

패키지는 이제 @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에서 import 주변의 중괄호와 플러그인 이름 뒤의 ()를 제거합니다.

다음 예제는 인프로세스로 실행되며 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],
		}),
	],
});

다른 패키지에도 동일한 두 가지 편집을 적용합니다. @emdash-cms/plugin-atproto@emdash-cms/plugin-webhook-notifier는 샌드박스 플러그인이므로 plugins: 대신 sandboxed:에 들어갑니다. import 변경은 동일합니다.

패키지기본 내보내기 바인딩
@emdash-cms/plugin-audit-logauditLog
@emdash-cms/plugin-webhook-notifierwebhookNotifier
@emdash-cms/plugin-atprotoatproto

업그레이드 후

타사 플러그인이 여전히 명명된 내보내기와 팩토리 호출을 제공하는 경우 이 릴리스에 대해 업데이트되지 않은 것입니다. changelog를 확인하세요. 위에 나열된 모든 퍼스트파티 플러그인은 기본 내보내기 형식을 사용합니다.