概要
今回のブログポストではVite
を使って生成したTypeScript
ベースReact
プロジェクトにCSS-in-JS
環境でスタイル(CSS)を検査するためにStylelint
を追加する方法について説明します.
- Stylelint: https://stylelint.io/
ブログシリーズ
このブログポストはシリーズで制作されました。以下はVite
のシリーズリストです。
- [Vite] TypeScript ベースの React プロジェクトを始める
- [Vite] TypeScript ベース React プロジェクトへテスト環境を構築する
- [Vite] TypeScript ベース React プロジェクトに Prettier を追加する
- [Vite] TypeScript ベース React プロジェクトでに Stylelint(CSS-in-JS)を追加する
Stylelint のインストール
次のコマンドを実行してStylelint
を使うために必要なライブラリをインストールします。
npm i -D stylelint stylelint-config-standard postcss-styled-syntax stylelint-order
# yarn add -D stylelint stylelint-config-standard postcss-styled-syntax stylelint-order
stylelint
:stylelint
をインストールします.stylelint-config-standard
:Stylelint
から提供される標準設定です.postcss-styled-syntax
:CSS-in-JS
環境でスタイル(CSS)を検査するためのライブラリです.stylelint-order
: スタイル(CSS)のプロパティの順序を検査するためのライブラリです.
Stylelint の設定
Stylelint
を使うためにはStylelint
を設定をする必要があります. Stylelint
を設定するために.stylelintrc.json
ファイルを作成して次のように修正します.
{
"extends": ["stylelint-config-standard"],
"customSyntax": "postcss-styled-syntax",
"plugins": ["stylelint-order"],
"rules": {
"order/properties-alphabetical-order": true
}
}
Stylelint の実行
Stylelint
を使うためにはStylelint
を実行するコマンドを実行する必要があります。次のコマンドを実行するとStylelint
を実行することができます。
npx stylelint --ignore-path .gitignore '**/*.(css|tsx)
このコマンドはStylelint
が提供する基本ルールを遵守しているかを検査します. もし、該当ルールを使って自動で修正したい場合は次のコマンドを実行します。
npx stylelint --ignore-path .gitignore '**/*.(css|tsx)' --fix
このコマンドを実行するとStylelint
が自動で修正可能な問題を修正してくれることを確認できます.
このコマンドを簡単に使うためにpackage.json
ファイルを開いて次のように修正します.
...
"scripts": {
...
"lint:css": "stylelint --ignore-path .gitignore '**/*.(css|tsx)'",
"lint:css:fix": "stylelint --ignore-path .gitignore '**/*.(css|tsx)' --fix"
},
...
これで次のコマンドを実行してStylelint
を実行することができます.
npm run lint:css
npm run lint:css:fix
# yarn lint:css
# yarn lint:css:fix
完了
これでVite
を使って生成したTypeScript
ベースReact
プロジェクトにCSS-in-JS
環境でスタイル(CSS)を検査するためにStylelint
を追加する方法について説明しました. これでStylelint
を使ってスタイル(CSS)を検査してより良いコードを書いてみてください.
私のブログが役に立ちましたか?下にコメントを残してください。それは私にとって大きな大きな力になります!
アプリ広報
Deku
が開発したアプリを使ってみてください。Deku
が開発したアプリはFlutterで開発されています。興味がある方はアプリをダウンロードしてアプリを使ってくれると本当に助かります。