Todas as Regras de Pátina
Esta página lista todas as 238 implementações da regra Patina declaradas sob crates/vize_patina/src/rules. As páginas de categorias mantêm os exemplos mais longos; Esta página é a referência compacta para cobertura, severidade padrão, associação predefinida, fixabilidade e implementação de código-fonte.
Nomes pré-definidos usam terminologia CLI do Vize. O nome dos metadados do plugin oxlint, general-recommended é mostrado aqui como happy-path. _none_ significa que a regra é opt-in, orientada pelo host ou fora dos presets de lint incluídos.
Categorias
| Categoria | Regras |
|---|---|
| Essential | 48 |
| Strongly Recommended | 12 |
| Recommended | 41 |
| Accessibility | 31 |
| HTML Conformance | 9 |
| Type Aware | 5 |
| Vapor | 7 |
| Ecosystem | 9 |
| CSS | 10 |
| Musea | 6 |
| Script | 60 |
Essencial (48)
| Governo | Gravidade | Presets | Pode ser consertado | Implementação | Descrição |
|---|---|---|---|---|---|
petite-vue/no-unsupported-directive |
error |
nenhum | Não | source | Proibir diretrizes que a petite-vue não apoia |
petite-vue/valid-v-effect |
error |
nenhum | Não | source | Exigir que o v-efeito tenha uma expressão não vazia |
petite-vue/valid-v-scope |
error |
nenhum | Não | source | Exigir v-scope para vincular um objeto literal |
vue/multi-word-component-names |
error |
essential, nuxt, opinionated |
Não | source | Exigir que os nomes dos componentes sejam multi-palavra |
vue/no-child-content |
error |
essential, happy-path, nuxt, ecosystem, opinionated |
Não | source | Proibir conteúdo filho ao usar v-html ou v-text |
vue/no-deprecated-filter |
error |
nenhum | Não | source | Despermitir a sintaxe do filtro Vue 2 obsoleta usando o operador pipe |
vue/no-deprecated-functional-template |
error |
nenhum | Não | source | Proibir o atributo functional no SFC <template> |
vue/no-deprecated-html-element-is |
error |
nenhum | Não | source | Despermitir o atributo is em elementos HTML nativos |
vue/no-deprecated-router-link-tag-prop |
error |
nenhum | Não | source | Desautorice o tag prop no <link do roteador> |
vue/no-deprecated-scope-attribute |
error |
nenhum | Não | source | Proibir o atributo scope obsoleto no <template> |
vue/no-deprecated-slot-attribute |
error |
nenhum | Não | source | Despermitir o atributo slot obsoleto |
vue/no-deprecated-slot-scope-attribute |
error |
nenhum | Não | source | Proibir o atributo de slot-scope obsoleto |
vue/no-deprecated-v-bind-sync |
error |
nenhum | Não | source | Despermita o modificador de .sync obsoleto no v-bind |
vue/no-deprecated-v-on-native-modifier |
error |
nenhum | Não | source | Despermitir o modificador de .native obsoleto no v-on |
vue/no-deprecated-v-on-number-modifiers |
error |
nenhum | Não | source | Permitir modificadores numéricos keyCode obsoletos no v-on |
vue/no-dupe-v-else-if |
error |
essential, happy-path, nuxt, ecosystem, opinionated |
Não | source | Não permitir condições duplicadas em cadeias v-if / v-else-if |
vue/no-duplicate-attributes |
error |
essential, happy-path, nuxt, ecosystem, opinionated |
Não | source | Proibir atributos duplicados no mesmo elemento |
vue/no-mutating-props |
error |
happy-path, nuxt, ecosystem, opinionated |
Não | source | Proibir mutação de hélices componentes |
vue/no-reserved-component-names |
error |
essential, happy-path, nuxt, ecosystem, opinionated |
Não | source | Proibir o uso de nomes reservados como nomes de componentes |
vue/no-template-key |
error |
essential, happy-path, nuxt, ecosystem, opinionated |
Não | source | Despermitir key atributo na <template> |
vue/no-textarea-mustache |
error |
essential, happy-path, nuxt, ecosystem, opinionated |
Não | source | Proibir a interpolação de bigode em <textarea> |
vue/no-unused-components |
warning |
happy-path, nuxt, ecosystem, opinionated |
Não | source | Proibir o registro de componentes que não são usados dentro dos templates |
vue/no-unused-vars |
warning |
essential, happy-path, nuxt, ecosystem, opinionated |
Não | source | Não permitir definições de variáveis não utilizadas nas diretivas v-for e v-slot |
vue/no-use-v-if-with-v-for |
warning |
essential, happy-path, nuxt, ecosystem, opinionated |
Não | source | Proibir o uso de v-if no mesmo elemento que v-for |
vue/no-useless-template-attributes |
error |
essential, happy-path, nuxt, ecosystem, opinionated |
Não | source | Proibir atributos inúteis em elementos <template> |
vue/no-v-for-template-key-on-child |
error |
essential, happy-path, nuxt, ecosystem, opinionated |
Não | source | Proibir key na criança de um <template v-for> |
vue/no-v-html |
warning |
essential, happy-path, nuxt, ecosystem, opinionated |
Não | source | Alerte contra o v-html para evitar vulnerabilidades no XSS |
vue/no-v-text-v-html-on-component |
error |
essential, happy-path, nuxt, ecosystem, opinionated |
Não | source | Proibir v-text / v-html em elementos de componentes |
vue/permitted-contents |
error |
happy-path, nuxt, ecosystem, opinionated |
Não | source | Aplicar regras de modelo de conteúdo HTML |
vue/require-component-is |
error |
essential, happy-path, nuxt, ecosystem, opinionated |
Não | source | Exigir v-bind:is sobre <component> elementos |
vue/require-toggle-inside-transition |
error |
essential, happy-path, nuxt, ecosystem, opinionated |
Não | source | É necessário um interruptor no elemento envolto por <transition> |
vue/require-v-for-key |
error |
essential, happy-path, nuxt, ecosystem, opinionated |
Não | source | Exigir v-bind:key com diretrizes v-for |
vue/use-v-on-exact |
warning |
essential, nuxt, opinionated |
Não | source | Imponha .exact modificador em v-on quando houver handlers baseados em modificadores |
vue/valid-attribute-name |
error |
essential, happy-path, nuxt, ecosystem, opinionated |
Não | source | Exigir nomes de atributos válidos |
vue/valid-template-root |
error |
essential, happy-path, nuxt, ecosystem, opinionated |
Não | source | Aplicar uma raiz de <template> válida para a semântica de fragmentos do Vue 3 |
vue/valid-v-bind |
error |
essential, happy-path, nuxt, ecosystem, opinionated |
Não | source | Fazer cumprir diretrizes v-bind válidas |
vue/valid-v-cloak |
error |
essential, happy-path, nuxt, ecosystem, opinionated |
Não | source | Fazer cumprir diretivas v-cloak válidas |
vue/valid-v-else |
error |
essential, happy-path, nuxt, ecosystem, opinionated |
Sim | source | Fazer cumprir diretivas v-else válidas |
vue/valid-v-for |
error |
essential, happy-path, nuxt, ecosystem, opinionated |
Não | source | Fazer cumprir diretrizes v-for válidas |
vue/valid-v-html |
error |
essential, happy-path, nuxt, ecosystem, opinionated |
Não | source | Fazer cumprir diretrizes v-html válidas |
vue/valid-v-if |
error |
essential, happy-path, nuxt, ecosystem, opinionated |
Não | source | Fazer cumprir diretrizes v-if válidas |
vue/valid-v-memo |
error |
essential, happy-path, nuxt, ecosystem, opinionated |
Não | source | Aplicar diretrizes v-memo válidas |
vue/valid-v-model |
error |
essential, happy-path, nuxt, ecosystem, opinionated |
Não | source | Fazer cumprir diretivas v-model válidas |
vue/valid-v-on |
error |
essential, happy-path, nuxt, ecosystem, opinionated |
Não | source | Fazer cumprir diretivas v-on válidas |
vue/valid-v-once |
error |
essential, happy-path, nuxt, ecosystem, opinionated |
Não | source | Fazer cumprir diretivas v-once válidas |
vue/valid-v-show |
error |
essential, happy-path, nuxt, ecosystem, opinionated |
Não | source | Fazer cumprir diretivas v-show válidas |
vue/valid-v-slot |
error |
essential, happy-path, nuxt, ecosystem, opinionated |
Não | source | Fazer cumprir diretivas v-slot válidas |
vue/valid-v-text |
error |
essential, happy-path, nuxt, ecosystem, opinionated |
Não | source | Fazer cumprir diretivas v-text válidas |
Altamente recomendado (12)
| Governo | Gravidade | Presets | Pode ser consertado | Implementação | Descrição |
|---|---|---|---|---|---|
vue/attribute-hyphenation |
warning |
happy-path, nuxt, ecosystem, opinionated |
Sim | source | Impor o estilo de nomeação de atributos em componentes personalizados |
vue/component-definition-name-casing |
warning |
happy-path, nuxt, ecosystem, opinionated |
Não | source | Aplicar o PascalCase para nomes de definição de componentes |
vue/html-quotes |
warning |
happy-path, nuxt, ecosystem, opinionated |
Sim | source | Impor o estilo de aspas dos atributos HTML |
vue/html-self-closing |
warning |
nuxt, opinionated |
Sim | source | Impor o estilo de auto-fechamento |
vue/mustache-interpolation-spacing |
warning |
happy-path, nuxt, ecosystem, opinionated |
Sim | source | Impor espaçamento consistente dentro das interpolações do bigode |
vue/no-multi-spaces |
warning |
happy-path, nuxt, ecosystem, opinionated |
Sim | source | Proibir múltiplos espaços consecutivos |
vue/no-template-shadow |
warning |
nuxt, opinionated |
Não | source | Não permitir nomes de variáveis que ocultem variáveis no escopo externo |
vue/no-unused-properties |
warning |
happy-path, nuxt, ecosystem, opinionated |
Não | source | Proibir propriedades não utilizadas definidas em defineProps |
vue/prop-name-casing |
warning |
happy-path, nuxt, ecosystem, opinionated |
Não | source | Impor nomes de prop de kebab em templates |
vue/v-bind-style |
warning |
nuxt, opinionated |
Sim | source | Aplicar v-bind estilo diretivo |
vue/v-on-style |
warning |
happy-path, nuxt, ecosystem, opinionated |
Sim | source | Aplicar v-on estilo diretivo |
vue/v-slot-style |
warning |
happy-path, nuxt, ecosystem, opinionated |
Sim | source | Aplicar v-slot estilo diretivo |
Recomendado (41)
| Governo | Gravidade | Presets | Pode ser consertado | Implementação | Descrição |
|---|---|---|---|---|---|
ssr/no-browser-globals-in-ssr |
warning |
happy-path, nuxt, ecosystem, opinionated |
Não | source | Não permitir globais apenas do navegador no contexto SSR |
ssr/no-hydration-mismatch |
warning |
happy-path, nuxt, ecosystem, opinionated |
Não | source | Proibir valores não determinísticos que causam descompasso de hidratação |
vue/a11y-img-alt |
warning |
nenhum | Não | source | Exigir atributo alt nas imagens para acessibilidade |
vue/attribute-order |
warning |
happy-path, nuxt, ecosystem, opinionated |
Não | source | Impor uma ordem consistente dos atributos |
vue/component-name-in-template-casing |
warning |
nuxt, opinionated |
Sim | source | Impor uma maiúscula específica para nomes de componentes em templates |
vue/html-button-has-type |
warning |
nuxt, opinionated |
Não | source | Exigir um tipo válido explícito nos elementos do botão |
vue/no-array-index-key |
warning |
nuxt, opinionated |
Não | source | Não permitir o uso direto da variável índice v-for como :key |
vue/no-bare-strings-in-template |
warning |
nenhum | Não | source | Não permita texto bruto legível para humanos no modelo que deveria ser internacionalizado |
vue/no-boolean-attr-value |
warning |
nuxt, opinionated |
Sim | source | Proibir valores explícitos para atributos booleanos do HTML |
vue/no-empty-component-block |
warning |
nuxt, opinionated |
Não | source | Proibir blocos SFC vazios |
vue/no-inline-style |
warning |
nuxt, opinionated |
Não | source | Desestimular o uso de atributos de estilo inline |
vue/no-invalid-html-attribute |
warning |
happy-path, nuxt, ecosystem, opinionated |
Não | source | Proibir valores estáticos inválidos para atributos HTML |
vue/no-lone-template |
warning |
happy-path, nuxt, ecosystem, opinionated |
Não | source | Proibir elementos desnecessários de <template> |
vue/no-multiple-objects-in-class |
warning |
nuxt, opinionated |
Não | source | Não permitir múltiplos literais de objeto dentro de uma vinculação de array :class |
vue/no-negated-v-if-condition |
warning |
nuxt, opinionated |
Não | source | Proibir uma condição v-if negada quando a cadeia tem um v-else |
vue/no-preprocessor-lang |
warning |
nuxt, opinionated |
Sim | source | Desestimular o uso do pré-processador CSS em favor do CSS moderno |
vue/no-root-v-if |
warning |
nuxt, opinionated |
Não | source | Proibir v-if no único elemento raiz de um template |
vue/no-script-non-standard-lang |
warning |
nuxt, opinionated |
Não | source | Desestimular valores de linguagem de script não padrão |
vue/no-src-attribute |
warning |
nuxt, opinionated |
Não | source | Desestimular o atributo src em blocos SFC |
vue/no-template-lang |
warning |
nuxt, opinionated |
Sim | source | Desestimular o atributo lang no bloco template |
vue/no-template-target-blank |
warning |
happy-path, nuxt, ecosystem, opinionated |
Não | source | Disallow target="_blank" sem rel="noopener" |
vue/no-undefined-refs |
warning |
nenhum | Não | source | Não permitir referências de variáveis indefinidas em templates |
vue/no-unsafe-url |
warning |
essential, happy-path, nuxt, ecosystem, opinionated |
Não | source | Alerte sobre vinculações de URL potencialmente inseguras |
vue/no-unsandboxed-iframe |
warning |
happy-path, nuxt, ecosystem, opinionated |
Não | source | Exigir um atributo sandbox nos elementos do iframe |
vue/no-unused-refs |
warning |
nuxt, opinionated |
Não | source | Referências do modelo de relatório (ref="x") nunca referenciadas em <script> |
vue/no-useless-mustaches |
warning |
nuxt, opinionated |
Não | source | Proibir uma interpolação de bigode cuja expressão seja um literal de corda constante |
vue/no-useless-v-bind |
warning |
nuxt, opinionated |
Não | source | Proibir um v-bind cujo valor seja um literal de string simples |
vue/no-v-text |
warning |
nuxt, opinionated |
Não | source | Proibir a diretiva v-text; Prefira interpolação de bigode |
vue/prefer-props-shorthand |
warning |
nuxt, opinionated |
Sim | source | Recomendo sintaxe abreviada para adereços (Vue 3.4+) |
vue/prefer-true-attribute-shorthand |
warning |
nuxt, opinionated |
Não | source | Prefiro a abreviação para um atributo booleano vinculado a true |
vue/require-component-registration |
warning |
opinionated |
Não | source | Exigir importação ou registro explícito para componentes |
vue/require-scoped-style |
warning |
happy-path, nuxt, ecosystem, opinionated |
Não | source | Exigir atributo com escopo nas tags de estilo |
vue/scoped-event-names |
warning |
nuxt, opinionated |
Não | source | Recomende nomes de eventos com escopo usando context:event format |
vue/sfc-element-order |
warning |
happy-path, nuxt, ecosystem, opinionated |
Não | source | Impor uma ordem consistente dos elementos de topo do SFC |
vue/single-style-block |
warning |
happy-path, nuxt, ecosystem, opinionated |
Não | source | Recomendo ter um único bloco de estilo |
vue/slot-name-casing |
warning |
nuxt, opinionated |
Não | source | Impor o caso do kebab para slots nomeados usados via v-slot |
vue/this-in-template |
warning |
nuxt, opinionated |
Não | source | Despermitir this. em expressões template |
vue/v-on-event-hyphenation |
warning |
nuxt, opinionated |
Não | source | Impor hifenização de nomes de eventos personalizados no v-on nos componentes |
vue/v-on-handler-style |
warning |
nuxt, opinionated |
Não | source | Impor a escrita de handlers v-on como referência de método ou função inline |
vue/warn-custom-block |
warning |
nuxt, opinionated |
Não | source | Avise sobre blocos personalizados em arquivos SFC |
vue/warn-custom-directive |
warning |
nuxt, opinionated |
Não | source | Alerte sobre diretivas alfandegárias que precisam ser registradas |
Acessibilidade (31)
| Governo | Gravidade | Presets | Pode ser consertado | Implementação | Descrição |
|---|---|---|---|---|---|
a11y/alt-text |
warning |
happy-path, nuxt, ecosystem, opinionated |
Não | source | Exigir texto alternativo para elementos de mídia |
a11y/anchor-has-content |
warning |
happy-path, nuxt, ecosystem, opinionated |
Não | source | Exigir que os elementos âncora tenham conteúdo acessível |
a11y/anchor-is-valid |
warning |
happy-path, nuxt, ecosystem, opinionated |
Não | source | Aplicar href válido nos elementos âncora |
a11y/aria-props |
error |
happy-path, nuxt, ecosystem, opinionated |
Não | source | Proibir atributos ARIA inválidos |
a11y/aria-role |
error |
happy-path, nuxt, ecosystem, opinionated |
Não | source | Elementos com funções ARIA devem usar uma função ARIA válida e não abstrata |
a11y/aria-unsupported-elements |
error |
happy-path, nuxt, ecosystem, opinionated |
Não | source | Despermitir atributos ARIA em elementos que não os suportam |
a11y/click-events-have-key-events |
warning |
happy-path, nuxt, ecosystem, opinionated |
Não | source | Exigir manipuladores de eventos de teclado com eventos de clique |
a11y/form-control-has-label |
warning |
happy-path, nuxt, ecosystem, opinionated |
Não | source | Exigir que os controles de formulário tenham etiquetas associadas |
a11y/heading-has-content |
warning |
happy-path, nuxt, ecosystem, opinionated |
Não | source | Exigir que os elementos de título tenham conteúdo acessível |
a11y/heading-levels |
warning |
nuxt, opinionated |
Não | source | Proibir pular níveis de cabeçalho |
a11y/iframe-has-title |
warning |
happy-path, nuxt, ecosystem, opinionated |
Não | source | Exigir que os elementos iframe tenham um atributo title |
a11y/img-alt |
warning |
happy-path, nuxt, ecosystem, opinionated |
Não | source | Exigir atributo alt nas imagens para acessibilidade |
a11y/interactive-supports-focus |
warning |
happy-path, nuxt, ecosystem, opinionated |
Não | source | Exigir que os elementos de papel interativos sejam focáveis |
a11y/label-has-for |
warning |
happy-path, nuxt, ecosystem, opinionated |
Não | source | Exigir que os rótulos tenham controles de formulário associados |
a11y/landmark-roles |
warning |
nuxt, opinionated |
Não | source | Validar a colocação e a singularidade de papéis marcantes |
a11y/media-has-caption |
warning |
happy-path, nuxt, ecosystem, opinionated |
Não | source | Exija que os elementos de mídia tenham legendas |
a11y/mouse-events-have-key-events |
warning |
happy-path, nuxt, ecosystem, opinionated |
Não | source | Exigir eventos de foco/desfoque com eventos do mouse |
a11y/no-access-key |
warning |
happy-path, nuxt, ecosystem, opinionated |
Não | source | Proibir o uso do atributo de chave de acesso |
a11y/no-aria-hidden-on-focusable |
error |
happy-path, nuxt, ecosystem, opinionated |
Não | source | Não permitir aria-hidden="true" em elementos focáveis |
a11y/no-autofocus |
warning |
happy-path, nuxt, ecosystem, opinionated |
Não | source | Proibir o uso do atributo de autofoco |
a11y/no-distracting-elements |
warning |
happy-path, nuxt, ecosystem, opinionated |
Não | source | Não permita elementos que distraem como <marquee> e <piscar> |
a11y/no-i-for-icon |
warning |
happy-path, nuxt, ecosystem, opinionated |
Não | source | Proibir o uso do elemento <i> para ícones |
a11y/no-redundant-roles |
warning |
happy-path, nuxt, ecosystem, opinionated |
Sim | source | Proibir funções redundantes do ARIA |
a11y/no-refer-to-non-existent-id |
warning |
happy-path, nuxt, ecosystem, opinionated |
Não | source | Proibir referências a IDs inexistentes |
a11y/no-role-presentation-on-focusable |
error |
happy-path, nuxt, ecosystem, opinionated |
Não | source | Proibir papel="apresentação" ou papel="nenhum" em elementos focáveis |
a11y/no-static-element-interactions |
warning |
happy-path, nuxt, ecosystem, opinionated |
Não | source | Não permitir manipuladores de eventos em elementos estáticos |
a11y/placeholder-label-option |
warning |
nuxt, opinionated |
Não | source | Exigir desativado ou oculto na opção selecionada de placeholder |
a11y/role-has-required-aria-props |
warning |
happy-path, nuxt, ecosystem, opinionated |
Não | source | Exigir que os papéis ARIA tenham propriedades exigidas |
a11y/tabindex-no-positive |
warning |
happy-path, nuxt, ecosystem, opinionated |
Não | source | Proibir valores positivos de tabindex |
a11y/use-list |
warning |
nuxt, opinionated |
Não | source | Sugiro usar elementos de lista para texto em tópicos |
vue/use-unique-element-ids |
warning |
nuxt, opinionated |
Não | source | Impor IDs de elementos únicos usando useId() em vez de literais estáticos |
Conformidade com HTML (9)
| Governo | Gravidade | Presets | Pode ser consertado | Implementação | Descrição |
|---|---|---|---|---|---|
html/deprecated-attr |
warning |
happy-path, nuxt, ecosystem, opinionated |
Não | source | Proibir atributos HTML obsoletos |
html/deprecated-element |
warning |
happy-path, nuxt, ecosystem, opinionated |
Não | source | Não permitir elementos HTML obsoletos |
html/id-duplication |
error |
essential, happy-path, nuxt, ecosystem, opinionated |
Não | source | Não permitir IDs duplicados de elementos |
html/no-consecutive-br |
warning |
happy-path, nuxt, ecosystem, opinionated |
Não | source | Proibir elementos consecutivos <br> |
html/no-dupe-style-properties |
warning |
nuxt, opinionated |
Não | source | Proibir propriedades duplicadas em atributos de estilo inline |
html/no-duplicate-class |
warning |
nuxt, opinionated |
Não | source | Não permitir nomes de classe duplicados em um atributo de classe estática |
html/no-duplicate-dt |
warning |
happy-path, nuxt, ecosystem, opinionated |
Não | source | Não permitir nomes duplicados <dt> em <dl> |
html/no-empty-palpable-content |
warning |
happy-path, nuxt, ecosystem, opinionated |
Não | source | Não permitir elementos vazios que esperem conteúdo visível |
html/require-datetime |
warning |
happy-path, nuxt, ecosystem, opinionated |
Não | source | Exigir atributo datetime no elemento <time> |
Tipo Consciente (5)
| Governo | Gravidade | Presets | Pode ser consertado | Implementação | Descrição |
|---|---|---|---|---|---|
type/no-floating-promises |
warning |
nuxt, opinionated |
Não | source | Promessas de Proibição de Flutuação (não Tratadas) |
type/no-reactivity-loss |
warning |
nuxt, opinionated |
Não | source | Não permitir snapshots simples de valores reativos entre atribuições e chamadas |
type/no-unsafe-template-binding |
warning |
nuxt, opinionated |
Não | source | Proibir vinculações de template que resolvam para tipos inseguros |
type/require-typed-emits |
warning |
happy-path, nuxt, ecosystem, opinionated |
Não | source | Exigir definição de tipo para defineEmits |
type/require-typed-props |
warning |
happy-path, nuxt, ecosystem, opinionated |
Não | source | Exigir definição de tipo para defineProps |
Vapor (7)
| Governo | Gravidade | Presets | Pode ser consertado | Implementação | Descrição |
|---|---|---|---|---|---|
script/no-get-current-instance |
error |
opinionated, nuxt |
Não | source | Disallow getCurrentInstance() no modo Vapor (retorna nulo) |
script/no-next-tick |
error |
nenhum | Não | source | Não permitir o uso do nextTick() em componentes orientados a vapor |
script/no-options-api |
error |
opinionated |
Não | source | Despermitir padrões de API de Opções no modo Vapor |
vapor/no-inline-template |
error |
nuxt, opinionated |
Não | source | Proibir atributo obsoleto de template inline |
vapor/no-vue-lifecycle-events |
error |
happy-path, nuxt, ecosystem, opinionated |
Não | source | Despermitir eventos do ciclo de vida @vue:xxx por elemento (não suportado no Vapor) |
vapor/prefer-static-class |
warning |
nuxt, opinionated |
Sim | source | Prefiro classe estática em vez de vinculação dinâmica de classes para literais de string |
vapor/require-vapor-attribute |
warning |
nuxt, opinionated |
Sim | source | Sugiro adicionar o Vapor Attribute à configuração do script |
Ecossistema (9)
| Governo | Gravidade | Presets | Pode ser consertado | Implementação | Descrição |
|---|---|---|---|---|---|
ecosystem/nuxt-prefer-nuxt-link |
warning |
ecosystem |
Não | source | Prefira NuxtLink para links internos de aplicações |
ecosystem/pinia-prefer-store-to-refs |
warning |
ecosystem |
Não | source | Prefira storeToRefs() ao desestruturar lojas Pinia |
ecosystem/router-link-require-to |
error |
ecosystem |
Não | source | Exigir um to alvo nos componentes RouterLink e NuxtLink |
ecosystem/void-link-require-href |
error |
ecosystem |
Não | source | Exigir href nos componentes Void Vue Link |
ecosystem/void-link-valid-method |
warning |
ecosystem |
Não | source | Validar props estáticos do método Void Vue Link |
ecosystem/vue-i18n-no-missing-key |
warning |
ecosystem |
Não | source | Reporte chaves estáticas vue-i18n ausentes em mensagens locais do SFC |
ecosystem/vue-router-prefer-named-link |
warning |
ecosystem |
Não | source | Prefira objetos de rota nomeados em vez de strings de caminho estáticas no RouterLink |
ecosystem/vue-router-prefer-named-push |
warning |
ecosystem |
Não | source | Prefiro objetos de rota nomeados para navegação programática do Vue Router |
ecosystem/vue-test-utils-no-html-snapshot |
warning |
ecosystem |
Não | source | Evite snapshots de wrapper.html() nos testes utilitários de teste do Vue |
CSS (10)
| Governo | Gravidade | Presets | Pode ser consertado | Implementação | Descrição |
|---|---|---|---|---|---|
css/no-display-none |
warning |
opinionated, nuxt |
Não | source | Sugiro usar v-show em vez de display: none |
css/no-hardcoded-values |
warning |
opinionated, nuxt |
Não | source | Sugira usar variáveis CSS em vez de valores codificados fixamente |
css/no-id-selectors |
warning |
opinionated, nuxt |
Não | source | Desestimular o uso de seletores de ID no CSS |
css/no-important |
warning |
opinionated, nuxt |
Não | source | Desestimule o uso de !important em CSS |
css/no-utility-classes |
warning |
opinionated, nuxt |
Não | source | Alerte contra a implementação de classes utilitárias em estilos de componentes |
css/no-v-bind-performance |
warning |
opinionated, nuxt |
Não | source | Alerte sobre o custo de desempenho do CSS v-bind() |
css/prefer-logical-properties |
warning |
opinionated, nuxt |
Não | source | Recomendo propriedades lógicas do CSS para melhor suporte ao i18n |
css/prefer-nested-selectors |
warning |
opinionated, nuxt |
Não | source | Recomendo usar o aninhamento CSS para seletores descendentes |
css/prefer-slotted |
warning |
opinionated, nuxt |
Não | source | Recomendo ::v-slotted() para estilizar conteúdo de slot |
css/require-font-display |
warning |
opinionated, nuxt |
Não | source | Exigir a exibição de fontes em regras de @font face |
Musea (6)
| Governo | Gravidade | Presets | Pode ser consertado | Implementação | Descrição |
|---|---|---|---|---|---|
musea/no-empty-variant |
warning |
nenhum | Não | source | Não permitir blocos vazios <variantes> |
musea/prefer-design-tokens |
warning |
nenhum | Não | source | Prefiro variáveis CSS de token de design em vez de valores primitivos codificados fixamente |
musea/require-component |
warning |
nenhum | Não | source | Exigir atributo componente no bloco <art> |
musea/require-title |
error |
nenhum | Não | source | Exigir atributo de título no bloco <art> |
musea/unique-variant-names |
error |
nenhum | Não | source | Exigir nomes de variantes únicos |
musea/valid-variant |
error |
nenhum | Não | source | Exigir atributo nome em blocos <variantes> |
Roteiro (60)
| Governo | Gravidade | Presets | Pode ser consertado | Implementação | Descrição |
|---|---|---|---|---|---|
script/component-options-name-casing |
error |
opinionated, nuxt |
Não | source | Aplicar o PascalCase para a opção de name componente |
script/custom-event-name-casing |
error |
opinionated, nuxt |
Não | source | Aplicar camelCase para nomes de eventos personalizados emitidos |
script/define-emits-declaration |
warning |
opinionated, nuxt |
Não | source | Impor a forma defineEmits<{}>() baseada em tipos sobre a forma runtime/array |
script/define-macros-order |
warning |
opinionated, nuxt |
Não | source | Imponha uma ordem consistente dos macros do compilador Vue na configuração <script> |
script/define-props-declaration |
warning |
opinionated, nuxt |
Não | source | Impor defineProps baseados em tipos<{ ... }>() sobre a forma de runtime/objeto |
script/define-props-destructuring |
warning |
opinionated, nuxt |
Não | source | Proibir a desestruturação do valor de retorno de defineProps em <configuração de scripts> |
script/no-arrow-functions-in-watch |
error |
opinionated, nuxt |
Não | source | Seta de desautorizar funções como manipuladores de relógio da API de Opções |
script/no-async-in-computed |
error |
nenhum | Não | source | Proibir funções assíncronas em propriedades computadas |
script/no-boolean-default |
warning |
opinionated, nuxt |
Não | source | Proibir um padrão em um prop booleano |
script/no-deep-destructure-in-props |
warning |
nenhum | Não | source | Proibir desestruturação profundamente aninhada em defineProps |
script/no-deprecated-data-object-declaration |
error |
nenhum | Não | source | Proibir um objeto literal como opção de dados componentes (Vue 3 requer uma função) |
script/no-deprecated-dollar-listeners-api |
error |
nenhum | Não | source | Despermitir a propriedade de instância $listeners removida no Vue 3 (fundido com $attrs) |
script/no-deprecated-dollar-scopedslots-api |
error |
nenhum | Não | source | Despermitir a propriedade de instância $scopedSlots removida no Vue 3 (use $slots) |
script/no-deprecated-events-api |
error |
nenhum | Não | source | Despermitir a API de eventos removida do Vue 2 ($on / $off / $once) |
script/no-deprecated-props-default-this |
error |
nenhum | Não | source | Despermitir this dentro de uma função padrão/validador de prop (removido no Vue 3) |
script/no-dupe-keys |
error |
nenhum | Não | source | Não permitir chaves duplicadas através de props/data/computed/methods/setup/inject da API de Opções |
script/no-duplicate-attr-inheritance |
warning |
opinionated, nuxt |
Não | source | Sinalize uma opção de inheritAttrs: true explícita como redundante (verdadeiro é o padrão) |
script/no-export-in-script-setup |
error |
opinionated, nuxt |
Não | source | Despermitir instruções de exportação dentro da configuração <script> |
script/no-import-compiler-macros |
error |
nenhum | Não | source | Proibir a importação de macros do compilador Vue que são autoimportadas |
script/no-internal-imports |
error |
nenhum | Não | source | Proibir a importação de módulos internos do Vue |
script/no-multiple-slot-args |
warning |
opinionated, nuxt |
Não | source | Proibir a passagem de mais de um argumento para uma chamada de função de slots com escopo |
script/no-potential-component-option-typo |
error |
opinionated, nuxt |
Não | source | Sinalize prováveis erros de digitação nos nomes dos componentes da API de Opções |
script/no-reactive-destructure |
warning |
nenhum | Não | source | Proibir a desestruturação de objetos reativos que percam reatividade |
script/no-ref-as-operand |
error |
opinionated, nuxt |
Não | source | Exigem que variáveis vinculadas a ref sejam acessadas via .value quando usadas como operando |
script/no-required-prop-with-default |
error |
opinionated, nuxt |
Não | source | Proibir um prop que seja obrigatório: verdadeiro e que tenha padrão |
script/no-reserved-identifiers |
error |
nenhum | Não | source | Despermitir o uso de identificadores reservados do compilador Vue |
script/no-reserved-keys |
error |
opinionated, nuxt |
Não | source | Não permitir nomes reservados no Vue como chaves da API de Opções/dados/computados/métodos/setup/inject |
script/no-reserved-props |
error |
opinionated, nuxt |
Não | source | Não permitir nomes reservados na declaração de props de um componente |
script/no-restricted-globals |
error |
nenhum | Não | source | Proibir referências a globais de ambiente de execução que precisam passar por um wrapper tipado |
script/no-restricted-members |
error |
nenhum | Não | source | Despermitir acessos de membros object.property configurados pelo projeto |
script/no-side-effects-in-computed-properties |
error |
nenhum | Não | source | Despermitir efeitos colaterais em getters computados pela API de Opções |
script/no-top-level-ref-in-script |
error |
nenhum | Não | source | Proibir referência/reativa de nível superior para evitar Poluição Estadual por Pedido Cruzado |
script/no-unstable-nested-components |
warning |
opinionated, nuxt |
Não | source | Não permitir definições de componentes dentro de funções de configuração ou renderização |
script/no-unused-emit-declarations |
warning |
opinionated, nuxt |
Não | source | Flag declarou eventos que nunca são emitidos |
script/no-use-computed-property-like-method |
error |
opinionated, nuxt |
Não | source | Proibir chamar uma propriedade calculada pela API de Options como um método |
script/no-with-defaults |
warning |
nenhum | Não | source | Desestimule com inadimplências em favor de inadimplências de desestruturação (Vue 3.5+) |
script/prefer-computed |
warning |
nenhum | Não | source | Prefira computed() para estado reativo derivado |
script/prefer-define-options |
warning |
opinionated, nuxt |
Não | source | Prefira defineOptions() a um <script> simples que só define name/inheritAttrs |
script/prefer-import-from-vue |
warning |
nenhum | Sim | source | Prefiro importar do 'vue' em vez de pacotes internos |
script/prefer-ref-over-reactive |
warning |
nenhum | Não | source | Recomendo usar ref() em vez de reactive() para gerenciamento de estados |
script/prefer-use-attrs |
warning |
nenhum | Não | source | Recomendo usar useAttrs() em vez de context.attrs |
script/prefer-use-id |
warning |
nenhum | Não | source | Recomendo usar useId() para gerar IDs únicos (Vue 3.5+) |
script/prefer-use-slots |
warning |
nenhum | Não | source | Recomendo usar useSlots() em vez de context.slots |
script/prefer-use-template-ref |
warning |
nenhum | Não | source | Recomendo useTemplateRef em vez de ref(null) para referências de template (Vue 3.5+) |
script/require-default-prop |
error |
opinionated, nuxt |
Não | source | Exigir um valor padrão para cada prop opcional, não booleano. |
script/require-explicit-emits |
warning |
opinionated, nuxt |
Não | source | Exigir que eventos emitidos sejam declarados em defineEmits ou na opção emits |
script/require-explicit-slots |
warning |
opinionated, nuxt |
Não | source | Exigir que os slots consumidos via useSlots() sejam explicitamente tipados com defineSlots<... >() |
script/require-function-return-type |
warning |
nenhum | Não | source | Exigir anotações de tipo retorno em funções |
script/require-prop-type-constructor |
error |
opinionated, nuxt |
Não | source | Exigir que os valores de prop type sejam construtores em vez de literais de cadeia |
script/require-prop-types |
error |
opinionated, nuxt |
Não | source | Exigir que cada prop declare um tipo |
script/require-symbol-provide |
warning |
nenhum | Não | source | Recomendo usar o Symbol como chave de injeção para fornecer/injetar |
script/require-typed-object-prop |
warning |
opinionated, nuxt |
Não | source | Exigir um tipo explícito em um prop cujo tipo de runtime seja Object ou Array |
script/require-typed-ref |
warning |
opinionated, nuxt |
Não | source | Exigir um argumento explícito de tipo em um ref() inicializado sem valor, nulo ou indefinido |
script/require-valid-default-prop |
error |
opinionated, nuxt |
Não | source | Exigir que o valor padrão de um prop seja válido para seu tipo declarado |
script/return-in-computed-property |
error |
opinionated, nuxt |
Não | source | Exigir um valor de retorno em cada getter calculado |
script/return-in-emits-validator |
error |
opinionated, nuxt |
Não | source | Exigir um valor de retorno em cada API de Opções emite validador |
script/valid-define-emits |
error |
opinionated, nuxt |
Não | source | Impor uso válido de defineEmits() (sem args type+runtime, sem referências locais, chamada única) |
script/valid-define-options |
error |
opinionated, nuxt |
Não | source | Aplicar o uso válido de defineOptions() (arg de objeto único, sem props/emits/expose/slots) |
script/valid-define-props |
error |
opinionated, nuxt |
Não | source | Aplicar o uso válido de defineProps() (chamada única, não tanto args de tipo quanto de runtime, sem referências locais) |
script/valid-next-tick |
warning |
opinionated, nuxt |
Não | source | Exigir que o resultado de uma chamada nextTick() seja aguardado, encadeado ou receba um callback |