ESLint ルール移行対応表
コミットされた対応記録は 252 件で、対応付け 123 件、意図的な差異 2 件、未実装 127 件です。「対応」はルール名の対応を示し、オプション・検出・修正・適用範囲の完全な一致を保証しません。
Vite+ の設定では Vize のルールを lint.vize.rules に指定します。Oxlint の JS / TS ルールは lint.rules に残します。ESLint の配列形式をそのまま移さず、重大度と型付き ruleOptions を分けて指定します。
import vue from "eslint-plugin-vue";
export default [{ plugins: { vue }, rules: { "vue/attributes-order": "warn" } }];
import { defineConfig } from "@vizejs/vite-plugin/vite-plus";
export default defineConfig({
lint: { vize: { rules: { "vue/attribute-order": "warn" } } },
});
リンク先の悪い例・良い例を確認してから、重複する Vue ルールだけを取り除きます。vp run lint で検査します。既存の package script と名前が衝突する場合は vp run vize:lint です。明示した task 設定が優先されます。
vue/component-definition-name-casing には意図的な適用範囲の差があります。Vize は SFC のファイル名を検査し、ESLint はコンポーネントの定義名を検査します。この差を以下にも残しています。
オプションの変換は ルール オプションと props 分割代入を参照してください。未実装の行は対応する検査が確認できるまで既存の checker に残します。
| ESLint ID | Vize ID / reference | Status |
|---|---|---|
vue/array-bracket-newline |
— | 未実装 |
vue/array-bracket-spacing |
— | 未実装 |
vue/array-element-newline |
— | 未実装 |
vue/arrow-spacing |
— | 未実装 |
vue/attribute-hyphenation |
vue/attribute-hyphenation |
対応付け |
vue/attributes-order |
vue/attribute-order |
対応付け |
vue/block-lang |
— | 未実装 |
vue/block-order |
vue/sfc-element-order |
対応付け |
vue/block-spacing |
— | 未実装 |
vue/block-tag-newline |
— | 未実装 |
vue/brace-style |
— | 未実装 |
vue/camelcase |
— | 未実装 |
vue/comma-dangle |
— | 未実装 |
vue/comma-spacing |
— | 未実装 |
vue/comma-style |
— | 未実装 |
vue/comment-directive |
— | 未実装 |
vue/component-api-style |
— | 未実装 |
vue/component-definition-name-casing |
— | 意図的な差異 |
vue/component-name-in-template-casing |
vue/component-name-in-template-casing |
対応付け |
vue/component-options-name-casing |
script/component-options-name-casing |
対応付け |
vue/custom-event-name-casing |
script/custom-event-name-casing |
対応付け |
vue/define-emits-declaration |
script/define-emits-declaration |
対応付け |
vue/define-macros-order |
script/define-macros-order |
対応付け |
vue/define-props-declaration |
script/define-props-declaration |
対応付け |
vue/define-props-destructuring |
script/define-props-destructuring |
対応付け |
vue/dot-location |
— | 未実装 |
vue/dot-notation |
— | 未実装 |
vue/enforce-style-attribute |
— | 未実装 |
vue/eqeqeq |
— | 未実装 |
vue/first-attribute-linebreak |
— | 未実装 |
vue/func-call-spacing |
— | 未実装 |
vue/html-button-has-type |
vue/html-button-has-type |
対応付け |
vue/html-closing-bracket-newline |
— | 未実装 |
vue/html-closing-bracket-spacing |
— | 未実装 |
vue/html-comment-content-newline |
— | 未実装 |
vue/html-comment-content-spacing |
— | 未実装 |
vue/html-comment-indent |
— | 未実装 |
vue/html-end-tags |
— | 未実装 |
vue/html-indent |
— | 未実装 |
vue/html-quotes |
vue/html-quotes |
対応付け |
vue/html-self-closing |
vue/html-self-closing |
対応付け |
vue/jsx-uses-vars |
— | 未実装 |
vue/key-spacing |
— | 未実装 |
vue/keyword-spacing |
— | 未実装 |
vue/match-component-file-name |
— | 未実装 |
vue/match-component-import-name |
— | 未実装 |
vue/max-attributes-per-line |
— | 未実装 |
vue/max-len |
— | 未実装 |
vue/max-lines-per-block |
— | 未実装 |
vue/max-props |
— | 未実装 |
vue/max-template-depth |
— | 未実装 |
vue/multi-word-component-names |
vue/multi-word-component-names |
対応付け |
vue/multiline-html-element-content-newline |
— | 未実装 |
vue/multiline-ternary |
— | 未実装 |
vue/mustache-interpolation-spacing |
vue/mustache-interpolation-spacing |
対応付け |
vue/new-line-between-multi-line-property |
— | 未実装 |
vue/next-tick-style |
— | 未実装 |
vue/no-arrow-functions-in-watch |
script/no-arrow-functions-in-watch |
対応付け |
vue/no-async-in-computed-properties |
script/no-async-in-computed |
対応付け |
vue/no-bare-strings-in-template |
vue/no-bare-strings-in-template |
対応付け |
vue/no-boolean-default |
script/no-boolean-default |
対応付け |
vue/no-child-content |
vue/no-child-content |
対応付け |
vue/no-computed-properties-in-data |
— | 未実装 |
vue/no-console |
— | 未実装 |
vue/no-constant-condition |
— | 未実装 |
vue/no-custom-modifiers-on-v-model |
— | 未実装 |
vue/no-deprecated-data-object-declaration |
script/no-deprecated-data-object-declaration |
対応付け |
vue/no-deprecated-delete-set |
— | 未実装 |
vue/no-deprecated-destroyed-lifecycle |
script/no-deprecated-destroyed-lifecycle |
対応付け |
vue/no-deprecated-dollar-listeners-api |
script/no-deprecated-dollar-listeners-api |
対応付け |
vue/no-deprecated-dollar-scopedslots-api |
script/no-deprecated-dollar-scopedslots-api |
対応付け |
vue/no-deprecated-events-api |
script/no-deprecated-events-api |
対応付け |
vue/no-deprecated-filter |
vue/no-deprecated-filter |
対応付け |
vue/no-deprecated-functional-template |
vue/no-deprecated-functional-template |
対応付け |
vue/no-deprecated-html-element-is |
vue/no-deprecated-html-element-is |
対応付け |
vue/no-deprecated-inline-template |
vue/no-deprecated-inline-template |
対応付け |
vue/no-deprecated-model-definition |
— | 未実装 |
vue/no-deprecated-props-default-this |
script/no-deprecated-props-default-this |
対応付け |
vue/no-deprecated-router-link-tag-prop |
vue/no-deprecated-router-link-tag-prop |
対応付け |
vue/no-deprecated-scope-attribute |
vue/no-deprecated-scope-attribute |
対応付け |
vue/no-deprecated-slot-attribute |
vue/no-deprecated-slot-attribute |
対応付け |
vue/no-deprecated-slot-scope-attribute |
vue/no-deprecated-slot-scope-attribute |
対応付け |
vue/no-deprecated-v-bind-sync |
vue/no-deprecated-v-bind-sync |
対応付け |
vue/no-deprecated-v-is |
— | 未実装 |
vue/no-deprecated-v-on-native-modifier |
vue/no-deprecated-v-on-native-modifier |
対応付け |
vue/no-deprecated-v-on-number-modifiers |
vue/no-deprecated-v-on-number-modifiers |
対応付け |
vue/no-deprecated-vue-config-keycodes |
— | 未実装 |
vue/no-dupe-keys |
script/no-dupe-keys |
対応付け |
vue/no-dupe-v-else-if |
vue/no-dupe-v-else-if |
対応付け |
vue/no-duplicate-attr-inheritance |
script/no-duplicate-attr-inheritance |
対応付け |
vue/no-duplicate-attributes |
vue/no-duplicate-attributes |
対応付け |
vue/no-duplicate-class-names |
— | 未実装 |
vue/no-empty-component-block |
vue/no-empty-component-block |
対応付け |
vue/no-empty-pattern |
— | 未実装 |
vue/no-export-in-script-setup |
script/no-export-in-script-setup |
対応付け |
vue/no-expose-after-await |
— | 未実装 |
vue/no-extra-parens |
— | 未実装 |
vue/no-implicit-coercion |
— | 未実装 |
vue/no-import-compiler-macros |
script/no-import-compiler-macros |
対応付け |
vue/no-irregular-whitespace |
— | 未実装 |
vue/no-lifecycle-after-await |
— | 未実装 |
vue/no-literals-in-template |
— | 未実装 |
vue/no-lone-template |
vue/no-lone-template |
対応付け |
vue/no-loss-of-precision |
— | 未実装 |
vue/no-multi-spaces |
vue/no-multi-spaces |
対応付け |
vue/no-multiple-objects-in-class |
vue/no-multiple-objects-in-class |
対応付け |
vue/no-multiple-slot-args |
script/no-multiple-slot-args |
対応付け |
vue/no-multiple-template-root |
vue/no-multiple-template-root |
対応付け |
vue/no-mutating-props |
vue/no-mutating-props |
対応付け |
vue/no-negated-condition |
— | 未実装 |
vue/no-negated-v-if-condition |
vue/no-negated-v-if-condition |
対応付け |
vue/no-parsing-error |
— | 未実装 |
vue/no-potential-component-option-typo |
script/no-potential-component-option-typo |
対応付け |
vue/no-ref-as-operand |
script/no-ref-as-operand |
対応付け |
vue/no-ref-object-reactivity-loss |
— | 未実装 |
vue/no-required-prop-with-default |
script/no-required-prop-with-default |
対応付け |
vue/no-reserved-component-names |
vue/no-reserved-component-names |
対応付け |
vue/no-reserved-keys |
script/no-reserved-keys |
対応付け |
vue/no-reserved-props |
script/no-reserved-props |
対応付け |
vue/no-restricted-block |
— | 未実装 |
vue/no-restricted-call-after-await |
— | 未実装 |
vue/no-restricted-class |
— | 未実装 |
vue/no-restricted-component-names |
— | 未実装 |
vue/no-restricted-component-options |
— | 未実装 |
vue/no-restricted-custom-event |
— | 未実装 |
vue/no-restricted-html-elements |
— | 未実装 |
vue/no-restricted-props |
— | 未実装 |
vue/no-restricted-static-attribute |
— | 未実装 |
vue/no-restricted-syntax |
— | 未実装 |
vue/no-restricted-v-bind |
— | 未実装 |
vue/no-restricted-v-on |
— | 未実装 |
vue/no-root-v-if |
vue/no-root-v-if |
対応付け |
vue/no-setup-props-reactivity-loss |
— | 未実装 |
vue/no-shared-component-data |
— | 未実装 |
vue/no-side-effects-in-computed-properties |
script/no-side-effects-in-computed-properties |
対応付け |
vue/no-spaces-around-equal-signs-in-attribute |
— | 未実装 |
vue/no-sparse-arrays |
— | 未実装 |
vue/no-static-inline-styles |
vue/no-static-inline-styles |
対応付け |
vue/no-template-key |
vue/no-template-key |
対応付け |
vue/no-template-shadow |
vue/no-template-shadow |
対応付け |
vue/no-template-target-blank |
vue/no-template-target-blank |
対応付け |
vue/no-textarea-mustache |
vue/no-textarea-mustache |
対応付け |
vue/no-this-in-before-route-enter |
— | 未実装 |
vue/no-undef-components |
— | 未実装 |
vue/no-undef-directives |
— | 未実装 |
vue/no-undef-properties |
— | 未実装 |
vue/no-unsupported-features |
— | 未実装 |
vue/no-unused-components |
vue/no-unused-components |
対応付け |
vue/no-unused-emit-declarations |
script/no-unused-emit-declarations |
対応付け |
vue/no-unused-properties |
— | 意図的な差異 |
vue/no-unused-refs |
vue/no-unused-refs |
対応付け |
vue/no-unused-vars |
vue/no-unused-vars |
対応付け |
vue/no-use-computed-property-like-method |
script/no-use-computed-property-like-method |
対応付け |
vue/no-use-v-else-with-v-for |
vue/no-use-v-else-with-v-for |
対応付け |
vue/no-use-v-if-with-v-for |
vue/no-use-v-if-with-v-for |
対応付け |
vue/no-useless-concat |
— | 未実装 |
vue/no-useless-mustaches |
vue/no-useless-mustaches |
対応付け |
vue/no-useless-template-attributes |
vue/no-useless-template-attributes |
対応付け |
vue/no-useless-v-bind |
vue/no-useless-v-bind |
対応付け |
vue/no-v-for-template-key |
— | 未実装 |
vue/no-v-for-template-key-on-child |
vue/no-v-for-template-key-on-child |
対応付け |
vue/no-v-html |
vue/no-v-html |
対応付け |
vue/no-v-model-argument |
— | 未実装 |
vue/no-v-text |
vue/no-v-text |
対応付け |
vue/no-v-text-v-html-on-component |
vue/no-v-text-v-html-on-component |
対応付け |
vue/no-watch-after-await |
— | 未実装 |
vue/object-curly-newline |
— | 未実装 |
vue/object-curly-spacing |
— | 未実装 |
vue/object-property-newline |
— | 未実装 |
vue/object-shorthand |
— | 未実装 |
vue/one-component-per-file |
— | 未実装 |
vue/operator-linebreak |
— | 未実装 |
vue/order-in-components |
— | 未実装 |
vue/padding-line-between-blocks |
— | 未実装 |
vue/padding-line-between-tags |
— | 未実装 |
vue/padding-lines-in-component-definition |
— | 未実装 |
vue/prefer-define-options |
script/prefer-define-options |
対応付け |
vue/prefer-import-from-vue |
script/prefer-import-from-vue |
対応付け |
vue/prefer-prop-type-boolean-first |
— | 未実装 |
vue/prefer-separate-static-class |
— | 未実装 |
vue/prefer-single-event-payload |
— | 未実装 |
vue/prefer-template |
— | 未実装 |
vue/prefer-true-attribute-shorthand |
vue/prefer-true-attribute-shorthand |
対応付け |
vue/prefer-use-template-ref |
script/prefer-use-template-ref |
対応付け |
vue/prefer-v-model |
— | 未実装 |
vue/prop-name-casing |
vue/prop-name-casing |
対応付け |
vue/quote-props |
— | 未実装 |
vue/require-component-is |
vue/require-component-is |
対応付け |
vue/require-default-export |
— | 未実装 |
vue/require-default-prop |
script/require-default-prop |
対応付け |
vue/require-direct-export |
— | 未実装 |
vue/require-emit-validator |
— | 未実装 |
vue/require-explicit-emits |
script/require-explicit-emits |
対応付け |
vue/require-explicit-slots |
script/require-explicit-slots |
対応付け |
vue/require-expose |
— | 未実装 |
vue/require-macro-variable-name |
— | 未実装 |
vue/require-name-property |
— | 未実装 |
vue/require-prop-comment |
— | 未実装 |
vue/require-prop-type-constructor |
script/require-prop-type-constructor |
対応付け |
vue/require-prop-types |
script/require-prop-types |
対応付け |
vue/require-render-return |
— | 未実装 |
vue/require-slots-as-functions |
— | 未実装 |
vue/require-toggle-inside-transition |
vue/require-toggle-inside-transition |
対応付け |
vue/require-typed-object-prop |
script/require-typed-object-prop |
対応付け |
vue/require-typed-ref |
script/require-typed-ref |
対応付け |
vue/require-v-for-key |
vue/require-v-for-key |
対応付け |
vue/require-valid-default-prop |
script/require-valid-default-prop |
対応付け |
vue/restricted-component-names |
— | 未実装 |
vue/return-in-computed-property |
script/return-in-computed-property |
対応付け |
vue/return-in-emits-validator |
script/return-in-emits-validator |
対応付け |
vue/script-indent |
— | 未実装 |
vue/singleline-html-element-content-newline |
— | 未実装 |
vue/slot-name-casing |
vue/slot-name-casing |
対応付け |
vue/sort-keys |
— | 未実装 |
vue/space-in-parens |
— | 未実装 |
vue/space-infix-ops |
— | 未実装 |
vue/space-unary-ops |
— | 未実装 |
vue/static-class-names-order |
— | 未実装 |
vue/template-curly-spacing |
— | 未実装 |
vue/this-in-template |
vue/this-in-template |
対応付け |
vue/use-v-on-exact |
vue/use-v-on-exact |
対応付け |
vue/v-bind-style |
vue/v-bind-style |
対応付け |
vue/v-for-delimiter-style |
— | 未実装 |
vue/v-if-else-key |
— | 未実装 |
vue/v-on-event-hyphenation |
vue/v-on-event-hyphenation |
対応付け |
vue/v-on-handler-style |
vue/v-on-handler-style |
対応付け |
vue/v-on-style |
vue/v-on-style |
対応付け |
vue/v-slot-style |
vue/v-slot-style |
対応付け |
vue/valid-attribute-name |
vue/valid-attribute-name |
対応付け |
vue/valid-define-emits |
script/valid-define-emits |
対応付け |
vue/valid-define-options |
script/valid-define-options |
対応付け |
vue/valid-define-props |
script/valid-define-props |
対応付け |
vue/valid-model-definition |
— | 未実装 |
vue/valid-next-tick |
script/valid-next-tick |
対応付け |
vue/valid-template-root |
vue/valid-template-root |
対応付け |
vue/valid-v-bind |
vue/valid-v-bind |
対応付け |
vue/valid-v-bind-sync |
— | 未実装 |
vue/valid-v-cloak |
vue/valid-v-cloak |
対応付け |
vue/valid-v-else |
vue/valid-v-else |
対応付け |
vue/valid-v-else-if |
— | 未実装 |
vue/valid-v-for |
vue/valid-v-for |
対応付け |
vue/valid-v-html |
vue/valid-v-html |
対応付け |
vue/valid-v-if |
vue/valid-v-if |
対応付け |
vue/valid-v-is |
— | 未実装 |
vue/valid-v-memo |
vue/valid-v-memo |
対応付け |
vue/valid-v-model |
vue/valid-v-model |
対応付け |
vue/valid-v-on |
vue/valid-v-on |
対応付け |
vue/valid-v-once |
vue/valid-v-once |
対応付け |
vue/valid-v-pre |
— | 未実装 |
vue/valid-v-show |
vue/valid-v-show |
対応付け |
vue/valid-v-slot |
vue/valid-v-slot |
対応付け |
vue/valid-v-text |
vue/valid-v-text |
対応付け |