This document lists ESLint rules that are currently skipped by oxlint migration.
- Total skipped: 168 rules
- Nursery: 86 rules
- Unsupported: 82 rules
These rules are currently being developed and will be available in future versions:
getter-returnno-undefno-unreachableimport-x/exportpromise/no-return-in-finally@typescript-eslint/dot-notation@typescript-eslint/prefer-find@typescript-eslint/prefer-optional-chain@typescript-eslint/prefer-regexp-exec@typescript-eslint/prefer-string-starts-ends-withconsistent-thisfunc-name-matchingid-denylistid-matchno-implicit-globalsno-implied-evalno-restricted-exportsno-restricted-propertiesno-restricted-syntaxno-unreachable-loopobject-shorthandprefer-arrow-callbackprefer-regex-literalsstrictn/handle-callback-errn/no-deprecated-apin/no-extraneous-requiren/no-missing-requiren/no-unpublished-requiren/no-unsupported-features/es-builtinsn/no-unsupported-features/es-syntaxn/prefer-global/buffern/prefer-node-protocoln/process-exit-as-throwunicorn/better-regexunicorn/custom-error-definitionunicorn/expiring-todo-commentsunicorn/import-styleunicorn/isolated-functionsunicorn/no-unnecessary-polyfillsunicorn/prefer-export-fromunicorn/prefer-import-meta-propertiesunicorn/prefer-json-parse-bufferunicorn/prefer-single-callunicorn/prefer-switchunicorn/prevent-abbreviationsunicorn/template-indentvue/jsx-uses-varsvue/multi-word-component-namesvue/no-async-in-computed-propertiesvue/no-computed-properties-in-datavue/no-deprecated-data-object-declarationvue/no-deprecated-delete-setvue/no-deprecated-dollar-listeners-apivue/no-deprecated-dollar-scopedslots-apivue/no-deprecated-events-apivue/no-deprecated-model-definitionvue/no-deprecated-props-default-thisvue/no-deprecated-vue-config-keycodesvue/no-dupe-keysvue/no-expose-after-awaitvue/no-mutating-propsvue/no-ref-as-operandvue/no-reserved-component-namesvue/no-reserved-keysvue/no-reserved-propsvue/no-shared-component-datavue/no-side-effects-in-computed-propertiesvue/no-use-computed-property-like-methodvue/no-watch-after-awaitvue/require-prop-type-constructorvue/require-render-returnvue/require-slots-as-functionsvue/require-valid-default-propvue/return-in-computed-propertyvue/return-in-emits-validatorvue/valid-define-optionsvue/valid-next-tickvue/component-definition-name-casingvue/prop-name-casingvue/require-default-propvue/require-prop-typesvue/order-in-componentsvue/no-unused-emit-declarationsvue/prefer-define-optionsvue/prefer-use-template-ref
These rules are not yet supported by oxlint:
dot-notation: Usetypescript/dot-notationinstead, which we support as a type-aware rule.no-dupe-args: Superseded by strict mode.no-invalid-this: Superseded by TypeScript's [noImplicitThis](https://www.typescriptlang.org/tsconfig/#noImplicitThis) compiler option (enabled bystrictmode).no-octal: Superseded by strict mode.no-octal-escape: Superseded by strict mode.unicorn/no-for-loop: This rule suggests usingArray.prototype.entrieswhich is slow https://github.com/oxc-project/oxc/issues/11311, furthermore,typescript/prefer-for-ofcovers most cases.unicorn/no-named-default: Implemented viaimport/no-named-default.vue/comment-directive: Not currently possible, as it requires Vue template parsing. Also possibly unnecessary as its own rule, as oxlint directives should be implemented at the same time as Vue template parsing.vue/no-child-content: Not currently possible, as it requires Vue template parsing.vue/no-deprecated-filter: Not currently possible, as it requires Vue template parsing.vue/no-deprecated-functional-template: Not currently possible, as it requires Vue template parsing.vue/no-deprecated-html-element-is: Not currently possible, as it requires Vue template parsing.vue/no-deprecated-inline-template: Not currently possible, as it requires Vue template parsing.vue/no-deprecated-router-link-tag-prop: Not currently possible, as it requires Vue template parsing.vue/no-deprecated-scope-attribute: Not currently possible, as it requires Vue template parsing.vue/no-deprecated-slot-attribute: Not currently possible, as it requires Vue template parsing.vue/no-deprecated-slot-scope-attribute: Not currently possible, as it requires Vue template parsing.vue/no-deprecated-v-bind-sync: Not currently possible, as it requires Vue template parsing.vue/no-deprecated-v-is: Not currently possible, as it requires Vue template parsing.vue/no-deprecated-v-on-native-modifier: Not currently possible, as it requires Vue template parsing.vue/no-deprecated-v-on-number-modifiers: Not currently possible, as it requires Vue template parsing.vue/no-dupe-v-else-if: Not currently possible, as it requires Vue template parsing.vue/no-duplicate-attributes: Not currently possible, as it requires Vue template parsing.vue/no-parsing-error: Not currently possible, as it requires Vue template parsing.vue/no-template-key: Not currently possible, as it requires Vue template parsing.vue/no-textarea-mustache: Not currently possible, as it requires Vue template parsing.vue/no-unused-components: Not currently possible, as it requires Vue template parsing.vue/no-unused-vars: Not currently possible, as it requires Vue template parsing. May also prefer to cover this via the core no-unused-vars rule.vue/no-use-v-if-with-v-for: Not currently possible, as it requires Vue template parsing.vue/no-useless-template-attributes: Not currently possible, as it requires Vue template parsing.vue/no-v-for-template-key-on-child: Deprecated.vue/no-v-text-v-html-on-component: Not currently possible, as it requires Vue template parsing.vue/require-component-is: Not currently possible, as it requires Vue template parsing.vue/require-toggle-inside-transition: Not currently possible, as it requires Vue template parsing.vue/require-v-for-key: Not currently possible, as it requires Vue template parsing.vue/use-v-on-exact: Not currently possible, as it requires Vue template parsing.vue/valid-attribute-name: Not currently possible, as it requires Vue template parsing.vue/valid-template-root: Not currently possible, as it requires Vue template parsing.vue/valid-v-bind: Not currently possible, as it requires Vue template parsing.vue/valid-v-cloak: Not currently possible, as it requires Vue template parsing.vue/valid-v-else-if: Not currently possible, as it requires Vue template parsing.vue/valid-v-else: Not currently possible, as it requires Vue template parsing.vue/valid-v-for: Not currently possible, as it requires Vue template parsing.vue/valid-v-html: Not currently possible, as it requires Vue template parsing.vue/valid-v-if: Not currently possible, as it requires Vue template parsing.vue/valid-v-is: Not currently possible, as it requires Vue template parsing.vue/valid-v-memo: Not currently possible, as it requires Vue template parsing.vue/valid-v-model: Not currently possible, as it requires Vue template parsing.vue/valid-v-on: Not currently possible, as it requires Vue template parsing.vue/valid-v-once: Not currently possible, as it requires Vue template parsing.vue/valid-v-pre: Not currently possible, as it requires Vue template parsing.vue/valid-v-show: Not currently possible, as it requires Vue template parsing.vue/valid-v-slot: Not currently possible, as it requires Vue template parsing.vue/valid-v-text: Not currently possible, as it requires Vue template parsing.vue/attribute-hyphenation: Not currently possible, as it requires Vue template parsing.vue/first-attribute-linebreak: Stylistic rule.vue/html-closing-bracket-newline: Stylistic rule.vue/html-closing-bracket-spacing: Stylistic rule.vue/html-end-tags: Not currently possible, as it requires Vue template parsing.vue/html-indent: Stylistic rule.vue/html-quotes: Stylistic rule.vue/html-self-closing: Not currently possible, as it requires Vue template parsing.vue/multiline-html-element-content-newline: Not currently possible, as it requires Vue template parsing.vue/mustache-interpolation-spacing: Stylistic rule.vue/no-multi-spaces: Stylistic rule.vue/no-spaces-around-equal-signs-in-attribute: Stylistic rule.vue/no-template-shadow: Not currently possible, as it requires Vue template parsing.vue/require-explicit-emits: Not currently possible, as it requires Vue template parsing.vue/v-bind-style: Not currently possible, as it requires Vue template parsing.vue/v-on-event-hyphenation: Not currently possible, as it requires Vue template parsing.vue/v-on-style: Not currently possible, as it requires Vue template parsing.vue/v-slot-style: Not currently possible, as it requires Vue template parsing.vue/attributes-order: Not currently possible, as it requires Vue template parsing.vue/block-order: Not currently possible, as it requires Vue template parsing.vue/no-lone-template: Not currently possible, as it requires Vue template parsing.vue/this-in-template: Not currently possible, as it requires Vue template parsing.vue/define-macros-order: Stylistic rule.vue/no-undef-components: Not currently possible, as it requires Vue template parsing.vue/no-unused-refs: Not currently possible, as it requires Vue template parsing.vue/no-useless-v-bind: Not currently possible, as it requires Vue template parsing.vue/no-use-v-else-with-v-for: Not currently possible, as it requires Vue template parsing.vue/padding-line-between-blocks: Stylistic rule.