Todas as Regras de Patina
Use este índice para encontrar o objetivo de uma regra, as configurações padrão e seu grupo. As páginas dos grupos apresentam as explicações, a configuração, os exemplos completos incorretos e corretos e os limites atuais. Os links existentes para regras e exemplos continuam disponíveis aqui.
As 66 entradas de projeto levam aos arquivos compartilhados completos e aos exemplos incorretos e corretos na página de regras entre arquivos. Os 60 códigos do analisador mantêm seus limites reais: 19 códigos da CLI (18 pares de fontes validados e um projeto ilustrativo com seu grafo reativo preservado), 16 códigos experimentais do analisador Rust que essa etapa da CLI não emite individualmente e 25 contratos sem produtor atual. Configurar um ID não ativa um produtor indisponível.
A CLI pública expõe a mesma etapa por meio de vize lint --cross-file. Os códigos exibidos como vize:croquis/cf/* usam croquis/cf/* em vue.linter.rules (omita vize:). Diagnósticos de informação ou sugestão tornam-se avisos da CLI. As localizações relacionadas explicam a relação entre a origem e o consumidor.
| Regra | Exemplos | Finalidade |
|---|---|---|
a11y/alt-text |
Incorreto · Correto | Exigir texto alternativo para elementos de mídia |
a11y/anchor-has-content |
Incorreto · Correto | Exigir conteúdo acessível nos elementos de âncora |
a11y/anchor-is-valid |
Incorreto · Correto | Exigir um href válido nos elementos de âncora |
a11y/aria-props |
Incorreto · Correto | Proibir atributos ARIA inválidos |
a11y/aria-role |
Incorreto · Correto | Exigir que elementos com papéis ARIA usem um papel ARIA válido e não abstrato |
a11y/aria-unsupported-elements |
Incorreto · Correto | Proibir atributos ARIA em elementos que não os aceitam |
a11y/click-events-have-key-events |
Incorreto · Correto | Exigir manipuladores de eventos de teclado junto aos eventos de clique |
a11y/form-control-has-label |
Incorreto · Correto | Exigir rótulos associados aos controles de formulário |
a11y/heading-has-content |
Incorreto · Correto | Exigir conteúdo acessível nos elementos de título |
a11y/heading-levels |
Incorreto · Correto | Proibir que níveis de título sejam pulados |
a11y/iframe-has-title |
Incorreto · Correto | Exigir um atributo title nos elementos iframe |
a11y/img-alt |
Incorreto · Correto | Exigir o atributo alt nas imagens para garantir acessibilidade |
a11y/interactive-supports-focus |
Incorreto · Correto | Exigir que elementos com papéis interativos possam receber foco |
a11y/label-has-for |
Incorreto · Correto | Exigir controles de formulário associados aos rótulos |
a11y/landmark-roles |
Incorreto · Correto | Validar a posição e a unicidade dos papéis de regiões de referência |
a11y/media-has-caption |
Incorreto · Correto | Exigir legendas nos elementos de mídia |
a11y/mouse-events-have-key-events |
Incorreto · Correto | Exigir eventos de foco e perda de foco junto aos eventos de mouse |
a11y/no-access-key |
Incorreto · Correto | Proibir o uso do atributo accesskey |
a11y/no-aria-hidden-on-focusable |
Incorreto · Correto | Proibir aria-hidden="true" em elementos que podem receber foco |
a11y/no-autofocus |
Incorreto · Correto | Proibir o uso do atributo autofocus |
a11y/no-distracting-elements |
Incorreto · Correto | Proibir elementos que causam distração, como <marquee> e <blink> |
a11y/no-i-for-icon |
Incorreto · Correto | Proibir o uso do elemento <i> para ícones |
a11y/no-redundant-roles |
Incorreto · Correto | Proibir papéis ARIA redundantes |
a11y/no-refer-to-non-existent-id |
Incorreto · Correto | Proibir referências a IDs inexistentes |
a11y/no-role-presentation-on-focusable |
Incorreto · Correto | Proibir role="presentation" ou role="none" em elementos que podem receber foco |
a11y/no-static-element-interactions |
Incorreto · Correto | Proibir manipuladores de eventos em elementos estáticos |
a11y/placeholder-label-option |
Incorreto · Correto | Exigir uma opção de orientação em um select required |
a11y/role-has-required-aria-props |
Incorreto · Correto | Exigir as propriedades obrigatórias dos papéis ARIA |
a11y/tabindex-no-positive |
Incorreto · Correto | Proibir valores positivos de tabindex |
a11y/use-list |
Incorreto · Correto | Sugerir elementos de lista para textos que parecem itens de lista |
css/no-display-none |
Incorreto · Correto | Sugerir v-show em vez de display: none |
css/no-hardcoded-values |
Incorreto · Correto | Sugerir variáveis CSS em vez de valores fixos escritos diretamente |
css/no-id-selectors |
Incorreto · Correto | Desencorajar o uso de seletores de ID no CSS |
css/no-important |
Incorreto · Correto | Desencorajar o uso de !important no CSS |
css/no-utility-classes |
Incorreto · Correto | Alertar sobre a implementação de classes utilitárias nos estilos de componentes |
css/no-v-bind-performance |
Incorreto · Correto | Alertar sobre o custo de desempenho do v-bind() no CSS |
css/prefer-logical-properties |
Incorreto · Correto | Recomendar propriedades lógicas de CSS para melhorar o suporte à internacionalização |
css/prefer-nested-selectors |
Incorreto · Correto | Recomendar o aninhamento de CSS para seletores de descendentes |
css/prefer-slotted |
Incorreto · Correto | Recomendar ::v-slotted() para estilizar o conteúdo de slots |
css/require-font-display |
Incorreto · Correto | Exigir font-display nas regras @font-face |
ecosystem/nuxt-prefer-nuxt-link |
Incorreto · Correto | Preferir NuxtLink para links internos da aplicação |
ecosystem/pinia-prefer-store-to-refs |
Incorreto · Correto | Preferir storeToRefs() ao desestruturar stores do Pinia |
ecosystem/router-link-require-to |
Incorreto · Correto | Exigir um destino to nos componentes RouterLink e NuxtLink |
ecosystem/void-link-require-href |
Incorreto · Correto | Exigir href nos componentes Link do Void Vue |
ecosystem/void-link-valid-method |
Incorreto · Correto | Validar props method estáticas do Link do Void Vue |
ecosystem/vue-i18n-no-missing-key |
Incorreto · Correto | Relatar chaves estáticas do vue-i18n ausentes nas mensagens locais do SFC |
ecosystem/vue-router-extra-param |
Incorreto · Correto | A rota não declara tab; o Vue Router o descarta. |
ecosystem/vue-router-missing-param |
Incorreto · Correto | O parâmetro obrigatório postId está ausente; depender da rota atual é frágil. |
ecosystem/vue-router-param-type |
Incorreto · Correto | postId não é repetível, portanto um array é inválido. |
ecosystem/vue-router-prefer-named-link |
Incorreto · Correto | Preferir objetos de rotas nomeadas a strings de caminho estáticas no RouterLink |
ecosystem/vue-router-prefer-named-push |
Incorreto · Correto | Preferir objetos de rotas nomeadas para navegação programática com Vue Router |
ecosystem/vue-router-unknown-route |
Incorreto · Correto | O nome está ausente do roteador completo instalado. |
ecosystem/vue-test-utils-no-html-snapshot |
Incorreto · Correto | Evitar snapshots de wrapper.html() nos testes com Vue Test Utils |
html/cross-component-nesting |
Incorreto · Correto | Verificar o aninhamento HTML real após compor os componentes importados. |
html/deprecated-attr |
Incorreto · Correto | Proibir atributos HTML obsoletos |
html/deprecated-element |
Incorreto · Correto | Proibir elementos HTML obsoletos |
html/id-duplication |
Incorreto · Correto | Proibir IDs de elementos duplicados |
html/no-consecutive-br |
Incorreto · Correto | Proibir elementos <br> consecutivos |
html/no-dupe-style-properties |
Incorreto · Correto | Proibir propriedades duplicadas em atributos de estilo em linha |
html/no-duplicate-class |
Incorreto · Correto | Proibir nomes de classe duplicados em um atributo class estático |
html/no-duplicate-dt |
Incorreto · Correto | Proibir nomes <dt> duplicados em <dl> |
html/no-empty-palpable-content |
Incorreto · Correto | Proibir elementos vazios que esperam conteúdo visível |
html/require-datetime |
Incorreto · Correto | Exigir o atributo datetime no elemento <time> |
musea/no-empty-variant |
Incorreto · Correto | Proibir blocos <variant> vazios |
musea/prefer-design-tokens |
Incorreto · Correto | Preferir variáveis CSS de tokens de design a valores primitivos fixos escritos diretamente |
musea/require-component |
Incorreto · Correto | Exigir o atributo component no bloco <art> |
musea/require-title |
Incorreto · Correto | Exigir o atributo title no bloco <art> |
musea/unique-variant-names |
Incorreto · Correto | Exigir nomes de variante únicos |
musea/valid-variant |
Incorreto · Correto | Exigir o atributo name nos blocos <variant> |
nuxt/no-nuxt-config-test-key |
Incorreto · Correto | Proibir a definição da chave test na configuração do Nuxt |
nuxt/no-page-meta-runtime-values |
Incorreto · Correto | Proibir valores do contexto de execução no nível de avaliação imediata de definePageMeta, que é extraído para um fragmento separado durante a compilação e executado antes do setup do componente |
nuxt/nuxt-config-keys-order |
Incorreto · Correto | Preferir a ordem recomendada das propriedades de configuração do Nuxt |
nuxt/prefer-import-meta |
Incorreto · Correto | Preferir import.meta.* a process.* |
petite-vue/no-unsupported-directive |
Incorreto · Correto | Proibir diretivas que o petite-vue não aceita |
petite-vue/valid-v-effect |
Incorreto · Correto | Exigir uma expressão não vazia em v-effect |
petite-vue/valid-v-scope |
Incorreto · Correto | Exigir que v-scope vincule um objeto literal |
script/component-options-name-casing |
Incorreto · Correto | Exigir PascalCase na opção name do componente |
script/custom-event-name-casing |
Incorreto · Correto | Exigir camelCase nos nomes de eventos personalizados emitidos |
script/define-emits-declaration |
Incorreto · Correto | Exigir a forma de defineEmits<{}>() baseada em tipos em vez da forma em tempo de execução ou de array |
script/define-macros-order |
Incorreto · Correto | Exigir uma ordem consistente para as macros do compilador Vue em <script setup> |
script/define-props-declaration |
Incorreto · Correto | Exigir defineProps<{ ... }>() baseado em tipos em vez da forma com objeto em tempo de execução |
script/define-props-destructuring |
Incorreto · Correto | Exigir um estilo consistente de desestruturação de defineProps em <script setup> |
script/no-arrow-functions-in-watch |
Incorreto · Correto | Proibir funções de seta como manipuladores de watch na Options API |
script/no-async-in-computed |
Incorreto · Correto | Proibir funções assíncronas em propriedades computadas |
script/no-boolean-default |
Incorreto · Correto | Proibir um valor padrão em uma prop Boolean |
script/no-deep-destructure-in-props |
Incorreto · Correto | Proibir desestruturação profundamente aninhada em defineProps |
script/no-deprecated-data-object-declaration |
Incorreto · Correto | Proibir um literal de objeto como opção data do componente (o Vue 3 exige uma função) |
script/no-deprecated-destroyed-lifecycle |
Incorreto · Correto | Proibir os hooks de ciclo de vida obsoletos destroyed e beforeDestroy |
script/no-deprecated-dollar-listeners-api |
Incorreto · Correto | Proibir a propriedade de instância $listeners removida no Vue 3 (incorporada a $attrs) |
script/no-deprecated-dollar-scopedslots-api |
Incorreto · Correto | Proibir a propriedade de instância $scopedSlots removida no Vue 3 (usar $slots) |
script/no-deprecated-events-api |
Incorreto · Correto | Proibir a API de eventos do Vue 2 removida ($on / $off / $once) |
script/no-deprecated-props-default-this |
Incorreto · Correto | Proibir this dentro de uma função de valor padrão ou validação de prop (removido no Vue 3) |
script/no-dupe-keys |
Incorreto · Correto | Proibir chaves duplicadas entre props/data/computed/methods/setup/inject da Options API |
script/no-duplicate-attr-inheritance |
Incorreto · Correto | Sinalizar um componente que aplica duas vezes seus atributos repassados |
script/no-export-in-script-setup |
Incorreto · Correto | Proibir instruções export dentro de <script setup> |
script/no-expose-after-await |
Incorreto · Correto | Proibir expose() e defineExpose() após um await |
script/no-get-current-instance |
Incorreto · Correto | Proibir getCurrentInstance() no modo Vapor (retorna null) |
script/no-import-compiler-macros |
Incorreto · Correto | Proibir a importação de macros do compilador Vue que são importadas automaticamente |
script/no-internal-imports |
Incorreto · Correto | Proibir importações de módulos internos do Vue |
script/no-lifecycle-after-await |
Incorreto · Correto | Proibir hooks de ciclo de vida registrados após um await em setup() |
script/no-multiple-slot-args |
Incorreto · Correto | Proibir passar mais de um argumento a uma chamada de função de slot com escopo |
script/no-next-tick |
Incorreto · Correto | Proibir o uso de nextTick() em componentes orientados a Vapor |
script/no-options-api |
Incorreto · Correto | Proibir padrões da Options API no modo Vapor |
script/no-potential-component-option-typo |
Incorreto · Correto | Sinalizar prováveis erros de digitação nos nomes de opções de componentes da Options API |
script/no-reactive-destructure |
Incorreto · Correto | Proibir a desestruturação de objetos reativos que causa perda de reatividade |
script/no-ref-as-operand |
Incorreto · Correto | Exigir que variáveis vinculadas a refs sejam acessadas por .value quando usadas como operandos |
script/no-required-prop-with-default |
Incorreto · Correto | Proibir uma prop que tenha required: true e também um valor padrão |
script/no-reserved-identifiers |
Incorreto · Correto | Proibir o uso de identificadores reservados pelo compilador Vue |
script/no-reserved-keys |
Incorreto · Correto | Proibir nomes reservados pelo Vue como chaves de props/data/computed/methods/setup/inject na Options API |
script/no-reserved-props |
Incorreto · Correto | Proibir nomes reservados na declaração de props de um componente |
script/no-restricted-globals |
Incorreto · Correto | Proibir referências a variáveis globais do ambiente de execução que devem passar por um encapsulamento tipado |
script/no-restricted-members |
Incorreto · Correto | Proibir acessos a membros object.property configurados pelo projeto |
script/no-side-effects-in-computed-properties |
Incorreto · Correto | Proibir efeitos colaterais em getters computados da Options API |
script/no-top-level-ref-in-script |
Incorreto · Correto | Proibir ref/reactive no nível superior para evitar contaminação de estado entre requisições |
script/no-unstable-nested-components |
Incorreto · Correto | Proibir definições de componentes dentro de funções de setup ou renderização |
script/no-unused-emit-declarations |
Incorreto · Correto | Sinalizar eventos declarados que nunca são emitidos |
script/no-use-computed-property-like-method |
Incorreto · Correto | Proibir chamar uma propriedade computada da Options API como um método |
script/no-watch-after-await |
Incorreto · Correto | Proibir watchers registrados após um await em setup() sem guardar a função de parada |
script/no-with-defaults |
Incorreto · Correto | Desencorajar withDefaults em favor de valores padrão na desestruturação (Vue 3.5+) |
script/prefer-computed |
Incorreto · Correto | Preferir computed() para estado reativo derivado |
script/prefer-define-options |
Incorreto · Correto | Preferir defineOptions() a um <script> comum que só define name/inheritAttrs |
script/prefer-import-from-vue |
Incorreto · Correto | Preferir importar de 'vue' em vez de pacotes internos |
script/prefer-ref-over-reactive |
Incorreto · Correto | Recomendar o uso de ref() em vez de reactive() para gerenciar estado |
script/prefer-use-attrs |
Incorreto · Correto | Recomendar o uso de useAttrs() em vez de context.attrs |
script/prefer-use-id |
Incorreto · Correto | Recomendar o uso de useId() para gerar IDs únicos (Vue 3.5+) |
script/prefer-use-slots |
Incorreto · Correto | Recomendar o uso de useSlots() em vez de context.slots |
script/prefer-use-template-ref |
Incorreto · Correto | Recomendar useTemplateRef em vez de ref para referências de template (Vue 3.5+) |
script/require-default-prop |
Incorreto · Correto | Exigir um valor padrão para toda prop opcional que não seja Boolean |
script/require-explicit-emits |
Incorreto · Correto | Exigir que os eventos emitidos sejam declarados em defineEmits ou na opção emits |
script/require-explicit-slots |
Incorreto · Correto | Exigir que os slots consumidos por useSlots() sejam tipados explicitamente com defineSlots<...>() |
script/require-function-return-type |
Incorreto · Correto | Exigir anotações de tipo de retorno nas funções |
script/require-prop-type-constructor |
Incorreto · Correto | Exigir que os valores de type de props sejam construtores em vez de literais de string |
script/require-prop-types |
Incorreto · Correto | Exigir que toda prop declare um tipo |
script/require-symbol-provide |
Incorreto · Correto | Recomendar o uso de Symbol como chave de injeção para provide/inject |
script/require-typed-object-prop |
Incorreto · Correto | Exigir um tipo explícito em uma prop cujo tipo de tempo de execução seja Object ou Array |
script/require-typed-ref |
Incorreto · Correto | Exigir um argumento de tipo explícito em um ref() inicializado sem valor, com null ou com undefined |
script/require-valid-default-prop |
Incorreto · Correto | Exigir que o valor padrão de uma prop seja válido para seu tipo declarado |
script/return-in-computed-property |
Incorreto · Correto | Exigir um valor de retorno em todo getter computado |
script/return-in-emits-validator |
Incorreto · Correto | Exigir um valor de retorno em todo validador de emits da Options API |
script/valid-define-emits |
Incorreto · Correto | Exigir uso válido de defineEmits() (sem argumentos de tipo e de tempo de execução juntos, sem referências locais, uma única chamada) |
script/valid-define-options |
Incorreto · Correto | Exigir uso válido de defineOptions() (um único argumento de objeto, sem props/emits/expose/slots) |
script/valid-define-props |
Incorreto · Correto | Exigir uso válido de defineProps() (uma única chamada, sem argumentos de tipo e de tempo de execução juntos, sem referências locais) |
script/valid-next-tick |
Incorreto · Correto | Exigir que o resultado de uma chamada de nextTick() seja aguardado, encadeado ou receba uma função de retorno |
ssr/no-browser-globals-in-ssr |
Incorreto · Correto | Proibir variáveis globais exclusivas do navegador no contexto de SSR |
ssr/no-hydration-mismatch |
Incorreto · Correto | Proibir valores não determinísticos que causam divergências na hidratação |
type/no-floating-promises |
Incorreto · Correto | Proibir Promises soltas (não tratadas) |
type/no-reactivity-loss |
Incorreto · Correto | Proibir cópias estáticas simples de valores reativos em atribuições e chamadas |
type/no-unsafe-template-binding |
Incorreto · Correto | Proibir vinculações de template que resultam em tipos inseguros |
type/require-typed-emits |
Incorreto · Correto | Exigir uma definição de tipo para defineEmits |
type/require-typed-props |
Incorreto · Correto | Exigir uma definição de tipo para defineProps |
type/strict-boolean-expressions |
Incorreto · Correto | Exigir expressões booleanas seguras nas condições de script e template |
vapor/no-inline-template |
Incorreto · Correto | Proibir o atributo obsoleto inline-template |
vapor/no-vue-lifecycle-events |
Incorreto · Correto | Proibir eventos de ciclo de vida @vue:xxx por elemento (não suportados em Vapor) |
vapor/prefer-static-class |
Incorreto · Correto | Preferir class estática a uma vinculação dinâmica de class para literais de string |
vapor/require-vapor-attribute |
Incorreto · Correto | Sugerir a adição do atributo vapor a script setup |
vize:croquis/cf/array-mutation |
Incorreto · Correto | Um array é alterado por índice, o que um array reativo não rastreia. |
vize:croquis/cf/async-boundary |
Incorreto · Correto | O estado reativo atravessa um limite assíncrono e pode ser observado desatualizado. |
vize:croquis/cf/async-no-suspense |
Incorreto · Correto | Um componente assíncrono é renderizado sem um limite Suspense. |
vize:croquis/cf/browser-api-ssr |
Incorreto · Correto | Uma API exclusiva do navegador é usada onde o componente pode ser renderizado no servidor. |
vize:croquis/cf/circular-dep |
Incorreto · Correto | Os componentes importam uns aos outros em um ciclo. |
vize:croquis/cf/circular-reactive-dependency |
Incorreto · Correto | Os cálculos reativos dependem uns dos outros em um ciclo. |
vize:croquis/cf/closure-captures-reactive |
Incorreto · Correto | Um fechamento captura um valor reativo e não verá atualizações posteriores. |
vize:croquis/cf/composable-outside-setup |
Incorreto · Correto | Uma função de composição é chamada fora de setup. |
vize:croquis/cf/computed-side-effects |
Incorreto · Correto | Uma função de leitura computada escreve no estado ou produz outro efeito colateral. |
vize:croquis/cf/deep-import |
Incorreto · Correto | Uma cadeia de importações é mais profunda do que o projeto permite. |
vize:croquis/cf/destructuring-breaks-reactivity |
Incorreto · Correto | Desestruturar um objeto reativo copia os campos e perde o rastreamento. |
vize:croquis/cf/di-outside-setup |
Incorreto · Correto | provide ou inject é chamado fora de setup. |
vize:croquis/cf/dom-access-without-next-tick |
Incorreto · Correto | O DOM é lido antes de o Vue aplicar a atualização. |
vize:croquis/cf/duplicate-id |
Incorreto · Correto | O mesmo id de elemento é usado em mais de um componente. |
vize:croquis/cf/event-listener-leak |
Incorreto · Correto | Um ouvinte de eventos é registrado e nunca removido. |
vize:croquis/cf/event-modifier |
Incorreto · Correto | Um ouvinte de eventos usa um modificador que o evento emitido não suporta. |
vize:croquis/cf/hydration-risk |
Incorreto · Correto | Este código de diagnóstico agrupa várias ocorrências de reatividade, incluindo uma prop copiada para uma ref. Ele não implica que toda expressão Date.now() seja detectada pela passagem de análise entre arquivos. |
vize:croquis/cf/inherit-attrs-unused |
Incorreto · Correto | inheritAttrs: false está definido e o componente nunca lê os atributos. |
vize:croquis/cf/inject-without-symbol |
Incorreto · Correto | inject usa uma chave comum em vez de um símbolo InjectionKey. |
vize:croquis/cf/injected-async-mutation-race |
Incorreto · Correto | Um valor injetado é alterado por uma tarefa assíncrona sujeita a uma condição de corrida. |
vize:croquis/cf/lifecycle-outside-setup |
Incorreto · Correto | Um gancho de ciclo de vida é registrado fora de setup. |
vize:croquis/cf/lifecycle-without-cleanup |
Incorreto · Correto | Um gancho de ciclo de vida inicia um trabalho e nunca faz sua limpeza. |
vize:croquis/cf/missing-required-prop |
Incorreto · Correto | Uma prop obrigatória não é passada. |
vize:croquis/cf/missing-suspense |
Incorreto · Correto | Uma dependência assíncrona é usada fora de um limite Suspense. |
vize:croquis/cf/module-scope-reactive |
Incorreto · Correto | O estado reativo é criado no escopo do módulo e compartilhado por todos os chamadores. |
vize:croquis/cf/multi-root-attrs |
Incorreto · Correto | Um componente com múltiplas raízes recebe atributos e não tem onde colocá-los. |
vize:croquis/cf/mutated-after-escape |
Incorreto · Correto | Um objeto reativo é alterado depois de escapar de seu proprietário. |
vize:croquis/cf/non-reactive-provide |
Incorreto · Correto | Um valor fornecido não é reativo, portanto os descendentes não verão atualizações. |
vize:croquis/cf/non-unique-id |
Incorreto · Correto | Um id de elemento dentro de um laço não é único por item. |
vize:croquis/cf/object-identity-comparison |
Incorreto · Correto | Um objeto reativo é comparado por identidade, que muda ao remover os invólucros. |
vize:croquis/cf/pinia-getter |
Incorreto · Correto | Uma função de leitura do Pinia é lida sem storeToRefs, portanto não permanecerá reativa. |
vize:croquis/cf/prop-type-mismatch |
Incorreto · Correto | O valor de uma prop passada não corresponde ao tipo declarado. |
vize:croquis/cf/provide-inject-type |
Incorreto · Correto | Um valor fornecido e sua injeção não têm o mesmo tipo. |
vize:croquis/cf/provide-without-symbol |
Incorreto · Correto | provide usa uma chave comum em vez de um símbolo InjectionKey. |
vize:croquis/cf/reactive-export |
Incorreto · Correto | O estado reativo é exportado pelo módulo. |
vize:croquis/cf/reactivity-outside-setup |
Incorreto · Correto | Uma API reativa é chamada fora de setup. |
vize:croquis/cf/reassignment-breaks-reactivity |
Incorreto · Correto | Reatribuir uma variável reativa a substitui por um valor simples. |
vize:croquis/cf/reference-escapes-scope |
Incorreto · Correto | Uma referência reativa escapa do escopo responsável por seu ciclo de vida. |
vize:croquis/cf/setup-context-violation |
Incorreto · Correto | O contexto de setup é usado de uma forma que o Vue não permite. |
vize:croquis/cf/shallow-deep-access |
Incorreto · Correto | Uma propriedade profunda de um valor shallowReactive ou shallowRef é lida como se fosse rastreada. |
vize:croquis/cf/spread-breaks-reactivity |
Incorreto · Correto | Espalhar um objeto reativo copia seus valores e perde o rastreamento. |
vize:croquis/cf/suspense-no-fallback |
Incorreto · Correto | <Suspense> não tem conteúdo alternativo. |
vize:croquis/cf/template-ref-timing |
Incorreto · Correto | Uma ref de template é lida antes da montagem do componente. |
vize:croquis/cf/toraw-mutation |
Incorreto · Correto | toRaw é usado e o objeto bruto é alterado em seguida. |
vize:croquis/cf/uncaught-error |
Incorreto · Correto | Um componente pode lançar um erro e nenhum limite de erro o captura. |
vize:croquis/cf/undeclared-emit |
Incorreto · Correto | O componente emite um evento que não foi declarado. |
vize:croquis/cf/undeclared-prop |
Incorreto · Correto | Um pai passa uma prop que o filho não declara. |
vize:croquis/cf/undefined-slot |
Incorreto · Correto | Um pai preenche um slot que o filho não expõe. |
vize:croquis/cf/unhandled-event |
Incorreto · Correto | Um filho emite um evento que nenhum pai trata. |
vize:croquis/cf/unmatched-inject |
Incorreto · Correto | inject nomeia uma chave que nenhum ancestral fornece. |
vize:croquis/cf/unmatched-listener |
Incorreto · Correto | Um pai escuta um evento que o filho não emite. |
vize:croquis/cf/unregistered-component |
Incorreto · Correto | Um template usa um componente que não foi registrado nem importado. |
vize:croquis/cf/unresolved-import |
Incorreto · Correto | Uma importação não resolve para um módulo. |
vize:croquis/cf/unused-attrs |
Incorreto · Correto | Atributos de herança automática são passados para um componente com múltiplas raízes que não os usa. |
vize:croquis/cf/unused-emit |
Incorreto · Correto | Um evento declarado nunca é emitido. |
vize:croquis/cf/unused-provide |
Incorreto · Correto | Uma chave fornecida nunca é injetada. |
vize:croquis/cf/value-extraction-breaks-reactivity |
Incorreto · Correto | Ler um valor reativo para uma variável local perde as atualizações posteriores. |
vize:croquis/cf/watch-can-be-computed |
Incorreto · Correto | Um observador apenas copia um valor para o estado e pode ser um valor computado. |
vize:croquis/cf/watcheffect-async |
Incorreto · Correto | watchEffect inicia uma tarefa assíncrona e não consegue limpar a execução anterior. |
vize:croquis/cf/watcher-outside-setup |
Incorreto · Correto | watch ou watchEffect é chamado fora de setup. |
vue/a11y-img-alt |
Incorreto · Correto | Exigir o atributo alt nas imagens para garantir acessibilidade |
vue/attribute-hyphenation |
Incorreto · Correto | Aplicar um padrão de nomes de atributos em componentes personalizados |
vue/attribute-order |
Incorreto · Correto | Aplicar uma ordem consistente aos atributos |
vue/component-definition-name-casing |
Incorreto · Correto | Exigir PascalCase ou kebab-case nos nomes de definição de componentes |
vue/component-name-in-template-casing |
Incorreto · Correto | Aplicar um padrão específico de maiúsculas e minúsculas aos nomes de componentes nos templates |
vue/cross-file-attrs-fallthrough |
Incorreto · Correto | Um pai passa atributos para um filho resolvido cuja raiz não pode herdá-los e que não usa $attrs explicitamente. |
vue/html-button-has-type |
Incorreto · Correto | Exigir um type explícito e válido nos elementos button |
vue/html-quotes |
Incorreto · Correto | Aplicar um padrão de aspas aos atributos HTML |
vue/html-self-closing |
Incorreto · Correto | Aplicar um padrão de tags com fechamento automático |
vue/max-template-complexity |
Incorreto · Correto | Limitar a complexidade do próprio template de um componente, tanto ciclomática quanto cognitiva |
vue/multi-word-component-names |
Incorreto · Correto | Exigir nomes de componentes com mais de uma palavra |
vue/mustache-interpolation-spacing |
Incorreto · Correto | Aplicar espaçamento consistente dentro das interpolações com chaves duplas |
vue/no-array-index-key |
Incorreto · Correto | Proibir o uso direto da variável de índice de v-for como :key |
vue/no-bare-strings-in-template |
Incorreto · Correto | Proibir texto legível por pessoas diretamente no template quando ele deve ser internacionalizado |
vue/no-boolean-attr-value |
Incorreto · Correto | Proibir valores explícitos em atributos HTML booleanos |
vue/no-child-content |
Incorreto · Correto | Proibir conteúdo filho ao usar v-html ou v-text |
vue/no-deprecated-filter |
Incorreto · Correto | Proibir a sintaxe obsoleta de filtros do Vue 2 com o operador de barra vertical |
vue/no-deprecated-functional-template |
Incorreto · Correto | Proibir o atributo functional no <template> de um SFC |
vue/no-deprecated-html-element-is |
Incorreto · Correto | Proibir o atributo is em elementos HTML nativos |
vue/no-deprecated-inline-template |
Incorreto · Correto | Proibir o atributo obsoleto inline-template |
vue/no-deprecated-router-link-tag-prop |
Incorreto · Correto | Proibir a prop tag em <router-link> |
vue/no-deprecated-scope-attribute |
Incorreto · Correto | Proibir o atributo obsoleto scope em <template> |
vue/no-deprecated-slot-attribute |
Incorreto · Correto | Proibir o atributo obsoleto slot |
vue/no-deprecated-slot-scope-attribute |
Incorreto · Correto | Proibir o atributo obsoleto slot-scope |
vue/no-deprecated-v-bind-sync |
Incorreto · Correto | Proibir o modificador obsoleto .sync em v-bind |
vue/no-deprecated-v-is |
Incorreto · Correto | Proibir a diretiva obsoleta v-is |
vue/no-deprecated-v-on-native-modifier |
Incorreto · Correto | Proibir o modificador obsoleto .native em v-on |
vue/no-deprecated-v-on-number-modifiers |
Incorreto · Correto | Proibir modificadores numéricos obsoletos de keyCode em v-on |
vue/no-dupe-v-else-if |
Incorreto · Correto | Proibir condições duplicadas em cadeias de v-if / v-else-if |
vue/no-duplicate-attributes |
Incorreto · Correto | Proibir atributos duplicados no mesmo elemento |
vue/no-empty-component-block |
Incorreto · Correto | Proibir blocos vazios em SFCs |
vue/no-inline-style |
Incorreto · Correto | Desencorajar o uso de atributos de estilo inline |
vue/no-invalid-html-attribute |
Incorreto · Correto | Proibir valores estáticos inválidos para atributos HTML |
vue/no-lone-template |
Incorreto · Correto | Proibir elementos <template> desnecessários |
vue/no-multi-spaces |
Incorreto · Correto | Proibir vários espaços consecutivos |
vue/no-multiple-objects-in-class |
Incorreto · Correto | Proibir vários objetos literais dentro de uma vinculação de array em :class |
vue/no-multiple-template-root |
Incorreto · Correto | Proibir vários nós raiz em um template |
vue/no-mutating-props |
Incorreto · Correto | Proibir a mutação de props de componentes |
vue/no-negated-v-if-condition |
Incorreto · Correto | Proibir uma condição negada em v-if quando a cadeia tiver v-else |
vue/no-non-component-keep-alive-child |
Incorreto · Correto | Proibir invólucros de elementos comuns diretamente abaixo de <KeepAlive> |
vue/no-preprocessor-lang |
Incorreto · Correto | Desencorajar o uso de preprocessadores CSS em favor de CSS moderno |
vue/no-reserved-component-names |
Incorreto · Correto | Proibir o uso de nomes reservados como nomes de componentes |
vue/no-root-v-if |
Incorreto · Correto | Proibir v-if no único elemento raiz de um template |
vue/no-script-non-standard-lang |
Incorreto · Correto | Desencorajar valores não padronizados de lang em scripts |
vue/no-src-attribute |
Incorreto · Correto | Desencorajar o atributo src em blocos de SFCs |
vue/no-static-inline-styles |
Incorreto · Correto | Proibir atributos estáticos de estilo inline |
vue/no-template-key |
Incorreto · Correto | Proibir o atributo key em <template> |
vue/no-template-lang |
Incorreto · Correto | Desencorajar o atributo lang no bloco template |
vue/no-template-shadow |
Incorreto · Correto | Proibir nomes de variáveis que ocultam variáveis de um escopo externo |
vue/no-template-target-blank |
Incorreto · Correto | Proibir target="_blank" sem rel="noopener noreferrer" |
vue/no-textarea-mustache |
Incorreto · Correto | Proibir interpolação com chaves duplas em <textarea> |
vue/no-undefined-refs |
Incorreto · Correto | Proibir referências a variáveis não definidas nos templates |
vue/no-unsafe-url |
Incorreto · Correto | Alertar sobre vinculações de URL potencialmente inseguras |
vue/no-unsandboxed-iframe |
Incorreto · Correto | Exigir um atributo sandbox nos elementos iframe |
vue/no-unused-components |
Incorreto · Correto | Proibir o registro de componentes não usados nos templates |
vue/no-unused-properties |
Incorreto · Correto | Proibir propriedades não usadas definidas em defineProps |
vue/no-unused-refs |
Incorreto · Correto | Reportar refs de template (ref="x") nunca referenciadas em <script> |
vue/no-unused-setup-bindings |
Incorreto · Correto | Proibir variáveis de script setup que nunca são lidas |
vue/no-unused-vars |
Incorreto · Correto | Proibir definições de variáveis não usadas nas diretivas v-for e v-slot |
vue/no-use-v-else-with-v-for |
Incorreto · Correto | Proibir v-else-if ou v-else no mesmo elemento que v-for |
vue/no-use-v-if-with-v-for |
Incorreto · Correto | Proibir v-if no mesmo elemento que v-for |
vue/no-useless-mustaches |
Incorreto · Correto | Proibir interpolação com chaves duplas cuja expressão seja uma string literal constante |
vue/no-useless-template-attributes |
Incorreto · Correto | Proibir atributos sem efeito em elementos <template> |
vue/no-useless-v-bind |
Incorreto · Correto | Proibir um v-bind cujo valor seja uma string literal simples |
vue/no-v-for-template-key-on-child |
Incorreto · Correto | Proibir key no filho de um <template v-for> |
vue/no-v-html |
Incorreto · Correto | Alertar sobre v-html para prevenir vulnerabilidades XSS |
vue/no-v-text |
Incorreto · Correto | Proibir a diretiva v-text; preferir interpolação com chaves duplas |
vue/no-v-text-v-html-on-component |
Incorreto · Correto | Proibir v-text / v-html em elementos de componente |
vue/permitted-contents |
Incorreto · Correto | Aplicar as regras do modelo de conteúdo HTML |
vue/prefer-props-shorthand |
Incorreto · Correto | Recomendar sintaxe abreviada para props (Vue 3.4+) |
vue/prefer-true-attribute-shorthand |
Incorreto · Correto | Preferir a forma abreviada para um atributo booleano vinculado a true |
vue/prop-name-casing |
Incorreto · Correto | Aplicar um padrão de maiúsculas e minúsculas aos nomes de props declaradas |
vue/require-component-is |
Incorreto · Correto | Exigir v-bind:is em elementos <component> |
vue/require-component-registration |
Incorreto · Correto | Exigir importação ou registro explícito de componentes |
vue/require-scoped-style |
Incorreto · Correto | Exigir o atributo scoped nas tags style |
vue/require-toggle-inside-transition |
Incorreto · Correto | Exigir uma alternância no elemento envolvido por <transition> |
vue/require-v-for-key |
Incorreto · Correto | Exigir v-bind:key nas diretivas v-for |
vue/scoped-event-names |
Incorreto · Correto | Recomendar nomes de eventos com escopo no formato context:event |
vue/sfc-element-order |
Incorreto · Correto | Aplicar uma ordem consistente aos elementos de nível superior dos SFCs |
vue/single-style-block |
Incorreto · Correto | Recomendar um único bloco style |
vue/slot-name-casing |
Incorreto · Correto | Exigir kebab-case nos slots nomeados usados por v-slot |
vue/this-in-template |
Incorreto · Correto | Proibir this. nas expressões do template |
vue/use-unique-element-ids |
Incorreto · Correto | Exigir IDs de elementos únicos por meio de useId(), em vez de literais estáticos |
vue/use-v-on-exact |
Incorreto · Correto | Exigir o modificador .exact em v-on quando houver manipuladores baseados em modificadores |
vue/v-bind-style |
Incorreto · Correto | Aplicar um padrão de sintaxe à diretiva v-bind |
vue/v-on-event-hyphenation |
Incorreto · Correto | Exigir hífens nos nomes de eventos personalizados em v-on de componentes |
vue/v-on-handler-style |
Incorreto · Correto | Exigir manipuladores de v-on escritos como referência a método ou função inline |
vue/v-on-style |
Incorreto · Correto | Aplicar um padrão de sintaxe à diretiva v-on |
vue/v-slot-style |
Incorreto · Correto | Aplicar um padrão de sintaxe à diretiva v-slot |
vue/valid-attribute-name |
Incorreto · Correto | Exigir nomes de atributos válidos |
vue/valid-template-root |
Incorreto · Correto | Exigir uma raiz <template> válida para a semântica de fragmentos do Vue 3 |
vue/valid-v-bind |
Incorreto · Correto | Exigir diretivas v-bind válidas |
vue/valid-v-cloak |
Incorreto · Correto | Exigir diretivas v-cloak válidas |
vue/valid-v-else |
Incorreto · Correto | Exigir diretivas v-else válidas |
vue/valid-v-else-if |
Incorreto · Correto | Exigir diretivas v-else-if válidas |
vue/valid-v-for |
Incorreto · Correto | Exigir diretivas v-for válidas |
vue/valid-v-html |
Incorreto · Correto | Exigir diretivas v-html válidas |
vue/valid-v-if |
Incorreto · Correto | Exigir diretivas v-if válidas |
vue/valid-v-is |
Incorreto · Correto | Exigir diretivas v-is válidas |
vue/valid-v-memo |
Incorreto · Correto | Exigir diretivas v-memo válidas |
vue/valid-v-model |
Incorreto · Correto | Exigir diretivas v-model válidas |
vue/valid-v-on |
Incorreto · Correto | Exigir diretivas v-on válidas |
vue/valid-v-once |
Incorreto · Correto | Exigir diretivas v-once válidas |
vue/valid-v-pre |
Incorreto · Correto | Exigir diretivas v-pre válidas |
vue/valid-v-show |
Incorreto · Correto | Exigir diretivas v-show válidas |
vue/valid-v-slot |
Incorreto · Correto | Exigir diretivas v-slot válidas |
vue/valid-v-text |
Incorreto · Correto | Exigir diretivas v-text válidas |
vue/warn-custom-block |
Incorreto · Correto | Alertar sobre blocos personalizados em arquivos SFC |
vue/warn-custom-directive |
Incorreto · Correto | Alertar sobre diretivas personalizadas que precisam de registro |
Todas as regras · Opções das regras · Mapa de migração do ESLint · Verificações do projeto · Atributos entre componentes
a11y/alt-text
Exigir texto alternativo para elementos de mídia
Exemplos do grupo · Referência da regra
a11y/anchor-has-content
Exigir conteúdo acessível nos elementos de âncora
Exemplos do grupo · Referência da regra
a11y/anchor-is-valid
Exigir um href válido nos elementos de âncora
Exemplos do grupo · Referência da regra
a11y/aria-props
Proibir atributos ARIA inválidos
Exemplos do grupo · Referência da regra
a11y/aria-role
Exigir que elementos com papéis ARIA usem um papel ARIA válido e não abstrato
Exemplos do grupo · Referência da regra
a11y/aria-unsupported-elements
Proibir atributos ARIA em elementos que não os aceitam
Exemplos do grupo · Referência da regra
a11y/click-events-have-key-events
Exigir manipuladores de eventos de teclado junto aos eventos de clique
Exemplos do grupo · Referência da regra
a11y/form-control-has-label
Exigir rótulos associados aos controles de formulário
Exemplos do grupo · Referência da regra
a11y/heading-has-content
Exigir conteúdo acessível nos elementos de título
Exemplos do grupo · Referência da regra
a11y/heading-levels
Proibir que níveis de título sejam pulados
Exemplos do grupo · Referência da regra
a11y/iframe-has-title
Exigir um atributo title nos elementos iframe
Exemplos do grupo · Referência da regra
a11y/img-alt
Exigir o atributo alt nas imagens para garantir acessibilidade
Exemplos do grupo · Referência da regra
a11y/interactive-supports-focus
Exigir que elementos com papéis interativos possam receber foco
Exemplos do grupo · Referência da regra
a11y/label-has-for
Exigir controles de formulário associados aos rótulos
Exemplos do grupo · Referência da regra
a11y/landmark-roles
Validar a posição e a unicidade dos papéis de regiões de referência
Exemplos do grupo · Referência da regra
a11y/media-has-caption
Exigir legendas nos elementos de mídia
Exemplos do grupo · Referência da regra
a11y/mouse-events-have-key-events
Exigir eventos de foco e perda de foco junto aos eventos de mouse
Exemplos do grupo · Referência da regra
a11y/no-access-key
Proibir o uso do atributo accesskey
Exemplos do grupo · Referência da regra
a11y/no-aria-hidden-on-focusable
Proibir aria-hidden="true" em elementos que podem receber foco
Exemplos do grupo · Referência da regra
a11y/no-autofocus
Proibir o uso do atributo autofocus
Exemplos do grupo · Referência da regra
a11y/no-distracting-elements
Proibir elementos que causam distração, como <marquee> e <blink>
Exemplos do grupo · Referência da regra
a11y/no-i-for-icon
Proibir o uso do elemento <i> para ícones
Exemplos do grupo · Referência da regra
a11y/no-redundant-roles
Proibir papéis ARIA redundantes
Exemplos do grupo · Referência da regra
a11y/no-refer-to-non-existent-id
Proibir referências a IDs inexistentes
Exemplos do grupo · Referência da regra
a11y/no-role-presentation-on-focusable
Proibir role="presentation" ou role="none" em elementos que podem receber foco
Exemplos do grupo · Referência da regra
a11y/no-static-element-interactions
Proibir manipuladores de eventos em elementos estáticos
Exemplos do grupo · Referência da regra
a11y/placeholder-label-option
Exigir uma opção de orientação em um select required
Exemplos do grupo · Referência da regra
a11y/role-has-required-aria-props
Exigir as propriedades obrigatórias dos papéis ARIA
Exemplos do grupo · Referência da regra
a11y/tabindex-no-positive
Proibir valores positivos de tabindex
Exemplos do grupo · Referência da regra
a11y/use-list
Sugerir elementos de lista para textos que parecem itens de lista
Exemplos do grupo · Referência da regra
css/no-display-none
Sugerir v-show em vez de display: none
Exemplos do grupo · Referência da regra
css/no-hardcoded-values
Sugerir variáveis CSS em vez de valores fixos escritos diretamente
Exemplos do grupo · Referência da regra
css/no-id-selectors
Desencorajar o uso de seletores de ID no CSS
Exemplos do grupo · Referência da regra
css/no-important
Desencorajar o uso de !important no CSS
Exemplos do grupo · Referência da regra
css/no-utility-classes
Alertar sobre a implementação de classes utilitárias nos estilos de componentes
Exemplos do grupo · Referência da regra
css/no-v-bind-performance
Alertar sobre o custo de desempenho do v-bind() no CSS
Exemplos do grupo · Referência da regra
css/prefer-logical-properties
Recomendar propriedades lógicas de CSS para melhorar o suporte à internacionalização
Exemplos do grupo · Referência da regra
css/prefer-nested-selectors
Recomendar o aninhamento de CSS para seletores de descendentes
Exemplos do grupo · Referência da regra
css/prefer-slotted
Recomendar ::v-slotted() para estilizar o conteúdo de slots
Exemplos do grupo · Referência da regra
css/require-font-display
Exigir font-display nas regras @font-face
Exemplos do grupo · Referência da regra
ecosystem/nuxt-prefer-nuxt-link
Preferir NuxtLink para links internos da aplicação
Exemplos do grupo · Referência da regra
ecosystem/pinia-prefer-store-to-refs
Preferir storeToRefs() ao desestruturar stores do Pinia
Exemplos do grupo · Referência da regra
ecosystem/router-link-require-to
Exigir um destino to nos componentes RouterLink e NuxtLink
Exemplos do grupo · Referência da regra
ecosystem/void-link-require-href
Exigir href nos componentes Link do Void Vue
Exemplos do grupo · Referência da regra
ecosystem/void-link-valid-method
Validar props method estáticas do Link do Void Vue
Exemplos do grupo · Referência da regra
ecosystem/vue-i18n-no-missing-key
Relatar chaves estáticas do vue-i18n ausentes nas mensagens locais do SFC
Exemplos do grupo · Referência da regra
ecosystem/vue-router-extra-param
A rota não declara tab; o Vue Router o descarta.
Exemplos do grupo · Referência da regra
ecosystem/vue-router-missing-param
O parâmetro obrigatório postId está ausente; depender da rota atual é frágil.
Exemplos do grupo · Referência da regra
ecosystem/vue-router-param-type
postId não é repetível, portanto um array é inválido.
Exemplos do grupo · Referência da regra
ecosystem/vue-router-prefer-named-link
Preferir objetos de rotas nomeadas a strings de caminho estáticas no RouterLink
Exemplos do grupo · Referência da regra
ecosystem/vue-router-prefer-named-push
Preferir objetos de rotas nomeadas para navegação programática com Vue Router
Exemplos do grupo · Referência da regra
ecosystem/vue-router-unknown-route
O nome está ausente do roteador completo instalado.
Exemplos do grupo · Referência da regra
ecosystem/vue-test-utils-no-html-snapshot
Evitar snapshots de wrapper.html() nos testes com Vue Test Utils
Exemplos do grupo · Referência da regra
html/cross-component-nesting
Verificar o aninhamento HTML real após compor os componentes importados.
Exemplos do grupo · Referência da regra
html/deprecated-attr
Proibir atributos HTML obsoletos
Exemplos do grupo · Referência da regra
html/deprecated-element
Proibir elementos HTML obsoletos
Exemplos do grupo · Referência da regra
html/id-duplication
Proibir IDs de elementos duplicados
Exemplos do grupo · Referência da regra
html/no-consecutive-br
Proibir elementos <br> consecutivos
Exemplos do grupo · Referência da regra
html/no-dupe-style-properties
Proibir propriedades duplicadas em atributos de estilo em linha
Exemplos do grupo · Referência da regra
html/no-duplicate-class
Proibir nomes de classe duplicados em um atributo class estático
Exemplos do grupo · Referência da regra
html/no-duplicate-dt
Proibir nomes <dt> duplicados em <dl>
Exemplos do grupo · Referência da regra
html/no-empty-palpable-content
Proibir elementos vazios que esperam conteúdo visível
Exemplos do grupo · Referência da regra
html/require-datetime
Exigir o atributo datetime no elemento <time>
Exemplos do grupo · Referência da regra
musea/no-empty-variant
Proibir blocos <variant> vazios
Exemplos do grupo · Referência da regra
musea/prefer-design-tokens
Preferir variáveis CSS de tokens de design a valores primitivos fixos escritos diretamente
Exemplos do grupo · Referência da regra
musea/require-component
Exigir o atributo component no bloco <art>
Exemplos do grupo · Referência da regra
musea/require-title
Exigir o atributo title no bloco <art>
Exemplos do grupo · Referência da regra
musea/unique-variant-names
Exigir nomes de variante únicos
Exemplos do grupo · Referência da regra
musea/valid-variant
Exigir o atributo name nos blocos <variant>
Exemplos do grupo · Referência da regra
nuxt/no-nuxt-config-test-key
Proibir a definição da chave test na configuração do Nuxt
Exemplos do grupo · Referência da regra
nuxt/no-page-meta-runtime-values
Proibir valores do contexto de execução no nível de avaliação imediata de definePageMeta, que é extraído para um fragmento separado durante a compilação e executado antes do setup do componente
Exemplos do grupo · Referência da regra
nuxt/nuxt-config-keys-order
Preferir a ordem recomendada das propriedades de configuração do Nuxt
Exemplos do grupo · Referência da regra
nuxt/prefer-import-meta
Preferir import.meta.* a process.*
Exemplos do grupo · Referência da regra
petite-vue/no-unsupported-directive
Proibir diretivas que o petite-vue não aceita
Exemplos do grupo · Referência da regra
petite-vue/valid-v-effect
Exigir uma expressão não vazia em v-effect
Exemplos do grupo · Referência da regra
petite-vue/valid-v-scope
Exigir que v-scope vincule um objeto literal
Exemplos do grupo · Referência da regra
script/component-options-name-casing
Exigir PascalCase na opção name do componente
Exemplos do grupo · Referência da regra
script/custom-event-name-casing
Exigir camelCase nos nomes de eventos personalizados emitidos
Exemplos do grupo · Referência da regra
script/define-emits-declaration
Exigir a forma de defineEmits<{}>() baseada em tipos em vez da forma em tempo de execução ou de array
Exemplos do grupo · Referência da regra
script/define-macros-order
Exigir uma ordem consistente para as macros do compilador Vue em <script setup>
Exemplos do grupo · Referência da regra
script/define-props-declaration
Exigir defineProps<{ ... }>() baseado em tipos em vez da forma com objeto em tempo de execução
Exemplos do grupo · Referência da regra
script/define-props-destructuring
Exigir um estilo consistente de desestruturação de defineProps em <script setup>
Exemplos do grupo · Referência da regra
script/no-arrow-functions-in-watch
Proibir funções de seta como manipuladores de watch na Options API
Exemplos do grupo · Referência da regra
script/no-async-in-computed
Proibir funções assíncronas em propriedades computadas
Exemplos do grupo · Referência da regra
script/no-boolean-default
Proibir um valor padrão em uma prop Boolean
Exemplos do grupo · Referência da regra
script/no-deep-destructure-in-props
Proibir desestruturação profundamente aninhada em defineProps
Exemplos do grupo · Referência da regra
script/no-deprecated-data-object-declaration
Proibir um literal de objeto como opção data do componente (o Vue 3 exige uma função)
Exemplos do grupo · Referência da regra
script/no-deprecated-destroyed-lifecycle
Proibir os hooks de ciclo de vida obsoletos destroyed e beforeDestroy
Exemplos do grupo · Referência da regra
script/no-deprecated-dollar-listeners-api
Proibir a propriedade de instância $listeners removida no Vue 3 (incorporada a $attrs)
Exemplos do grupo · Referência da regra
script/no-deprecated-dollar-scopedslots-api
Proibir a propriedade de instância $scopedSlots removida no Vue 3 (usar $slots)
Exemplos do grupo · Referência da regra
script/no-deprecated-events-api
Proibir a API de eventos do Vue 2 removida ($on / $off / $once)
Exemplos do grupo · Referência da regra
script/no-deprecated-props-default-this
Proibir this dentro de uma função de valor padrão ou validação de prop (removido no Vue 3)
Exemplos do grupo · Referência da regra
script/no-dupe-keys
Proibir chaves duplicadas entre props/data/computed/methods/setup/inject da Options API
Exemplos do grupo · Referência da regra
script/no-duplicate-attr-inheritance
Sinalizar um componente que aplica duas vezes seus atributos repassados
Exemplos do grupo · Referência da regra
script/no-export-in-script-setup
Proibir instruções export dentro de <script setup>
Exemplos do grupo · Referência da regra
script/no-expose-after-await
Proibir expose() e defineExpose() após um await
Exemplos do grupo · Referência da regra
script/no-get-current-instance
Proibir getCurrentInstance() no modo Vapor (retorna null)
Exemplos do grupo · Referência da regra
script/no-import-compiler-macros
Proibir a importação de macros do compilador Vue que são importadas automaticamente
Exemplos do grupo · Referência da regra
script/no-internal-imports
Proibir importações de módulos internos do Vue
Exemplos do grupo · Referência da regra
script/no-lifecycle-after-await
Proibir hooks de ciclo de vida registrados após um await em setup()
Exemplos do grupo · Referência da regra
script/no-multiple-slot-args
Proibir passar mais de um argumento a uma chamada de função de slot com escopo
Exemplos do grupo · Referência da regra
script/no-next-tick
Proibir o uso de nextTick() em componentes orientados a Vapor
Exemplos do grupo · Referência da regra
script/no-options-api
Proibir padrões da Options API no modo Vapor
Exemplos do grupo · Referência da regra
script/no-potential-component-option-typo
Sinalizar prováveis erros de digitação nos nomes de opções de componentes da Options API
Exemplos do grupo · Referência da regra
script/no-reactive-destructure
Proibir a desestruturação de objetos reativos que causa perda de reatividade
Exemplos do grupo · Referência da regra
script/no-ref-as-operand
Exigir que variáveis vinculadas a refs sejam acessadas por .value quando usadas como operandos
Exemplos do grupo · Referência da regra
script/no-required-prop-with-default
Proibir uma prop que tenha required: true e também um valor padrão
Exemplos do grupo · Referência da regra
script/no-reserved-identifiers
Proibir o uso de identificadores reservados pelo compilador Vue
Exemplos do grupo · Referência da regra
script/no-reserved-keys
Proibir nomes reservados pelo Vue como chaves de props/data/computed/methods/setup/inject na Options API
Exemplos do grupo · Referência da regra
script/no-reserved-props
Proibir nomes reservados na declaração de props de um componente
Exemplos do grupo · Referência da regra
script/no-restricted-globals
Proibir referências a variáveis globais do ambiente de execução que devem passar por um encapsulamento tipado
Exemplos do grupo · Referência da regra
script/no-restricted-members
Proibir acessos a membros object.property configurados pelo projeto
Exemplos do grupo · Referência da regra
script/no-side-effects-in-computed-properties
Proibir efeitos colaterais em getters computados da Options API
Exemplos do grupo · Referência da regra
script/no-top-level-ref-in-script
Proibir ref/reactive no nível superior para evitar contaminação de estado entre requisições
Exemplos do grupo · Referência da regra
script/no-unstable-nested-components
Proibir definições de componentes dentro de funções de setup ou renderização
Exemplos do grupo · Referência da regra
script/no-unused-emit-declarations
Sinalizar eventos declarados que nunca são emitidos
Exemplos do grupo · Referência da regra
script/no-use-computed-property-like-method
Proibir chamar uma propriedade computada da Options API como um método
Exemplos do grupo · Referência da regra
script/no-watch-after-await
Proibir watchers registrados após um await em setup() sem guardar a função de parada
Exemplos do grupo · Referência da regra
script/no-with-defaults
Desencorajar withDefaults em favor de valores padrão na desestruturação (Vue 3.5+)
Exemplos do grupo · Referência da regra
script/prefer-computed
Preferir computed() para estado reativo derivado
Exemplos do grupo · Referência da regra
script/prefer-define-options
Preferir defineOptions() a um <script> comum que só define name/inheritAttrs
Exemplos do grupo · Referência da regra
script/prefer-import-from-vue
Preferir importar de 'vue' em vez de pacotes internos
Exemplos do grupo · Referência da regra
script/prefer-ref-over-reactive
Recomendar o uso de ref() em vez de reactive() para gerenciar estado
Exemplos do grupo · Referência da regra
script/prefer-use-attrs
Recomendar o uso de useAttrs() em vez de context.attrs
Exemplos do grupo · Referência da regra
script/prefer-use-id
Recomendar o uso de useId() para gerar IDs únicos (Vue 3.5+)
Exemplos do grupo · Referência da regra
script/prefer-use-slots
Recomendar o uso de useSlots() em vez de context.slots
Exemplos do grupo · Referência da regra
script/prefer-use-template-ref
Recomendar useTemplateRef em vez de ref para referências de template (Vue 3.5+)
Exemplos do grupo · Referência da regra
script/require-default-prop
Exigir um valor padrão para toda prop opcional que não seja Boolean
Exemplos do grupo · Referência da regra
script/require-explicit-emits
Exigir que os eventos emitidos sejam declarados em defineEmits ou na opção emits
Exemplos do grupo · Referência da regra
script/require-explicit-slots
Exigir que os slots consumidos por useSlots() sejam tipados explicitamente com defineSlots<...>()
Exemplos do grupo · Referência da regra
script/require-function-return-type
Exigir anotações de tipo de retorno nas funções
Exemplos do grupo · Referência da regra
script/require-prop-type-constructor
Exigir que os valores de type de props sejam construtores em vez de literais de string
Exemplos do grupo · Referência da regra
script/require-prop-types
Exigir que toda prop declare um tipo
Exemplos do grupo · Referência da regra
script/require-symbol-provide
Recomendar o uso de Symbol como chave de injeção para provide/inject
Exemplos do grupo · Referência da regra
script/require-typed-object-prop
Exigir um tipo explícito em uma prop cujo tipo de tempo de execução seja Object ou Array
Exemplos do grupo · Referência da regra
script/require-typed-ref
Exigir um argumento de tipo explícito em um ref() inicializado sem valor, com null ou com undefined
Exemplos do grupo · Referência da regra
script/require-valid-default-prop
Exigir que o valor padrão de uma prop seja válido para seu tipo declarado
Exemplos do grupo · Referência da regra
script/return-in-computed-property
Exigir um valor de retorno em todo getter computado
Exemplos do grupo · Referência da regra
script/return-in-emits-validator
Exigir um valor de retorno em todo validador de emits da Options API
Exemplos do grupo · Referência da regra
script/valid-define-emits
Exigir uso válido de defineEmits() (sem argumentos de tipo e de tempo de execução juntos, sem referências locais, uma única chamada)
Exemplos do grupo · Referência da regra
script/valid-define-options
Exigir uso válido de defineOptions() (um único argumento de objeto, sem props/emits/expose/slots)
Exemplos do grupo · Referência da regra
script/valid-define-props
Exigir uso válido de defineProps() (uma única chamada, sem argumentos de tipo e de tempo de execução juntos, sem referências locais)
Exemplos do grupo · Referência da regra
script/valid-next-tick
Exigir que o resultado de uma chamada de nextTick() seja aguardado, encadeado ou receba uma função de retorno
Exemplos do grupo · Referência da regra
ssr/no-browser-globals-in-ssr
Proibir variáveis globais exclusivas do navegador no contexto de SSR
Exemplos do grupo · Referência da regra
ssr/no-hydration-mismatch
Proibir valores não determinísticos que causam divergências na hidratação
Exemplos do grupo · Referência da regra
type/no-floating-promises
Proibir Promises soltas (não tratadas)
Exemplos do grupo · Referência da regra
type/no-reactivity-loss
Proibir cópias estáticas simples de valores reativos em atribuições e chamadas
Exemplos do grupo · Referência da regra
type/no-unsafe-template-binding
Proibir vinculações de template que resultam em tipos inseguros
Exemplos do grupo · Referência da regra
type/require-typed-emits
Exigir uma definição de tipo para defineEmits
Exemplos do grupo · Referência da regra
type/require-typed-props
Exigir uma definição de tipo para defineProps
Exemplos do grupo · Referência da regra
type/strict-boolean-expressions
Exigir expressões booleanas seguras nas condições de script e template
Exemplos do grupo · Referência da regra
vapor/no-inline-template
Proibir o atributo obsoleto inline-template
Exemplos do grupo · Referência da regra
vapor/no-vue-lifecycle-events
Proibir eventos de ciclo de vida @vue:xxx por elemento (não suportados em Vapor)
Exemplos do grupo · Referência da regra
vapor/prefer-static-class
Preferir class estática a uma vinculação dinâmica de class para literais de string
Exemplos do grupo · Referência da regra
vapor/require-vapor-attribute
Sugerir a adição do atributo vapor a script setup
Exemplos do grupo · Referência da regra
vize:croquis/cf/array-mutation
Um array é alterado por índice, o que um array reativo não rastreia.
Exemplos do grupo · Referência da regra
vize:croquis/cf/async-boundary
O estado reativo atravessa um limite assíncrono e pode ser observado desatualizado.
Exemplos do grupo · Referência da regra
vize:croquis/cf/async-no-suspense
Um componente assíncrono é renderizado sem um limite Suspense.
Exemplos do grupo · Referência da regra
vize:croquis/cf/browser-api-ssr
Uma API exclusiva do navegador é usada onde o componente pode ser renderizado no servidor.
Exemplos do grupo · Referência da regra
vize:croquis/cf/circular-dep
Os componentes importam uns aos outros em um ciclo.
Exemplos do grupo · Referência da regra
vize:croquis/cf/circular-reactive-dependency
Os cálculos reativos dependem uns dos outros em um ciclo.
Exemplos do grupo · Referência da regra
vize:croquis/cf/closure-captures-reactive
Um fechamento captura um valor reativo e não verá atualizações posteriores.
Exemplos do grupo · Referência da regra
vize:croquis/cf/composable-outside-setup
Uma função de composição é chamada fora de setup.
Exemplos do grupo · Referência da regra
vize:croquis/cf/computed-side-effects
Uma função de leitura computada escreve no estado ou produz outro efeito colateral.
Exemplos do grupo · Referência da regra
vize:croquis/cf/deep-import
Uma cadeia de importações é mais profunda do que o projeto permite.
Exemplos do grupo · Referência da regra
vize:croquis/cf/destructuring-breaks-reactivity
Desestruturar um objeto reativo copia os campos e perde o rastreamento.
Exemplos do grupo · Referência da regra
vize:croquis/cf/di-outside-setup
provide ou inject é chamado fora de setup.
Exemplos do grupo · Referência da regra
vize:croquis/cf/dom-access-without-next-tick
O DOM é lido antes de o Vue aplicar a atualização.
Exemplos do grupo · Referência da regra
vize:croquis/cf/duplicate-id
O mesmo id de elemento é usado em mais de um componente.
Exemplos do grupo · Referência da regra
vize:croquis/cf/event-listener-leak
Um ouvinte de eventos é registrado e nunca removido.
Exemplos do grupo · Referência da regra
vize:croquis/cf/event-modifier
Um ouvinte de eventos usa um modificador que o evento emitido não suporta.
Exemplos do grupo · Referência da regra
vize:croquis/cf/hydration-risk
Este código de diagnóstico agrupa várias ocorrências de reatividade, incluindo uma prop copiada para uma ref. Ele não implica que toda expressão Date.now() seja detectada pela passagem de análise entre arquivos.
Exemplos do grupo · Referência da regra
vize:croquis/cf/inherit-attrs-unused
inheritAttrs: false está definido e o componente nunca lê os atributos.
Exemplos do grupo · Referência da regra
vize:croquis/cf/inject-without-symbol
inject usa uma chave comum em vez de um símbolo InjectionKey.
Exemplos do grupo · Referência da regra
vize:croquis/cf/injected-async-mutation-race
Um valor injetado é alterado por uma tarefa assíncrona sujeita a uma condição de corrida.
Exemplos do grupo · Referência da regra
vize:croquis/cf/lifecycle-outside-setup
Um gancho de ciclo de vida é registrado fora de setup.
Exemplos do grupo · Referência da regra
vize:croquis/cf/lifecycle-without-cleanup
Um gancho de ciclo de vida inicia um trabalho e nunca faz sua limpeza.
Exemplos do grupo · Referência da regra
vize:croquis/cf/missing-required-prop
Uma prop obrigatória não é passada.
Exemplos do grupo · Referência da regra
vize:croquis/cf/missing-suspense
Uma dependência assíncrona é usada fora de um limite Suspense.
Exemplos do grupo · Referência da regra
vize:croquis/cf/module-scope-reactive
O estado reativo é criado no escopo do módulo e compartilhado por todos os chamadores.
Exemplos do grupo · Referência da regra
vize:croquis/cf/multi-root-attrs
Um componente com múltiplas raízes recebe atributos e não tem onde colocá-los.
Exemplos do grupo · Referência da regra
vize:croquis/cf/mutated-after-escape
Um objeto reativo é alterado depois de escapar de seu proprietário.
Exemplos do grupo · Referência da regra
vize:croquis/cf/non-reactive-provide
Um valor fornecido não é reativo, portanto os descendentes não verão atualizações.
Exemplos do grupo · Referência da regra
vize:croquis/cf/non-unique-id
Um id de elemento dentro de um laço não é único por item.
Exemplos do grupo · Referência da regra
vize:croquis/cf/object-identity-comparison
Um objeto reativo é comparado por identidade, que muda ao remover os invólucros.
Exemplos do grupo · Referência da regra
vize:croquis/cf/pinia-getter
Uma função de leitura do Pinia é lida sem storeToRefs, portanto não permanecerá reativa.
Exemplos do grupo · Referência da regra
vize:croquis/cf/prop-type-mismatch
O valor de uma prop passada não corresponde ao tipo declarado.
Exemplos do grupo · Referência da regra
vize:croquis/cf/provide-inject-type
Um valor fornecido e sua injeção não têm o mesmo tipo.
Exemplos do grupo · Referência da regra
vize:croquis/cf/provide-without-symbol
provide usa uma chave comum em vez de um símbolo InjectionKey.
Exemplos do grupo · Referência da regra
vize:croquis/cf/reactive-export
O estado reativo é exportado pelo módulo.
Exemplos do grupo · Referência da regra
vize:croquis/cf/reactivity-outside-setup
Uma API reativa é chamada fora de setup.
Exemplos do grupo · Referência da regra
vize:croquis/cf/reassignment-breaks-reactivity
Reatribuir uma variável reativa a substitui por um valor simples.
Exemplos do grupo · Referência da regra
vize:croquis/cf/reference-escapes-scope
Uma referência reativa escapa do escopo responsável por seu ciclo de vida.
Exemplos do grupo · Referência da regra
vize:croquis/cf/setup-context-violation
O contexto de setup é usado de uma forma que o Vue não permite.
Exemplos do grupo · Referência da regra
vize:croquis/cf/shallow-deep-access
Uma propriedade profunda de um valor shallowReactive ou shallowRef é lida como se fosse rastreada.
Exemplos do grupo · Referência da regra
vize:croquis/cf/spread-breaks-reactivity
Espalhar um objeto reativo copia seus valores e perde o rastreamento.
Exemplos do grupo · Referência da regra
vize:croquis/cf/suspense-no-fallback
<Suspense> não tem conteúdo alternativo.
Exemplos do grupo · Referência da regra
vize:croquis/cf/template-ref-timing
Uma ref de template é lida antes da montagem do componente.
Exemplos do grupo · Referência da regra
vize:croquis/cf/toraw-mutation
toRaw é usado e o objeto bruto é alterado em seguida.
Exemplos do grupo · Referência da regra
vize:croquis/cf/uncaught-error
Um componente pode lançar um erro e nenhum limite de erro o captura.
Exemplos do grupo · Referência da regra
vize:croquis/cf/undeclared-emit
O componente emite um evento que não foi declarado.
Exemplos do grupo · Referência da regra
vize:croquis/cf/undeclared-prop
Um pai passa uma prop que o filho não declara.
Exemplos do grupo · Referência da regra
vize:croquis/cf/undefined-slot
Um pai preenche um slot que o filho não expõe.
Exemplos do grupo · Referência da regra
vize:croquis/cf/unhandled-event
Um filho emite um evento que nenhum pai trata.
Exemplos do grupo · Referência da regra
vize:croquis/cf/unmatched-inject
inject nomeia uma chave que nenhum ancestral fornece.
Exemplos do grupo · Referência da regra
vize:croquis/cf/unmatched-listener
Um pai escuta um evento que o filho não emite.
Exemplos do grupo · Referência da regra
vize:croquis/cf/unregistered-component
Um template usa um componente que não foi registrado nem importado.
Exemplos do grupo · Referência da regra
vize:croquis/cf/unresolved-import
Uma importação não resolve para um módulo.
Exemplos do grupo · Referência da regra
vize:croquis/cf/unused-attrs
Atributos de herança automática são passados para um componente com múltiplas raízes que não os usa.
Exemplos do grupo · Referência da regra
vize:croquis/cf/unused-emit
Um evento declarado nunca é emitido.
Exemplos do grupo · Referência da regra
vize:croquis/cf/unused-provide
Uma chave fornecida nunca é injetada.
Exemplos do grupo · Referência da regra
vize:croquis/cf/value-extraction-breaks-reactivity
Ler um valor reativo para uma variável local perde as atualizações posteriores.
Exemplos do grupo · Referência da regra
vize:croquis/cf/watch-can-be-computed
Um observador apenas copia um valor para o estado e pode ser um valor computado.
Exemplos do grupo · Referência da regra
vize:croquis/cf/watcheffect-async
watchEffect inicia uma tarefa assíncrona e não consegue limpar a execução anterior.
Exemplos do grupo · Referência da regra
vize:croquis/cf/watcher-outside-setup
watch ou watchEffect é chamado fora de setup.
Exemplos do grupo · Referência da regra
vue/a11y-img-alt
Exigir o atributo alt nas imagens para garantir acessibilidade
Exemplos do grupo · Referência da regra
vue/attribute-hyphenation
Aplicar um padrão de nomes de atributos em componentes personalizados
Exemplos do grupo · Referência da regra
vue/attribute-order
Aplicar uma ordem consistente aos atributos
Exemplos do grupo · Referência da regra
vue/component-definition-name-casing
Exigir PascalCase ou kebab-case nos nomes de definição de componentes
Exemplos do grupo · Referência da regra
vue/component-name-in-template-casing
Aplicar um padrão específico de maiúsculas e minúsculas aos nomes de componentes nos templates
Exemplos do grupo · Referência da regra
vue/cross-file-attrs-fallthrough
Um pai passa atributos para um filho resolvido cuja raiz não pode herdá-los e que não usa $attrs explicitamente.
Exemplos do grupo · Referência da regra
vue/html-button-has-type
Exigir um type explícito e válido nos elementos button
Exemplos do grupo · Referência da regra
vue/html-quotes
Aplicar um padrão de aspas aos atributos HTML
Exemplos do grupo · Referência da regra
vue/html-self-closing
Aplicar um padrão de tags com fechamento automático
Exemplos do grupo · Referência da regra
vue/max-template-complexity
Limitar a complexidade do próprio template de um componente, tanto ciclomática quanto cognitiva
Exemplos do grupo · Referência da regra
vue/multi-word-component-names
Exigir nomes de componentes com mais de uma palavra
Exemplos do grupo · Referência da regra
vue/mustache-interpolation-spacing
Aplicar espaçamento consistente dentro das interpolações com chaves duplas
Exemplos do grupo · Referência da regra
vue/no-array-index-key
Proibir o uso direto da variável de índice de v-for como :key
Exemplos do grupo · Referência da regra
vue/no-bare-strings-in-template
Proibir texto legível por pessoas diretamente no template quando ele deve ser internacionalizado
Exemplos do grupo · Referência da regra
vue/no-boolean-attr-value
Proibir valores explícitos em atributos HTML booleanos
Exemplos do grupo · Referência da regra
vue/no-child-content
Proibir conteúdo filho ao usar v-html ou v-text
Exemplos do grupo · Referência da regra
vue/no-deprecated-filter
Proibir a sintaxe obsoleta de filtros do Vue 2 com o operador de barra vertical
Exemplos do grupo · Referência da regra
vue/no-deprecated-functional-template
Proibir o atributo functional no <template> de um SFC
Exemplos do grupo · Referência da regra
vue/no-deprecated-html-element-is
Proibir o atributo is em elementos HTML nativos
Exemplos do grupo · Referência da regra
vue/no-deprecated-inline-template
Proibir o atributo obsoleto inline-template
Exemplos do grupo · Referência da regra
vue/no-deprecated-router-link-tag-prop
Proibir a prop tag em <router-link>
Exemplos do grupo · Referência da regra
vue/no-deprecated-scope-attribute
Proibir o atributo obsoleto scope em <template>
Exemplos do grupo · Referência da regra
vue/no-deprecated-slot-attribute
Proibir o atributo obsoleto slot
Exemplos do grupo · Referência da regra
vue/no-deprecated-slot-scope-attribute
Proibir o atributo obsoleto slot-scope
Exemplos do grupo · Referência da regra
vue/no-deprecated-v-bind-sync
Proibir o modificador obsoleto .sync em v-bind
Exemplos do grupo · Referência da regra
vue/no-deprecated-v-is
Proibir a diretiva obsoleta v-is
Exemplos do grupo · Referência da regra
vue/no-deprecated-v-on-native-modifier
Proibir o modificador obsoleto .native em v-on
Exemplos do grupo · Referência da regra
vue/no-deprecated-v-on-number-modifiers
Proibir modificadores numéricos obsoletos de keyCode em v-on
Exemplos do grupo · Referência da regra
vue/no-dupe-v-else-if
Proibir condições duplicadas em cadeias de v-if / v-else-if
Exemplos do grupo · Referência da regra
vue/no-duplicate-attributes
Proibir atributos duplicados no mesmo elemento
Exemplos do grupo · Referência da regra
vue/no-empty-component-block
Proibir blocos vazios em SFCs
Exemplos do grupo · Referência da regra
vue/no-inline-style
Desencorajar o uso de atributos de estilo inline
Exemplos do grupo · Referência da regra
vue/no-invalid-html-attribute
Proibir valores estáticos inválidos para atributos HTML
Exemplos do grupo · Referência da regra
vue/no-lone-template
Proibir elementos <template> desnecessários
Exemplos do grupo · Referência da regra
vue/no-multi-spaces
Proibir vários espaços consecutivos
Exemplos do grupo · Referência da regra
vue/no-multiple-objects-in-class
Proibir vários objetos literais dentro de uma vinculação de array em :class
Exemplos do grupo · Referência da regra
vue/no-multiple-template-root
Proibir vários nós raiz em um template
Exemplos do grupo · Referência da regra
vue/no-mutating-props
Proibir a mutação de props de componentes
Exemplos do grupo · Referência da regra
vue/no-negated-v-if-condition
Proibir uma condição negada em v-if quando a cadeia tiver v-else
Exemplos do grupo · Referência da regra
vue/no-non-component-keep-alive-child
Proibir invólucros de elementos comuns diretamente abaixo de <KeepAlive>
Exemplos do grupo · Referência da regra
vue/no-preprocessor-lang
Desencorajar o uso de preprocessadores CSS em favor de CSS moderno
Exemplos do grupo · Referência da regra
vue/no-reserved-component-names
Proibir o uso de nomes reservados como nomes de componentes
Exemplos do grupo · Referência da regra
vue/no-root-v-if
Proibir v-if no único elemento raiz de um template
Exemplos do grupo · Referência da regra
vue/no-script-non-standard-lang
Desencorajar valores não padronizados de lang em scripts
Exemplos do grupo · Referência da regra
vue/no-src-attribute
Desencorajar o atributo src em blocos de SFCs
Exemplos do grupo · Referência da regra
vue/no-static-inline-styles
Proibir atributos estáticos de estilo inline
Exemplos do grupo · Referência da regra
vue/no-template-key
Proibir o atributo key em <template>
Exemplos do grupo · Referência da regra
vue/no-template-lang
Desencorajar o atributo lang no bloco template
Exemplos do grupo · Referência da regra
vue/no-template-shadow
Proibir nomes de variáveis que ocultam variáveis de um escopo externo
Exemplos do grupo · Referência da regra
vue/no-template-target-blank
Proibir target="_blank" sem rel="noopener noreferrer"
Exemplos do grupo · Referência da regra
vue/no-textarea-mustache
Proibir interpolação com chaves duplas em <textarea>
Exemplos do grupo · Referência da regra
vue/no-undefined-refs
Proibir referências a variáveis não definidas nos templates
Exemplos do grupo · Referência da regra
vue/no-unsafe-url
Alertar sobre vinculações de URL potencialmente inseguras
Exemplos do grupo · Referência da regra
vue/no-unsandboxed-iframe
Exigir um atributo sandbox nos elementos iframe
Exemplos do grupo · Referência da regra
vue/no-unused-components
Proibir o registro de componentes não usados nos templates
Exemplos do grupo · Referência da regra
vue/no-unused-properties
Proibir propriedades não usadas definidas em defineProps
Exemplos do grupo · Referência da regra
vue/no-unused-refs
Reportar refs de template (ref="x") nunca referenciadas em <script>
Exemplos do grupo · Referência da regra
vue/no-unused-setup-bindings
Proibir variáveis de script setup que nunca são lidas
Exemplos do grupo · Referência da regra
vue/no-unused-vars
Proibir definições de variáveis não usadas nas diretivas v-for e v-slot
Exemplos do grupo · Referência da regra
vue/no-use-v-else-with-v-for
Proibir v-else-if ou v-else no mesmo elemento que v-for
Exemplos do grupo · Referência da regra
vue/no-use-v-if-with-v-for
Proibir v-if no mesmo elemento que v-for
Exemplos do grupo · Referência da regra
vue/no-useless-mustaches
Proibir interpolação com chaves duplas cuja expressão seja uma string literal constante
Exemplos do grupo · Referência da regra
vue/no-useless-template-attributes
Proibir atributos sem efeito em elementos <template>
Exemplos do grupo · Referência da regra
vue/no-useless-v-bind
Proibir um v-bind cujo valor seja uma string literal simples
Exemplos do grupo · Referência da regra
vue/no-v-for-template-key-on-child
Proibir key no filho de um <template v-for>
Exemplos do grupo · Referência da regra
vue/no-v-html
Alertar sobre v-html para prevenir vulnerabilidades XSS
Exemplos do grupo · Referência da regra
vue/no-v-text
Proibir a diretiva v-text; preferir interpolação com chaves duplas
Exemplos do grupo · Referência da regra
vue/no-v-text-v-html-on-component
Proibir v-text / v-html em elementos de componente
Exemplos do grupo · Referência da regra
vue/permitted-contents
Aplicar as regras do modelo de conteúdo HTML
Exemplos do grupo · Referência da regra
vue/prefer-props-shorthand
Recomendar sintaxe abreviada para props (Vue 3.4+)
Exemplos do grupo · Referência da regra
vue/prefer-true-attribute-shorthand
Preferir a forma abreviada para um atributo booleano vinculado a true
Exemplos do grupo · Referência da regra
vue/prop-name-casing
Aplicar um padrão de maiúsculas e minúsculas aos nomes de props declaradas
Exemplos do grupo · Referência da regra
vue/require-component-is
Exigir v-bind:is em elementos <component>
Exemplos do grupo · Referência da regra
vue/require-component-registration
Exigir importação ou registro explícito de componentes
Exemplos do grupo · Referência da regra
vue/require-scoped-style
Exigir o atributo scoped nas tags style
Exemplos do grupo · Referência da regra
vue/require-toggle-inside-transition
Exigir uma alternância no elemento envolvido por <transition>
Exemplos do grupo · Referência da regra
vue/require-v-for-key
Exigir v-bind:key nas diretivas v-for
Exemplos do grupo · Referência da regra
vue/scoped-event-names
Recomendar nomes de eventos com escopo no formato context:event
Exemplos do grupo · Referência da regra
vue/sfc-element-order
Aplicar uma ordem consistente aos elementos de nível superior dos SFCs
Exemplos do grupo · Referência da regra
vue/single-style-block
Recomendar um único bloco style
Exemplos do grupo · Referência da regra
vue/slot-name-casing
Exigir kebab-case nos slots nomeados usados por v-slot
Exemplos do grupo · Referência da regra
vue/this-in-template
Proibir this. nas expressões do template
Exemplos do grupo · Referência da regra
vue/use-unique-element-ids
Exigir IDs de elementos únicos por meio de useId(), em vez de literais estáticos
Exemplos do grupo · Referência da regra
vue/use-v-on-exact
Exigir o modificador .exact em v-on quando houver manipuladores baseados em modificadores
Exemplos do grupo · Referência da regra
vue/v-bind-style
Aplicar um padrão de sintaxe à diretiva v-bind
Exemplos do grupo · Referência da regra
vue/v-on-event-hyphenation
Exigir hífens nos nomes de eventos personalizados em v-on de componentes
Exemplos do grupo · Referência da regra
vue/v-on-handler-style
Exigir manipuladores de v-on escritos como referência a método ou função inline
Exemplos do grupo · Referência da regra
vue/v-on-style
Aplicar um padrão de sintaxe à diretiva v-on
Exemplos do grupo · Referência da regra
vue/v-slot-style
Aplicar um padrão de sintaxe à diretiva v-slot
Exemplos do grupo · Referência da regra
vue/valid-attribute-name
Exigir nomes de atributos válidos
Exemplos do grupo · Referência da regra
vue/valid-template-root
Exigir uma raiz <template> válida para a semântica de fragmentos do Vue 3
Exemplos do grupo · Referência da regra
vue/valid-v-bind
Exigir diretivas v-bind válidas
Exemplos do grupo · Referência da regra
vue/valid-v-cloak
Exigir diretivas v-cloak válidas
Exemplos do grupo · Referência da regra
vue/valid-v-else
Exigir diretivas v-else válidas
Exemplos do grupo · Referência da regra
vue/valid-v-else-if
Exigir diretivas v-else-if válidas
Exemplos do grupo · Referência da regra
vue/valid-v-for
Exigir diretivas v-for válidas
Exemplos do grupo · Referência da regra
vue/valid-v-html
Exigir diretivas v-html válidas
Exemplos do grupo · Referência da regra
vue/valid-v-if
Exigir diretivas v-if válidas
Exemplos do grupo · Referência da regra
vue/valid-v-is
Exigir diretivas v-is válidas
Exemplos do grupo · Referência da regra
vue/valid-v-memo
Exigir diretivas v-memo válidas
Exemplos do grupo · Referência da regra
vue/valid-v-model
Exigir diretivas v-model válidas
Exemplos do grupo · Referência da regra
vue/valid-v-on
Exigir diretivas v-on válidas
Exemplos do grupo · Referência da regra
vue/valid-v-once
Exigir diretivas v-once válidas
Exemplos do grupo · Referência da regra
vue/valid-v-pre
Exigir diretivas v-pre válidas
Exemplos do grupo · Referência da regra
vue/valid-v-show
Exigir diretivas v-show válidas
Exemplos do grupo · Referência da regra
vue/valid-v-slot
Exigir diretivas v-slot válidas
Exemplos do grupo · Referência da regra
vue/valid-v-text
Exigir diretivas v-text válidas
Exemplos do grupo · Referência da regra
vue/warn-custom-block
Alertar sobre blocos personalizados em arquivos SFC
Exemplos do grupo · Referência da regra
vue/warn-custom-directive
Alertar sobre diretivas personalizadas que precisam de registro