이 가이드는 사이트 운영자를 위한 것입니다: 사이트에 플러그인을 설치하는 사람들. 플러그인을 작성하는 경우 대신 플러그인 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-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에서 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-log | auditLog |
@emdash-cms/plugin-webhook-notifier | webhookNotifier |
@emdash-cms/plugin-atproto | atproto |
업그레이드 후
타사 플러그인이 여전히 명명된 내보내기와 팩토리 호출을 제공하는 경우 이 릴리스에 대해 업데이트되지 않은 것입니다. changelog를 확인하세요. 위에 나열된 모든 퍼스트파티 플러그인은 기본 내보내기 형식을 사용합니다.