Open1
shadcn/uiの8月にあったCLI変更が良さそうなので、調査&まとめてみる
のログ見た
新しいCLIが利用可能になりました。完全なリライトで、多くの新機能と改善が加わっています。これにより、npx shadcn addを使用してコンポーネント、テーマ、フック、ユーティルなどをインストールできるようになりました。
これは、あなたやLLMsがアクセスして使用できるコードを配布するための大きなステップです。
- まず、CLIは主要なReactフレームワーク(Next.js、Remix、Vite、Laravel)を標準でサポートするようになりました。新しいアプリに初期化する際、既存のTailwindファイルを上書きするのではなく、更新します。
- コンポーネントには、それぞれの依存関係が含まれるようになりました。たとえば、アコーディオンコンポーネントは独自のTailwindキーフレームを定義できます。プロジェクトに追加すると、tailwind.config.tsファイルが自動的に更新されます。
- また、URLを使用してリモートコンポーネントをインストールすることも可能になりました。npx shadcn add https://acme.com/registry/navbar.jsonのように利用できます。
- initコマンドも改良され、フレームワークの検出を行い、npx shadcn initの1つのコマンドで新しいNext.jsアプリを初期化することができます。
- 独自のコンポーネントレジストリを配布するための新しいスキーマが作成されました。URLのサポートもあるため、プライベートコンポーネントを配布することも可能です。
- さらに、エラーハンドリングの改善やモノレポのサポートなど、いくつかのアップデートも行われています。
個人的に気になったのは、3. 4. 5.
3.と5. リモートコンポーネントやプライベートコンポーネント
みたいな定義を用意しておけばそれを元にインストールができるっぽい
定義内容は大枠以下
- 依存するregistry(コンポーネント)の指定
- ファイル(パス、内容、type、ターゲット)
リポジトリのコマンド探ってたら、registryをビルドするコマンドがあるっぽかったので、手元で作って公開とかできるのかも
追加調査
- registryのインストールやってみる
- registryの構築やってみる
4. フレームワーク検出つきinitコマンド
利用しているフレームワークに合わせて初期化をしてくれるのでは??
Next.jsについては書いてあったけど、他はどうなんだろう
追加調査
- 色々なフレームワークと初期化の仕方を試す
- t3-stackとかとも使いたい
CLIのnpmはこちら