Design Token Lint

Type to search...

to open search from anywhere

設定

作成2026年4月10日Takeshi Takatsudo

.design-token-lint.json で design-token-lint を設定 — 禁止パターン、許可例外、無視ファイル、スキャンパターン。

プロジェクトルートに .design-token-lint.json または design-token-lint.config.json ファイルを作成します。リンターは最初に見つかったファイルを読み込み、どちらも存在しない場合は組み込みのデフォルトにフォールバックします。

完全な例

{
  "prohibited": [
    "p-{n}",
    "px-{n}",
    "py-{n}",
    "m-{n}",
    "gap-{n}",
    "bg-{color}-{shade}",
    "text-{color}-{shade}",
    "border-{color}-{shade}"
  ],
  "allowed": ["p-0", "m-0", "gap-0", "p-1px"],
  "ignore": ["**/*.test.*", "**/*.stories.*"],
  "patterns": [
    "src/**/*.{tsx,jsx,astro}",
    "components/**/*.{tsx,jsx,astro}"
  ]
}

フィールド

フィールド説明
prohibitedstring[]違反としてフラグを立てるパターン
allowedstring[]禁止パターンに一致しても常に通す例外
ignorestring[]完全にスキップするファイル glob パターン
patternsstring[]スキャン対象の glob パターン(CLI 引数がない場合に使用)
suggestionSuffixstring違反メッセージのカスタムサフィックス(デフォルトの提案テキストを置き換えます)

すべてのフィールドはオプションで、省略時は組み込みのデフォルトにフォールバックします。

prohibited

フラグを立てるクラス名パターンの配列。各パターンはプレースホルダー構文を使います:

  • {n}480.516 などの数値に一致。間隔(padding、margin、gap、inset、top/left/right/bottom など)に使用
  • {color} — 標準的な Tailwind カラー名に一致: slategrayzincneutralstoneredorangeamberyellowlimegreenemeraldtealcyanskyblueindigovioletpurplefuchsiapinkrose
  • {shade}50100500950 などの 2〜3 桁のシェード値に一致

例:

  • p-{n}p-4p-8p-0.5 に一致
  • bg-{color}-{shade}bg-red-500bg-blue-300 に一致
  • gap-x-{n}gap-x-2gap-x-6 に一致

allowed

完全一致の許可リスト。この配列にあるクラスは禁止パターンに関係なく常に通ります。p-0m-0p-1px のようなエスケープハッチに便利です。

ignore

完全にスキップするファイル glob パターン。よくあるパターン:

{
  "ignore": [
    "**/*.test.*",
    "**/*.stories.*",
    "**/*.spec.*"
  ]
}

patterns

CLI が明示的なファイル引数なしで呼び出されたときにスキャンするファイル glob パターン。省略時はデフォルトセット(src/**components/**lib/**app/**)を使用します。

suggestionSuffix

違反メッセージの セパレーターの後に付加される文字列で、デフォルトの提案テキストを置き換えます。プロジェクト固有のトークン命名規則を開発者に案内するために使用します。

デフォルトメッセージ(suggestionSuffix なし):

  • 間隔: Numeric spacing "p-4" — use a semantic spacing token or arbitrary value
  • カラー: Default Tailwind color "bg-gray-500" — use a design system color token

suggestionSuffix を設定した場合:

{
  "suggestionSuffix": "use hgap-*/vgap-* or zd-* tokens"
}
  • 間隔: Numeric spacing "p-4" — use hgap-*/vgap-* or zd-* tokens
  • カラー: Default Tailwind color "bg-gray-500" — use hgap-*/vgap-* or zd-* tokens

組み込みのデフォルト

設定ファイルが存在しない場合、リンターは以下のデフォルトを使用します:

  • Prohibited: すべての標準的な間隔ユーティリティ(p-*m-*gap-*inset-*scroll-*)の数値版、およびすべてのカラーユーティリティ(bg-*text-*border-*ring-* など)のデフォルト Tailwind カラーとシェードの組み合わせ
  • Allowed: p-0m-0gap-0p-1px
  • Ignore: **/*.test.***/*.stories.*

完全なデフォルトリストはパッケージの READMEを参照してください。

自動的に通るクラス

これらのクラスは allowed に含まれていなくても常に通ります:

  • セマンティック間隔トークン: p-hgap-smgap-vgap-xsm-hgap-md(hgap-* または vgap-* サフィックスを持つクラス)
  • デフォルト以外のカラー: bg-surfacetext-fgbg-zd-black(標準 Tailwind パレット名ではないカラー名)
  • 任意値: w-[28px]bg-[#123]p-[10px]
  • 間隔・色以外のユーティリティ: flexgridhiddenw-fullfont-bold など

Revision History