🌻
【Tailwind CSS】クラスの順番を自動で並び替え(Prettier)
公式の Tailwind Labs が公開しているパッケージ「prettier-plugin-tailwind」を使用します。
prettier-plugin-tailwind GitHubより引用
手順
1. インストール
ターミナルで実行
npm install -D prettier prettier-plugin-tailwindcss
prettier
とprettier-plugin-tailwind
を開発環境に限定(-D
= --save-dev
)してインストールします。
2. Prettier設定ファイルの作成
ターミナルで実行
touch .prettierrc.json
設定を記述するためのファイルを作成します。ファイル名「.prettierrc.json
」はPrettier公式ドキュメントを参照しています。"rc"というのは"run command"の略だそうです。
3. Prettier設定ファイルを記述
.prettierrc.json
{
"trailingComma": "es5",
"tabWidth": 2,
"semi": true,
"singleQuote": false,
"plugins": ["prettier-plugin-tailwindcss"],
"tailwindConfig": "./tailwind.config.js"
}
設定 | 概要 |
---|---|
"trailingComma": "es5" |
※1 ES5に準拠 |
"tabWidth": 2 |
※1 段落の幅がTab1つ分(= 半角スペース2つ)で整形 |
"semi": true |
※1 文末にセミコロンをつける |
"singleQuote": false |
※1 デフォルトを「シングルクォート」or「ダブルクォート」にする |
"plugins": ["prettier-plugin-tailwindcss"] | プラグインとして「prettier-plugin-tailwind」を使用する |
"tailwindConfig": "./tailwind.config.js" |
※2 Tailwindの設定ファイルを参照 |
※1: 値は任意
※2: 設定ファイルのパスや名前はプロジェクトによって異なります(.tsの場合もあります)
完了
これで設定完了です!あとは ⌘ + s
もしくは Ctrl + s
で整形するだけ!
ちなみに、、どんな規則で整形してるの?
並び替え規則は以下の通りです:
-
レイアウト (Layout)
-
container
,box-decoration
,float
,clear
,isolation
,object
,overflow
,overscroll
,position
,top
,right
,bottom
,left
,inset
,z
,space
,divide
-
-
フレックスボックス (Flexbox) と グリッド (Grid)
-
flex
,flex-direction
,flex-wrap
,flex-grow
,flex-shrink
,order
,grid
,grid-cols
,grid-rows
,grid-flow
,auto-cols
,auto-rows
,gap
-
-
背景 (Background)
-
bg
,background
,gradient
,from
,via
,to
,fill
,stroke
-
-
ボーダー (Borders)
-
border
,divide
,outline
,ring
,ring-offset
-
-
スペーシング (Spacing)
-
p
,pt
,pr
,pb
,pl
,px
,py
,m
,mt
,mr
,mb
,ml
,mx
,my
-
-
サイズ (Sizing)
-
w
,min-w
,max-w
,h
,min-h
,max-h
-
-
タイポグラフィ (Typography)
-
font
,text
,tracking
,leading
,list
,placeholder
-
-
テーブル (Tables)
-
table
,border
-
-
効果 (Effects)
-
shadow
,opacity
,mix-blend
,background-blend
,filter
,backdrop-filter
-
-
トランジションとアニメーション (Transitions & Animation)
-
transition
,duration
,ease
,delay
,animate
-
-
変形 (Transforms)
-
scale
,rotate
,translate
,skew
,transform
-
-
インタラクション (Interactivity)
-
appearance
,cursor
,pointer-events
,resize
,user-select
-
-
アクセシビリティ (Accessibility)
-
sr
,not-sr
-
この順序に従って Tailwind CSS のクラスを並び替えることで、クラスの目的別にコードを整理しやすくなります。プラグインを使うことで、この順序が自動的に適用されているんですね!
公式
Discussion