Tailwind CSSのバージョンや設定ファイルの変更をもとに、利用できるクラスの差分を出力します。
内部的には、Tailwind CSSのビルドを2回実行し、結果をtmpディレクトリに保存し、内容を比較しています。
name | description | alias | type | required |
---|---|---|---|---|
after-config | 2回目のビルド時に使用するTailwind CSSの設定ファイル。設定ファイルが変化するシナリオで用いる | --after-config のみ | string | NO |
before-config | 1回目のビルド時に使用するTailwind CSSの設定ファイル。設定ファイルが変化するシナリオで用いる | --before-config のみ | string | NO |
config | ビルド時に使用するTailwind CSSの設定ファイル。設定ファイルが特に変化しない場合これだけを指定する。(※1) | -c または --config | string | NO |
json | 出力フォーマットをJSONにするかどうか | --json のみ | boolean | NO |
packages | 1回目のビルドと2回目のビルドの間にアップデートすべきパッケージ群 | --packages のみ | string[] (※2) | NO |
※1 config
と[before,after]-config
がどちらも指定されないときの動作は未定義。どちらかは必ず指定する。
また、たとえばconfig
とbefore-config
だけを指定した際の動作も未定義。
※2 --packages a b
と--packages a --packages b
はどちらもOK。詳しくはyargsのドキュメントを参照。
$ npx @charcoal-ui/tailwind-diff check --help
tailwind-diff check
checks diffs due to package updates
Options:
--version Show version number [boolean]
--help Show help [boolean]
--before-config tailwind config used in first build [string]
--after-config tailwind config used in second build [string]
--packages packages to be update [array]
--json print result as JSON format [boolean]
-c, --config tailwind config file [string]
tailwindcss
はそのまま、@charcoal-ui/tailwind-config
をアップデートするnpx @charcoal-ui/tailwind-diff check -c ./tailwind.config.js --packages @charcoal-ui/tailwind-config@2.8.0
@charcoal-ui/tailwind-config
はそのまま、tailwindcss
をアップデートするnpx @charcoal-ui/tailwind-diff check -c ./tailwind.config.js --packages tailwindcss@latest
tailwind.config.js
を変更する手元に一時的にtailwind.config.new.js
のようなファイルを作成した上で以下を実行します。
npx @charcoal-ui/tailwind-diff check --before-config ./tailwind.config.js --after-config ./tailwind.config.new.js
変更内容の詳細は出さず、増減があったかだけを出力します。
$ npx @charcoal-ui/tailwind-diff check --packages @charcoal-ui/tailwind-config@latest --config tailwind.config.js
1 classes added, 0 classes removed.
単に変化が0
件であることを確認したいケースなどはこちらが有用です。
--json
を指定した場合
$ npx @charcoal-ui/tailwind-diff check --packages @charcoal-ui/tailwind-config@latest --json
[{"className":"w-fit","status":"added","css":[".w-fit {\n width: fit-content;\n}"]}]
この場合、@charcoal-ui/tailwind-config
をアップデートするとw-fit
というクラスが新しく使えるようになることがわかります。
人間に見やすくするオプションなどはありません。その場合はjq
など、JSONをフォーマットできるコマンドと併用するのが推奨されます。
$ npx @charcoal-ui/tailwind-diff check --packages @charcoal-ui/tailwind-config@latest --json | jq
[
{
"className": "w-fit",
"status": "added",
"css": [
".w-fit {\n width: fit-content;\n}"
]
}
]
ステータスの種類はadded
またはremoved
の2種類のみです。
クラスが改名した際に「改名した」と教えてくれることはなく、1件の追加と1件の削除としてカウントされます。