Skip to Content
FeaturesCMS SDKv2への移行手順

CMS SDK v2 への移行

このドキュメントでは、CMS SDK v1 から v2 への移行手順と注意点について説明します。

変更点の概要

  • CLI の廃止
  • NextAuth 連携 API のモジュール分離とリネーム
  • @orizm/common 依存を peerDependency から削除

移行手順

CLI の変更

@orizm/cms-sdk に含まれていた CLI コマンド (orizm-cms) は廃止され、@orizm/cli パッケージに統合されました。コマンドを呼び出すプロジェクトで専用の CLI パッケージをインストールし、コマンドを修正してください。

npm install --save-dev @orizm/cli
# 旧 orizm-cms update # 新 orizm push

@orizm/cms-sdk v2 を利用する場合、CLI も v2 を利用する必要があります。 CLI の利用方法の詳細は ドキュメント を参照してください。

NextAuth 連携の変更

NextAuth 連携用の API を import するパスが変更され、リネームされました。また、一部のクラスは廃止されました。

次の変更を行ってください。

OrizmNextAuth.generategenerateOrizmNextAuth に置き換える

// 旧コード import { OrizmNextAuth } from "@orizm/cms-sdk"; const orizmAuth = OrizmNextAuth.generate({ id: "Orizm", name: "Orizm", clientId: env.ORIZM_CLIENT_ID, clientSecret: env.ORIZM_CLIENT_SECRET, projectName: env.NEXT_PUBLIC_ORIZM_PROJECT, }); // 新コード import { generateOrizmNextAuth } from "@orizm/cms-sdk/next-auth"; const orizmAuth = generateOrizmNextAuth({ id: "Orizm", name: "Orizm", clientId: env.ORIZM_CLIENT_ID, clientSecret: env.ORIZM_CLIENT_SECRET, projectName: env.NEXT_PUBLIC_ORIZM_PROJECT, });

OrizmCMSClient_NextAuthSessionOrizmNextAuthCMSClient に置き換える

// 旧コード import { OrizmCMSClient_NextAuthSession } from "@orizm/cms-sdk"; import { CMSClient } from "@repo/orizm/cms"; import { getServerSession } from "next-auth"; import { authOptions } from "../auth/auth-options"; import { env } from "@/env"; export function getServerSideOrizmClient(): CMSClient { return new CMSClient( new OrizmCMSClient_NextAuthSession( { projectName: env.NEXT_PUBLIC_ORIZM_PROJECT, baseURL: env.NEXT_PUBLIC_ORIZM_BASE_URL, }, async () => (await getServerSession(authOptions)) ?? undefined, ), ); } // 新コード import { OrizmNextAuthCMSClient } from "@orizm/cms-sdk/next-auth"; import { CMSClient } from "@repo/orizm/cms"; import { getServerSession } from "next-auth"; import { authOptions } from "../auth/auth-options"; import { env } from "@/env"; export function getServerSideOrizmClient(): CMSClient { return new CMSClient( new OrizmNextAuthCMSClient( { projectName: env.NEXT_PUBLIC_ORIZM_PROJECT, baseURL: env.NEXT_PUBLIC_ORIZM_BASE_URL, }, async () => await getServerSession(authOptions), ), ); }

OrizmCMSClient_NextAuthFront の廃止

OrizmCMSClient_NextAuthFront クラスは廃止されました。代わりに OrizmNextAuthCMSClient クラスを使用してください。

// 旧コード import { OrizmCMSClient_NextAuthFront } from "@orizm/cms-sdk"; import { CMSClient } from "@repo/orizm/cms"; import { env } from "@/env"; const client = new CMSClient( new OrizmCMSClient_NextAuthFront({ projectName: env.NEXT_PUBLIC_ORIZM_PROJECT, baseURL: env.NEXT_PUBLIC_ORIZM_BASE_URL, }), ); // 新コード import { OrizmNextAuthCMSClient } from "@orizm/cms-sdk/next-auth"; import { CMSClient } from "@repo/orizm/cms"; import { getSession } from "next-auth/react"; import { env } from "@/env"; const client = new CMSClient( new OrizmNextAuthCMSClient( { projectName: env.NEXT_PUBLIC_ORIZM_PROJECT, baseURL: env.NEXT_PUBLIC_ORIZM_BASE_URL, }, async () => getSession(), ), );

@orizm/common のアンインストール

@orizm/common@orizm/cms-sdk の peer dependencies から dependencies に変更しました。@orizm/common をコードで利用していない場合は、アンインストールできます。

npm uninstall @orizm/common

ただし、@orizm/common をコードで利用している場合は、最新バージョンがリリースされているためアップデートしてください。

npm install @orizm/common@latest
Last updated on