Web Analytics

prettier-plugin-classnames

⭐ 205 stars Japanese by ony3000

🌐 言語

prettier-plugin-classnames

printWidth オプションに基づき冗長なクラス名を折り返す Prettier プラグインです。

このプラグインの利用例。

インストール方法[^1]

npm install -D prettier prettier-plugin-classnames

[^1]: prettier-plugin-classnames のバージョンが 0.4.0 未満の場合は、@prettier/sync もインストールする必要があります。

設定

JSON の例:

{
  "plugins": ["prettier-plugin-classnames"]
}

JSの例(CommonJSモジュール):

module.exports = {
  plugins: ['prettier-plugin-classnames'],
  customAttributes: ['myClassProp'],
  customFunctions: ['clsx'],
};

JS例(ESモジュール):

export default {
  plugins: ['prettier-plugin-classnames'],
  endingPosition: 'absolute',
};

Markdown/MDX オーバーライド

このプラグインはMarkdownおよびMDXをサポートしていませんが、もしこのプラグインがコードブロック内の言語(例:Vue)をサポートしている場合、コードブロック内で意図しない書式設定が発生することがあります。

意図しない書式設定を防ぐために、MarkdownおよびMDX用の設定オーバーライドを使用できます。

JSON例:

{
  "plugins": ["prettier-plugin-classnames"],
  "customFunctions": ["clsx"],
  "overrides": [
    {
      "files": [".md", ".mdx"],
      "options": {
        "plugins": []
      }
    }
  ]
}

オプション

カスタム属性

囲むクラス名の属性のリスト。
classclassName 属性は、オプションが指定されていなくても常にサポートされます。

デフォルト | CLI上書き | API上書き --- | --- | --- [] | --custom-attributes | customAttributes: [""]

カスタム関数

囲むクラス名の関数のリスト。
classNames 関数は、オプションが指定されていなくても常にサポートされます。

デフォルト | CLI上書き | API上書き --- | --- | --- [] | --custom-functions | customFunctions: [""]

終了位置

v0.5.0で初めて利用可能。
absolute-with-indent はv0.6.0で追加されました。
absolute-with-indent はv0.8.0で削除されましたが、同じ出力は absolute で得られます。
デフォルト値はv0.8.0で relative から absolute に変更されました。

これは、元のクラス名を複数行のクラス名に置き換える際に、各行のクラス名を終了する基準です。

  • absolute の例:
  ------------------------------------------------------------| printWidth=60
  export function Callout({ children }) {
    return (
      
{children}
); } ``

  • relative の例:
` ------------------------------------------------------------| printWidth=60 export function Callout({ children }) { return (
{children}
); }
`

デフォルト | CLI オーバーライド | API オーバーライド --- | --- | --- "absolute" | --ending-position | endingPosition: ""

構文変換

v0.7.7から利用可能。

非式構文で記述されたクラス名で改行が発生した場合、式構文に変換されます。この変換は可逆的なフォーマットをサポートしません。

デフォルト | CLI オーバーライド | API オーバーライド --- | --- | --- false | --syntax-transformation | syntaxTransformation:

クラス名のプリント幅

v0.10.0から利用可能。

クラス名のプリント幅を指定します。値が指定されていない場合は、printWidthの値がデフォルトとして使用されます。

デフォルト | CLI オーバーライド | API オーバーライド --- | --- | --- undefined | --classnames-print-width | classnamesPrintWidth:

兄弟プラグインとのバージョン相関

0.6.0以降、一方でマイナーリリースがあった場合、可能であればもう一方にもその変更を反映する予定です。

バージョン相関。

他のPrettierプラグインとの互換性

フォーマットしたいテキストを複数のPrettierプラグインが処理できる場合、Prettierはそれらのプラグインのうち最後のものだけを使用します。

この場合、それらのプラグインを順番に適用するために prettier-plugin-merge を追加して次のように設定できます。

JSONの例:

json { "plugins": [ "prettier-plugin-tailwindcss", "prettier-plugin-classnames", "prettier-plugin-merge" ] } ``

Stargazers over time

Stargazers over time

--- Tranlated By Open Ai Tx | Last indexed: 2026-06-03 ---