Toutes les règles Patina
Cet index permet de trouver l'objectif d'une règle, ses réglages par défaut et son groupe. Les pages des groupes présentent les explications, la configuration, les exemples complets incorrects et corrects ainsi que les limites actuelles. Les liens existants vers les règles et leurs exemples restent utilisables ici.
Les 66 entrées de projet renvoient aux fichiers partagés complets et aux exemples incorrects et corrects de la page des règles inter-fichiers. Les 60 codes d'analyse conservent leurs limites réelles : 19 codes CLI (18 paires de sources validées et un projet illustratif avec son graphe réactif conservé), 16 codes expérimentaux de l'analyseur Rust que cette passe CLI n'émet pas individuellement et 25 contrats sans producteur actuel. Configurer un identifiant n'active pas un producteur indisponible.
Le CLI public expose la même passe avec vize lint --cross-file. Les codes affichés vize:croquis/cf/* utilisent croquis/cf/* dans vue.linter.rules (sans vize:). Les diagnostics de niveau information/hint deviennent des avertissements CLI. Les emplacements associés expliquent la relation entre la source et le consommateur.
| Règle | Exemples | Objectif |
|---|---|---|
a11y/alt-text |
Mauvais · Bon | Exiger un texte alternatif pour les éléments multimédias |
a11y/anchor-has-content |
Mauvais · Bon | Exiger un contenu accessible pour les éléments de lien |
a11y/anchor-is-valid |
Mauvais · Bon | Imposer un href valide sur les éléments de lien |
a11y/aria-props |
Mauvais · Bon | Interdire les attributs ARIA invalides |
a11y/aria-role |
Mauvais · Bon | Exiger un rôle ARIA valide et non abstrait pour les éléments possédant un rôle ARIA |
a11y/aria-unsupported-elements |
Mauvais · Bon | Interdire les attributs ARIA sur les éléments qui ne les prennent pas en charge |
a11y/click-events-have-key-events |
Mauvais · Bon | Exiger des gestionnaires de clavier avec les événements de clic |
a11y/form-control-has-label |
Mauvais · Bon | Exiger des libellés associés aux contrôles de formulaire |
a11y/heading-has-content |
Mauvais · Bon | Exiger un contenu accessible pour les éléments de titre |
a11y/heading-levels |
Mauvais · Bon | Interdire de sauter des niveaux de titre |
a11y/iframe-has-title |
Mauvais · Bon | Exiger un attribut title sur les éléments iframe |
a11y/img-alt |
Mauvais · Bon | Exiger un attribut alt sur les images pour les rendre accessibles |
a11y/interactive-supports-focus |
Mauvais · Bon | Exiger que les éléments possédant un rôle interactif puissent recevoir le focus |
a11y/label-has-for |
Mauvais · Bon | Exiger des contrôles de formulaire associés aux libellés |
a11y/landmark-roles |
Mauvais · Bon | Valider l’emplacement et l’unicité des rôles de zones de repère |
a11y/media-has-caption |
Mauvais · Bon | Exiger des sous-titres pour les éléments multimédias |
a11y/mouse-events-have-key-events |
Mauvais · Bon | Exiger des événements de focus et de perte du focus avec les événements de souris |
a11y/no-access-key |
Mauvais · Bon | Interdire l’utilisation de l’attribut accesskey |
a11y/no-aria-hidden-on-focusable |
Mauvais · Bon | Interdire aria-hidden="true" sur les éléments pouvant recevoir le focus |
a11y/no-autofocus |
Mauvais · Bon | Interdire l’utilisation de l’attribut autofocus |
a11y/no-distracting-elements |
Mauvais · Bon | Interdire les éléments distrayants tels que <marquee> et <blink> |
a11y/no-i-for-icon |
Mauvais · Bon | Interdire l’élément <i> pour les icônes |
a11y/no-redundant-roles |
Mauvais · Bon | Interdire les rôles ARIA redondants |
a11y/no-refer-to-non-existent-id |
Mauvais · Bon | Interdire les références à des identifiants inexistants |
a11y/no-role-presentation-on-focusable |
Mauvais · Bon | Interdire role="presentation" ou role="none" sur les éléments pouvant recevoir le focus |
a11y/no-static-element-interactions |
Mauvais · Bon | Interdire les gestionnaires d’événements sur les éléments statiques |
a11y/placeholder-label-option |
Mauvais · Bon | Exiger une option d’invite dans un select required |
a11y/role-has-required-aria-props |
Mauvais · Bon | Exiger les propriétés obligatoires des rôles ARIA |
a11y/tabindex-no-positive |
Mauvais · Bon | Interdire les valeurs positives de tabindex |
a11y/use-list |
Mauvais · Bon | Suggérer des éléments de liste pour les textes ressemblant à des listes à puces |
css/no-display-none |
Mauvais · Bon | Suggérer v-show plutôt que display: none |
css/no-hardcoded-values |
Mauvais · Bon | Suggérer des variables CSS plutôt que des valeurs codées en dur |
css/no-id-selectors |
Mauvais · Bon | Déconseiller les sélecteurs d’identifiant en CSS |
css/no-important |
Mauvais · Bon | Déconseiller !important en CSS |
css/no-utility-classes |
Mauvais · Bon | Déconseiller l’implémentation de classes utilitaires dans les styles des composants |
css/no-v-bind-performance |
Mauvais · Bon | Signaler le coût de performance de v-bind() en CSS |
css/prefer-logical-properties |
Mauvais · Bon | Recommander les propriétés logiques CSS pour mieux prendre en charge l’internationalisation |
css/prefer-nested-selectors |
Mauvais · Bon | Recommander l’imbrication CSS pour les sélecteurs de descendants |
css/prefer-slotted |
Mauvais · Bon | Recommander ::v-slotted() pour styliser le contenu des slots |
css/require-font-display |
Mauvais · Bon | Exiger font-display dans les règles @font-face |
ecosystem/nuxt-prefer-nuxt-link |
Mauvais · Bon | Préférer NuxtLink pour les liens internes à l’application |
ecosystem/pinia-prefer-store-to-refs |
Mauvais · Bon | Préférer storeToRefs() lors de la déstructuration des stores Pinia |
ecosystem/router-link-require-to |
Mauvais · Bon | Exiger une destination to sur les composants RouterLink et NuxtLink |
ecosystem/void-link-require-href |
Mauvais · Bon | Exiger href sur les composants Link de Void Vue |
ecosystem/void-link-valid-method |
Mauvais · Bon | Valider les props method statiques des composants Link de Void Vue |
ecosystem/vue-i18n-no-missing-key |
Mauvais · Bon | Signaler les clés vue-i18n statiques absentes des messages locaux du SFC |
ecosystem/vue-router-extra-param |
Mauvais · Bon | La route ne déclare pas tab ; Vue Router l’ignore. |
ecosystem/vue-router-missing-param |
Mauvais · Bon | Le paramètre obligatoire postId manque ; dépendre de la route actuelle est fragile. |
ecosystem/vue-router-param-type |
Mauvais · Bon | postId n’est pas répétable ; un tableau est donc invalide. |
ecosystem/vue-router-prefer-named-link |
Mauvais · Bon | Préférer les objets de routes nommées aux chaînes de chemin statiques dans RouterLink |
ecosystem/vue-router-prefer-named-push |
Mauvais · Bon | Préférer les objets de routes nommées pour la navigation programmatique de Vue Router |
ecosystem/vue-router-unknown-route |
Mauvais · Bon | Le nom est absent du routeur installé complet. |
ecosystem/vue-test-utils-no-html-snapshot |
Mauvais · Bon | Éviter les instantanés de wrapper.html() dans les tests Vue Test Utils |
html/cross-component-nesting |
Mauvais · Bon | Vérifier l’imbrication HTML réelle après la composition des composants importés. |
html/deprecated-attr |
Mauvais · Bon | Interdire les attributs HTML obsolètes |
html/deprecated-element |
Mauvais · Bon | Interdire les éléments HTML obsolètes |
html/id-duplication |
Mauvais · Bon | Interdire les identifiants d’éléments en double |
html/no-consecutive-br |
Mauvais · Bon | Interdire les éléments <br> consécutifs |
html/no-dupe-style-properties |
Mauvais · Bon | Interdire les propriétés en double dans les attributs de style en ligne |
html/no-duplicate-class |
Mauvais · Bon | Interdire les noms de classes en double dans un attribut class statique |
html/no-duplicate-dt |
Mauvais · Bon | Interdire les noms <dt> en double dans <dl> |
html/no-empty-palpable-content |
Mauvais · Bon | Interdire les éléments vides qui attendent un contenu visible |
html/require-datetime |
Mauvais · Bon | Exiger l’attribut datetime sur l’élément <time> |
musea/no-empty-variant |
Mauvais · Bon | Interdire les blocs <variant> vides |
musea/prefer-design-tokens |
Mauvais · Bon | Préférer les variables CSS de design tokens aux valeurs primitives codées en dur |
musea/require-component |
Mauvais · Bon | Exiger l’attribut component dans le bloc <art> |
musea/require-title |
Mauvais · Bon | Exiger l’attribut title dans le bloc <art> |
musea/unique-variant-names |
Mauvais · Bon | Exiger des noms de variants uniques |
musea/valid-variant |
Mauvais · Bon | Exiger un attribut name dans les blocs <variant> |
nuxt/no-nuxt-config-test-key |
Mauvais · Bon | Interdire la clé test dans la configuration Nuxt |
nuxt/no-page-meta-runtime-values |
Mauvais · Bon | Interdire les valeurs du contexte d’exécution évaluées immédiatement dans definePageMeta, extrait dans un chunk séparé à la compilation et exécuté avant le setup du composant |
nuxt/nuxt-config-keys-order |
Mauvais · Bon | Préférer l’ordre recommandé des propriétés de configuration Nuxt |
nuxt/prefer-import-meta |
Mauvais · Bon | Préférer import.meta.* à process.* |
petite-vue/no-unsupported-directive |
Mauvais · Bon | Interdire les directives non prises en charge par petite-vue |
petite-vue/valid-v-effect |
Mauvais · Bon | Exiger une expression non vide pour v-effect |
petite-vue/valid-v-scope |
Mauvais · Bon | Exiger que v-scope reçoive un objet littéral |
script/component-options-name-casing |
Mauvais · Bon | Imposer PascalCase à l’option name du composant |
script/custom-event-name-casing |
Mauvais · Bon | Imposer camelCase aux noms des événements personnalisés émis |
script/define-emits-declaration |
Mauvais · Bon | Imposer la forme typée defineEmits<{}>() à la place de la forme à l’exécution sous forme de tableau |
script/define-macros-order |
Mauvais · Bon | Imposer un ordre cohérent aux macros du compilateur Vue dans <script setup> |
script/define-props-declaration |
Mauvais · Bon | Imposer la forme typée defineProps<{ ... }>() à la place de la forme à l’exécution sous forme d’objet |
script/define-props-destructuring |
Mauvais · Bon | Imposer un style cohérent de déstructuration de defineProps dans <script setup> |
script/no-arrow-functions-in-watch |
Mauvais · Bon | Interdire les fonctions fléchées comme gestionnaires watch de l’Options API |
script/no-async-in-computed |
Mauvais · Bon | Interdire les fonctions asynchrones dans les propriétés calculées |
script/no-boolean-default |
Mauvais · Bon | Interdire une valeur par défaut sur une prop Boolean |
script/no-deep-destructure-in-props |
Mauvais · Bon | Interdire la déstructuration profondément imbriquée dans defineProps |
script/no-deprecated-data-object-declaration |
Mauvais · Bon | Interdire un objet littéral comme option data du composant (Vue 3 exige une fonction) |
script/no-deprecated-destroyed-lifecycle |
Mauvais · Bon | Interdire les hooks de cycle de vie dépréciés destroyed et beforeDestroy |
script/no-deprecated-dollar-listeners-api |
Mauvais · Bon | Interdire la propriété d’instance $listeners supprimée dans Vue 3 (fusionnée dans $attrs) |
script/no-deprecated-dollar-scopedslots-api |
Mauvais · Bon | Interdire la propriété d’instance $scopedSlots supprimée dans Vue 3 (utiliser $slots) |
script/no-deprecated-events-api |
Mauvais · Bon | Interdire l’API d’événements de Vue 2 supprimée ($on / $off / $once) |
script/no-deprecated-props-default-this |
Mauvais · Bon | Interdire this dans une fonction de valeur par défaut ou de validation de prop (supprimé dans Vue 3) |
script/no-dupe-keys |
Mauvais · Bon | Interdire les clés dupliquées entre props/data/computed/methods/setup/inject de l’Options API |
script/no-duplicate-attr-inheritance |
Mauvais · Bon | Signaler un composant qui applique deux fois ses attributs transmis automatiquement |
script/no-export-in-script-setup |
Mauvais · Bon | Interdire les instructions export dans <script setup> |
script/no-expose-after-await |
Mauvais · Bon | Interdire expose() et defineExpose() après un await |
script/no-get-current-instance |
Mauvais · Bon | Interdire getCurrentInstance() en mode Vapor (renvoie null) |
script/no-import-compiler-macros |
Mauvais · Bon | Interdire l’import des macros du compilateur Vue importées automatiquement |
script/no-internal-imports |
Mauvais · Bon | Interdire les imports depuis les modules internes de Vue |
script/no-lifecycle-after-await |
Mauvais · Bon | Interdire l’enregistrement de hooks de cycle de vie après un await dans setup() |
script/no-multiple-slot-args |
Mauvais · Bon | Interdire de passer plusieurs arguments à un appel de fonction de slot à portée |
script/no-next-tick |
Mauvais · Bon | Interdire l’utilisation de nextTick() dans les composants destinés à Vapor |
script/no-options-api |
Mauvais · Bon | Interdire les formes de l’Options API en mode Vapor |
script/no-potential-component-option-typo |
Mauvais · Bon | Signaler les fautes de frappe probables dans les noms d’options de composant de l’Options API |
script/no-reactive-destructure |
Mauvais · Bon | Interdire la déstructuration d’objets réactifs qui fait perdre la réactivité |
script/no-ref-as-operand |
Mauvais · Bon | Exiger l’accès via .value aux variables liées à une ref lorsqu’elles servent d’opérande |
script/no-required-prop-with-default |
Mauvais · Bon | Interdire une prop qui possède à la fois required: true et une valeur par défaut |
script/no-reserved-identifiers |
Mauvais · Bon | Interdire les identifiants réservés du compilateur Vue |
script/no-reserved-keys |
Mauvais · Bon | Interdire les noms réservés par Vue comme clés de props/data/computed/methods/setup/inject de l’Options API |
script/no-reserved-props |
Mauvais · Bon | Interdire les noms réservés dans la déclaration des props d’un composant |
script/no-restricted-globals |
Mauvais · Bon | Interdire les références aux variables globales de l’environnement d’exécution qui doivent passer par une couche d’encapsulation typée |
script/no-restricted-members |
Mauvais · Bon | Interdire les accès aux membres object.property configurés par le projet |
script/no-side-effects-in-computed-properties |
Mauvais · Bon | Interdire les effets de bord dans les getters calculés de l’Options API |
script/no-top-level-ref-in-script |
Mauvais · Bon | Interdire ref/reactive au niveau supérieur pour éviter la contamination de l’état entre requêtes |
script/no-unstable-nested-components |
Mauvais · Bon | Interdire les définitions de composants dans les fonctions setup ou de rendu |
script/no-unused-emit-declarations |
Mauvais · Bon | Signaler les événements déclarés qui ne sont jamais émis |
script/no-use-computed-property-like-method |
Mauvais · Bon | Interdire d’appeler une propriété calculée de l’Options API comme une méthode |
script/no-watch-after-await |
Mauvais · Bon | Interdire les observateurs créés après un await dans setup() sans conserver leur fonction d’arrêt |
script/no-with-defaults |
Mauvais · Bon | Déconseiller withDefaults au profit des valeurs par défaut dans la déstructuration (Vue 3.5+) |
script/prefer-computed |
Mauvais · Bon | Préférer computed() pour l’état réactif dérivé |
script/prefer-define-options |
Mauvais · Bon | Préférer defineOptions() à un <script> ordinaire qui ne définit que name/inheritAttrs |
script/prefer-import-from-vue |
Mauvais · Bon | Préférer les imports depuis 'vue' plutôt que depuis les packages internes |
script/prefer-ref-over-reactive |
Mauvais · Bon | Recommander ref() plutôt que reactive() pour gérer l’état |
script/prefer-use-attrs |
Mauvais · Bon | Recommander useAttrs() plutôt que context.attrs |
script/prefer-use-id |
Mauvais · Bon | Recommander useId() pour générer des identifiants uniques (Vue 3.5+) |
script/prefer-use-slots |
Mauvais · Bon | Recommander useSlots() plutôt que context.slots |
script/prefer-use-template-ref |
Mauvais · Bon | Recommander useTemplateRef plutôt que ref pour les références de template (Vue 3.5+) |
script/require-default-prop |
Mauvais · Bon | Exiger une valeur par défaut pour chaque prop facultative non booléenne |
script/require-explicit-emits |
Mauvais · Bon | Exiger la déclaration des événements émis dans defineEmits ou l’option emits |
script/require-explicit-slots |
Mauvais · Bon | Exiger que les slots utilisés via useSlots() soient explicitement typés avec defineSlots<...>() |
script/require-function-return-type |
Mauvais · Bon | Exiger des annotations de type de retour sur les fonctions |
script/require-prop-type-constructor |
Mauvais · Bon | Exiger que les valeurs type des props soient des constructeurs plutôt que des chaînes littérales |
script/require-prop-types |
Mauvais · Bon | Exiger que chaque prop déclare un type |
script/require-symbol-provide |
Mauvais · Bon | Recommander Symbol comme clé d’injection pour provide/inject |
script/require-typed-object-prop |
Mauvais · Bon | Exiger un type explicite sur une prop dont le type à l’exécution est Object ou Array |
script/require-typed-ref |
Mauvais · Bon | Exiger un argument de type explicite sur un ref() initialisé sans valeur, avec null ou avec undefined |
script/require-valid-default-prop |
Mauvais · Bon | Exiger que la valeur par défaut d’une prop soit valide pour son type déclaré |
script/return-in-computed-property |
Mauvais · Bon | Exiger une valeur de retour dans chaque getter calculé |
script/return-in-emits-validator |
Mauvais · Bon | Exiger une valeur de retour dans chaque validateur emits de l’Options API |
script/valid-define-emits |
Mauvais · Bon | Imposer une utilisation valide de defineEmits() (pas d’arguments de type et d’exécution combinés, pas de références locales, un seul appel) |
script/valid-define-options |
Mauvais · Bon | Imposer une utilisation valide de defineOptions() (un seul argument objet, sans props/emits/expose/slots) |
script/valid-define-props |
Mauvais · Bon | Imposer une utilisation valide de defineProps() (un seul appel, pas d’arguments de type et d’exécution combinés, pas de références locales) |
script/valid-next-tick |
Mauvais · Bon | Exiger que le résultat d’un appel nextTick() soit attendu, chaîné ou associé à un callback |
ssr/no-browser-globals-in-ssr |
Mauvais · Bon | Interdire les variables globales propres au navigateur dans un contexte SSR |
ssr/no-hydration-mismatch |
Mauvais · Bon | Interdire les valeurs non déterministes qui causent des divergences d’hydratation |
type/no-floating-promises |
Mauvais · Bon | Interdire les Promises laissées sans traitement |
type/no-reactivity-loss |
Mauvais · Bon | Interdire les instantanés ordinaires de valeurs réactives lors des affectations et des appels |
type/no-unsafe-template-binding |
Mauvais · Bon | Interdire les liaisons de template dont le type résolu est non sûr |
type/require-typed-emits |
Mauvais · Bon | Exiger une définition de type pour defineEmits |
type/require-typed-props |
Mauvais · Bon | Exiger une définition de type pour defineProps |
type/strict-boolean-expressions |
Mauvais · Bon | Exiger des expressions booléennes sûres dans les conditions des scripts et des templates |
vapor/no-inline-template |
Mauvais · Bon | Interdire l’attribut obsolète inline-template |
vapor/no-vue-lifecycle-events |
Mauvais · Bon | Interdire les événements de cycle de vie @vue:xxx par élément (non pris en charge dans Vapor) |
vapor/prefer-static-class |
Mauvais · Bon | Préférer une classe statique à une liaison de classe dynamique pour les chaînes littérales |
vapor/require-vapor-attribute |
Mauvais · Bon | Suggérer l’ajout de l’attribut vapor à script setup |
vize:croquis/cf/array-mutation |
Mauvais · Bon | Un tableau est modifié par index, ce qu’un tableau réactif ne suit pas. |
vize:croquis/cf/async-boundary |
Mauvais · Bon | Un état réactif traverse une frontière asynchrone et peut être observé dans un état périmé. |
vize:croquis/cf/async-no-suspense |
Mauvais · Bon | Un composant asynchrone est rendu sans frontière Suspense. |
vize:croquis/cf/browser-api-ssr |
Mauvais · Bon | Une API réservée au navigateur est utilisée alors que le composant peut être rendu sur le serveur. |
vize:croquis/cf/circular-dep |
Mauvais · Bon | Des composants s’importent mutuellement en formant un cycle. |
vize:croquis/cf/circular-reactive-dependency |
Mauvais · Bon | Des calculs réactifs dépendent les uns des autres en formant un cycle. |
vize:croquis/cf/closure-captures-reactive |
Mauvais · Bon | Une fermeture capture une valeur réactive et ne verra pas les mises à jour ultérieures. |
vize:croquis/cf/composable-outside-setup |
Mauvais · Bon | Un composable est appelé en dehors de setup. |
vize:croquis/cf/computed-side-effects |
Mauvais · Bon | L’accesseur d’une propriété calculée écrit dans l’état ou produit un autre effet de bord. |
vize:croquis/cf/deep-import |
Mauvais · Bon | Une chaîne d’imports est plus profonde que ce que le projet autorise. |
vize:croquis/cf/destructuring-breaks-reactivity |
Mauvais · Bon | La déstructuration d’un objet réactif copie ses champs et supprime leur suivi. |
vize:croquis/cf/di-outside-setup |
Mauvais · Bon | provide ou inject est appelé en dehors de setup. |
vize:croquis/cf/dom-access-without-next-tick |
Mauvais · Bon | Le DOM est lu avant que Vue ait appliqué la mise à jour. |
vize:croquis/cf/duplicate-id |
Mauvais · Bon | Le même identifiant d’élément est utilisé dans plusieurs composants. |
vize:croquis/cf/event-listener-leak |
Mauvais · Bon | Un écouteur d’événement est enregistré sans jamais être supprimé. |
vize:croquis/cf/event-modifier |
Mauvais · Bon | Un écouteur d’événement utilise un modificateur que l’événement émis ne prend pas en charge. |
vize:croquis/cf/hydration-risk |
Mauvais · Bon | Ce code regroupe plusieurs diagnostics de réactivité, dont une prop copiée dans une ref. Il ne signifie pas que chaque expression Date.now() est détectée par la passe inter-fichiers. |
vize:croquis/cf/inherit-attrs-unused |
Mauvais · Bon | inheritAttrs: false est défini et le composant ne lit jamais les attributs. |
vize:croquis/cf/inject-without-symbol |
Mauvais · Bon | inject utilise une clé ordinaire au lieu d’un symbole InjectionKey. |
vize:croquis/cf/injected-async-mutation-race |
Mauvais · Bon | Une valeur injectée est modifiée par une tâche asynchrone susceptible de provoquer une condition de concurrence. |
vize:croquis/cf/lifecycle-outside-setup |
Mauvais · Bon | Un hook de cycle de vie est enregistré en dehors de setup. |
vize:croquis/cf/lifecycle-without-cleanup |
Mauvais · Bon | Un hook de cycle de vie lance un travail sans jamais le nettoyer. |
vize:croquis/cf/missing-required-prop |
Mauvais · Bon | Une prop obligatoire n’est pas transmise. |
vize:croquis/cf/missing-suspense |
Mauvais · Bon | Une dépendance asynchrone est utilisée en dehors d’une frontière Suspense. |
vize:croquis/cf/module-scope-reactive |
Mauvais · Bon | Un état réactif est créé au niveau du module et partagé par tous les appelants. |
vize:croquis/cf/multi-root-attrs |
Mauvais · Bon | Un composant à plusieurs racines reçoit des attributs sans avoir d’endroit où les placer. |
vize:croquis/cf/mutated-after-escape |
Mauvais · Bon | Un objet réactif est modifié après avoir échappé à son propriétaire. |
vize:croquis/cf/non-reactive-provide |
Mauvais · Bon | Une valeur fournie n’est pas réactive ; les descendants ne verront donc pas les mises à jour. |
vize:croquis/cf/non-unique-id |
Mauvais · Bon | L’identifiant d’un élément dans une boucle n’est pas unique pour chaque entrée. |
vize:croquis/cf/object-identity-comparison |
Mauvais · Bon | Un objet réactif est comparé par identité, laquelle change lorsque l’enveloppe est retirée. |
vize:croquis/cf/pinia-getter |
Mauvais · Bon | Un getter Pinia est lu sans storeToRefs ; il ne restera donc pas réactif. |
vize:croquis/cf/prop-type-mismatch |
Mauvais · Bon | La valeur d’une prop transmise ne correspond pas au type déclaré. |
vize:croquis/cf/provide-inject-type |
Mauvais · Bon | Une valeur fournie et son injection n’ont pas le même type. |
vize:croquis/cf/provide-without-symbol |
Mauvais · Bon | provide utilise une clé ordinaire au lieu d’un symbole InjectionKey. |
vize:croquis/cf/reactive-export |
Mauvais · Bon | Un état réactif est exporté depuis le module. |
vize:croquis/cf/reactivity-outside-setup |
Mauvais · Bon | Une API réactive est appelée en dehors de setup. |
vize:croquis/cf/reassignment-breaks-reactivity |
Mauvais · Bon | Réaffecter une liaison réactive la remplace par une valeur ordinaire. |
vize:croquis/cf/reference-escapes-scope |
Mauvais · Bon | Une référence réactive échappe à la portée qui gère sa durée de vie. |
vize:croquis/cf/setup-context-violation |
Mauvais · Bon | Le contexte setup est utilisé d’une manière que Vue n’autorise pas. |
vize:croquis/cf/shallow-deep-access |
Mauvais · Bon | Une propriété profonde d’une valeur shallowReactive ou shallowRef est lue comme si elle était suivie. |
vize:croquis/cf/spread-breaks-reactivity |
Mauvais · Bon | Décomposer un objet réactif avec l’opérateur spread copie ses valeurs et supprime leur suivi. |
vize:croquis/cf/suspense-no-fallback |
Mauvais · Bon | <Suspense> n’a aucun contenu de secours. |
vize:croquis/cf/template-ref-timing |
Mauvais · Bon | Une référence de template est lue avant le montage du composant. |
vize:croquis/cf/toraw-mutation |
Mauvais · Bon | toRaw est utilisé, puis l’objet brut est modifié. |
vize:croquis/cf/uncaught-error |
Mauvais · Bon | Un composant peut lever une exception sans qu’aucune frontière d’erreur ne la capture. |
vize:croquis/cf/undeclared-emit |
Mauvais · Bon | Le composant émet un événement qui n’est pas déclaré. |
vize:croquis/cf/undeclared-prop |
Mauvais · Bon | Un parent transmet une prop que l’enfant ne déclare pas. |
vize:croquis/cf/undefined-slot |
Mauvais · Bon | Un parent remplit un slot que l’enfant n’expose pas. |
vize:croquis/cf/unhandled-event |
Mauvais · Bon | Un enfant émet un événement qu’aucun parent ne gère. |
vize:croquis/cf/unmatched-inject |
Mauvais · Bon | inject nomme une clé qu’aucun ancêtre ne fournit. |
vize:croquis/cf/unmatched-listener |
Mauvais · Bon | Un parent écoute un événement que l’enfant n’émet pas. |
vize:croquis/cf/unregistered-component |
Mauvais · Bon | Un template utilise un composant qui n’est ni enregistré ni importé. |
vize:croquis/cf/unresolved-import |
Mauvais · Bon | Un import ne se résout pas vers un module. |
vize:croquis/cf/unused-attrs |
Mauvais · Bon | Des attributs à transmettre automatiquement sont passés à un composant à plusieurs racines qui ne les utilise pas. |
vize:croquis/cf/unused-emit |
Mauvais · Bon | Un événement déclaré n’est jamais émis. |
vize:croquis/cf/unused-provide |
Mauvais · Bon | Une clé fournie n’est jamais injectée. |
vize:croquis/cf/value-extraction-breaks-reactivity |
Mauvais · Bon | Extraire une valeur réactive dans une variable locale fait perdre les mises à jour ultérieures. |
vize:croquis/cf/watch-can-be-computed |
Mauvais · Bon | Un observateur ne fait que copier une valeur dans l’état et peut être remplacé par une propriété calculée. |
vize:croquis/cf/watcheffect-async |
Mauvais · Bon | watchEffect lance une tâche asynchrone et ne peut pas nettoyer l’exécution précédente. |
vize:croquis/cf/watcher-outside-setup |
Mauvais · Bon | watch ou watchEffect est appelé en dehors de setup. |
vue/a11y-img-alt |
Mauvais · Bon | Exiger un attribut alt sur les images pour les rendre accessibles |
vue/attribute-hyphenation |
Mauvais · Bon | Imposer un style de nommage des attributs sur les composants personnalisés |
vue/attribute-order |
Mauvais · Bon | Imposer un ordre cohérent des attributs |
vue/component-definition-name-casing |
Mauvais · Bon | Imposer PascalCase ou kebab-case aux noms de définition des composants |
vue/component-name-in-template-casing |
Mauvais · Bon | Imposer une casse précise aux noms de composants dans les templates |
vue/cross-file-attrs-fallthrough |
Mauvais · Bon | Un parent transmet des attributs à un enfant résolu dont la racine ne peut pas en hériter et qui n’utilise pas explicitement $attrs. |
vue/html-button-has-type |
Mauvais · Bon | Exiger un type explicite et valide sur les éléments button |
vue/html-quotes |
Mauvais · Bon | Imposer un style de guillemets pour les attributs HTML |
vue/html-self-closing |
Mauvais · Bon | Imposer un style de fermeture automatique des balises |
vue/max-template-complexity |
Mauvais · Bon | Limiter la complexité propre du template d’un composant, cyclomatique et cognitive |
vue/multi-word-component-names |
Mauvais · Bon | Exiger des noms de composants composés de plusieurs mots |
vue/mustache-interpolation-spacing |
Mauvais · Bon | Imposer un espacement cohérent dans les interpolations à doubles accolades |
vue/no-array-index-key |
Mauvais · Bon | Interdire l’utilisation directe de la variable d’index de v-for comme :key |
vue/no-bare-strings-in-template |
Mauvais · Bon | Interdire le texte brut destiné aux utilisateurs dans les templates lorsqu’il devrait être internationalisé |
vue/no-boolean-attr-value |
Mauvais · Bon | Interdire les valeurs explicites des attributs HTML booléens |
vue/no-child-content |
Mauvais · Bon | Interdire le contenu enfant lors de l’utilisation de v-html ou v-text |
vue/no-deprecated-filter |
Mauvais · Bon | Interdire la syntaxe obsolète des filtres de Vue 2 utilisant l’opérateur pipe |
vue/no-deprecated-functional-template |
Mauvais · Bon | Interdire l’attribut functional sur le <template> d’un SFC |
vue/no-deprecated-html-element-is |
Mauvais · Bon | Interdire l’attribut is sur les éléments HTML natifs |
vue/no-deprecated-inline-template |
Mauvais · Bon | Interdire l’attribut obsolète inline-template |
vue/no-deprecated-router-link-tag-prop |
Mauvais · Bon | Interdire la prop tag sur <router-link> |
vue/no-deprecated-scope-attribute |
Mauvais · Bon | Interdire l’attribut obsolète scope sur <template> |
vue/no-deprecated-slot-attribute |
Mauvais · Bon | Interdire l’attribut obsolète slot |
vue/no-deprecated-slot-scope-attribute |
Mauvais · Bon | Interdire l’attribut obsolète slot-scope |
vue/no-deprecated-v-bind-sync |
Mauvais · Bon | Interdire le modificateur obsolète .sync sur v-bind |
vue/no-deprecated-v-is |
Mauvais · Bon | Interdire la directive obsolète v-is |
vue/no-deprecated-v-on-native-modifier |
Mauvais · Bon | Interdire le modificateur obsolète .native sur v-on |
vue/no-deprecated-v-on-number-modifiers |
Mauvais · Bon | Interdire les modificateurs numériques obsolètes keyCode sur v-on |
vue/no-dupe-v-else-if |
Mauvais · Bon | Interdire les conditions répétées dans les chaînes v-if / v-else-if |
vue/no-duplicate-attributes |
Mauvais · Bon | Interdire les attributs en double sur un même élément |
vue/no-empty-component-block |
Mauvais · Bon | Interdire les blocs SFC vides |
vue/no-inline-style |
Mauvais · Bon | Déconseiller l’utilisation d’attributs de style en ligne |
vue/no-invalid-html-attribute |
Mauvais · Bon | Interdire les valeurs statiques invalides des attributs HTML |
vue/no-lone-template |
Mauvais · Bon | Interdire les éléments <template> inutiles |
vue/no-multi-spaces |
Mauvais · Bon | Interdire plusieurs espaces consécutifs |
vue/no-multiple-objects-in-class |
Mauvais · Bon | Interdire plusieurs objets littéraux dans une liaison :class sous forme de tableau |
vue/no-multiple-template-root |
Mauvais · Bon | Interdire plusieurs nœuds racines dans un template |
vue/no-mutating-props |
Mauvais · Bon | Interdire la modification des props d’un composant |
vue/no-negated-v-if-condition |
Mauvais · Bon | Interdire une condition v-if négative lorsque la chaîne comporte un v-else |
vue/no-non-component-keep-alive-child |
Mauvais · Bon | Interdire les enveloppes d’éléments ordinaires directement sous <KeepAlive> |
vue/no-preprocessor-lang |
Mauvais · Bon | Déconseiller les préprocesseurs CSS au profit du CSS moderne |
vue/no-reserved-component-names |
Mauvais · Bon | Interdire l’utilisation de noms réservés comme noms de composants |
vue/no-root-v-if |
Mauvais · Bon | Interdire v-if sur l’unique élément racine d’un template |
vue/no-script-non-standard-lang |
Mauvais · Bon | Déconseiller les valeurs lang non standard dans les scripts |
vue/no-src-attribute |
Mauvais · Bon | Déconseiller l’attribut src sur les blocs SFC |
vue/no-static-inline-styles |
Mauvais · Bon | Interdire les attributs de style en ligne statiques |
vue/no-template-key |
Mauvais · Bon | Interdire l’attribut key sur <template> |
vue/no-template-lang |
Mauvais · Bon | Déconseiller l’attribut lang sur le bloc template |
vue/no-template-shadow |
Mauvais · Bon | Interdire les noms de variables qui masquent des variables d’une portée externe |
vue/no-template-target-blank |
Mauvais · Bon | Interdire target="_blank" sans rel="noopener noreferrer" |
vue/no-textarea-mustache |
Mauvais · Bon | Interdire l’interpolation à doubles accolades dans <textarea> |
vue/no-undefined-refs |
Mauvais · Bon | Interdire les références à des variables non définies dans les templates |
vue/no-unsafe-url |
Mauvais · Bon | Signaler les liaisons d’URL potentiellement dangereuses |
vue/no-unsandboxed-iframe |
Mauvais · Bon | Exiger un attribut sandbox sur les éléments iframe |
vue/no-unused-components |
Mauvais · Bon | Interdire l’enregistrement de composants inutilisés dans les templates |
vue/no-unused-properties |
Mauvais · Bon | Interdire les propriétés inutilisées définies dans defineProps |
vue/no-unused-refs |
Mauvais · Bon | Signaler les refs de template (ref="x") jamais référencées dans <script> |
vue/no-unused-setup-bindings |
Mauvais · Bon | Interdire les liaisons script setup qui ne sont jamais lues |
vue/no-unused-vars |
Mauvais · Bon | Interdire les variables inutilisées définies dans les directives v-for et v-slot |
vue/no-use-v-else-with-v-for |
Mauvais · Bon | Interdire v-else-if ou v-else sur le même élément que v-for |
vue/no-use-v-if-with-v-for |
Mauvais · Bon | Interdire v-if sur le même élément que v-for |
vue/no-useless-mustaches |
Mauvais · Bon | Interdire une interpolation à doubles accolades dont l’expression est une chaîne littérale constante |
vue/no-useless-template-attributes |
Mauvais · Bon | Interdire les attributs inutiles sur les éléments <template> |
vue/no-useless-v-bind |
Mauvais · Bon | Interdire un v-bind dont la valeur est une simple chaîne littérale |
vue/no-v-for-template-key-on-child |
Mauvais · Bon | Interdire key sur l’enfant d’un <template v-for> |
vue/no-v-html |
Mauvais · Bon | Déconseiller v-html pour prévenir les vulnérabilités XSS |
vue/no-v-text |
Mauvais · Bon | Interdire la directive v-text ; préférer l’interpolation à doubles accolades |
vue/no-v-text-v-html-on-component |
Mauvais · Bon | Interdire v-text / v-html sur les éléments de composants |
vue/permitted-contents |
Mauvais · Bon | Faire respecter les règles du modèle de contenu HTML |
vue/prefer-props-shorthand |
Mauvais · Bon | Recommander la syntaxe abrégée des props (Vue 3.4+) |
vue/prefer-true-attribute-shorthand |
Mauvais · Bon | Préférer la syntaxe abrégée pour un attribut booléen lié à true |
vue/prop-name-casing |
Mauvais · Bon | Imposer une casse aux noms des props déclarées |
vue/require-component-is |
Mauvais · Bon | Exiger v-bind:is sur les éléments <component> |
vue/require-component-registration |
Mauvais · Bon | Exiger un import ou un enregistrement explicite des composants |
vue/require-scoped-style |
Mauvais · Bon | Exiger l’attribut scoped sur les balises style |
vue/require-toggle-inside-transition |
Mauvais · Bon | Exiger un mécanisme de bascule sur l’élément enveloppé par <transition> |
vue/require-v-for-key |
Mauvais · Bon | Exiger v-bind:key avec les directives v-for |
vue/scoped-event-names |
Mauvais · Bon | Recommander des noms d’événements préfixés par leur contexte au format context:event |
vue/sfc-element-order |
Mauvais · Bon | Imposer un ordre cohérent des éléments de premier niveau d’un SFC |
vue/single-style-block |
Mauvais · Bon | Recommander un seul bloc style |
vue/slot-name-casing |
Mauvais · Bon | Imposer kebab-case aux slots nommés utilisés avec v-slot |
vue/this-in-template |
Mauvais · Bon | Interdire this. dans les expressions des templates |
vue/use-unique-element-ids |
Mauvais · Bon | Imposer des identifiants d’éléments uniques avec useId() plutôt que des littéraux statiques |
vue/use-v-on-exact |
Mauvais · Bon | Imposer le modificateur .exact sur v-on en présence de gestionnaires utilisant des modificateurs |
vue/v-bind-style |
Mauvais · Bon | Imposer un style de directive v-bind |
vue/v-on-event-hyphenation |
Mauvais · Bon | Imposer des tirets dans les noms d’événements personnalisés de v-on sur les composants |
vue/v-on-handler-style |
Mauvais · Bon | Imposer une référence de méthode ou une fonction en ligne pour les gestionnaires v-on |
vue/v-on-style |
Mauvais · Bon | Imposer un style de directive v-on |
vue/v-slot-style |
Mauvais · Bon | Imposer un style de directive v-slot |
vue/valid-attribute-name |
Mauvais · Bon | Exiger des noms d’attributs valides |
vue/valid-template-root |
Mauvais · Bon | Exiger une racine <template> valide selon la sémantique des fragments de Vue 3 |
vue/valid-v-bind |
Mauvais · Bon | Exiger des directives v-bind valides |
vue/valid-v-cloak |
Mauvais · Bon | Exiger des directives v-cloak valides |
vue/valid-v-else |
Mauvais · Bon | Exiger des directives v-else valides |
vue/valid-v-else-if |
Mauvais · Bon | Exiger des directives v-else-if valides |
vue/valid-v-for |
Mauvais · Bon | Exiger des directives v-for valides |
vue/valid-v-html |
Mauvais · Bon | Exiger des directives v-html valides |
vue/valid-v-if |
Mauvais · Bon | Exiger des directives v-if valides |
vue/valid-v-is |
Mauvais · Bon | Exiger des directives v-is valides |
vue/valid-v-memo |
Mauvais · Bon | Exiger des directives v-memo valides |
vue/valid-v-model |
Mauvais · Bon | Exiger des directives v-model valides |
vue/valid-v-on |
Mauvais · Bon | Exiger des directives v-on valides |
vue/valid-v-once |
Mauvais · Bon | Exiger des directives v-once valides |
vue/valid-v-pre |
Mauvais · Bon | Exiger des directives v-pre valides |
vue/valid-v-show |
Mauvais · Bon | Exiger des directives v-show valides |
vue/valid-v-slot |
Mauvais · Bon | Exiger des directives v-slot valides |
vue/valid-v-text |
Mauvais · Bon | Exiger des directives v-text valides |
vue/warn-custom-block |
Mauvais · Bon | Signaler les blocs personnalisés dans les fichiers SFC |
vue/warn-custom-directive |
Mauvais · Bon | Signaler les directives personnalisées nécessitant un enregistrement |
Toutes les règles · Options des règles · Correspondance de migration ESLint · Vérifications du projet · Attributs entre composants
a11y/alt-text
Exiger un texte alternatif pour les éléments multimédias
Exemples du groupe · Fiche de la règle
a11y/anchor-has-content
Exiger un contenu accessible pour les éléments de lien
Exemples du groupe · Fiche de la règle
a11y/anchor-is-valid
Imposer un href valide sur les éléments de lien
Exemples du groupe · Fiche de la règle
a11y/aria-props
Interdire les attributs ARIA invalides
Exemples du groupe · Fiche de la règle
a11y/aria-role
Exiger un rôle ARIA valide et non abstrait pour les éléments possédant un rôle ARIA
Exemples du groupe · Fiche de la règle
a11y/aria-unsupported-elements
Interdire les attributs ARIA sur les éléments qui ne les prennent pas en charge
Exemples du groupe · Fiche de la règle
a11y/click-events-have-key-events
Exiger des gestionnaires de clavier avec les événements de clic
Exemples du groupe · Fiche de la règle
a11y/form-control-has-label
Exiger des libellés associés aux contrôles de formulaire
Exemples du groupe · Fiche de la règle
a11y/heading-has-content
Exiger un contenu accessible pour les éléments de titre
Exemples du groupe · Fiche de la règle
a11y/heading-levels
Interdire de sauter des niveaux de titre
Exemples du groupe · Fiche de la règle
a11y/iframe-has-title
Exiger un attribut title sur les éléments iframe
Exemples du groupe · Fiche de la règle
a11y/img-alt
Exiger un attribut alt sur les images pour les rendre accessibles
Exemples du groupe · Fiche de la règle
a11y/interactive-supports-focus
Exiger que les éléments possédant un rôle interactif puissent recevoir le focus
Exemples du groupe · Fiche de la règle
a11y/label-has-for
Exiger des contrôles de formulaire associés aux libellés
Exemples du groupe · Fiche de la règle
a11y/landmark-roles
Valider l’emplacement et l’unicité des rôles de zones de repère
Exemples du groupe · Fiche de la règle
a11y/media-has-caption
Exiger des sous-titres pour les éléments multimédias
Exemples du groupe · Fiche de la règle
a11y/mouse-events-have-key-events
Exiger des événements de focus et de perte du focus avec les événements de souris
Exemples du groupe · Fiche de la règle
a11y/no-access-key
Interdire l’utilisation de l’attribut accesskey
Exemples du groupe · Fiche de la règle
a11y/no-aria-hidden-on-focusable
Interdire aria-hidden="true" sur les éléments pouvant recevoir le focus
Exemples du groupe · Fiche de la règle
a11y/no-autofocus
Interdire l’utilisation de l’attribut autofocus
Exemples du groupe · Fiche de la règle
a11y/no-distracting-elements
Interdire les éléments distrayants tels que <marquee> et <blink>
Exemples du groupe · Fiche de la règle
a11y/no-i-for-icon
Interdire l’élément <i> pour les icônes
Exemples du groupe · Fiche de la règle
a11y/no-redundant-roles
Interdire les rôles ARIA redondants
Exemples du groupe · Fiche de la règle
a11y/no-refer-to-non-existent-id
Interdire les références à des identifiants inexistants
Exemples du groupe · Fiche de la règle
a11y/no-role-presentation-on-focusable
Interdire role="presentation" ou role="none" sur les éléments pouvant recevoir le focus
Exemples du groupe · Fiche de la règle
a11y/no-static-element-interactions
Interdire les gestionnaires d’événements sur les éléments statiques
Exemples du groupe · Fiche de la règle
a11y/placeholder-label-option
Exiger une option d’invite dans un select required
Exemples du groupe · Fiche de la règle
a11y/role-has-required-aria-props
Exiger les propriétés obligatoires des rôles ARIA
Exemples du groupe · Fiche de la règle
a11y/tabindex-no-positive
Interdire les valeurs positives de tabindex
Exemples du groupe · Fiche de la règle
a11y/use-list
Suggérer des éléments de liste pour les textes ressemblant à des listes à puces
Exemples du groupe · Fiche de la règle
css/no-display-none
Suggérer v-show plutôt que display: none
Exemples du groupe · Fiche de la règle
css/no-hardcoded-values
Suggérer des variables CSS plutôt que des valeurs codées en dur
Exemples du groupe · Fiche de la règle
css/no-id-selectors
Déconseiller les sélecteurs d’identifiant en CSS
Exemples du groupe · Fiche de la règle
css/no-important
Déconseiller !important en CSS
Exemples du groupe · Fiche de la règle
css/no-utility-classes
Déconseiller l’implémentation de classes utilitaires dans les styles des composants
Exemples du groupe · Fiche de la règle
css/no-v-bind-performance
Signaler le coût de performance de v-bind() en CSS
Exemples du groupe · Fiche de la règle
css/prefer-logical-properties
Recommander les propriétés logiques CSS pour mieux prendre en charge l’internationalisation
Exemples du groupe · Fiche de la règle
css/prefer-nested-selectors
Recommander l’imbrication CSS pour les sélecteurs de descendants
Exemples du groupe · Fiche de la règle
css/prefer-slotted
Recommander ::v-slotted() pour styliser le contenu des slots
Exemples du groupe · Fiche de la règle
css/require-font-display
Exiger font-display dans les règles @font-face
Exemples du groupe · Fiche de la règle
ecosystem/nuxt-prefer-nuxt-link
Préférer NuxtLink pour les liens internes à l’application
Exemples du groupe · Fiche de la règle
ecosystem/pinia-prefer-store-to-refs
Préférer storeToRefs() lors de la déstructuration des stores Pinia
Exemples du groupe · Fiche de la règle
ecosystem/router-link-require-to
Exiger une destination to sur les composants RouterLink et NuxtLink
Exemples du groupe · Fiche de la règle
ecosystem/void-link-require-href
Exiger href sur les composants Link de Void Vue
Exemples du groupe · Fiche de la règle
ecosystem/void-link-valid-method
Valider les props method statiques des composants Link de Void Vue
Exemples du groupe · Fiche de la règle
ecosystem/vue-i18n-no-missing-key
Signaler les clés vue-i18n statiques absentes des messages locaux du SFC
Exemples du groupe · Fiche de la règle
ecosystem/vue-router-extra-param
La route ne déclare pas tab ; Vue Router l’ignore.
Exemples du groupe · Fiche de la règle
ecosystem/vue-router-missing-param
Le paramètre obligatoire postId manque ; dépendre de la route actuelle est fragile.
Exemples du groupe · Fiche de la règle
ecosystem/vue-router-param-type
postId n’est pas répétable ; un tableau est donc invalide.
Exemples du groupe · Fiche de la règle
ecosystem/vue-router-prefer-named-link
Préférer les objets de routes nommées aux chaînes de chemin statiques dans RouterLink
Exemples du groupe · Fiche de la règle
ecosystem/vue-router-prefer-named-push
Préférer les objets de routes nommées pour la navigation programmatique de Vue Router
Exemples du groupe · Fiche de la règle
ecosystem/vue-router-unknown-route
Le nom est absent du routeur installé complet.
Exemples du groupe · Fiche de la règle
ecosystem/vue-test-utils-no-html-snapshot
Éviter les instantanés de wrapper.html() dans les tests Vue Test Utils
Exemples du groupe · Fiche de la règle
html/cross-component-nesting
Vérifier l’imbrication HTML réelle après la composition des composants importés.
Exemples du groupe · Fiche de la règle
html/deprecated-attr
Interdire les attributs HTML obsolètes
Exemples du groupe · Fiche de la règle
html/deprecated-element
Interdire les éléments HTML obsolètes
Exemples du groupe · Fiche de la règle
html/id-duplication
Interdire les identifiants d’éléments en double
Exemples du groupe · Fiche de la règle
html/no-consecutive-br
Interdire les éléments <br> consécutifs
Exemples du groupe · Fiche de la règle
html/no-dupe-style-properties
Interdire les propriétés en double dans les attributs de style en ligne
Exemples du groupe · Fiche de la règle
html/no-duplicate-class
Interdire les noms de classes en double dans un attribut class statique
Exemples du groupe · Fiche de la règle
html/no-duplicate-dt
Interdire les noms <dt> en double dans <dl>
Exemples du groupe · Fiche de la règle
html/no-empty-palpable-content
Interdire les éléments vides qui attendent un contenu visible
Exemples du groupe · Fiche de la règle
html/require-datetime
Exiger l’attribut datetime sur l’élément <time>
Exemples du groupe · Fiche de la règle
musea/no-empty-variant
Interdire les blocs <variant> vides
Exemples du groupe · Fiche de la règle
musea/prefer-design-tokens
Préférer les variables CSS de design tokens aux valeurs primitives codées en dur
Exemples du groupe · Fiche de la règle
musea/require-component
Exiger l’attribut component dans le bloc <art>
Exemples du groupe · Fiche de la règle
musea/require-title
Exiger l’attribut title dans le bloc <art>
Exemples du groupe · Fiche de la règle
musea/unique-variant-names
Exiger des noms de variants uniques
Exemples du groupe · Fiche de la règle
musea/valid-variant
Exiger un attribut name dans les blocs <variant>
Exemples du groupe · Fiche de la règle
nuxt/no-nuxt-config-test-key
Interdire la clé test dans la configuration Nuxt
Exemples du groupe · Fiche de la règle
nuxt/no-page-meta-runtime-values
Interdire les valeurs du contexte d’exécution évaluées immédiatement dans definePageMeta, extrait dans un chunk séparé à la compilation et exécuté avant le setup du composant
Exemples du groupe · Fiche de la règle
nuxt/nuxt-config-keys-order
Préférer l’ordre recommandé des propriétés de configuration Nuxt
Exemples du groupe · Fiche de la règle
nuxt/prefer-import-meta
Préférer import.meta.* à process.*
Exemples du groupe · Fiche de la règle
petite-vue/no-unsupported-directive
Interdire les directives non prises en charge par petite-vue
Exemples du groupe · Fiche de la règle
petite-vue/valid-v-effect
Exiger une expression non vide pour v-effect
Exemples du groupe · Fiche de la règle
petite-vue/valid-v-scope
Exiger que v-scope reçoive un objet littéral
Exemples du groupe · Fiche de la règle
script/component-options-name-casing
Imposer PascalCase à l’option name du composant
Exemples du groupe · Fiche de la règle
script/custom-event-name-casing
Imposer camelCase aux noms des événements personnalisés émis
Exemples du groupe · Fiche de la règle
script/define-emits-declaration
Imposer la forme typée defineEmits<{}>() à la place de la forme à l’exécution sous forme de tableau
Exemples du groupe · Fiche de la règle
script/define-macros-order
Imposer un ordre cohérent aux macros du compilateur Vue dans <script setup>
Exemples du groupe · Fiche de la règle
script/define-props-declaration
Imposer la forme typée defineProps<{ ... }>() à la place de la forme à l’exécution sous forme d’objet
Exemples du groupe · Fiche de la règle
script/define-props-destructuring
Imposer un style cohérent de déstructuration de defineProps dans <script setup>
Exemples du groupe · Fiche de la règle
script/no-arrow-functions-in-watch
Interdire les fonctions fléchées comme gestionnaires watch de l’Options API
Exemples du groupe · Fiche de la règle
script/no-async-in-computed
Interdire les fonctions asynchrones dans les propriétés calculées
Exemples du groupe · Fiche de la règle
script/no-boolean-default
Interdire une valeur par défaut sur une prop Boolean
Exemples du groupe · Fiche de la règle
script/no-deep-destructure-in-props
Interdire la déstructuration profondément imbriquée dans defineProps
Exemples du groupe · Fiche de la règle
script/no-deprecated-data-object-declaration
Interdire un objet littéral comme option data du composant (Vue 3 exige une fonction)
Exemples du groupe · Fiche de la règle
script/no-deprecated-destroyed-lifecycle
Interdire les hooks de cycle de vie dépréciés destroyed et beforeDestroy
Exemples du groupe · Fiche de la règle
script/no-deprecated-dollar-listeners-api
Interdire la propriété d’instance $listeners supprimée dans Vue 3 (fusionnée dans $attrs)
Exemples du groupe · Fiche de la règle
script/no-deprecated-dollar-scopedslots-api
Interdire la propriété d’instance $scopedSlots supprimée dans Vue 3 (utiliser $slots)
Exemples du groupe · Fiche de la règle
script/no-deprecated-events-api
Interdire l’API d’événements de Vue 2 supprimée ($on / $off / $once)
Exemples du groupe · Fiche de la règle
script/no-deprecated-props-default-this
Interdire this dans une fonction de valeur par défaut ou de validation de prop (supprimé dans Vue 3)
Exemples du groupe · Fiche de la règle
script/no-dupe-keys
Interdire les clés dupliquées entre props/data/computed/methods/setup/inject de l’Options API
Exemples du groupe · Fiche de la règle
script/no-duplicate-attr-inheritance
Signaler un composant qui applique deux fois ses attributs transmis automatiquement
Exemples du groupe · Fiche de la règle
script/no-export-in-script-setup
Interdire les instructions export dans <script setup>
Exemples du groupe · Fiche de la règle
script/no-expose-after-await
Interdire expose() et defineExpose() après un await
Exemples du groupe · Fiche de la règle
script/no-get-current-instance
Interdire getCurrentInstance() en mode Vapor (renvoie null)
Exemples du groupe · Fiche de la règle
script/no-import-compiler-macros
Interdire l’import des macros du compilateur Vue importées automatiquement
Exemples du groupe · Fiche de la règle
script/no-internal-imports
Interdire les imports depuis les modules internes de Vue
Exemples du groupe · Fiche de la règle
script/no-lifecycle-after-await
Interdire l’enregistrement de hooks de cycle de vie après un await dans setup()
Exemples du groupe · Fiche de la règle
script/no-multiple-slot-args
Interdire de passer plusieurs arguments à un appel de fonction de slot à portée
Exemples du groupe · Fiche de la règle
script/no-next-tick
Interdire l’utilisation de nextTick() dans les composants destinés à Vapor
Exemples du groupe · Fiche de la règle
script/no-options-api
Interdire les formes de l’Options API en mode Vapor
Exemples du groupe · Fiche de la règle
script/no-potential-component-option-typo
Signaler les fautes de frappe probables dans les noms d’options de composant de l’Options API
Exemples du groupe · Fiche de la règle
script/no-reactive-destructure
Interdire la déstructuration d’objets réactifs qui fait perdre la réactivité
Exemples du groupe · Fiche de la règle
script/no-ref-as-operand
Exiger l’accès via .value aux variables liées à une ref lorsqu’elles servent d’opérande
Exemples du groupe · Fiche de la règle
script/no-required-prop-with-default
Interdire une prop qui possède à la fois required: true et une valeur par défaut
Exemples du groupe · Fiche de la règle
script/no-reserved-identifiers
Interdire les identifiants réservés du compilateur Vue
Exemples du groupe · Fiche de la règle
script/no-reserved-keys
Interdire les noms réservés par Vue comme clés de props/data/computed/methods/setup/inject de l’Options API
Exemples du groupe · Fiche de la règle
script/no-reserved-props
Interdire les noms réservés dans la déclaration des props d’un composant
Exemples du groupe · Fiche de la règle
script/no-restricted-globals
Interdire les références aux variables globales de l’environnement d’exécution qui doivent passer par une couche d’encapsulation typée
Exemples du groupe · Fiche de la règle
script/no-restricted-members
Interdire les accès aux membres object.property configurés par le projet
Exemples du groupe · Fiche de la règle
script/no-side-effects-in-computed-properties
Interdire les effets de bord dans les getters calculés de l’Options API
Exemples du groupe · Fiche de la règle
script/no-top-level-ref-in-script
Interdire ref/reactive au niveau supérieur pour éviter la contamination de l’état entre requêtes
Exemples du groupe · Fiche de la règle
script/no-unstable-nested-components
Interdire les définitions de composants dans les fonctions setup ou de rendu
Exemples du groupe · Fiche de la règle
script/no-unused-emit-declarations
Signaler les événements déclarés qui ne sont jamais émis
Exemples du groupe · Fiche de la règle
script/no-use-computed-property-like-method
Interdire d’appeler une propriété calculée de l’Options API comme une méthode
Exemples du groupe · Fiche de la règle
script/no-watch-after-await
Interdire les observateurs créés après un await dans setup() sans conserver leur fonction d’arrêt
Exemples du groupe · Fiche de la règle
script/no-with-defaults
Déconseiller withDefaults au profit des valeurs par défaut dans la déstructuration (Vue 3.5+)
Exemples du groupe · Fiche de la règle
script/prefer-computed
Préférer computed() pour l’état réactif dérivé
Exemples du groupe · Fiche de la règle
script/prefer-define-options
Préférer defineOptions() à un <script> ordinaire qui ne définit que name/inheritAttrs
Exemples du groupe · Fiche de la règle
script/prefer-import-from-vue
Préférer les imports depuis 'vue' plutôt que depuis les packages internes
Exemples du groupe · Fiche de la règle
script/prefer-ref-over-reactive
Recommander ref() plutôt que reactive() pour gérer l’état
Exemples du groupe · Fiche de la règle
script/prefer-use-attrs
Recommander useAttrs() plutôt que context.attrs
Exemples du groupe · Fiche de la règle
script/prefer-use-id
Recommander useId() pour générer des identifiants uniques (Vue 3.5+)
Exemples du groupe · Fiche de la règle
script/prefer-use-slots
Recommander useSlots() plutôt que context.slots
Exemples du groupe · Fiche de la règle
script/prefer-use-template-ref
Recommander useTemplateRef plutôt que ref pour les références de template (Vue 3.5+)
Exemples du groupe · Fiche de la règle
script/require-default-prop
Exiger une valeur par défaut pour chaque prop facultative non booléenne
Exemples du groupe · Fiche de la règle
script/require-explicit-emits
Exiger la déclaration des événements émis dans defineEmits ou l’option emits
Exemples du groupe · Fiche de la règle
script/require-explicit-slots
Exiger que les slots utilisés via useSlots() soient explicitement typés avec defineSlots<...>()
Exemples du groupe · Fiche de la règle
script/require-function-return-type
Exiger des annotations de type de retour sur les fonctions
Exemples du groupe · Fiche de la règle
script/require-prop-type-constructor
Exiger que les valeurs type des props soient des constructeurs plutôt que des chaînes littérales
Exemples du groupe · Fiche de la règle
script/require-prop-types
Exiger que chaque prop déclare un type
Exemples du groupe · Fiche de la règle
script/require-symbol-provide
Recommander Symbol comme clé d’injection pour provide/inject
Exemples du groupe · Fiche de la règle
script/require-typed-object-prop
Exiger un type explicite sur une prop dont le type à l’exécution est Object ou Array
Exemples du groupe · Fiche de la règle
script/require-typed-ref
Exiger un argument de type explicite sur un ref() initialisé sans valeur, avec null ou avec undefined
Exemples du groupe · Fiche de la règle
script/require-valid-default-prop
Exiger que la valeur par défaut d’une prop soit valide pour son type déclaré
Exemples du groupe · Fiche de la règle
script/return-in-computed-property
Exiger une valeur de retour dans chaque getter calculé
Exemples du groupe · Fiche de la règle
script/return-in-emits-validator
Exiger une valeur de retour dans chaque validateur emits de l’Options API
Exemples du groupe · Fiche de la règle
script/valid-define-emits
Imposer une utilisation valide de defineEmits() (pas d’arguments de type et d’exécution combinés, pas de références locales, un seul appel)
Exemples du groupe · Fiche de la règle
script/valid-define-options
Imposer une utilisation valide de defineOptions() (un seul argument objet, sans props/emits/expose/slots)
Exemples du groupe · Fiche de la règle
script/valid-define-props
Imposer une utilisation valide de defineProps() (un seul appel, pas d’arguments de type et d’exécution combinés, pas de références locales)
Exemples du groupe · Fiche de la règle
script/valid-next-tick
Exiger que le résultat d’un appel nextTick() soit attendu, chaîné ou associé à un callback
Exemples du groupe · Fiche de la règle
ssr/no-browser-globals-in-ssr
Interdire les variables globales propres au navigateur dans un contexte SSR
Exemples du groupe · Fiche de la règle
ssr/no-hydration-mismatch
Interdire les valeurs non déterministes qui causent des divergences d’hydratation
Exemples du groupe · Fiche de la règle
type/no-floating-promises
Interdire les Promises laissées sans traitement
Exemples du groupe · Fiche de la règle
type/no-reactivity-loss
Interdire les instantanés ordinaires de valeurs réactives lors des affectations et des appels
Exemples du groupe · Fiche de la règle
type/no-unsafe-template-binding
Interdire les liaisons de template dont le type résolu est non sûr
Exemples du groupe · Fiche de la règle
type/require-typed-emits
Exiger une définition de type pour defineEmits
Exemples du groupe · Fiche de la règle
type/require-typed-props
Exiger une définition de type pour defineProps
Exemples du groupe · Fiche de la règle
type/strict-boolean-expressions
Exiger des expressions booléennes sûres dans les conditions des scripts et des templates
Exemples du groupe · Fiche de la règle
vapor/no-inline-template
Interdire l’attribut obsolète inline-template
Exemples du groupe · Fiche de la règle
vapor/no-vue-lifecycle-events
Interdire les événements de cycle de vie @vue:xxx par élément (non pris en charge dans Vapor)
Exemples du groupe · Fiche de la règle
vapor/prefer-static-class
Préférer une classe statique à une liaison de classe dynamique pour les chaînes littérales
Exemples du groupe · Fiche de la règle
vapor/require-vapor-attribute
Suggérer l’ajout de l’attribut vapor à script setup
Exemples du groupe · Fiche de la règle
vize:croquis/cf/array-mutation
Un tableau est modifié par index, ce qu’un tableau réactif ne suit pas.
Exemples du groupe · Fiche de la règle
vize:croquis/cf/async-boundary
Un état réactif traverse une frontière asynchrone et peut être observé dans un état périmé.
Exemples du groupe · Fiche de la règle
vize:croquis/cf/async-no-suspense
Un composant asynchrone est rendu sans frontière Suspense.
Exemples du groupe · Fiche de la règle
vize:croquis/cf/browser-api-ssr
Une API réservée au navigateur est utilisée alors que le composant peut être rendu sur le serveur.
Exemples du groupe · Fiche de la règle
vize:croquis/cf/circular-dep
Des composants s’importent mutuellement en formant un cycle.
Exemples du groupe · Fiche de la règle
vize:croquis/cf/circular-reactive-dependency
Des calculs réactifs dépendent les uns des autres en formant un cycle.
Exemples du groupe · Fiche de la règle
vize:croquis/cf/closure-captures-reactive
Une fermeture capture une valeur réactive et ne verra pas les mises à jour ultérieures.
Exemples du groupe · Fiche de la règle
vize:croquis/cf/composable-outside-setup
Un composable est appelé en dehors de setup.
Exemples du groupe · Fiche de la règle
vize:croquis/cf/computed-side-effects
L’accesseur d’une propriété calculée écrit dans l’état ou produit un autre effet de bord.
Exemples du groupe · Fiche de la règle
vize:croquis/cf/deep-import
Une chaîne d’imports est plus profonde que ce que le projet autorise.
Exemples du groupe · Fiche de la règle
vize:croquis/cf/destructuring-breaks-reactivity
La déstructuration d’un objet réactif copie ses champs et supprime leur suivi.
Exemples du groupe · Fiche de la règle
vize:croquis/cf/di-outside-setup
provide ou inject est appelé en dehors de setup.
Exemples du groupe · Fiche de la règle
vize:croquis/cf/dom-access-without-next-tick
Le DOM est lu avant que Vue ait appliqué la mise à jour.
Exemples du groupe · Fiche de la règle
vize:croquis/cf/duplicate-id
Le même identifiant d’élément est utilisé dans plusieurs composants.
Exemples du groupe · Fiche de la règle
vize:croquis/cf/event-listener-leak
Un écouteur d’événement est enregistré sans jamais être supprimé.
Exemples du groupe · Fiche de la règle
vize:croquis/cf/event-modifier
Un écouteur d’événement utilise un modificateur que l’événement émis ne prend pas en charge.
Exemples du groupe · Fiche de la règle
vize:croquis/cf/hydration-risk
Ce code regroupe plusieurs diagnostics de réactivité, dont une prop copiée dans une ref. Il ne signifie pas que chaque expression Date.now() est détectée par la passe inter-fichiers.
Exemples du groupe · Fiche de la règle
vize:croquis/cf/inherit-attrs-unused
inheritAttrs: false est défini et le composant ne lit jamais les attributs.
Exemples du groupe · Fiche de la règle
vize:croquis/cf/inject-without-symbol
inject utilise une clé ordinaire au lieu d’un symbole InjectionKey.
Exemples du groupe · Fiche de la règle
vize:croquis/cf/injected-async-mutation-race
Une valeur injectée est modifiée par une tâche asynchrone susceptible de provoquer une condition de concurrence.
Exemples du groupe · Fiche de la règle
vize:croquis/cf/lifecycle-outside-setup
Un hook de cycle de vie est enregistré en dehors de setup.
Exemples du groupe · Fiche de la règle
vize:croquis/cf/lifecycle-without-cleanup
Un hook de cycle de vie lance un travail sans jamais le nettoyer.
Exemples du groupe · Fiche de la règle
vize:croquis/cf/missing-required-prop
Une prop obligatoire n’est pas transmise.
Exemples du groupe · Fiche de la règle
vize:croquis/cf/missing-suspense
Une dépendance asynchrone est utilisée en dehors d’une frontière Suspense.
Exemples du groupe · Fiche de la règle
vize:croquis/cf/module-scope-reactive
Un état réactif est créé au niveau du module et partagé par tous les appelants.
Exemples du groupe · Fiche de la règle
vize:croquis/cf/multi-root-attrs
Un composant à plusieurs racines reçoit des attributs sans avoir d’endroit où les placer.
Exemples du groupe · Fiche de la règle
vize:croquis/cf/mutated-after-escape
Un objet réactif est modifié après avoir échappé à son propriétaire.
Exemples du groupe · Fiche de la règle
vize:croquis/cf/non-reactive-provide
Une valeur fournie n’est pas réactive ; les descendants ne verront donc pas les mises à jour.
Exemples du groupe · Fiche de la règle
vize:croquis/cf/non-unique-id
L’identifiant d’un élément dans une boucle n’est pas unique pour chaque entrée.
Exemples du groupe · Fiche de la règle
vize:croquis/cf/object-identity-comparison
Un objet réactif est comparé par identité, laquelle change lorsque l’enveloppe est retirée.
Exemples du groupe · Fiche de la règle
vize:croquis/cf/pinia-getter
Un getter Pinia est lu sans storeToRefs ; il ne restera donc pas réactif.
Exemples du groupe · Fiche de la règle
vize:croquis/cf/prop-type-mismatch
La valeur d’une prop transmise ne correspond pas au type déclaré.
Exemples du groupe · Fiche de la règle
vize:croquis/cf/provide-inject-type
Une valeur fournie et son injection n’ont pas le même type.
Exemples du groupe · Fiche de la règle
vize:croquis/cf/provide-without-symbol
provide utilise une clé ordinaire au lieu d’un symbole InjectionKey.
Exemples du groupe · Fiche de la règle
vize:croquis/cf/reactive-export
Un état réactif est exporté depuis le module.
Exemples du groupe · Fiche de la règle
vize:croquis/cf/reactivity-outside-setup
Une API réactive est appelée en dehors de setup.
Exemples du groupe · Fiche de la règle
vize:croquis/cf/reassignment-breaks-reactivity
Réaffecter une liaison réactive la remplace par une valeur ordinaire.
Exemples du groupe · Fiche de la règle
vize:croquis/cf/reference-escapes-scope
Une référence réactive échappe à la portée qui gère sa durée de vie.
Exemples du groupe · Fiche de la règle
vize:croquis/cf/setup-context-violation
Le contexte setup est utilisé d’une manière que Vue n’autorise pas.
Exemples du groupe · Fiche de la règle
vize:croquis/cf/shallow-deep-access
Une propriété profonde d’une valeur shallowReactive ou shallowRef est lue comme si elle était suivie.
Exemples du groupe · Fiche de la règle
vize:croquis/cf/spread-breaks-reactivity
Décomposer un objet réactif avec l’opérateur spread copie ses valeurs et supprime leur suivi.
Exemples du groupe · Fiche de la règle
vize:croquis/cf/suspense-no-fallback
<Suspense> n’a aucun contenu de secours.
Exemples du groupe · Fiche de la règle
vize:croquis/cf/template-ref-timing
Une référence de template est lue avant le montage du composant.
Exemples du groupe · Fiche de la règle
vize:croquis/cf/toraw-mutation
toRaw est utilisé, puis l’objet brut est modifié.
Exemples du groupe · Fiche de la règle
vize:croquis/cf/uncaught-error
Un composant peut lever une exception sans qu’aucune frontière d’erreur ne la capture.
Exemples du groupe · Fiche de la règle
vize:croquis/cf/undeclared-emit
Le composant émet un événement qui n’est pas déclaré.
Exemples du groupe · Fiche de la règle
vize:croquis/cf/undeclared-prop
Un parent transmet une prop que l’enfant ne déclare pas.
Exemples du groupe · Fiche de la règle
vize:croquis/cf/undefined-slot
Un parent remplit un slot que l’enfant n’expose pas.
Exemples du groupe · Fiche de la règle
vize:croquis/cf/unhandled-event
Un enfant émet un événement qu’aucun parent ne gère.
Exemples du groupe · Fiche de la règle
vize:croquis/cf/unmatched-inject
inject nomme une clé qu’aucun ancêtre ne fournit.
Exemples du groupe · Fiche de la règle
vize:croquis/cf/unmatched-listener
Un parent écoute un événement que l’enfant n’émet pas.
Exemples du groupe · Fiche de la règle
vize:croquis/cf/unregistered-component
Un template utilise un composant qui n’est ni enregistré ni importé.
Exemples du groupe · Fiche de la règle
vize:croquis/cf/unresolved-import
Un import ne se résout pas vers un module.
Exemples du groupe · Fiche de la règle
vize:croquis/cf/unused-attrs
Des attributs à transmettre automatiquement sont passés à un composant à plusieurs racines qui ne les utilise pas.
Exemples du groupe · Fiche de la règle
vize:croquis/cf/unused-emit
Un événement déclaré n’est jamais émis.
Exemples du groupe · Fiche de la règle
vize:croquis/cf/unused-provide
Une clé fournie n’est jamais injectée.
Exemples du groupe · Fiche de la règle
vize:croquis/cf/value-extraction-breaks-reactivity
Extraire une valeur réactive dans une variable locale fait perdre les mises à jour ultérieures.
Exemples du groupe · Fiche de la règle
vize:croquis/cf/watch-can-be-computed
Un observateur ne fait que copier une valeur dans l’état et peut être remplacé par une propriété calculée.
Exemples du groupe · Fiche de la règle
vize:croquis/cf/watcheffect-async
watchEffect lance une tâche asynchrone et ne peut pas nettoyer l’exécution précédente.
Exemples du groupe · Fiche de la règle
vize:croquis/cf/watcher-outside-setup
watch ou watchEffect est appelé en dehors de setup.
Exemples du groupe · Fiche de la règle
vue/a11y-img-alt
Exiger un attribut alt sur les images pour les rendre accessibles
Exemples du groupe · Fiche de la règle
vue/attribute-hyphenation
Imposer un style de nommage des attributs sur les composants personnalisés
Exemples du groupe · Fiche de la règle
vue/attribute-order
Imposer un ordre cohérent des attributs
Exemples du groupe · Fiche de la règle
vue/component-definition-name-casing
Imposer PascalCase ou kebab-case aux noms de définition des composants
Exemples du groupe · Fiche de la règle
vue/component-name-in-template-casing
Imposer une casse précise aux noms de composants dans les templates
Exemples du groupe · Fiche de la règle
vue/cross-file-attrs-fallthrough
Un parent transmet des attributs à un enfant résolu dont la racine ne peut pas en hériter et qui n’utilise pas explicitement $attrs.
Exemples du groupe · Fiche de la règle
vue/html-button-has-type
Exiger un type explicite et valide sur les éléments button
Exemples du groupe · Fiche de la règle
vue/html-quotes
Imposer un style de guillemets pour les attributs HTML
Exemples du groupe · Fiche de la règle
vue/html-self-closing
Imposer un style de fermeture automatique des balises
Exemples du groupe · Fiche de la règle
vue/max-template-complexity
Limiter la complexité propre du template d’un composant, cyclomatique et cognitive
Exemples du groupe · Fiche de la règle
vue/multi-word-component-names
Exiger des noms de composants composés de plusieurs mots
Exemples du groupe · Fiche de la règle
vue/mustache-interpolation-spacing
Imposer un espacement cohérent dans les interpolations à doubles accolades
Exemples du groupe · Fiche de la règle
vue/no-array-index-key
Interdire l’utilisation directe de la variable d’index de v-for comme :key
Exemples du groupe · Fiche de la règle
vue/no-bare-strings-in-template
Interdire le texte brut destiné aux utilisateurs dans les templates lorsqu’il devrait être internationalisé
Exemples du groupe · Fiche de la règle
vue/no-boolean-attr-value
Interdire les valeurs explicites des attributs HTML booléens
Exemples du groupe · Fiche de la règle
vue/no-child-content
Interdire le contenu enfant lors de l’utilisation de v-html ou v-text
Exemples du groupe · Fiche de la règle
vue/no-deprecated-filter
Interdire la syntaxe obsolète des filtres de Vue 2 utilisant l’opérateur pipe
Exemples du groupe · Fiche de la règle
vue/no-deprecated-functional-template
Interdire l’attribut functional sur le <template> d’un SFC
Exemples du groupe · Fiche de la règle
vue/no-deprecated-html-element-is
Interdire l’attribut is sur les éléments HTML natifs
Exemples du groupe · Fiche de la règle
vue/no-deprecated-inline-template
Interdire l’attribut obsolète inline-template
Exemples du groupe · Fiche de la règle
vue/no-deprecated-router-link-tag-prop
Interdire la prop tag sur <router-link>
Exemples du groupe · Fiche de la règle
vue/no-deprecated-scope-attribute
Interdire l’attribut obsolète scope sur <template>
Exemples du groupe · Fiche de la règle
vue/no-deprecated-slot-attribute
Interdire l’attribut obsolète slot
Exemples du groupe · Fiche de la règle
vue/no-deprecated-slot-scope-attribute
Interdire l’attribut obsolète slot-scope
Exemples du groupe · Fiche de la règle
vue/no-deprecated-v-bind-sync
Interdire le modificateur obsolète .sync sur v-bind
Exemples du groupe · Fiche de la règle
vue/no-deprecated-v-is
Interdire la directive obsolète v-is
Exemples du groupe · Fiche de la règle
vue/no-deprecated-v-on-native-modifier
Interdire le modificateur obsolète .native sur v-on
Exemples du groupe · Fiche de la règle
vue/no-deprecated-v-on-number-modifiers
Interdire les modificateurs numériques obsolètes keyCode sur v-on
Exemples du groupe · Fiche de la règle
vue/no-dupe-v-else-if
Interdire les conditions répétées dans les chaînes v-if / v-else-if
Exemples du groupe · Fiche de la règle
vue/no-duplicate-attributes
Interdire les attributs en double sur un même élément
Exemples du groupe · Fiche de la règle
vue/no-empty-component-block
Interdire les blocs SFC vides
Exemples du groupe · Fiche de la règle
vue/no-inline-style
Déconseiller l’utilisation d’attributs de style en ligne
Exemples du groupe · Fiche de la règle
vue/no-invalid-html-attribute
Interdire les valeurs statiques invalides des attributs HTML
Exemples du groupe · Fiche de la règle
vue/no-lone-template
Interdire les éléments <template> inutiles
Exemples du groupe · Fiche de la règle
vue/no-multi-spaces
Interdire plusieurs espaces consécutifs
Exemples du groupe · Fiche de la règle
vue/no-multiple-objects-in-class
Interdire plusieurs objets littéraux dans une liaison :class sous forme de tableau
Exemples du groupe · Fiche de la règle
vue/no-multiple-template-root
Interdire plusieurs nœuds racines dans un template
Exemples du groupe · Fiche de la règle
vue/no-mutating-props
Interdire la modification des props d’un composant
Exemples du groupe · Fiche de la règle
vue/no-negated-v-if-condition
Interdire une condition v-if négative lorsque la chaîne comporte un v-else
Exemples du groupe · Fiche de la règle
vue/no-non-component-keep-alive-child
Interdire les enveloppes d’éléments ordinaires directement sous <KeepAlive>
Exemples du groupe · Fiche de la règle
vue/no-preprocessor-lang
Déconseiller les préprocesseurs CSS au profit du CSS moderne
Exemples du groupe · Fiche de la règle
vue/no-reserved-component-names
Interdire l’utilisation de noms réservés comme noms de composants
Exemples du groupe · Fiche de la règle
vue/no-root-v-if
Interdire v-if sur l’unique élément racine d’un template
Exemples du groupe · Fiche de la règle
vue/no-script-non-standard-lang
Déconseiller les valeurs lang non standard dans les scripts
Exemples du groupe · Fiche de la règle
vue/no-src-attribute
Déconseiller l’attribut src sur les blocs SFC
Exemples du groupe · Fiche de la règle
vue/no-static-inline-styles
Interdire les attributs de style en ligne statiques
Exemples du groupe · Fiche de la règle
vue/no-template-key
Interdire l’attribut key sur <template>
Exemples du groupe · Fiche de la règle
vue/no-template-lang
Déconseiller l’attribut lang sur le bloc template
Exemples du groupe · Fiche de la règle
vue/no-template-shadow
Interdire les noms de variables qui masquent des variables d’une portée externe
Exemples du groupe · Fiche de la règle
vue/no-template-target-blank
Interdire target="_blank" sans rel="noopener noreferrer"
Exemples du groupe · Fiche de la règle
vue/no-textarea-mustache
Interdire l’interpolation à doubles accolades dans <textarea>
Exemples du groupe · Fiche de la règle
vue/no-undefined-refs
Interdire les références à des variables non définies dans les templates
Exemples du groupe · Fiche de la règle
vue/no-unsafe-url
Signaler les liaisons d’URL potentiellement dangereuses
Exemples du groupe · Fiche de la règle
vue/no-unsandboxed-iframe
Exiger un attribut sandbox sur les éléments iframe
Exemples du groupe · Fiche de la règle
vue/no-unused-components
Interdire l’enregistrement de composants inutilisés dans les templates
Exemples du groupe · Fiche de la règle
vue/no-unused-properties
Interdire les propriétés inutilisées définies dans defineProps
Exemples du groupe · Fiche de la règle
vue/no-unused-refs
Signaler les refs de template (ref="x") jamais référencées dans <script>
Exemples du groupe · Fiche de la règle
vue/no-unused-setup-bindings
Interdire les liaisons script setup qui ne sont jamais lues
Exemples du groupe · Fiche de la règle
vue/no-unused-vars
Interdire les variables inutilisées définies dans les directives v-for et v-slot
Exemples du groupe · Fiche de la règle
vue/no-use-v-else-with-v-for
Interdire v-else-if ou v-else sur le même élément que v-for
Exemples du groupe · Fiche de la règle
vue/no-use-v-if-with-v-for
Interdire v-if sur le même élément que v-for
Exemples du groupe · Fiche de la règle
vue/no-useless-mustaches
Interdire une interpolation à doubles accolades dont l’expression est une chaîne littérale constante
Exemples du groupe · Fiche de la règle
vue/no-useless-template-attributes
Interdire les attributs inutiles sur les éléments <template>
Exemples du groupe · Fiche de la règle
vue/no-useless-v-bind
Interdire un v-bind dont la valeur est une simple chaîne littérale
Exemples du groupe · Fiche de la règle
vue/no-v-for-template-key-on-child
Interdire key sur l’enfant d’un <template v-for>
Exemples du groupe · Fiche de la règle
vue/no-v-html
Déconseiller v-html pour prévenir les vulnérabilités XSS
Exemples du groupe · Fiche de la règle
vue/no-v-text
Interdire la directive v-text ; préférer l’interpolation à doubles accolades
Exemples du groupe · Fiche de la règle
vue/no-v-text-v-html-on-component
Interdire v-text / v-html sur les éléments de composants
Exemples du groupe · Fiche de la règle
vue/permitted-contents
Faire respecter les règles du modèle de contenu HTML
Exemples du groupe · Fiche de la règle
vue/prefer-props-shorthand
Recommander la syntaxe abrégée des props (Vue 3.4+)
Exemples du groupe · Fiche de la règle
vue/prefer-true-attribute-shorthand
Préférer la syntaxe abrégée pour un attribut booléen lié à true
Exemples du groupe · Fiche de la règle
vue/prop-name-casing
Imposer une casse aux noms des props déclarées
Exemples du groupe · Fiche de la règle
vue/require-component-is
Exiger v-bind:is sur les éléments <component>
Exemples du groupe · Fiche de la règle
vue/require-component-registration
Exiger un import ou un enregistrement explicite des composants
Exemples du groupe · Fiche de la règle
vue/require-scoped-style
Exiger l’attribut scoped sur les balises style
Exemples du groupe · Fiche de la règle
vue/require-toggle-inside-transition
Exiger un mécanisme de bascule sur l’élément enveloppé par <transition>
Exemples du groupe · Fiche de la règle
vue/require-v-for-key
Exiger v-bind:key avec les directives v-for
Exemples du groupe · Fiche de la règle
vue/scoped-event-names
Recommander des noms d’événements préfixés par leur contexte au format context:event
Exemples du groupe · Fiche de la règle
vue/sfc-element-order
Imposer un ordre cohérent des éléments de premier niveau d’un SFC
Exemples du groupe · Fiche de la règle
vue/single-style-block
Recommander un seul bloc style
Exemples du groupe · Fiche de la règle
vue/slot-name-casing
Imposer kebab-case aux slots nommés utilisés avec v-slot
Exemples du groupe · Fiche de la règle
vue/this-in-template
Interdire this. dans les expressions des templates
Exemples du groupe · Fiche de la règle
vue/use-unique-element-ids
Imposer des identifiants d’éléments uniques avec useId() plutôt que des littéraux statiques
Exemples du groupe · Fiche de la règle
vue/use-v-on-exact
Imposer le modificateur .exact sur v-on en présence de gestionnaires utilisant des modificateurs
Exemples du groupe · Fiche de la règle
vue/v-bind-style
Imposer un style de directive v-bind
Exemples du groupe · Fiche de la règle
vue/v-on-event-hyphenation
Imposer des tirets dans les noms d’événements personnalisés de v-on sur les composants
Exemples du groupe · Fiche de la règle
vue/v-on-handler-style
Imposer une référence de méthode ou une fonction en ligne pour les gestionnaires v-on
Exemples du groupe · Fiche de la règle
vue/v-on-style
Imposer un style de directive v-on
Exemples du groupe · Fiche de la règle
vue/v-slot-style
Imposer un style de directive v-slot
Exemples du groupe · Fiche de la règle
vue/valid-attribute-name
Exiger des noms d’attributs valides
Exemples du groupe · Fiche de la règle
vue/valid-template-root
Exiger une racine <template> valide selon la sémantique des fragments de Vue 3
Exemples du groupe · Fiche de la règle
vue/valid-v-bind
Exiger des directives v-bind valides
Exemples du groupe · Fiche de la règle
vue/valid-v-cloak
Exiger des directives v-cloak valides
Exemples du groupe · Fiche de la règle
vue/valid-v-else
Exiger des directives v-else valides
Exemples du groupe · Fiche de la règle
vue/valid-v-else-if
Exiger des directives v-else-if valides
Exemples du groupe · Fiche de la règle
vue/valid-v-for
Exiger des directives v-for valides
Exemples du groupe · Fiche de la règle
vue/valid-v-html
Exiger des directives v-html valides
Exemples du groupe · Fiche de la règle
vue/valid-v-if
Exiger des directives v-if valides
Exemples du groupe · Fiche de la règle
vue/valid-v-is
Exiger des directives v-is valides
Exemples du groupe · Fiche de la règle
vue/valid-v-memo
Exiger des directives v-memo valides
Exemples du groupe · Fiche de la règle
vue/valid-v-model
Exiger des directives v-model valides
Exemples du groupe · Fiche de la règle
vue/valid-v-on
Exiger des directives v-on valides
Exemples du groupe · Fiche de la règle
vue/valid-v-once
Exiger des directives v-once valides
Exemples du groupe · Fiche de la règle
vue/valid-v-pre
Exiger des directives v-pre valides
Exemples du groupe · Fiche de la règle
vue/valid-v-show
Exiger des directives v-show valides
Exemples du groupe · Fiche de la règle
vue/valid-v-slot
Exiger des directives v-slot valides
Exemples du groupe · Fiche de la règle
vue/valid-v-text
Exiger des directives v-text valides
Exemples du groupe · Fiche de la règle
vue/warn-custom-block
Signaler les blocs personnalisés dans les fichiers SFC
Exemples du groupe · Fiche de la règle
vue/warn-custom-directive
Signaler les directives personnalisées nécessitant un enregistrement