OSS探訪GitHubでログイン

CSSのerrorとconventionを100以上のrule・plugin・shareable configで継続的に検査する

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
11,526
主要言語
JavaScript
ライセンス
MIT
リポジトリ最終更新
2026/10/01
ページ内ナビ

概要

StylelintはCSS linterとして、syntax errorやduplicate selector、unknown property等を検出し、project固有のconventionもruleで強制できます。plugin、shareable config、autofix、custom syntaxに対応します。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

100以上のbuilt-in ruleでmodern CSSの問題を検出する

invalid/unknown/problematicなCSSから命名・notation・selector数等のconventionまで、ruleを組み合わせて検査できます。

出典:[1]

plugin・shareable config・custom syntaxでprojectへ拡張する

独自rule、共有config、SCSS/Sass/Less等のsyntax adapterを組み合わせ、teamやframework向けrule setを再利用できます。

出典:[1]

可能な問題はautofixで修正する

CLIやNode APIからfixを有効化でき、手作業のstyle correctionを減らせます。17ではdefault fix modeがstrictになっています。

出典:[1][3]

向いている用途

CSS品質とteam conventionをCI・editor・pre-commitで統一したい場合に向く

lint ruleをconfigとしてversion管理し、local editorとCIで同じCSS policyを実行したいfrontend teamに適します。

出典:[1]

導入前の確認

17系はESM前提でNode 20.19.0以上を要求する

17.0でCommonJS Node.js APIとNode 20.19未満のsupportが削除されました。legacy integrationはESM importへ移行する必要があります。

出典:[3][2]

formatting toolとは役割を分ける

READMEはPrettier等のpretty printerとStylelintをcomplementary toolとして推奨しています。formattingとsemantic/style rule enforcementを同一視しない方が構成しやすくなります。

出典:[1]

参考にした公式資料

  1. [1]Stylelint 17.16.0 README(2026-10-05)
  2. [2]Stylelint 17.16.0 package metadata(2026-10-05)
  3. [3]Stylelint v17 migration guide(2026-10-05)
  4. [4]Stylelint 17.16.0 changelog(2026-10-05)
  5. [5]Stylelint 17.16.0 release(2026-10-05)
  6. [6]Stylelint MIT license(2026-10-05)
編集部からの補足

Stylelint 17はCommonJS Node.js APIを削除しESMへ移行しています。Nodeは20.19.0以上が必須で、--fixのdefault modeもstrictへ変更されています。v16以前のintegrationではmigration guide確認が必要です。

3ステップで試す

  1. 1

    Stylelint 17.16.0を一時projectへ導入する

    Node.js 20.19.0以上の環境で17.16.0を固定して導入します。

    demo=$(mktemp -d "${TMPDIR:-/tmp}/stylelint.XXXXXX") && cd "$demo" && npm init -y >/dev/null && npm install --save-exact --save-dev stylelint@17.16.0
  2. 2

    rule設定と違反CSSを作る

    built-in ruleだけを使い、不正hex colorを確実に検出できる最小configを用意します。

    printf "%s\n" "export default {" " rules: {" " 'color-no-invalid-hex': true" " }" "};" > stylelint.config.mjs && printf "%s\n" '.bad { color: #12zzzz; }' > input.css
  3. 3

    CLIでlint errorを検出する

    Stylelintが違反を検出してnon-zero exitになることを確認し、CIでfailureとして扱えることを示します。

    if npx stylelint input.css; then exit 1; else echo "lint error detected"; fi
公式READMEで確認

成長

成長の推移 · 直近30日

11,526 Stars

推移データを蓄積中です。

Built with

カテゴリとタグ

カテゴリ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

GitHub Topics

  • css
  • enforce-conventions
  • lint
  • linter
  • postcss
Stars
11,526
Forks
1,024
Watchers
90
Open Issues
144
所有者種別
Organization
主要言語
JavaScript
ライセンス
MIT
リポジトリ最終更新
2026/10/01

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?