Web Analytics

prettier-plugin-classnames

⭐ 205 stars French by ony3000

🌐 Langue

prettier-plugin-classnames

Un plugin Prettier qui encapsule les noms de classes verbeux selon l’option printWidth.

Un cas d’utilisation pour ce plugin.

Installation[^1]

npm install -D prettier prettier-plugin-classnames

[^1] : Si votre version de prettier-plugin-classnames est inférieure à 0.4.0, vous devrez également installer @prettier/sync.

Configuration

Exemple JSON :

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

Exemple JS (module CommonJS) :

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

Exemple JS (module ES) :

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

Substitution Markdown/MDX

Ce plugin ne prend pas en charge Markdown et MDX, mais si ce plugin prend en charge un langage à l'intérieur des blocs de code (par exemple, Vue), un formatage non souhaité peut se produire à l'intérieur des blocs de code.

Pour éviter un formatage non souhaité, vous pouvez utiliser des substitutions de configuration pour Markdown et MDX.

Exemple JSON :

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

Options

Attributs personnalisés

Liste des attributs qui englobent les noms de classe.
Les attributs class et className sont toujours pris en charge, même si aucune option n'est spécifiée.

Par défaut | Remplacement CLI | Remplacement API --- | --- | --- [] | --custom-attributes | customAttributes: [""]

Fonctions personnalisées

Liste des fonctions qui englobent les noms de classe.
La fonction classNames est toujours prise en charge, même si aucune option n'est spécifiée.

Par défaut | Remplacement CLI | Remplacement API --- | --- | --- [] | --custom-functions | customFunctions: [""]

Position de fin

Disponible pour la première fois en v0.5.0.
absolute-with-indent a été ajouté en v0.6.0.
absolute-with-indent a été supprimé en v0.8.0, mais vous pouvez obtenir la même sortie avec absolute.
La valeur par défaut est passée de relative à absolute en v0.8.0.

Ceci est le critère pour terminer le nom de classe sur chaque ligne lors du remplacement du nom de classe original par un nom de classe multi-lignes.

  ------------------------------------------------------------| printWidth=60
  export function Callout({ children }) {
    return (
      
{children}
); } ``

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

Par défaut | Remplacement CLI  | Remplacement API  --- | --- | --- "absolute" | --ending-position | endingPosition: ""

Transformation de la syntaxe

Disponible à partir de la v0.7.7.

Si un retour à la ligne se produit dans un nom de classe écrit en syntaxe non-expression, il est transformé en syntaxe d'expression. Cette transformation ne prend pas en charge le formatage réversible.

Par défaut | Remplacement CLI  | Remplacement API  --- | --- | --- false | --syntax-transformation | syntaxTransformation:

Largeur d’impression des noms de classes

Disponible à partir de la v0.10.0.

Spécifiez la largeur d’impression du nom de classe. Si aucune valeur n’est fournie, la valeur de printWidth est utilisée par défaut.

Par défaut | Remplacement CLI  | Remplacement API  --- | --- | --- undefined | --classnames-print-width | classnamesPrintWidth:

Corrélation de versions avec les plugins frères

À partir de la version 0.6.0, lorsqu’il y a une version mineure d’un côté, je prévois de répercuter cette modification de l’autre côté également si possible.

Corrélation de versions.

Compatibilité avec d’autres plugins Prettier

Si plusieurs plugins Prettier peuvent gérer le texte que vous souhaitez formater, Prettier n’utilisera que le dernier de ces plugins.

Dans ce cas, vous pouvez le configurer comme suit en ajoutant prettier-plugin-merge pour appliquer ces plugins de manière séquentielle.

Exemple 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 ---