🍶

Tailwind Variantsに触れてみるという記事を読んで自分も触れてみて思った注意点

2023/06/07に公開
2

この記事を読んで、Tailwind Variantsに興味を持ったので自分も触れてみました。
https://zenn.dev/yend724/articles/20230603-wgnqrgmj8kymzpev

実際に触れてみるといくつか注意点があったので紹介します。

VS CodeのTailwind CSS IntelliSenseが効かない問題

Tailwind Variantsで以下のようにコードを書くと、Tailwind CSS IntelliSenseが効きません。

Tailwind CSS IntelliSenseが効かないのは死活問題なので効かせる方法を調べていると、issueが既に存在しており、解決方法も書かれていました。
https://github.com/nextui-org/tailwind-variants/issues/17

解決方法はsettings.jsonに以下の設定を追加するだけです。

settings.json
{
  "tailwindCSS.experimental.classRegex": [
    ["tv\\(([^)]*)\\)", "[\"'`]([^\"'`]*).*?[\"'`]"]
  ]
}

すると、このようにIntelliSenseが効いてくれるようになります。

prettier-plugin-tailwindcssが効かない問題

Tailwind Variantsを使うとprettier-plugin-tailwindcssも効かなくなります。
https://github.com/tailwindlabs/prettier-plugin-tailwindcss

これが効かないのも死活問題ですね。

この問題の解決方法はprettier-plugin-tailwindcssのREADMEのSorting classes in function callsという章に書かれており、prettierの設定に以下を加えることで解決します。

prettier.config.js
module.exports = {
  plugins: [require("prettier-plugin-tailwindcss")],
  tailwindFunctions: ["tv"],
};

(解決済み)VariantPropsが効かない問題

Tailwind Variantsには定義したvariantsの型を取得するためのVariantPropsという型が用意されていますが、これが機能しておらず全てがany型になってしまいます。

この問題はTypeScriptのバージョンのせいのようでv5.1以上だと機能しないらしいです。
https://github.com/nextui-org/tailwind-variants/issues/56

v5.0.4に戻せば動くらしいですが、そうするとv5.1で修正されたAsync Server Componentの型エラーだったりが戻ってしまうのでちょっと厳しいですね。

まとめ

Tailwind Variants良さそう

Discussion