Vize

全 lint ルール

ルールの目的、既定の設定、所属するカテゴリを探すための一覧です。説明・設定・完全な悪い例と良い例・現在の対応範囲は、各カテゴリのページで確認できます。この一覧の既存のルール・例へのリンクも引き続き使用できます。

Vite+ では @vizejs/vite-plugin/vite-plus の defineConfig を使い、vue.linter.rules に指定します。vp run lint で Vize と Oxlint の lint を実行します。

既定の重大度は実装で定められた値です。プロジェクトでは off / warn / error に変更できます。オプションはルールのオプション、複数ファイルの検査はファイル間ルールを参照してください。

プリセット欄が「none」のルールは、明示的な有効化または追加の設定が必要です。

ESLint からのルール移行対応表で対応名と未実装の範囲を確認できます。

単一ファイルのルール (266)

ルール 例 重大度 プリセット 自動修正 オプション 実装 目的 カテゴリ
petite-vue/no-unsupported-directive 悪い例 · 良い例 error none なし なし source petite-vue が対応しないディレクティブを検出します。 Essential
petite-vue/valid-v-effect 悪い例 · 良い例 error none なし なし source v-effect に空でない式を指定します。 Essential
petite-vue/valid-v-scope 悪い例 · 良い例 error none なし なし source v-scope に値を指定する場合は、オブジェクトリテラルにします。 Essential
vue/multi-word-component-names 悪い例 · 良い例 error essential, nuxt, opinionated なし なし source コンポーネント名を複数の単語で構成します。 Essential
vue/no-child-content 悪い例 · 良い例 error essential, happy-path, nuxt, ecosystem, opinionated なし なし source v-html / v-text と子コンテンツを同時に指定する箇所を検出します。 Essential
vue/no-deprecated-filter 悪い例 · 良い例 error essential, happy-path, nuxt, ecosystem, opinionated なし なし source Vue 2 のパイプによるフィルター構文を検出します。 Essential
vue/no-deprecated-functional-template 悪い例 · 良い例 error essential, happy-path, nuxt, ecosystem, opinionated なし なし source SFC の template で削除済みの functional 属性を検出します。 Essential
vue/no-deprecated-html-element-is 悪い例 · 良い例 error essential, happy-path, nuxt, ecosystem, opinionated なし なし source 通常の HTML 要素で旧形式の is を使う箇所を検出します。 Essential
vue/no-deprecated-inline-template 悪い例 · 良い例 error essential, happy-path, nuxt, ecosystem, opinionated なし なし source 削除済みの inline-template 属性を検出します。 Essential
vue/no-deprecated-router-link-tag-prop 悪い例 · 良い例 error essential, happy-path, nuxt, ecosystem, opinionated なし なし source router-link の削除済み tag prop を検出します。 Essential
vue/no-deprecated-scope-attribute 悪い例 · 良い例 error essential, happy-path, nuxt, ecosystem, opinionated なし なし source template の削除済み scope 属性を検出します。 Essential
vue/no-deprecated-slot-attribute 悪い例 · 良い例 error essential, happy-path, nuxt, ecosystem, opinionated なし なし source 削除済みの slot 属性を検出します。 Essential
vue/no-deprecated-slot-scope-attribute 悪い例 · 良い例 error essential, happy-path, nuxt, ecosystem, opinionated なし なし source 削除済みの slot-scope 属性を検出します。 Essential
vue/no-deprecated-v-bind-sync 悪い例 · 良い例 error essential, happy-path, nuxt, ecosystem, opinionated なし なし source 削除済みの v-bind の .sync 修飾子を検出します。 Essential
vue/no-deprecated-v-is 悪い例 · 良い例 error essential, happy-path, nuxt, ecosystem, opinionated なし なし source 非推奨の v-is ディレクティブを検出します。 Essential
vue/no-deprecated-v-on-native-modifier 悪い例 · 良い例 error essential, happy-path, nuxt, ecosystem, opinionated なし なし source 削除済みの v-on の .native 修飾子を検出します。 Essential
vue/no-deprecated-v-on-number-modifiers 悪い例 · 良い例 error essential, happy-path, nuxt, ecosystem, opinionated あり なし source v-on の削除済みの数値 keyCode 修飾子を検出します。 Essential
vue/no-dupe-v-else-if 悪い例 · 良い例 error essential, happy-path, nuxt, ecosystem, opinionated なし なし source v-if / v-else-if の条件重複を検出します。 Essential
vue/no-duplicate-attributes 悪い例 · 良い例 error essential, happy-path, nuxt, ecosystem, opinionated なし なし source 同じ要素の属性重複を検出します。 Essential
vue/no-multiple-template-root 悪い例 · 良い例 error none なし なし source 単一ルートを要求するテンプレートで複数ルートを検出します。 Essential
vue/no-mutating-props 悪い例 · 良い例 error essential, happy-path, nuxt, ecosystem, opinionated なし ruleOptions source 親から受け取った prop を子コンポーネントで変更する箇所を検出します。 Essential
vue/no-reserved-component-names 悪い例 · 良い例 error essential, happy-path, nuxt, ecosystem, opinionated なし なし source 予約済みのコンポーネント名を検出します。 Essential
vue/no-template-key 悪い例 · 良い例 error essential, happy-path, nuxt, ecosystem, opinionated なし なし source v-for 用ではない template の key 指定を検出します。 Essential
vue/no-textarea-mustache 悪い例 · 良い例 error essential, happy-path, nuxt, ecosystem, opinionated なし なし source textarea 内の mustache を検出し、v-model の使用を勧めます。 Essential
vue/no-unused-components 悪い例 · 良い例 warning essential, happy-path, nuxt, ecosystem, opinionated なし なし source 登録しているのにテンプレートで使わないコンポーネントを検出します。 Essential
vue/no-unused-vars 悪い例 · 良い例 warning essential, happy-path, nuxt, ecosystem, opinionated なし なし source v-for / v-slot に宣言しているのに使わない変数を検出します。 Essential
vue/no-use-v-if-with-v-for 悪い例 · 良い例 warning essential, happy-path, nuxt, ecosystem, opinionated なし なし source 同じ要素での v-if と v-for の併用を検出します。 Essential
vue/no-useless-template-attributes 悪い例 · 良い例 error essential, happy-path, nuxt, ecosystem, opinionated なし なし source template 要素の効果がない属性を検出します。 Essential
vue/no-v-for-template-key-on-child 悪い例 · 良い例 error essential, happy-path, nuxt, ecosystem, opinionated なし なし source template v-for の key を子ではなく template に指定します。 Essential
vue/no-v-html 悪い例 · 良い例 warning essential, happy-path, nuxt, ecosystem, opinionated なし なし source XSS を防ぐため、v-html を使用した箇所に警告を出します。 Essential
vue/no-v-text-v-html-on-component 悪い例 · 良い例 error essential, happy-path, nuxt, ecosystem, opinionated なし なし source コンポーネントでの v-text / v-html を検出します。 Essential
vue/permitted-contents 悪い例 · 良い例 error happy-path, nuxt, ecosystem, opinionated なし なし source HTML の要素ごとのコンテンツモデルを検査します。 Essential
vue/require-component-is 悪い例 · 良い例 error essential, happy-path, nuxt, ecosystem, opinionated なし なし source 動的 component 要素に :is を指定します。 Essential
vue/require-toggle-inside-transition 悪い例 · 良い例 error essential, happy-path, nuxt, ecosystem, opinionated なし なし source transition の子要素に表示を切り替える条件を指定します。 Essential
vue/require-v-for-key 悪い例 · 良い例 error essential, happy-path, nuxt, ecosystem, opinionated なし なし source v-for に安定した :key を指定します。 Essential
vue/use-v-on-exact 悪い例 · 良い例 warning essential, happy-path, nuxt, ecosystem, opinionated なし なし source 修飾子付きのイベント操作と競合するハンドラーに .exact を指定します。 Essential
vue/valid-attribute-name 悪い例 · 良い例 error essential, happy-path, nuxt, ecosystem, opinionated なし なし source 有効な属性名を指定します。 Essential
vue/valid-template-root 悪い例 · 良い例 error essential, happy-path, nuxt, ecosystem, opinionated なし なし source Vue 3 のフラグメントに対応する有効なテンプレートルートを検査します。 Essential
vue/valid-v-bind 悪い例 · 良い例 error essential, happy-path, nuxt, ecosystem, opinionated なし なし source v-bind の引数・値・修飾子を検査します。 Essential
vue/valid-v-cloak 悪い例 · 良い例 error essential, happy-path, nuxt, ecosystem, opinionated なし なし source v-cloak の引数・値・修飾子を検査します。 Essential
vue/valid-v-else 悪い例 · 良い例 error essential, happy-path, nuxt, ecosystem, opinionated あり なし source v-else の位置・引数・値を検査します。 Essential
vue/valid-v-else-if 悪い例 · 良い例 error essential, happy-path, nuxt, ecosystem, opinionated なし なし source v-else-if の位置・引数・値を検査します。 Essential
vue/valid-v-for 悪い例 · 良い例 error essential, happy-path, nuxt, ecosystem, opinionated なし なし source v-for の式と変数宣言を検査します。 Essential
vue/valid-v-html 悪い例 · 良い例 error essential, happy-path, nuxt, ecosystem, opinionated なし なし source v-html の値・引数・修飾子を検査します。 Essential
vue/valid-v-if 悪い例 · 良い例 error essential, happy-path, nuxt, ecosystem, opinionated なし なし source v-if に有効な条件式を指定します。 Essential
vue/valid-v-is 悪い例 · 良い例 error essential, happy-path, nuxt, ecosystem, opinionated なし なし source v-is の適用先・引数・値を検査します。 Essential
vue/valid-v-memo 悪い例 · 良い例 error essential, happy-path, nuxt, ecosystem, opinionated なし なし source v-memo の値を配列の式にします。 Essential
vue/valid-v-model 悪い例 · 良い例 error essential, happy-path, nuxt, ecosystem, opinionated なし なし source v-model の値・引数・修飾子を検査します。 Essential
vue/valid-v-on 悪い例 · 良い例 error essential, happy-path, nuxt, ecosystem, opinionated なし ruleOptions source v-on のイベント名・式・修飾子を検査します。 Essential
vue/valid-v-once 悪い例 · 良い例 error essential, happy-path, nuxt, ecosystem, opinionated なし なし source v-once の引数・値・修飾子を検査します。 Essential
vue/valid-v-pre 悪い例 · 良い例 error essential, happy-path, nuxt, ecosystem, opinionated なし なし source v-pre の引数・値・修飾子を検査します。 Essential
vue/valid-v-show 悪い例 · 良い例 error essential, happy-path, nuxt, ecosystem, opinionated なし なし source v-show に有効な条件式を指定します。 Essential
vue/valid-v-slot 悪い例 · 良い例 error essential, happy-path, nuxt, ecosystem, opinionated なし ruleOptions source v-slot の適用先・宣言・修飾子を検査します。 Essential
vue/valid-v-text 悪い例 · 良い例 error essential, happy-path, nuxt, ecosystem, opinionated なし なし source v-text の値・引数・修飾子を検査します。 Essential
vue/attribute-hyphenation 悪い例 · 良い例 warning happy-path, nuxt, ecosystem, opinionated あり ruleOptions source コンポーネントの prop 属性名を設定した形式に揃えます。 Strongly Recommended
vue/component-definition-name-casing 悪い例 · 良い例 warning happy-path, nuxt, ecosystem, opinionated なし なし source コンポーネント定義名を PascalCase または kebab-case に揃えます。 Strongly Recommended
vue/html-quotes 悪い例 · 良い例 warning happy-path, nuxt, ecosystem, opinionated あり ruleOptions source HTML 属性値の引用符を揃えます。 Strongly Recommended
vue/html-self-closing 悪い例 · 良い例 warning nuxt, opinionated あり ruleOptions source 要素の種類ごとに自己終了タグの形式を揃えます。 Strongly Recommended
vue/mustache-interpolation-spacing 悪い例 · 良い例 warning happy-path, nuxt, ecosystem, opinionated あり ruleOptions source mustache 内の空白を揃えます。 Strongly Recommended
vue/no-multi-spaces 悪い例 · 良い例 warning happy-path, nuxt, ecosystem, opinionated あり なし source 連続する不要な空白を検出します。 Strongly Recommended
vue/no-template-shadow 悪い例 · 良い例 warning happy-path, nuxt, ecosystem, opinionated なし なし source テンプレート変数が外側の名前を隠す箇所を検出します。 Strongly Recommended
vue/no-unused-properties 悪い例 · 良い例 warning happy-path, nuxt, ecosystem, opinionated なし なし source defineProps に宣言しているのに使わない prop を検出します。 Strongly Recommended
vue/prop-name-casing 悪い例 · 良い例 warning happy-path, nuxt, ecosystem, opinionated なし なし source 宣言する prop 名の形式を揃えます。 Strongly Recommended
vue/v-bind-style 悪い例 · 良い例 warning happy-path, nuxt, ecosystem, opinionated あり ruleOptions source v-bind の表記形式を揃えます。 Strongly Recommended
vue/v-on-style 悪い例 · 良い例 warning happy-path, nuxt, ecosystem, opinionated あり ruleOptions source v-on の表記形式を揃えます。 Strongly Recommended
vue/v-slot-style 悪い例 · 良い例 warning happy-path, nuxt, ecosystem, opinionated あり ruleOptions source v-slot の表記形式を揃えます。 Strongly Recommended
ssr/no-browser-globals-in-ssr 悪い例 · 良い例 warning happy-path, nuxt, ecosystem, opinionated なし なし source SSR で実行されるコードのブラウザー専用グローバル参照を検出します。 Recommended
ssr/no-hydration-mismatch 悪い例 · 良い例 warning happy-path, nuxt, ecosystem, opinionated なし なし source サーバーとクライアントで一致しないテンプレート値を検出します。 Recommended
vue/a11y-img-alt 悪い例 · 良い例 warning none なし なし source 画像に代替テキストの alt 属性を指定します。 Recommended
vue/attribute-order 悪い例 · 良い例 warning happy-path, nuxt, ecosystem, opinionated なし なし source テンプレートの属性を一定の順に並べます。 Recommended
vue/component-name-in-template-casing 悪い例 · 良い例 warning nuxt, opinionated あり ruleOptions source テンプレート内のコンポーネント名を指定した形式に揃えます。 Recommended
vue/html-button-has-type 悪い例 · 良い例 warning nuxt, opinionated なし なし source button に有効な type を明示します。 Recommended
vue/max-template-complexity 悪い例 · 良い例 warning none なし なし source コンポーネント自身のテンプレートの複雑度を制限します。 Recommended
vue/no-array-index-key 悪い例 · 良い例 warning nuxt, opinionated なし なし source v-for の配列インデックスをそのまま key に使う箇所を検出します。 Recommended
vue/no-bare-strings-in-template 悪い例 · 良い例 warning none なし なし source テンプレートに直接書かれた、国際化の対象となるテキストを検出します。 Recommended
vue/no-boolean-attr-value 悪い例 · 良い例 warning nuxt, opinionated あり なし source HTML の真偽属性に不要な値を指定した箇所を検出します。 Recommended
vue/no-empty-component-block 悪い例 · 良い例 warning nuxt, opinionated なし なし source 空の SFC ブロックを検出します。 Recommended
vue/no-inline-style 悪い例 · 良い例 warning nuxt, opinionated なし なし source インラインの style 属性を検出します。 Recommended
vue/no-invalid-html-attribute 悪い例 · 良い例 warning happy-path, nuxt, ecosystem, opinionated なし なし source 静的 HTML 属性の無効な値を検出します。現在は rel が対象です。 Recommended
vue/no-lone-template 悪い例 · 良い例 warning happy-path, nuxt, ecosystem, opinionated なし なし source 不要な template 要素を検出します。 Recommended
vue/no-multiple-objects-in-class 悪い例 · 良い例 warning nuxt, opinionated なし なし source :class 配列内の複数のオブジェクト指定をまとめます。 Recommended
vue/no-negated-v-if-condition 悪い例 · 良い例 warning nuxt, opinionated なし なし source v-else がある条件分岐の否定条件を反転して読みやすくします。 Recommended
vue/no-non-component-keep-alive-child 悪い例 · 良い例 warning essential, happy-path, nuxt, ecosystem, opinionated なし なし source KeepAlive の直下に通常の HTML 要素を置く箇所を検出します。 Recommended
vue/no-preprocessor-lang 悪い例 · 良い例 warning nuxt, opinionated なし なし source CSS プリプロセッサーより標準の CSS を使う方針を示します。 Recommended
vue/no-root-v-if 悪い例 · 良い例 warning nuxt, opinionated なし なし source テンプレートの単一ルートに v-if を指定する箇所を検出します。 Recommended
vue/no-script-non-standard-lang 悪い例 · 良い例 warning nuxt, opinionated なし なし source script の非標準の lang 指定を避ける方針を示します。 Recommended
vue/no-src-attribute 悪い例 · 良い例 warning nuxt, opinionated なし なし source SFC ブロックの外部 src 指定を検出します。 Recommended
vue/no-static-inline-styles 悪い例 · 良い例 warning none なし なし source 静的なインライン style 属性を検出します。 Recommended
vue/no-template-lang 悪い例 · 良い例 warning nuxt, opinionated なし なし source template の lang 指定を避ける方針を示します。 Recommended
vue/no-template-target-blank 悪い例 · 良い例 warning happy-path, nuxt, ecosystem, opinionated なし なし source target=_blank の外部リンクに適切な rel を指定します。 Recommended
vue/no-undefined-refs 悪い例 · 良い例 warning none なし なし source テンプレート内の未定義変数参照を検出します。 Recommended
vue/no-unsafe-url 悪い例 · 良い例 warning essential, happy-path, nuxt, ecosystem, opinionated なし なし source 危険なスキームを含む可能性がある URL 属性やバインディングを検出します。 Recommended
vue/no-unsandboxed-iframe 悪い例 · 良い例 warning happy-path, nuxt, ecosystem, opinionated なし なし source iframe に sandbox 属性を指定します。 Recommended
vue/no-unused-refs 悪い例 · 良い例 warning nuxt, opinionated なし なし source テンプレートに宣言しているのに参照しない ref を検出します。 Recommended
vue/no-unused-setup-bindings 悪い例 · 良い例 warning none なし なし source script setup に宣言しているのに読み取らない変数を検出します。 Recommended
vue/no-use-v-else-with-v-for 悪い例 · 良い例 warning happy-path, nuxt, ecosystem, opinionated なし なし source 同じ要素での v-else / v-else-if と v-for の併用を検出します。 Recommended
vue/no-useless-mustaches 悪い例 · 良い例 warning nuxt, opinionated なし なし source 文字列リテラルだけの不要な mustache を検出します。 Recommended
vue/no-useless-v-bind 悪い例 · 良い例 warning nuxt, opinionated なし なし source 文字列リテラルだけの不要な v-bind を検出します。 Recommended
vue/no-v-text 悪い例 · 良い例 warning nuxt, opinionated なし なし source v-text の代わりに mustache を使う方針を適用します。 Recommended
vue/prefer-props-shorthand 悪い例 · 良い例 warning nuxt, opinionated あり なし source Vue 3.4 の同名 prop バインディングの省略形を使います。 Recommended
vue/prefer-true-attribute-shorthand 悪い例 · 良い例 warning nuxt, opinionated なし なし source true を指定するバインディングを真偽属性の省略形にします。 Recommended
vue/require-component-registration 悪い例 · 良い例 warning opinionated なし ruleOptions source 使用するコンポーネントを import または登録します。 Recommended
vue/require-scoped-style 悪い例 · 良い例 warning happy-path, nuxt, ecosystem, opinionated なし なし source style に scoped を指定する方針を適用します。 Recommended
vue/scoped-event-names 悪い例 · 良い例 warning nuxt, opinionated なし なし source イベント名を context:event の形式に揃えます。 Recommended
vue/sfc-element-order 悪い例 · 良い例 warning happy-path, nuxt, ecosystem, opinionated なし ruleOptions source SFC のトップレベルブロックを設定した順に並べます。 Recommended
vue/single-style-block 悪い例 · 良い例 warning happy-path, nuxt, ecosystem, opinionated なし なし source SFC の style を一つのブロックにまとめます。 Recommended
vue/slot-name-casing 悪い例 · 良い例 warning nuxt, opinionated なし なし source 名前付きスロットを kebab-case に揃えます。 Recommended
vue/this-in-template 悪い例 · 良い例 warning happy-path, nuxt, ecosystem, opinionated なし なし source テンプレートで不要な this. 参照を検出します。 Recommended
vue/v-on-event-hyphenation 悪い例 · 良い例 warning happy-path, nuxt, ecosystem, opinionated なし ruleOptions source コンポーネントのカスタムイベント名を設定した形式に揃えます。 Recommended
vue/v-on-handler-style 悪い例 · 良い例 warning nuxt, opinionated なし なし source イベントハンドラーの書き方を参照または関数の形式に揃えます。 Recommended
vue/warn-custom-block 悪い例 · 良い例 warning nuxt, opinionated なし なし source SFC のカスタムブロックを検出します。 Recommended
vue/warn-custom-directive 悪い例 · 良い例 warning nuxt, opinionated なし なし source 登録が必要なカスタムディレクティブを検出します。 Recommended
a11y/alt-text 悪い例 · 良い例 warning happy-path, nuxt, ecosystem, opinionated なし なし source 画像などのメディアに代替テキストを用意します。 Accessibility
a11y/anchor-has-content 悪い例 · 良い例 warning happy-path, nuxt, ecosystem, opinionated なし なし source リンクに支援技術で読める内容を用意します。 Accessibility
a11y/anchor-is-valid 悪い例 · 良い例 warning happy-path, nuxt, ecosystem, opinionated なし なし source リンクの href に有効な移動先を指定します。 Accessibility
a11y/aria-props 悪い例 · 良い例 error happy-path, nuxt, ecosystem, opinionated なし なし source 存在しない ARIA 属性を検出します。 Accessibility
a11y/aria-role 悪い例 · 良い例 error happy-path, nuxt, ecosystem, opinionated なし なし source 抽象ロールを除く、有効な ARIA role を指定します。 Accessibility
a11y/aria-unsupported-elements 悪い例 · 良い例 error happy-path, nuxt, ecosystem, opinionated なし なし source ARIA 属性を使用できない要素への指定を検出します。 Accessibility
a11y/click-events-have-key-events 悪い例 · 良い例 warning happy-path, nuxt, ecosystem, opinionated なし なし source クリックで操作する要素にキーボード操作も用意します。 Accessibility
a11y/form-control-has-label 悪い例 · 良い例 warning happy-path, nuxt, ecosystem, opinionated なし なし source フォーム部品に関連付けられたラベルを用意します。 Accessibility
a11y/heading-has-content 悪い例 · 良い例 warning happy-path, nuxt, ecosystem, opinionated なし なし source 見出しに支援技術で読める内容を用意します。 Accessibility
a11y/heading-levels 悪い例 · 良い例 warning nuxt, opinionated なし なし source 見出しの階層を飛ばした指定を検出します。 Accessibility
a11y/iframe-has-title 悪い例 · 良い例 warning happy-path, nuxt, ecosystem, opinionated なし なし source iframe に内容を説明する title を指定します。 Accessibility
a11y/img-alt 悪い例 · 良い例 warning none なし なし source 画像に alt 属性を指定します。装飾画像は空の alt を使います。 Accessibility
a11y/interactive-supports-focus 悪い例 · 良い例 warning happy-path, nuxt, ecosystem, opinionated なし なし source 操作可能な role の要素をフォーカス可能にします。 Accessibility
a11y/label-has-for 悪い例 · 良い例 warning happy-path, nuxt, ecosystem, opinionated なし なし source label を対象のフォーム部品と関連付けます。 Accessibility
a11y/landmark-roles 悪い例 · 良い例 warning nuxt, opinionated なし なし source ランドマーク role の配置と重複を検査します。 Accessibility
a11y/media-has-caption 悪い例 · 良い例 warning happy-path, nuxt, ecosystem, opinionated なし なし source 音声・動画に字幕を用意します。 Accessibility
a11y/mouse-events-have-key-events 悪い例 · 良い例 warning happy-path, nuxt, ecosystem, opinionated なし なし source マウス操作と対応する focus / blur 操作を用意します。 Accessibility
a11y/no-access-key 悪い例 · 良い例 warning happy-path, nuxt, ecosystem, opinionated なし なし source 環境のショートカットと衝突し得る accesskey を検出します。 Accessibility
a11y/no-aria-hidden-on-focusable 悪い例 · 良い例 error happy-path, nuxt, ecosystem, opinionated なし なし source フォーカス可能な要素を aria-hidden で支援技術から隠す指定を検出します。 Accessibility
a11y/no-autofocus 悪い例 · 良い例 warning happy-path, nuxt, ecosystem, opinionated なし なし source 意図せずフォーカスを移動させる autofocus を検出します。 Accessibility
a11y/no-distracting-elements 悪い例 · 良い例 warning happy-path, nuxt, ecosystem, opinionated なし なし source marquee や blink などの注意をそらす要素を検出します。 Accessibility
a11y/no-i-for-icon 悪い例 · 良い例 warning happy-path, nuxt, ecosystem, opinionated なし なし source アイコン用の i 要素を検出し、意味に合う要素を勧めます。 Accessibility
a11y/no-redundant-roles 悪い例 · 良い例 warning happy-path, nuxt, ecosystem, opinionated あり なし source 要素本来の意味と重複する ARIA role を検出します。 Accessibility
a11y/no-refer-to-non-existent-id 悪い例 · 良い例 warning happy-path, nuxt, ecosystem, opinionated なし なし source 文書内に存在しない ID への参照を検出します。 Accessibility
a11y/no-role-presentation-on-focusable 悪い例 · 良い例 error happy-path, nuxt, ecosystem, opinionated なし なし source フォーカス可能な要素への role="presentation" または role="none" の指定を検出します。 Accessibility
a11y/no-static-element-interactions 悪い例 · 良い例 warning happy-path, nuxt, ecosystem, opinionated なし なし source 操作部品ではない要素へのイベント指定を検出します。 Accessibility
a11y/placeholder-label-option 悪い例 · 良い例 warning nuxt, opinionated なし なし source required の select を値が空のプレースホルダー option から始めます。 Accessibility
a11y/role-has-required-aria-props 悪い例 · 良い例 warning happy-path, nuxt, ecosystem, opinionated なし なし source ARIA role が必要とする属性を指定します。 Accessibility
a11y/tabindex-no-positive 悪い例 · 良い例 warning happy-path, nuxt, ecosystem, opinionated なし なし source 通常のフォーカス順序を変える正の tabindex を検出します。 Accessibility
a11y/use-list 悪い例 · 良い例 warning nuxt, opinionated なし なし source 箇条書きに見えるテキストをリスト要素で表現します。 Accessibility
vue/use-unique-element-ids 悪い例 · 良い例 warning nuxt, opinionated なし なし source 静的 ID の代わりに useId() で一意な ID を生成します。 Accessibility
html/deprecated-attr 悪い例 · 良い例 warning happy-path, nuxt, ecosystem, opinionated なし なし source 非推奨の HTML 属性を検出します。 HTML Conformance
html/deprecated-element 悪い例 · 良い例 warning happy-path, nuxt, ecosystem, opinionated なし なし source 非推奨の HTML 要素を検出します。 HTML Conformance
html/id-duplication 悪い例 · 良い例 error essential, happy-path, nuxt, ecosystem, opinionated なし なし source 同じテンプレート内の ID 重複を検出します。 HTML Conformance
html/no-consecutive-br 悪い例 · 良い例 warning happy-path, nuxt, ecosystem, opinionated なし なし source 連続する br 要素による余白指定を検出します。 HTML Conformance
html/no-dupe-style-properties 悪い例 · 良い例 warning nuxt, opinionated なし なし source 静的 style 属性内のプロパティ重複を検出します。 HTML Conformance
html/no-duplicate-class 悪い例 · 良い例 warning happy-path, nuxt, ecosystem, opinionated なし なし source 静的 class 属性内のクラス名重複を検出します。 HTML Conformance
html/no-duplicate-dt 悪い例 · 良い例 warning happy-path, nuxt, ecosystem, opinionated なし なし source dl 内の dt の名前重複を検出します。 HTML Conformance
html/no-empty-palpable-content 悪い例 · 良い例 warning happy-path, nuxt, ecosystem, opinionated なし ruleOptions source 可視コンテンツを期待する要素が空の場合に検出します。 HTML Conformance
html/require-datetime 悪い例 · 良い例 warning happy-path, nuxt, ecosystem, opinionated なし なし source time 要素に機械可読の datetime を指定します。 HTML Conformance
type/no-floating-promises 悪い例 · 良い例 warning nuxt, opinionated なし なし source 処理しないまま放置された Promise を検出します。 Type Aware
type/no-reactivity-loss 悪い例 · 良い例 warning nuxt, opinionated なし なし source リアクティブな値を代入や呼び出しで取り出し、元の更新に追従しないスナップショットになる箇所を検出します。 Type Aware
type/no-unsafe-template-binding 悪い例 · 良い例 warning nuxt, opinionated なし なし source テンプレートで安全でない型の値を使用する箇所を検出します。 Type Aware
type/require-typed-emits 悪い例 · 良い例 warning happy-path, nuxt, ecosystem, opinionated なし なし source defineEmits に型定義を指定します。 Type Aware
type/require-typed-props 悪い例 · 良い例 warning happy-path, nuxt, ecosystem, opinionated なし なし source defineProps に型定義を指定します。 Type Aware
type/strict-boolean-expressions 悪い例 · 良い例 warning none なし ruleOptions source script とテンプレートの条件式で安全な真偽判定を使います。 Type Aware
script/no-get-current-instance 悪い例 · 良い例 error opinionated なし なし source Vapor で null を返す getCurrentInstance() を検出します。 Vapor
script/no-next-tick 悪い例 · 良い例 error none なし なし source Vapor 向けコンポーネントの nextTick() 使用を検出します。 Vapor
script/no-options-api 悪い例 · 良い例 error opinionated なし なし source Vapor で Options API を使用する箇所を検出します。 Vapor
vapor/no-inline-template 悪い例 · 良い例 error nuxt, opinionated なし なし source Vapor で削除済みの inline-template 属性を検出します。 Vapor
vapor/no-vue-lifecycle-events 悪い例 · 良い例 error happy-path, nuxt, ecosystem, opinionated なし なし source Vapor では未対応の、要素ごとに指定する @vue:* ライフサイクルイベントを検出します。 Vapor
vapor/prefer-static-class 悪い例 · 良い例 warning nuxt, opinionated あり なし source 文字列リテラルの :class を静的 class に置き換えます。 Vapor
vapor/require-vapor-attribute 悪い例 · 良い例 warning nuxt, opinionated なし なし source Vapor 向けの script setup に vapor 属性を付ける規約を示します。 Vapor
ecosystem/nuxt-prefer-nuxt-link 悪い例 · 良い例 warning nuxt なし なし source Nuxt の内部リンクに NuxtLink を使います。 Ecosystem
ecosystem/pinia-prefer-store-to-refs 悪い例 · 良い例 warning ecosystem なし なし source Pinia store の分割代入に storeToRefs() を使います。 Ecosystem
ecosystem/router-link-require-to 悪い例 · 良い例 error ecosystem なし なし source RouterLink / NuxtLink に to を指定します。 Ecosystem
ecosystem/void-link-require-href 悪い例 · 良い例 error ecosystem なし なし source Void Vue の Link に href を指定します。 Ecosystem
ecosystem/void-link-valid-method 悪い例 · 良い例 warning ecosystem なし なし source Void Vue の Link に有効な静的 method を指定します。 Ecosystem
ecosystem/vue-i18n-no-missing-key 悪い例 · 良い例 warning ecosystem なし なし source SFC 内の翻訳データに存在しない静的キーを検出します。 Ecosystem
ecosystem/vue-router-prefer-named-link 悪い例 · 良い例 warning ecosystem なし なし source RouterLink の文字列パスを名前付きルートの指定に置き換えます。 Ecosystem
ecosystem/vue-router-prefer-named-push 悪い例 · 良い例 warning ecosystem なし なし source Vue Router のプログラムによる移動に名前付きルートを使います。 Ecosystem
ecosystem/vue-test-utils-no-html-snapshot 悪い例 · 良い例 warning ecosystem なし なし source wrapper.html() 全体のスナップショットに依存するテストを検出します。 Ecosystem
css/no-display-none 悪い例 · 良い例 warning opinionated, nuxt なし なし source 表示切り替えに display: none を使う箇所で v-show を検討します。 CSS
css/no-hardcoded-values 悪い例 · 良い例 warning opinionated, nuxt なし なし source CSS に直接記述した値を CSS 変数にまとめます。 CSS
css/no-id-selectors 悪い例 · 良い例 warning opinionated, nuxt なし なし source 詳細度が高い CSS の ID セレクターを検出します。 CSS
css/no-important 悪い例 · 良い例 warning opinionated, nuxt なし なし source 通常のカスケードを上書きする !important を検出します。 CSS
css/no-utility-classes 悪い例 · 良い例 warning opinionated, nuxt なし なし source コンポーネント内でユーティリティクラスを定義する箇所を検出します。 CSS
css/no-v-bind-performance 悪い例 · 良い例 warning opinionated, nuxt なし なし source CSS v-bind() の実行時コストを検討するための警告です。 CSS
css/prefer-logical-properties 悪い例 · 良い例 warning opinionated, nuxt なし なし source 書字方向に対応する CSS の論理プロパティを使います。 CSS
css/prefer-nested-selectors 悪い例 · 良い例 warning opinionated, nuxt なし なし source 子孫セレクターを CSS のネスト構文でまとめます。 CSS
css/prefer-slotted 悪い例 · 良い例 warning opinionated, nuxt なし なし source slot や子コンポーネントに対する scoped CSS のセレクターを検査します。 CSS
css/require-font-display 悪い例 · 良い例 warning opinionated, nuxt なし なし source @font-face に font-display を指定します。 CSS
musea/no-empty-variant 悪い例 · 良い例 warning none なし なし source 内容のない variant ブロックを検出します。 Musea
musea/prefer-design-tokens 悪い例 · 良い例 warning none なし ruleOptions source CSS に直接記述した値が登録済みのデザイントークンの値に一致する場合、対応する CSS 変数で表現します。 Musea
musea/require-component 悪い例 · 良い例 warning none なし なし source art ブロックに対象の component を指定します。 Musea
musea/require-title 悪い例 · 良い例 error none なし なし source art ブロックに title を指定します。 Musea
musea/unique-variant-names 悪い例 · 良い例 error none なし なし source 同じ Art ファイル内の variant 名を一意にします。 Musea
musea/valid-variant 悪い例 · 良い例 error none なし なし source variant ブロックに name を指定します。 Musea
script/component-options-name-casing 悪い例 · 良い例 error opinionated, nuxt なし なし source コンポーネントの name オプションを PascalCase に揃えます。 Script
script/custom-event-name-casing 悪い例 · 良い例 error opinionated, nuxt なし ruleOptions source emit するカスタムイベント名を指定した形式に揃えます。 Script
script/define-emits-declaration 悪い例 · 良い例 warning opinionated, nuxt なし なし source defineEmits を型による宣言形式に揃えます。 Script
script/define-macros-order 悪い例 · 良い例 warning opinionated, nuxt なし ruleOptions source script setup のコンパイラーマクロを一定の順に宣言します。 Script
script/define-props-declaration 悪い例 · 良い例 warning opinionated, nuxt なし なし source defineProps を型による宣言形式に揃えます。 Script
script/define-props-destructuring 悪い例 · 良い例 warning none なし ruleOptions source defineProps の分割代入スタイルを指定した方針に揃えます。 Script
script/no-arrow-functions-in-watch 悪い例 · 良い例 error essential, happy-path, ecosystem, nuxt, opinionated なし なし source Options API の watch ハンドラーにアロー関数を使う箇所を検出します。 Script
script/no-async-in-computed 悪い例 · 良い例 error essential, happy-path, ecosystem, nuxt, opinionated なし なし source computed の getter で非同期関数を使う箇所を検出します。 Script
script/no-boolean-default 悪い例 · 良い例 warning opinionated, nuxt なし なし source Boolean prop の冗長な default を検出します。 Script
script/no-computed-properties-in-data 悪い例 · 良い例 error essential, happy-path, ecosystem, nuxt, opinionated なし なし source 初期化前の data() で算出プロパティを読む箇所を検出します。 Script
script/no-deep-destructure-in-props 悪い例 · 良い例 warning opinionated, nuxt なし なし source defineProps の深い分割代入を検出します。 Script
script/no-deprecated-data-object-declaration 悪い例 · 良い例 error essential, happy-path, ecosystem, nuxt, opinionated なし なし source Vue 3 で関数にすべき data オプションのオブジェクト指定を検出します。 Script
script/no-deprecated-delete-set 悪い例 · 良い例 error essential, happy-path, ecosystem, nuxt, opinionated なし なし source Vue 3 で削除された $set / $delete を検出します。 Script
script/no-deprecated-destroyed-lifecycle 悪い例 · 良い例 error essential, happy-path, ecosystem, nuxt, opinionated あり なし source Vue 2 の destroyed / beforeDestroy を検出し、Vue 3 のライフサイクルフックに置き換えます。 Script
script/no-deprecated-dollar-listeners-api 悪い例 · 良い例 error essential, happy-path, ecosystem, nuxt, opinionated なし なし source Vue 3 で $attrs に統合された $listeners を検出します。 Script
script/no-deprecated-dollar-scopedslots-api 悪い例 · 良い例 error essential, happy-path, ecosystem, nuxt, opinionated なし なし source Vue 3 で $slots に統合された $scopedSlots を検出します。 Script
script/no-deprecated-events-api 悪い例 · 良い例 error essential, happy-path, ecosystem, nuxt, opinionated なし なし source Vue 3 で削除された $on / $off / $once を検出します。 Script
script/no-deprecated-model-definition 悪い例 · 良い例 error essential, happy-path, ecosystem, nuxt, opinionated なし なし source Vue 3 で削除された model オプションを検出します。 Script
script/no-deprecated-props-default-this 悪い例 · 良い例 error essential, happy-path, ecosystem, nuxt, opinionated なし なし source prop の default / validator 内で使えなくなった this を検出します。 Script
script/no-deprecated-vue-config-keycodes 悪い例 · 良い例 error essential, happy-path, ecosystem, nuxt, opinionated なし なし source 削除された Vue.config.keyCodes を検出します。 Script
script/no-dupe-keys 悪い例 · 良い例 error essential, happy-path, ecosystem, nuxt, opinionated なし なし source Options API の props / data / computed などのキー重複を検出します。 Script
script/no-duplicate-attr-inheritance 悪い例 · 良い例 warning essential, happy-path, ecosystem, nuxt, opinionated なし なし source fallthrough 属性を同じコンポーネントで二重に適用する箇所を検出します。 Script
script/no-export-in-script-setup 悪い例 · 良い例 error essential, happy-path, ecosystem, nuxt, opinionated なし なし source script setup 内の export 文を検出します。 Script
script/no-expose-after-await 悪い例 · 良い例 error essential, happy-path, ecosystem, nuxt, opinionated なし なし source await の後の expose() と defineExpose() を禁止します。 Script
script/no-import-compiler-macros 悪い例 · 良い例 error essential, happy-path, ecosystem, nuxt, opinionated なし なし source 自動的に使える Vue コンパイラーマクロの import を検出します。 Script
script/no-internal-imports 悪い例 · 良い例 error essential, happy-path, ecosystem, nuxt, opinionated なし なし source Vue 内部モジュールからの import を検出します。 Script
script/no-lifecycle-after-await 悪い例 · 良い例 error essential, happy-path, ecosystem, nuxt, opinionated なし なし source setup() 内で await の後にライフサイクルフックを登録することを禁止します。 Script
script/no-multiple-slot-args 悪い例 · 良い例 warning happy-path, ecosystem, nuxt, opinionated なし なし source scoped slot 関数に複数の引数を渡す箇所を検出します。 Script
script/no-potential-component-option-typo 悪い例 · 良い例 error essential, happy-path, ecosystem, nuxt, opinionated なし なし source Options API のオプション名の入力ミスを検出します。 Script
script/no-reactive-destructure 悪い例 · 良い例 warning none なし なし source reactive オブジェクトを分割代入し、リアクティビティを失う箇所を検出します。 Script
script/no-ref-as-operand 悪い例 · 良い例 error essential, happy-path, ecosystem, nuxt, opinionated なし なし source ref を演算の値として使う際に .value を参照します。 Script
script/no-required-prop-with-default 悪い例 · 良い例 error essential, happy-path, ecosystem, nuxt, opinionated なし なし source required: true と default を同時に持つ prop を検出します。 Script
script/no-reserved-identifiers 悪い例 · 良い例 error essential, happy-path, ecosystem, nuxt, opinionated なし なし source Vue コンパイラーが予約した識別子の宣言を検出します。 Script
script/no-reserved-keys 悪い例 · 良い例 error essential, happy-path, ecosystem, nuxt, opinionated なし なし source Options API のキーに Vue の予約名を使う箇所を検出します。 Script
script/no-reserved-props 悪い例 · 良い例 error essential, happy-path, ecosystem, nuxt, opinionated なし なし source prop 宣言に Vue の予約名を使う箇所を検出します。 Script
script/no-restricted-globals 悪い例 · 良い例 error none なし ruleOptions source 設定で禁止した実行環境のグローバル参照を検出します。 Script
script/no-restricted-members 悪い例 · 良い例 error none なし ruleOptions source 設定で禁止した object.property へのアクセスを検出します。 Script
script/no-side-effects-in-computed-properties 悪い例 · 良い例 error essential, happy-path, ecosystem, nuxt, opinionated なし なし source Options API の computed getter 内の副作用を検出します。 Script
script/no-top-level-ref-in-script 悪い例 · 良い例 error none なし なし source 通常の script のトップレベルで、リクエスト間に共有される状態を作る箇所を検出します。 Script
script/no-unstable-nested-components 悪い例 · 良い例 warning happy-path, ecosystem, nuxt, opinionated なし なし source setup / render 内で毎回コンポーネントを定義する箇所を検出します。 Script
script/no-unused-emit-declarations 悪い例 · 良い例 warning opinionated, nuxt なし なし source 宣言したまま emit していないイベントを検出します。 Script
script/no-use-computed-property-like-method 悪い例 · 良い例 error essential, happy-path, ecosystem, nuxt, opinionated なし なし source Options API の computed プロパティをメソッドとして呼ぶ箇所を検出します。 Script
script/no-watch-after-await 悪い例 · 良い例 error essential, happy-path, ecosystem, nuxt, opinionated なし なし source setup() 内で await の後に停止ハンドルを保持せずにウォッチャーを登録することを禁止します。 Script
script/no-with-defaults 悪い例 · 良い例 warning opinionated なし なし source Vue 3.5 以降の props 分割代入の既定値を勧めます。 Script
script/one-component-per-file 悪い例 · 良い例 warning opinionated, nuxt なし なし source 1 ファイルにコンポーネント定義が複数あることを検出します。 Script
script/order-in-components 悪い例 · 良い例 warning opinionated, nuxt なし なし source コンポーネントオプションのプロパティ順を既定の並びに揃えます。 Script
script/prefer-computed 悪い例 · 良い例 warning none なし なし source 他の状態から導ける値を watcher で同期する代わりに computed で表現します。 Script
script/prefer-define-options 悪い例 · 良い例 warning opinionated, nuxt なし なし source name / inheritAttrs だけの通常 script を defineOptions() にまとめます。 Script
script/prefer-import-from-vue 悪い例 · 良い例 warning essential, happy-path, ecosystem, nuxt, opinionated あり なし source 内部パッケージではなく vue から import します。 Script
script/prefer-ref-over-reactive 悪い例 · 良い例 warning none なし なし source 状態管理に reactive() より ref() を使う方針を適用します。 Script
script/prefer-use-attrs 悪い例 · 良い例 warning none なし なし source setup の context.attrs を useAttrs() に置き換えます。 Script
script/prefer-use-id 悪い例 · 良い例 warning none なし なし source 一意な ID の生成に Vue 3.5 の useId() を使います。 Script
script/prefer-use-slots 悪い例 · 良い例 warning none なし なし source setup の context.slots を useSlots() に置き換えます。 Script
script/prefer-use-template-ref 悪い例 · 良い例 warning opinionated, nuxt なし なし source テンプレート参照に Vue 3.5 の useTemplateRef() を使います。 Script
script/require-default-prop 悪い例 · 良い例 error opinionated, nuxt なし なし source 省略可能な、Boolean 以外の prop に default を用意します。 Script
script/require-explicit-emits 悪い例 · 良い例 warning happy-path, ecosystem, nuxt, opinionated なし なし source emit するイベントを defineEmits または emits に宣言します。 Script
script/require-explicit-slots 悪い例 · 良い例 warning opinionated, nuxt なし なし source useSlots() で使う slot を defineSlots の型で宣言します。 Script
script/require-function-return-type 悪い例 · 良い例 warning none なし なし source 関数に戻り値の型注釈を指定します。 Script
script/require-prop-type-constructor 悪い例 · 良い例 error essential, happy-path, ecosystem, nuxt, opinionated なし なし source prop の type に文字列ではなくコンストラクターを指定します。 Script
script/require-prop-types 悪い例 · 良い例 error opinionated なし なし source 各 prop の型を宣言します。 Script
script/require-render-return 悪い例 · 良い例 error essential, happy-path, ecosystem, nuxt, opinionated なし なし source render 関数が値を返すことを必須にします。 Script
script/require-slots-as-functions 悪い例 · 良い例 error essential, happy-path, ecosystem, nuxt, opinionated なし なし source Vue 3 の $slots プロパティを関数として呼び出します。 Script
script/require-symbol-provide 悪い例 · 良い例 warning none なし なし source provide / inject のキーに衝突しにくい Symbol を使います。 Script
script/require-typed-object-prop 悪い例 · 良い例 warning opinionated, nuxt なし なし source Object / Array の prop に具体的な型を指定します。 Script
script/require-typed-ref 悪い例 · 良い例 warning none なし なし source 引数なし、null、undefined で呼び出す ref() に型引数を指定します。 Script
script/require-valid-default-prop 悪い例 · 良い例 error essential, happy-path, ecosystem, nuxt, opinionated なし なし source prop の default を宣言した型に合う値にします。 Script
script/return-in-computed-property 悪い例 · 良い例 error essential, happy-path, ecosystem, nuxt, opinionated なし なし source computed の getter に値を返す return を用意します。 Script
script/return-in-emits-validator 悪い例 · 良い例 error essential, happy-path, ecosystem, nuxt, opinionated なし なし source Options API の emits validator に戻り値を用意します。 Script
script/valid-define-emits 悪い例 · 良い例 error essential, happy-path, ecosystem, nuxt, opinionated なし なし source defineEmits の重複や型と実行時引数の併用を検出します。 Script
script/valid-define-options 悪い例 · 良い例 error essential, happy-path, ecosystem, nuxt, opinionated なし なし source defineOptions の引数と使用回数を検査します。 Script
script/valid-define-props 悪い例 · 良い例 error essential, happy-path, ecosystem, nuxt, opinionated なし なし source defineProps の重複や型と実行時引数の併用を検出します。 Script
script/valid-next-tick 悪い例 · 良い例 warning essential, happy-path, ecosystem, nuxt, opinionated なし なし source nextTick() の完了を await、then、またはコールバックで扱います。 Script
nuxt/no-nuxt-config-test-key 悪い例 · 良い例 error nuxt なし なし source Nuxt 設定の test キーに旧形式の真偽値を指定する箇所を検出します。 Nuxt
nuxt/no-page-meta-runtime-values 悪い例 · 良い例 error nuxt なし なし source definePageMeta の即時評価部分で実行時コンテキストを使う箇所を検出します。 Nuxt
nuxt/nuxt-config-keys-order 悪い例 · 良い例 error nuxt あり なし source Nuxt 設定のプロパティを推奨順に並べます。 Nuxt
nuxt/prefer-import-meta 悪い例 · 良い例 error nuxt あり なし source Nuxt の環境フラグを process.* から import.meta.* に置き換えます。 Nuxt

プロジェクトのルールと解析器の診断契約 (66)

以下の項目は、上の 266 件の単一ファイルのルールを補足します。それぞれの例には、コンポーネントやプロジェクトの構成、または参照を追跡するグラフの具体的な条件が含まれます。CLI の検査、実験的なライブラリーの生成元、生成元のない診断契約では対応範囲が異なります。ファイル間検査の概要を確認してください。

ルール / コード 例 現在の対応
ecosystem/vue-router-unknown-route 悪い例 · 良い例 CLI のプロジェクト検査
ecosystem/vue-router-extra-param 悪い例 · 良い例 CLI のプロジェクト検査
ecosystem/vue-router-param-type 悪い例 · 良い例 CLI のプロジェクト検査
ecosystem/vue-router-missing-param 悪い例 · 良い例 CLI のプロジェクト検査
html/cross-component-nesting 悪い例 · 良い例 CLI のプロジェクト検査
vue/cross-file-attrs-fallthrough 悪い例 · 良い例 CLI のプロジェクト検査
vize:croquis/cf/array-mutation 悪い例 · 良い例 契約のみ。生成元なし
vize:croquis/cf/async-boundary 悪い例 · 良い例 CLI のプロジェクト検査
vize:croquis/cf/async-no-suspense 悪い例 · 良い例 ライブラリーの生成元あり。必要なソース情報が未対応
vize:croquis/cf/browser-api-ssr 悪い例 · 良い例 CLI のプロジェクト検査
vize:croquis/cf/circular-dep 悪い例 · 良い例 契約のみ。生成元なし
vize:croquis/cf/circular-reactive-dependency 悪い例 · 良い例 CLI: 参照を追跡するグラフの例
vize:croquis/cf/closure-captures-reactive 悪い例 · 良い例 契約のみ。生成元なし
vize:croquis/cf/composable-outside-setup 悪い例 · 良い例 契約のみ。生成元なし
vize:croquis/cf/computed-side-effects 悪い例 · 良い例 契約のみ。生成元なし
vize:croquis/cf/deep-import 悪い例 · 良い例 契約のみ。生成元なし
vize:croquis/cf/destructuring-breaks-reactivity 悪い例 · 良い例 CLI のプロジェクト検査
vize:croquis/cf/di-outside-setup 悪い例 · 良い例 契約のみ。生成元なし
vize:croquis/cf/dom-access-without-next-tick 悪い例 · 良い例 契約のみ。生成元なし
vize:croquis/cf/duplicate-id 悪い例 · 良い例 CLI のプロジェクト検査
vize:croquis/cf/event-listener-leak 悪い例 · 良い例 契約のみ。生成元なし
vize:croquis/cf/event-modifier 悪い例 · 良い例 実験的なライブラリーの生成元。CLI の個別コードでは未生成
vize:croquis/cf/hydration-risk 悪い例 · 良い例 CLI のプロジェクト検査
vize:croquis/cf/inherit-attrs-unused 悪い例 · 良い例 実験的なライブラリーの生成元。CLI の個別コードでは未生成
vize:croquis/cf/inject-without-symbol 悪い例 · 良い例 CLI のプロジェクト検査
vize:croquis/cf/injected-async-mutation-race 悪い例 · 良い例 CLI のプロジェクト検査
vize:croquis/cf/lifecycle-outside-setup 悪い例 · 良い例 契約のみ。生成元なし
vize:croquis/cf/lifecycle-without-cleanup 悪い例 · 良い例 実験的なライブラリーの生成元。CLI の個別コードでは未生成
vize:croquis/cf/missing-required-prop 悪い例 · 良い例 実験的なライブラリーの生成元。CLI の個別コードでは未生成
vize:croquis/cf/missing-suspense 悪い例 · 良い例 契約のみ。生成元なし
vize:croquis/cf/module-scope-reactive 悪い例 · 良い例 契約のみ。生成元なし
vize:croquis/cf/multi-root-attrs 悪い例 · 良い例 実験的なライブラリーの生成元。CLI の個別コードでは未生成
vize:croquis/cf/mutated-after-escape 悪い例 · 良い例 契約のみ。生成元なし
vize:croquis/cf/non-reactive-provide 悪い例 · 良い例 CLI のプロジェクト検査
vize:croquis/cf/non-unique-id 悪い例 · 良い例 CLI のプロジェクト検査
vize:croquis/cf/object-identity-comparison 悪い例 · 良い例 契約のみ。生成元なし
vize:croquis/cf/pinia-getter 悪い例 · 良い例 契約のみ。生成元なし
vize:croquis/cf/prop-type-mismatch 悪い例 · 良い例 実験的なライブラリーの生成元。CLI の個別コードでは未生成
vize:croquis/cf/provide-inject-type 悪い例 · 良い例 CLI のプロジェクト検査
vize:croquis/cf/provide-without-symbol 悪い例 · 良い例 CLI のプロジェクト検査
vize:croquis/cf/reactive-export 悪い例 · 良い例 契約のみ。生成元なし
vize:croquis/cf/reactivity-outside-setup 悪い例 · 良い例 契約のみ。生成元なし
vize:croquis/cf/reassignment-breaks-reactivity 悪い例 · 良い例 CLI のプロジェクト検査
vize:croquis/cf/reference-escapes-scope 悪い例 · 良い例 契約のみ。生成元なし
vize:croquis/cf/setup-context-violation 悪い例 · 良い例 実験的なライブラリーの生成元。CLI の個別コードでは未生成
vize:croquis/cf/shallow-deep-access 悪い例 · 良い例 契約のみ。生成元なし
vize:croquis/cf/spread-breaks-reactivity 悪い例 · 良い例 CLI のプロジェクト検査
vize:croquis/cf/suspense-no-fallback 悪い例 · 良い例 契約のみ。生成元なし
vize:croquis/cf/template-ref-timing 悪い例 · 良い例 契約のみ。生成元なし
vize:croquis/cf/toraw-mutation 悪い例 · 良い例 契約のみ。生成元なし
vize:croquis/cf/uncaught-error 悪い例 · 良い例 CLI のプロジェクト検査
vize:croquis/cf/undeclared-emit 悪い例 · 良い例 実験的なライブラリーの生成元。CLI の個別コードでは未生成
vize:croquis/cf/undeclared-prop 悪い例 · 良い例 実験的なライブラリーの生成元。CLI の個別コードでは未生成
vize:croquis/cf/undefined-slot 悪い例 · 良い例 契約のみ。生成元なし
vize:croquis/cf/unhandled-event 悪い例 · 良い例 実験的なライブラリーの生成元。CLI の個別コードでは未生成
vize:croquis/cf/unmatched-inject 悪い例 · 良い例 CLI のプロジェクト検査
vize:croquis/cf/unmatched-listener 悪い例 · 良い例 実験的なライブラリーの生成元。CLI の個別コードでは未生成
vize:croquis/cf/unregistered-component 悪い例 · 良い例 実験的なライブラリーの生成元。CLI の個別コードでは未生成
vize:croquis/cf/unresolved-import 悪い例 · 良い例 実験的なライブラリーの生成元。CLI の個別コードでは未生成
vize:croquis/cf/unused-attrs 悪い例 · 良い例 実験的なライブラリーの生成元。CLI の個別コードでは未生成
vize:croquis/cf/unused-emit 悪い例 · 良い例 実験的なライブラリーの生成元。CLI の個別コードでは未生成
vize:croquis/cf/unused-provide 悪い例 · 良い例 CLI のプロジェクト検査
vize:croquis/cf/value-extraction-breaks-reactivity 悪い例 · 良い例 CLI のプロジェクト検査
vize:croquis/cf/watch-can-be-computed 悪い例 · 良い例 契約のみ。生成元なし
vize:croquis/cf/watcheffect-async 悪い例 · 良い例 CLI のプロジェクト検査
vize:croquis/cf/watcher-outside-setup 悪い例 · 良い例 契約のみ。生成元なし

単一ファイルの例

petite-vue/no-unsupported-directive

petite-vue が対応しないディレクティブを検出します。

悪い

良い

カテゴリの例 · ルール参照

petite-vue/valid-v-effect

v-effect に空でない式を指定します。

悪い

良い

カテゴリの例 · ルール参照

petite-vue/valid-v-scope

v-scope に値を指定する場合は、オブジェクトリテラルにします。

悪い

良い

カテゴリの例 · ルール参照

vue/multi-word-component-names

コンポーネント名を複数の単語で構成します。

悪い

良い

カテゴリの例 · ルール参照

vue/no-child-content

v-html / v-text と子コンテンツを同時に指定する箇所を検出します。

悪い

良い

カテゴリの例 · ルール参照

vue/no-deprecated-filter

Vue 2 のパイプによるフィルター構文を検出します。

悪い

良い

カテゴリの例 · ルール参照

vue/no-deprecated-functional-template

SFC の template で削除済みの functional 属性を検出します。

悪い

良い

カテゴリの例 · ルール参照

vue/no-deprecated-html-element-is

通常の HTML 要素で旧形式の is を使う箇所を検出します。

悪い

良い

カテゴリの例 · ルール参照

vue/no-deprecated-inline-template

削除済みの inline-template 属性を検出します。

悪い

良い

カテゴリの例 · ルール参照

router-link の削除済み tag prop を検出します。

悪い

良い

カテゴリの例 · ルール参照

vue/no-deprecated-scope-attribute

template の削除済み scope 属性を検出します。

悪い

良い

カテゴリの例 · ルール参照

vue/no-deprecated-slot-attribute

削除済みの slot 属性を検出します。

悪い

良い

カテゴリの例 · ルール参照

vue/no-deprecated-slot-scope-attribute

削除済みの slot-scope 属性を検出します。

悪い

良い

カテゴリの例 · ルール参照

vue/no-deprecated-v-bind-sync

削除済みの v-bind の .sync 修飾子を検出します。

悪い

良い

カテゴリの例 · ルール参照

vue/no-deprecated-v-is

非推奨の v-is ディレクティブを検出します。

悪い

良い

カテゴリの例 · ルール参照

vue/no-deprecated-v-on-native-modifier

削除済みの v-on の .native 修飾子を検出します。

悪い

良い

カテゴリの例 · ルール参照

vue/no-deprecated-v-on-number-modifiers

v-on の削除済みの数値 keyCode 修飾子を検出します。

悪い

良い

カテゴリの例 · ルール参照

vue/no-dupe-v-else-if

v-if / v-else-if の条件重複を検出します。

悪い

良い

カテゴリの例 · ルール参照

vue/no-duplicate-attributes

同じ要素の属性重複を検出します。

悪い

良い

カテゴリの例 · ルール参照

vue/no-multiple-template-root

単一ルートを要求するテンプレートで複数ルートを検出します。

悪い

良い

カテゴリの例 · ルール参照

vue/no-mutating-props

親から受け取った prop を子コンポーネントで変更する箇所を検出します。

悪い

良い

カテゴリの例 · ルール参照

vue/no-reserved-component-names

予約済みのコンポーネント名を検出します。

悪い

良い

カテゴリの例 · ルール参照

vue/no-template-key

v-for 用ではない template の key 指定を検出します。

悪い

良い

カテゴリの例 · ルール参照

vue/no-textarea-mustache

textarea 内の mustache を検出し、v-model の使用を勧めます。

悪い

良い

カテゴリの例 · ルール参照

vue/no-unused-components

登録しているのにテンプレートで使わないコンポーネントを検出します。

悪い

良い

カテゴリの例 · ルール参照

vue/no-unused-vars

v-for / v-slot に宣言しているのに使わない変数を検出します。

悪い

良い

カテゴリの例 · ルール参照

vue/no-use-v-if-with-v-for

同じ要素での v-if と v-for の併用を検出します。

悪い

良い

カテゴリの例 · ルール参照

vue/no-useless-template-attributes

template 要素の効果がない属性を検出します。

悪い

良い

カテゴリの例 · ルール参照

vue/no-v-for-template-key-on-child

template v-for の key を子ではなく template に指定します。

悪い

良い

カテゴリの例 · ルール参照

vue/no-v-html

XSS を防ぐため、v-html を使用した箇所に警告を出します。

悪い

良い

カテゴリの例 · ルール参照

vue/no-v-text-v-html-on-component

コンポーネントでの v-text / v-html を検出します。

悪い

良い

カテゴリの例 · ルール参照

vue/permitted-contents

HTML の要素ごとのコンテンツモデルを検査します。

悪い

良い

カテゴリの例 · ルール参照

vue/require-component-is

動的 component 要素に :is を指定します。

悪い

良い

カテゴリの例 · ルール参照

vue/require-toggle-inside-transition

transition の子要素に表示を切り替える条件を指定します。

悪い

良い

カテゴリの例 · ルール参照

vue/require-v-for-key

v-for に安定した :key を指定します。

悪い

良い

カテゴリの例 · ルール参照

vue/use-v-on-exact

修飾子付きのイベント操作と競合するハンドラーに .exact を指定します。

悪い

良い

カテゴリの例 · ルール参照

vue/valid-attribute-name

有効な属性名を指定します。

悪い

良い

カテゴリの例 · ルール参照

vue/valid-template-root

Vue 3 のフラグメントに対応する有効なテンプレートルートを検査します。

悪い

良い

カテゴリの例 · ルール参照

vue/valid-v-bind

v-bind の引数・値・修飾子を検査します。

悪い

良い

カテゴリの例 · ルール参照

vue/valid-v-cloak

v-cloak の引数・値・修飾子を検査します。

悪い

良い

カテゴリの例 · ルール参照

vue/valid-v-else

v-else の位置・引数・値を検査します。

悪い

良い

カテゴリの例 · ルール参照

vue/valid-v-else-if

v-else-if の位置・引数・値を検査します。

悪い

良い

カテゴリの例 · ルール参照

vue/valid-v-for

v-for の式と変数宣言を検査します。

悪い

良い

カテゴリの例 · ルール参照

vue/valid-v-html

v-html の値・引数・修飾子を検査します。

悪い

良い

カテゴリの例 · ルール参照

vue/valid-v-if

v-if に有効な条件式を指定します。

悪い

良い

カテゴリの例 · ルール参照

vue/valid-v-is

v-is の適用先・引数・値を検査します。

悪い

良い

カテゴリの例 · ルール参照

vue/valid-v-memo

v-memo の値を配列の式にします。

悪い

良い

カテゴリの例 · ルール参照

vue/valid-v-model

v-model の値・引数・修飾子を検査します。

悪い

良い

カテゴリの例 · ルール参照

vue/valid-v-on

v-on のイベント名・式・修飾子を検査します。

悪い

良い

カテゴリの例 · ルール参照

vue/valid-v-once

v-once の引数・値・修飾子を検査します。

悪い

良い

カテゴリの例 · ルール参照

vue/valid-v-pre

v-pre の引数・値・修飾子を検査します。

悪い

良い

カテゴリの例 · ルール参照

vue/valid-v-show

v-show に有効な条件式を指定します。

悪い

良い

カテゴリの例 · ルール参照

vue/valid-v-slot

v-slot の適用先・宣言・修飾子を検査します。

悪い

良い

カテゴリの例 · ルール参照

vue/valid-v-text

v-text の値・引数・修飾子を検査します。

悪い

良い

カテゴリの例 · ルール参照

vue/attribute-hyphenation

コンポーネントの prop 属性名を設定した形式に揃えます。

悪い

良い

カテゴリの例 · ルール参照

vue/component-definition-name-casing

コンポーネント定義名を PascalCase または kebab-case に揃えます。

悪い

良い

カテゴリの例 · ルール参照

vue/html-quotes

HTML 属性値の引用符を揃えます。

悪い

良い

カテゴリの例 · ルール参照

vue/html-self-closing

要素の種類ごとに自己終了タグの形式を揃えます。

悪い

良い

カテゴリの例 · ルール参照

vue/mustache-interpolation-spacing

mustache 内の空白を揃えます。

悪い

良い

カテゴリの例 · ルール参照

vue/no-multi-spaces

連続する不要な空白を検出します。

悪い

良い

カテゴリの例 · ルール参照

vue/no-template-shadow

テンプレート変数が外側の名前を隠す箇所を検出します。

悪い

良い

カテゴリの例 · ルール参照

vue/no-unused-properties

defineProps に宣言しているのに使わない prop を検出します。

悪い

良い

カテゴリの例 · ルール参照

vue/prop-name-casing

宣言する prop 名の形式を揃えます。

悪い

良い

カテゴリの例 · ルール参照

vue/v-bind-style

v-bind の表記形式を揃えます。

悪い

良い

カテゴリの例 · ルール参照

vue/v-on-style

v-on の表記形式を揃えます。

悪い

良い

カテゴリの例 · ルール参照

vue/v-slot-style

v-slot の表記形式を揃えます。

悪い

良い

カテゴリの例 · ルール参照

ssr/no-browser-globals-in-ssr

SSR で実行されるコードのブラウザー専用グローバル参照を検出します。

悪い

良い

カテゴリの例 · ルール参照

ssr/no-hydration-mismatch

サーバーとクライアントで一致しないテンプレート値を検出します。

悪い

良い

カテゴリの例 · ルール参照

vue/a11y-img-alt

画像に代替テキストの alt 属性を指定します。

悪い

良い

カテゴリの例 · ルール参照

vue/attribute-order

テンプレートの属性を一定の順に並べます。

悪い

良い

カテゴリの例 · ルール参照

vue/component-name-in-template-casing

テンプレート内のコンポーネント名を指定した形式に揃えます。

悪い

良い

カテゴリの例 · ルール参照

vue/html-button-has-type

button に有効な type を明示します。

悪い

良い

カテゴリの例 · ルール参照

vue/max-template-complexity

コンポーネント自身のテンプレートの複雑度を制限します。

悪い

良い

カテゴリの例 · ルール参照

vue/no-array-index-key

v-for の配列インデックスをそのまま key に使う箇所を検出します。

悪い

良い

カテゴリの例 · ルール参照

vue/no-bare-strings-in-template

テンプレートに直接書かれた、国際化の対象となるテキストを検出します。

悪い

良い

カテゴリの例 · ルール参照

vue/no-boolean-attr-value

HTML の真偽属性に不要な値を指定した箇所を検出します。

悪い

良い

カテゴリの例 · ルール参照

vue/no-empty-component-block

空の SFC ブロックを検出します。

悪い

良い

カテゴリの例 · ルール参照

vue/no-inline-style

インラインの style 属性を検出します。

悪い

良い

カテゴリの例 · ルール参照

vue/no-invalid-html-attribute

静的 HTML 属性の無効な値を検出します。現在は rel が対象です。

悪い

良い

カテゴリの例 · ルール参照

vue/no-lone-template

不要な template 要素を検出します。

悪い

良い

カテゴリの例 · ルール参照

vue/no-multiple-objects-in-class

:class 配列内の複数のオブジェクト指定をまとめます。

悪い

良い

カテゴリの例 · ルール参照

vue/no-negated-v-if-condition

v-else がある条件分岐の否定条件を反転して読みやすくします。

悪い

良い

カテゴリの例 · ルール参照

vue/no-non-component-keep-alive-child

KeepAlive の直下に通常の HTML 要素を置く箇所を検出します。

悪い

良い

カテゴリの例 · ルール参照

vue/no-preprocessor-lang

CSS プリプロセッサーより標準の CSS を使う方針を示します。

悪い

良い

カテゴリの例 · ルール参照

vue/no-root-v-if

テンプレートの単一ルートに v-if を指定する箇所を検出します。

悪い

良い

カテゴリの例 · ルール参照

vue/no-script-non-standard-lang

script の非標準の lang 指定を避ける方針を示します。

悪い

良い

カテゴリの例 · ルール参照

vue/no-src-attribute

SFC ブロックの外部 src 指定を検出します。

悪い

良い

カテゴリの例 · ルール参照

vue/no-static-inline-styles

静的なインライン style 属性を検出します。

悪い

良い

カテゴリの例 · ルール参照

vue/no-template-lang

template の lang 指定を避ける方針を示します。

悪い

良い

カテゴリの例 · ルール参照

vue/no-template-target-blank

target=_blank の外部リンクに適切な rel を指定します。

悪い

良い

カテゴリの例 · ルール参照

vue/no-undefined-refs

テンプレート内の未定義変数参照を検出します。

悪い

良い

カテゴリの例 · ルール参照

vue/no-unsafe-url

危険なスキームを含む可能性がある URL 属性やバインディングを検出します。

悪い

良い

カテゴリの例 · ルール参照

vue/no-unsandboxed-iframe

iframe に sandbox 属性を指定します。

悪い

良い

カテゴリの例 · ルール参照

vue/no-unused-refs

テンプレートに宣言しているのに参照しない ref を検出します。

悪い

良い

カテゴリの例 · ルール参照

vue/no-unused-setup-bindings

script setup に宣言しているのに読み取らない変数を検出します。

悪い

良い

カテゴリの例 · ルール参照

vue/no-use-v-else-with-v-for

同じ要素での v-else / v-else-if と v-for の併用を検出します。

悪い

良い

カテゴリの例 · ルール参照

vue/no-useless-mustaches

文字列リテラルだけの不要な mustache を検出します。

悪い

良い

カテゴリの例 · ルール参照

vue/no-useless-v-bind

文字列リテラルだけの不要な v-bind を検出します。

悪い

良い

カテゴリの例 · ルール参照

vue/no-v-text

v-text の代わりに mustache を使う方針を適用します。

悪い

良い

カテゴリの例 · ルール参照

vue/prefer-props-shorthand

Vue 3.4 の同名 prop バインディングの省略形を使います。

悪い

良い

カテゴリの例 · ルール参照

vue/prefer-true-attribute-shorthand

true を指定するバインディングを真偽属性の省略形にします。

悪い

良い

カテゴリの例 · ルール参照

vue/require-component-registration

使用するコンポーネントを import または登録します。

悪い

良い

カテゴリの例 · ルール参照

vue/require-scoped-style

style に scoped を指定する方針を適用します。

悪い

良い

カテゴリの例 · ルール参照

vue/scoped-event-names

イベント名を context:event の形式に揃えます。

悪い

良い

カテゴリの例 · ルール参照

vue/sfc-element-order

SFC のトップレベルブロックを設定した順に並べます。

悪い

良い

カテゴリの例 · ルール参照

vue/single-style-block

SFC の style を一つのブロックにまとめます。

悪い

良い

カテゴリの例 · ルール参照

vue/slot-name-casing

名前付きスロットを kebab-case に揃えます。

悪い

良い

カテゴリの例 · ルール参照

vue/this-in-template

テンプレートで不要な this. 参照を検出します。

悪い

良い

カテゴリの例 · ルール参照

vue/v-on-event-hyphenation

コンポーネントのカスタムイベント名を設定した形式に揃えます。

悪い

良い

カテゴリの例 · ルール参照

vue/v-on-handler-style

イベントハンドラーの書き方を参照または関数の形式に揃えます。

悪い

良い

カテゴリの例 · ルール参照

vue/warn-custom-block

SFC のカスタムブロックを検出します。

悪い

良い

カテゴリの例 · ルール参照

vue/warn-custom-directive

登録が必要なカスタムディレクティブを検出します。

悪い

良い

カテゴリの例 · ルール参照

a11y/alt-text

画像などのメディアに代替テキストを用意します。

悪い

良い

カテゴリの例 · ルール参照

a11y/anchor-has-content

リンクに支援技術で読める内容を用意します。

悪い

良い

カテゴリの例 · ルール参照

a11y/anchor-is-valid

リンクの href に有効な移動先を指定します。

悪い

良い

カテゴリの例 · ルール参照

a11y/aria-props

存在しない ARIA 属性を検出します。

悪い

良い

カテゴリの例 · ルール参照

a11y/aria-role

抽象ロールを除く、有効な ARIA role を指定します。

悪い

良い

カテゴリの例 · ルール参照

a11y/aria-unsupported-elements

ARIA 属性を使用できない要素への指定を検出します。

悪い

良い

カテゴリの例 · ルール参照

a11y/click-events-have-key-events

クリックで操作する要素にキーボード操作も用意します。

悪い

良い

カテゴリの例 · ルール参照

a11y/form-control-has-label

フォーム部品に関連付けられたラベルを用意します。

悪い

良い

カテゴリの例 · ルール参照

a11y/heading-has-content

見出しに支援技術で読める内容を用意します。

悪い

良い

カテゴリの例 · ルール参照

a11y/heading-levels

見出しの階層を飛ばした指定を検出します。

悪い

良い

カテゴリの例 · ルール参照

a11y/iframe-has-title

iframe に内容を説明する title を指定します。

悪い

良い

カテゴリの例 · ルール参照

a11y/img-alt

画像に alt 属性を指定します。装飾画像は空の alt を使います。

悪い

良い

カテゴリの例 · ルール参照

a11y/interactive-supports-focus

操作可能な role の要素をフォーカス可能にします。

悪い

良い

カテゴリの例 · ルール参照

a11y/label-has-for

label を対象のフォーム部品と関連付けます。

悪い

良い

カテゴリの例 · ルール参照

a11y/landmark-roles

ランドマーク role の配置と重複を検査します。

悪い

良い

カテゴリの例 · ルール参照

a11y/media-has-caption

音声・動画に字幕を用意します。

悪い

良い

カテゴリの例 · ルール参照

a11y/mouse-events-have-key-events

マウス操作と対応する focus / blur 操作を用意します。

悪い

良い

カテゴリの例 · ルール参照

a11y/no-access-key

環境のショートカットと衝突し得る accesskey を検出します。

悪い

良い

カテゴリの例 · ルール参照

a11y/no-aria-hidden-on-focusable

フォーカス可能な要素を aria-hidden で支援技術から隠す指定を検出します。

悪い

良い

カテゴリの例 · ルール参照

a11y/no-autofocus

意図せずフォーカスを移動させる autofocus を検出します。

悪い

良い

カテゴリの例 · ルール参照

a11y/no-distracting-elements

marquee や blink などの注意をそらす要素を検出します。

悪い

良い

カテゴリの例 · ルール参照

a11y/no-i-for-icon

アイコン用の i 要素を検出し、意味に合う要素を勧めます。

悪い

良い

カテゴリの例 · ルール参照

a11y/no-redundant-roles

要素本来の意味と重複する ARIA role を検出します。

悪い

良い

カテゴリの例 · ルール参照

a11y/no-refer-to-non-existent-id

文書内に存在しない ID への参照を検出します。

悪い

良い

カテゴリの例 · ルール参照

a11y/no-role-presentation-on-focusable

フォーカス可能な要素への role="presentation" または role="none" の指定を検出します。

悪い

良い

カテゴリの例 · ルール参照

a11y/no-static-element-interactions

操作部品ではない要素へのイベント指定を検出します。

悪い

良い

カテゴリの例 · ルール参照

a11y/placeholder-label-option

required の select を値が空のプレースホルダー option から始めます。

悪い

良い

カテゴリの例 · ルール参照

a11y/role-has-required-aria-props

ARIA role が必要とする属性を指定します。

悪い

良い

カテゴリの例 · ルール参照

a11y/tabindex-no-positive

通常のフォーカス順序を変える正の tabindex を検出します。

悪い

良い

カテゴリの例 · ルール参照

a11y/use-list

箇条書きに見えるテキストをリスト要素で表現します。

悪い

良い

カテゴリの例 · ルール参照

vue/use-unique-element-ids

静的 ID の代わりに useId() で一意な ID を生成します。

悪い

良い

カテゴリの例 · ルール参照

html/deprecated-attr

非推奨の HTML 属性を検出します。

悪い

良い

カテゴリの例 · ルール参照

html/deprecated-element

非推奨の HTML 要素を検出します。

悪い

良い

カテゴリの例 · ルール参照

html/id-duplication

同じテンプレート内の ID 重複を検出します。

悪い

良い

カテゴリの例 · ルール参照

html/no-consecutive-br

連続する br 要素による余白指定を検出します。

悪い

良い

カテゴリの例 · ルール参照

html/no-dupe-style-properties

静的 style 属性内のプロパティ重複を検出します。

悪い

良い

カテゴリの例 · ルール参照

html/no-duplicate-class

静的 class 属性内のクラス名重複を検出します。

悪い

良い

カテゴリの例 · ルール参照

html/no-duplicate-dt

dl 内の dt の名前重複を検出します。

悪い

良い

カテゴリの例 · ルール参照

html/no-empty-palpable-content

可視コンテンツを期待する要素が空の場合に検出します。

悪い

良い

カテゴリの例 · ルール参照

html/require-datetime

time 要素に機械可読の datetime を指定します。

悪い

良い

カテゴリの例 · ルール参照

type/no-floating-promises

処理しないまま放置された Promise を検出します。

悪い

良い

カテゴリの例 · ルール参照

type/no-reactivity-loss

リアクティブな値を代入や呼び出しで取り出し、元の更新に追従しないスナップショットになる箇所を検出します。

悪い

良い

カテゴリの例 · ルール参照

type/no-unsafe-template-binding

テンプレートで安全でない型の値を使用する箇所を検出します。

悪い

良い

カテゴリの例 · ルール参照

type/require-typed-emits

defineEmits に型定義を指定します。

悪い

良い

カテゴリの例 · ルール参照

type/require-typed-props

defineProps に型定義を指定します。

悪い

良い

カテゴリの例 · ルール参照

type/strict-boolean-expressions

script とテンプレートの条件式で安全な真偽判定を使います。

悪い

良い

カテゴリの例 · ルール参照

script/no-get-current-instance

Vapor で null を返す getCurrentInstance() を検出します。

悪い

良い

カテゴリの例 · ルール参照

script/no-next-tick

Vapor 向けコンポーネントの nextTick() 使用を検出します。

悪い

良い

カテゴリの例 · ルール参照

script/no-options-api

Vapor で Options API を使用する箇所を検出します。

悪い

良い

カテゴリの例 · ルール参照

vapor/no-inline-template

Vapor で削除済みの inline-template 属性を検出します。

悪い

良い

カテゴリの例 · ルール参照

vapor/no-vue-lifecycle-events

Vapor では未対応の、要素ごとに指定する @vue:* ライフサイクルイベントを検出します。

悪い

良い

カテゴリの例 · ルール参照

vapor/prefer-static-class

文字列リテラルの :class を静的 class に置き換えます。

悪い

良い

カテゴリの例 · ルール参照

vapor/require-vapor-attribute

Vapor 向けの script setup に vapor 属性を付ける規約を示します。

悪い

良い

カテゴリの例 · ルール参照

Nuxt の内部リンクに NuxtLink を使います。

悪い

良い

カテゴリの例 · ルール参照

ecosystem/pinia-prefer-store-to-refs

Pinia store の分割代入に storeToRefs() を使います。

悪い

良い

カテゴリの例 · ルール参照

RouterLink / NuxtLink に to を指定します。

悪い

良い

カテゴリの例 · ルール参照

Void Vue の Link に href を指定します。

悪い

良い

カテゴリの例 · ルール参照

Void Vue の Link に有効な静的 method を指定します。

悪い

良い

カテゴリの例 · ルール参照

ecosystem/vue-i18n-no-missing-key

SFC 内の翻訳データに存在しない静的キーを検出します。

悪い

良い

カテゴリの例 · ルール参照

RouterLink の文字列パスを名前付きルートの指定に置き換えます。

悪い

良い

カテゴリの例 · ルール参照

ecosystem/vue-router-prefer-named-push

Vue Router のプログラムによる移動に名前付きルートを使います。

悪い

良い

カテゴリの例 · ルール参照

ecosystem/vue-test-utils-no-html-snapshot

wrapper.html() 全体のスナップショットに依存するテストを検出します。

悪い

良い

カテゴリの例 · ルール参照

css/no-display-none

表示切り替えに display: none を使う箇所で v-show を検討します。

悪い

良い

カテゴリの例 · ルール参照

css/no-hardcoded-values

CSS に直接記述した値を CSS 変数にまとめます。

悪い

良い

カテゴリの例 · ルール参照

css/no-id-selectors

詳細度が高い CSS の ID セレクターを検出します。

悪い

良い

カテゴリの例 · ルール参照

css/no-important

通常のカスケードを上書きする !important を検出します。

悪い

良い

カテゴリの例 · ルール参照

css/no-utility-classes

コンポーネント内でユーティリティクラスを定義する箇所を検出します。

悪い

良い

カテゴリの例 · ルール参照

css/no-v-bind-performance

CSS v-bind() の実行時コストを検討するための警告です。

悪い

良い

カテゴリの例 · ルール参照

css/prefer-logical-properties

書字方向に対応する CSS の論理プロパティを使います。

悪い

良い

カテゴリの例 · ルール参照

css/prefer-nested-selectors

子孫セレクターを CSS のネスト構文でまとめます。

悪い

良い

カテゴリの例 · ルール参照

css/prefer-slotted

slot や子コンポーネントに対する scoped CSS のセレクターを検査します。

悪い

良い

カテゴリの例 · ルール参照

css/require-font-display

@font-face に font-display を指定します。

悪い

良い

カテゴリの例 · ルール参照

musea/no-empty-variant

内容のない variant ブロックを検出します。

悪い

良い

カテゴリの例 · ルール参照

musea/prefer-design-tokens

CSS に直接記述した値が登録済みのデザイントークンの値に一致する場合、対応する CSS 変数で表現します。

悪い

良い

カテゴリの例 · ルール参照

musea/require-component

art ブロックに対象の component を指定します。

悪い

良い

カテゴリの例 · ルール参照

musea/require-title

art ブロックに title を指定します。

悪い

良い

カテゴリの例 · ルール参照

musea/unique-variant-names

同じ Art ファイル内の variant 名を一意にします。

悪い

良い

カテゴリの例 · ルール参照

musea/valid-variant

variant ブロックに name を指定します。

悪い

良い

カテゴリの例 · ルール参照

script/component-options-name-casing

コンポーネントの name オプションを PascalCase に揃えます。

悪い

良い

カテゴリの例 · ルール参照

script/custom-event-name-casing

emit するカスタムイベント名を指定した形式に揃えます。

悪い

良い

カテゴリの例 · ルール参照

script/define-emits-declaration

defineEmits を型による宣言形式に揃えます。

悪い

良い

カテゴリの例 · ルール参照

script/define-macros-order

script setup のコンパイラーマクロを一定の順に宣言します。

悪い

良い

カテゴリの例 · ルール参照

script/define-props-declaration

defineProps を型による宣言形式に揃えます。

悪い

良い

カテゴリの例 · ルール参照

script/define-props-destructuring

defineProps の分割代入スタイルを指定した方針に揃えます。

悪い

良い

カテゴリの例 · ルール参照

script/no-arrow-functions-in-watch

Options API の watch ハンドラーにアロー関数を使う箇所を検出します。

悪い

良い

カテゴリの例 · ルール参照

script/no-async-in-computed

computed の getter で非同期関数を使う箇所を検出します。

悪い

良い

カテゴリの例 · ルール参照

script/no-boolean-default

Boolean prop の冗長な default を検出します。

悪い

良い

カテゴリの例 · ルール参照

script/no-computed-properties-in-data

初期化前の data() で算出プロパティを読む箇所を検出します。

悪い

良い

カテゴリの例 · ルール参照

script/no-deep-destructure-in-props

defineProps の深い分割代入を検出します。

悪い

良い

カテゴリの例 · ルール参照

script/no-deprecated-data-object-declaration

Vue 3 で関数にすべき data オプションのオブジェクト指定を検出します。

悪い

良い

カテゴリの例 · ルール参照

script/no-deprecated-delete-set

Vue 3 で削除された $set / $delete を検出します。

悪い

良い

カテゴリの例 · ルール参照

script/no-deprecated-destroyed-lifecycle

Vue 2 の destroyed / beforeDestroy を検出し、Vue 3 のライフサイクルフックに置き換えます。

悪い

良い

カテゴリの例 · ルール参照

script/no-deprecated-dollar-listeners-api

Vue 3 で $attrs に統合された $listeners を検出します。

悪い

良い

カテゴリの例 · ルール参照

script/no-deprecated-dollar-scopedslots-api

Vue 3 で $slots に統合された $scopedSlots を検出します。

悪い

良い

カテゴリの例 · ルール参照

script/no-deprecated-events-api

Vue 3 で削除された $on / $off / $once を検出します。

悪い

良い

カテゴリの例 · ルール参照

script/no-deprecated-model-definition

Vue 3 で削除された model オプションを検出します。

悪い

良い

カテゴリの例 · ルール参照

script/no-deprecated-props-default-this

prop の default / validator 内で使えなくなった this を検出します。

悪い

良い

カテゴリの例 · ルール参照

script/no-deprecated-vue-config-keycodes

削除された Vue.config.keyCodes を検出します。

悪い

良い

カテゴリの例 · ルール参照

script/no-dupe-keys

Options API の props / data / computed などのキー重複を検出します。

悪い

良い

カテゴリの例 · ルール参照

script/no-duplicate-attr-inheritance

fallthrough 属性を同じコンポーネントで二重に適用する箇所を検出します。

悪い

良い

カテゴリの例 · ルール参照

script/no-export-in-script-setup

script setup 内の export 文を検出します。

悪い

良い

カテゴリの例 · ルール参照

script/no-expose-after-await

await の後の expose() と defineExpose() を禁止します。

悪い

良い

カテゴリの例 · ルール参照

script/no-import-compiler-macros

自動的に使える Vue コンパイラーマクロの import を検出します。

悪い

良い

カテゴリの例 · ルール参照

script/no-internal-imports

Vue 内部モジュールからの import を検出します。

悪い

良い

カテゴリの例 · ルール参照

script/no-lifecycle-after-await

setup() 内で await の後にライフサイクルフックを登録することを禁止します。

悪い

良い

カテゴリの例 · ルール参照

script/no-multiple-slot-args

scoped slot 関数に複数の引数を渡す箇所を検出します。

悪い

良い

カテゴリの例 · ルール参照

script/no-potential-component-option-typo

Options API のオプション名の入力ミスを検出します。

悪い

良い

カテゴリの例 · ルール参照

script/no-reactive-destructure

reactive オブジェクトを分割代入し、リアクティビティを失う箇所を検出します。

悪い

良い

カテゴリの例 · ルール参照

script/no-ref-as-operand

ref を演算の値として使う際に .value を参照します。

悪い

良い

カテゴリの例 · ルール参照

script/no-required-prop-with-default

required: true と default を同時に持つ prop を検出します。

悪い

良い

カテゴリの例 · ルール参照

script/no-reserved-identifiers

Vue コンパイラーが予約した識別子の宣言を検出します。

悪い

良い

カテゴリの例 · ルール参照

script/no-reserved-keys

Options API のキーに Vue の予約名を使う箇所を検出します。

悪い

良い

カテゴリの例 · ルール参照

script/no-reserved-props

prop 宣言に Vue の予約名を使う箇所を検出します。

悪い

良い

カテゴリの例 · ルール参照

script/no-restricted-globals

設定で禁止した実行環境のグローバル参照を検出します。

悪い

良い

カテゴリの例 · ルール参照

script/no-restricted-members

設定で禁止した object.property へのアクセスを検出します。

悪い

良い

カテゴリの例 · ルール参照

script/no-side-effects-in-computed-properties

Options API の computed getter 内の副作用を検出します。

悪い

良い

カテゴリの例 · ルール参照

script/no-top-level-ref-in-script

通常の script のトップレベルで、リクエスト間に共有される状態を作る箇所を検出します。

悪い

良い

カテゴリの例 · ルール参照

script/no-unstable-nested-components

setup / render 内で毎回コンポーネントを定義する箇所を検出します。

悪い

良い

カテゴリの例 · ルール参照

script/no-unused-emit-declarations

宣言したまま emit していないイベントを検出します。

悪い

良い

カテゴリの例 · ルール参照

script/no-use-computed-property-like-method

Options API の computed プロパティをメソッドとして呼ぶ箇所を検出します。

悪い

良い

カテゴリの例 · ルール参照

script/no-watch-after-await

setup() 内で await の後に停止ハンドルを保持せずにウォッチャーを登録することを禁止します。

悪い

良い

カテゴリの例 · ルール参照

script/no-with-defaults

Vue 3.5 以降の props 分割代入の既定値を勧めます。

悪い

良い

カテゴリの例 · ルール参照

script/one-component-per-file

1 ファイルにコンポーネント定義が複数あることを検出します。

悪い

良い

カテゴリの例 · ルール参照

script/order-in-components

コンポーネントオプションのプロパティ順を既定の並びに揃えます。

悪い

良い

カテゴリの例 · ルール参照

script/prefer-computed

他の状態から導ける値を watcher で同期する代わりに computed で表現します。

悪い

良い

カテゴリの例 · ルール参照

script/prefer-define-options

name / inheritAttrs だけの通常 script を defineOptions() にまとめます。

悪い

良い

カテゴリの例 · ルール参照

script/prefer-import-from-vue

内部パッケージではなく vue から import します。

悪い

良い

カテゴリの例 · ルール参照

script/prefer-ref-over-reactive

状態管理に reactive() より ref() を使う方針を適用します。

悪い

良い

カテゴリの例 · ルール参照

script/prefer-use-attrs

setup の context.attrs を useAttrs() に置き換えます。

悪い

良い

カテゴリの例 · ルール参照

script/prefer-use-id

一意な ID の生成に Vue 3.5 の useId() を使います。

悪い

良い

カテゴリの例 · ルール参照

script/prefer-use-slots

setup の context.slots を useSlots() に置き換えます。

悪い

良い

カテゴリの例 · ルール参照

script/prefer-use-template-ref

テンプレート参照に Vue 3.5 の useTemplateRef() を使います。

悪い

良い

カテゴリの例 · ルール参照

script/require-default-prop

省略可能な、Boolean 以外の prop に default を用意します。

悪い

良い

カテゴリの例 · ルール参照

script/require-explicit-emits

emit するイベントを defineEmits または emits に宣言します。

悪い

良い

カテゴリの例 · ルール参照

script/require-explicit-slots

useSlots() で使う slot を defineSlots の型で宣言します。

悪い

良い

カテゴリの例 · ルール参照

script/require-function-return-type

関数に戻り値の型注釈を指定します。

悪い

良い

カテゴリの例 · ルール参照

script/require-prop-type-constructor

prop の type に文字列ではなくコンストラクターを指定します。

悪い

良い

カテゴリの例 · ルール参照

script/require-prop-types

各 prop の型を宣言します。

悪い

良い

カテゴリの例 · ルール参照

script/require-render-return

render 関数が値を返すことを必須にします。

悪い

良い

カテゴリの例 · ルール参照

script/require-slots-as-functions

Vue 3 の $slots プロパティを関数として呼び出します。

悪い

良い

カテゴリの例 · ルール参照

script/require-symbol-provide

provide / inject のキーに衝突しにくい Symbol を使います。

悪い

良い

カテゴリの例 · ルール参照

script/require-typed-object-prop

Object / Array の prop に具体的な型を指定します。

悪い

良い

カテゴリの例 · ルール参照

script/require-typed-ref

引数なし、null、undefined で呼び出す ref() に型引数を指定します。

悪い

良い

カテゴリの例 · ルール参照

script/require-valid-default-prop

prop の default を宣言した型に合う値にします。

悪い

良い

カテゴリの例 · ルール参照

script/return-in-computed-property

computed の getter に値を返す return を用意します。

悪い

良い

カテゴリの例 · ルール参照

script/return-in-emits-validator

Options API の emits validator に戻り値を用意します。

悪い

良い

カテゴリの例 · ルール参照

script/valid-define-emits

defineEmits の重複や型と実行時引数の併用を検出します。

悪い

良い

カテゴリの例 · ルール参照

script/valid-define-options

defineOptions の引数と使用回数を検査します。

悪い

良い

カテゴリの例 · ルール参照

script/valid-define-props

defineProps の重複や型と実行時引数の併用を検出します。

悪い

良い

カテゴリの例 · ルール参照

script/valid-next-tick

nextTick() の完了を await、then、またはコールバックで扱います。

悪い

良い

カテゴリの例 · ルール参照

nuxt/no-nuxt-config-test-key

Nuxt 設定の test キーに旧形式の真偽値を指定する箇所を検出します。

悪い

良い

カテゴリの例 · ルール参照

nuxt/no-page-meta-runtime-values

definePageMeta の即時評価部分で実行時コンテキストを使う箇所を検出します。

悪い

良い

カテゴリの例 · ルール参照

nuxt/nuxt-config-keys-order

Nuxt 設定のプロパティを推奨順に並べます。

悪い

良い

カテゴリの例 · ルール参照

nuxt/prefer-import-meta

Nuxt の環境フラグを process.* から import.meta.* に置き換えます。

悪い

良い

カテゴリの例 · ルール参照

プロジェクトの例

ecosystem/vue-router-unknown-route

登録済み router に存在しない名前です。

悪い

良い

カテゴリの例 · ルール参照

ecosystem/vue-router-extra-param

パスにない tab は Vue Router に破棄されます。

悪い

良い

カテゴリの例 · ルール参照

ecosystem/vue-router-param-type

postId は繰り返しパラメーターではないため配列を渡せません。

悪い

良い

カテゴリの例 · ルール参照

ecosystem/vue-router-missing-param

必須の postId がありません。現在のルートに依存する遷移になります。

悪い

良い

カテゴリの例 · ルール参照

html/cross-component-nesting

import した子コンポーネントの要素を合成して HTML の入れ子を検査します。

悪い

良い

カテゴリの例 · ルール参照

vue/cross-file-attrs-fallthrough

属性を渡す親と、属性を自動継承できず $attrs も使っていない子コンポーネントの関係を検査します。

悪い

良い

カテゴリの例 · ルール参照

vize:croquis/cf/array-mutation

現在の生成元がないこの契約では、旧 Vue 2.7 の配列のインデックス代入を例にしています。Vue 2 は直接のインデックス代入による更新を通知しませんが、Vue 3 はその代入を追跡します。悪い例・良い例は Vue 2 の修正を示すもので、Vue 3 の不具合を示す例ではありません。

悪い

良い

カテゴリの例 · ルール参照

vize:croquis/cf/async-boundary

reactive な状態が async 境界を越え、古い値が見えることがあります。

悪い

良い

カテゴリの例 · ルール参照

vize:croquis/cf/async-no-suspense

async コンポーネントが Suspense 境界なしで描画されています。

悪い

良い

カテゴリの例 · ルール参照

vize:croquis/cf/browser-api-ssr

サーバーでも描画され得る場所で、ブラウザ専用 API を使っています。

悪い

良い

カテゴリの例 · ルール参照

vize:croquis/cf/circular-dep

コンポーネントの import が循環しています。

悪い

良い

カテゴリの例 · ルール参照

vize:croquis/cf/circular-reactive-dependency

reactive な計算が互いに循環して依存しています。

悪い

良い

カテゴリの例 · ルール参照

vize:croquis/cf/closure-captures-reactive

クロージャが reactive な値を捕捉しており、その後の更新が見えません。

悪い

良い

カテゴリの例 · ルール参照

vize:croquis/cf/composable-outside-setup

composable が setup の外で呼ばれています。

悪い

良い

カテゴリの例 · ルール参照

vize:croquis/cf/computed-side-effects

computed の getter が状態を書いたり、他の副作用を起こしています。

悪い

良い

カテゴリの例 · ルール参照

vize:croquis/cf/deep-import

import の連鎖がプロジェクトの許す深さより深くなっています。

悪い

良い

カテゴリの例 · ルール参照

vize:croquis/cf/destructuring-breaks-reactivity

reactive オブジェクトの分割代入はフィールドをコピーし、追跡を失います。

悪い

良い

カテゴリの例 · ルール参照

vize:croquis/cf/di-outside-setup

provide または inject が setup の外で呼ばれています。

悪い

良い

カテゴリの例 · ルール参照

vize:croquis/cf/dom-access-without-next-tick

Vue が更新を反映する前に DOM を読んでいます。

悪い

良い

カテゴリの例 · ルール参照

vize:croquis/cf/duplicate-id

同じ要素 id が複数のコンポーネントで使われています。

悪い

良い

カテゴリの例 · ルール参照

vize:croquis/cf/event-listener-leak

イベントリスナーが登録されたまま、解除されていません。

悪い

良い

カテゴリの例 · ルール参照

vize:croquis/cf/event-modifier

emit が対応しない修飾子を、イベントリスナーが使っています。

悪い

良い

カテゴリの例 · ルール参照

vize:croquis/cf/hydration-risk

この診断コードは、prop を ref にコピーする操作など、リアクティビティに関する複数の検出結果をまとめています。ファイル間検査がすべての Date.now() 式を検出するという意味ではありません。

悪い

良い

カテゴリの例 · ルール参照

vize:croquis/cf/inherit-attrs-unused

inheritAttrs: false が設定されているのに、属性が読まれていません。

悪い

良い

カテゴリの例 · ルール参照

vize:croquis/cf/inject-without-symbol

inject が InjectionKey のシンボルではなく素のキーを使っています。

悪い

良い

カテゴリの例 · ルール参照

vize:croquis/cf/injected-async-mutation-race

inject した値が、競合し得る async タスクから変更されています。

悪い

良い

カテゴリの例 · ルール参照

vize:croquis/cf/lifecycle-outside-setup

ライフサイクルフックが setup の外で登録されています。

悪い

良い

カテゴリの例 · ルール参照

vize:croquis/cf/lifecycle-without-cleanup

ライフサイクルフックが後片付けなしで処理を始めています。

悪い

良い

カテゴリの例 · ルール参照

vize:croquis/cf/missing-required-prop

必須 prop が渡されていません。

悪い

良い

カテゴリの例 · ルール参照

vize:croquis/cf/missing-suspense

async な依存が Suspense 境界の外で使われています。

悪い

良い

カテゴリの例 · ルール参照

vize:croquis/cf/module-scope-reactive

reactive な状態がモジュールスコープで作られ、すべての呼び出し元で共有されます。

悪い

良い

カテゴリの例 · ルール参照

vize:croquis/cf/multi-root-attrs

複数ルートのコンポーネントが属性を受け取りますが、付ける場所がありません。

悪い

良い

カテゴリの例 · ルール参照

vize:croquis/cf/mutated-after-escape

reactive オブジェクトが、所有者から漏れた後に変更されています。

悪い

良い

カテゴリの例 · ルール参照

vize:croquis/cf/non-reactive-provide

provide した値が reactive ではないため、子孫は更新を観測できません。

悪い

良い

カテゴリの例 · ルール参照

vize:croquis/cf/non-unique-id

ループ内の要素 id が項目ごとに一意ではありません。

悪い

良い

カテゴリの例 · ルール参照

vize:croquis/cf/object-identity-comparison

元のオブジェクトとそのリアクティブな Proxy は別の同一性を持ち、toRaw() は元のオブジェクトを返します。この契約の例は、レコードとして同じものかを判定するために安定した ID を比較する方法を示します。

悪い

良い

カテゴリの例 · ルール参照

vize:croquis/cf/pinia-getter

この契約の例では、setup で Pinia の getter から現在のプリミティブ値をコピーし、更新に追従しないスナップショットを作っています。追跡される計算やテンプレートで getter を直接読む場合はリアクティビティを保てます。この例では storeToRefs() を使って値を取り出します。

悪い

良い

カテゴリの例 · ルール参照

vize:croquis/cf/prop-type-mismatch

渡した prop の値が、宣言された型と一致しません。

悪い

良い

カテゴリの例 · ルール参照

vize:croquis/cf/provide-inject-type

provide した値と inject の型が一致しません。

悪い

良い

カテゴリの例 · ルール参照

vize:croquis/cf/provide-without-symbol

provide が InjectionKey のシンボルではなく素のキーを使っています。

悪い

良い

カテゴリの例 · ルール参照

vize:croquis/cf/reactive-export

reactive な状態がモジュールから export されています。

悪い

良い

カテゴリの例 · ルール参照

vize:croquis/cf/reactivity-outside-setup

reactive API が setup の外で呼ばれています。

悪い

良い

カテゴリの例 · ルール参照

vize:croquis/cf/reassignment-breaks-reactivity

reactive な束縛を再代入すると、ただの値に置き換わります。

悪い

良い

カテゴリの例 · ルール参照

vize:croquis/cf/reference-escapes-scope

reactive な参照が、寿命を持つスコープの外へ漏れています。

悪い

良い

カテゴリの例 · ルール参照

vize:croquis/cf/setup-context-violation

実験的な解析器の例では、インスタンスごとの setup ではなく通常の script のモジュールスコープに ref(0) を置いています。Vue ではこのようなリアクティブな状態を作れますが、この例ではインスタンスごとに count を持つことを前提とします。CLI はこの個別の診断コードを生成しません。

悪い

良い

カテゴリの例 · ルール参照

vize:croquis/cf/shallow-deep-access

shallowReactive または shallowRef の深いプロパティを、追跡されるものとして読んでいます。

悪い

良い

カテゴリの例 · ルール参照

vize:croquis/cf/spread-breaks-reactivity

reactive オブジェクトのスプレッドは値をコピーし、追跡を失います。

悪い

良い

カテゴリの例 · ルール参照

vize:croquis/cf/suspense-no-fallback

<Suspense> に fallback がありません。

悪い

良い

カテゴリの例 · ルール参照

vize:croquis/cf/template-ref-timing

テンプレート ref が、コンポーネントのマウント前に読まれています。

悪い

良い

カテゴリの例 · ルール参照

vize:croquis/cf/toraw-mutation

toRaw した生のオブジェクトを変更しています。

悪い

良い

カテゴリの例 · ルール参照

vize:croquis/cf/uncaught-error

コンポーネントが例外を投げても、受け止めるエラー境界がありません。

悪い

良い

カテゴリの例 · ルール参照

vize:croquis/cf/undeclared-emit

宣言されていないイベントを emit しています。

悪い

良い

カテゴリの例 · ルール参照

vize:croquis/cf/undeclared-prop

親が、子が宣言していない prop を渡しています。

悪い

良い

カテゴリの例 · ルール参照

vize:croquis/cf/undefined-slot

親が、子が公開していないスロットを埋めています。

悪い

良い

カテゴリの例 · ルール参照

vize:croquis/cf/unhandled-event

子が emit したイベントを、どの親も処理していません。

悪い

良い

カテゴリの例 · ルール参照

vize:croquis/cf/unmatched-inject

inject が、どの祖先も provide していないキーを指定しています。

悪い

良い

カテゴリの例 · ルール参照

vize:croquis/cf/unmatched-listener

親が、子が emit しないイベントを購読しています。

悪い

良い

カテゴリの例 · ルール参照

vize:croquis/cf/unregistered-component

テンプレートが、登録も import もされていないコンポーネントを使っています。

悪い

良い

カテゴリの例 · ルール参照

vize:croquis/cf/unresolved-import

import がモジュールへ解決できません。

悪い

良い

カテゴリの例 · ルール参照

vize:croquis/cf/unused-attrs

複数ルートのコンポーネントに渡した fallthrough 属性が使われていません。

悪い

良い

カテゴリの例 · ルール参照

vize:croquis/cf/unused-emit

宣言した emit が一度も使われていません。

悪い

良い

カテゴリの例 · ルール参照

vize:croquis/cf/unused-provide

provide したキーが一度も inject されていません。

悪い

良い

カテゴリの例 · ルール参照

vize:croquis/cf/value-extraction-breaks-reactivity

reactive な値をローカルへ取り出すと、その後の更新が失われます。

悪い

良い

カテゴリの例 · ルール参照

vize:croquis/cf/watch-can-be-computed

ウォッチャが値を状態へ写しているだけで、computed にできます。

悪い

良い

カテゴリの例 · ルール参照

vize:croquis/cf/watcheffect-async

この例の非同期の watchEffect には、無効化時のクリーンアップや古い応答を防ぐ処理がありません。Vue の watchEffect はクリーンアップを扱えます。良い例では watch で監視対象を明示し、無効化された処理を中止します。

悪い

良い

カテゴリの例 · ルール参照

vize:croquis/cf/watcher-outside-setup

watch または watchEffect が setup の外で呼ばれています。

悪い

良い

カテゴリの例 · ルール参照