Skip to content

Latest commit

 

History

History
187 lines (178 loc) · 9.97 KB

File metadata and controls

187 lines (178 loc) · 9.97 KB

Oxlint Unsupported Rules

This document lists ESLint rules that are currently skipped by oxlint migration.

Summary

  • Total skipped: 168 rules
  • Nursery: 86 rules
  • Unsupported: 82 rules

Nursery Rules (In Development)

These rules are currently being developed and will be available in future versions:

  • getter-return
  • no-undef
  • no-unreachable
  • import-x/export
  • promise/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-with
  • consistent-this
  • func-name-matching
  • id-denylist
  • id-match
  • no-implicit-globals
  • no-implied-eval
  • no-restricted-exports
  • no-restricted-properties
  • no-restricted-syntax
  • no-unreachable-loop
  • object-shorthand
  • prefer-arrow-callback
  • prefer-regex-literals
  • strict
  • n/handle-callback-err
  • n/no-deprecated-api
  • n/no-extraneous-require
  • n/no-missing-require
  • n/no-unpublished-require
  • n/no-unsupported-features/es-builtins
  • n/no-unsupported-features/es-syntax
  • n/prefer-global/buffer
  • n/prefer-node-protocol
  • n/process-exit-as-throw
  • unicorn/better-regex
  • unicorn/custom-error-definition
  • unicorn/expiring-todo-comments
  • unicorn/import-style
  • unicorn/isolated-functions
  • unicorn/no-unnecessary-polyfills
  • unicorn/prefer-export-from
  • unicorn/prefer-import-meta-properties
  • unicorn/prefer-json-parse-buffer
  • unicorn/prefer-single-call
  • unicorn/prefer-switch
  • unicorn/prevent-abbreviations
  • unicorn/template-indent
  • vue/jsx-uses-vars
  • vue/multi-word-component-names
  • vue/no-async-in-computed-properties
  • vue/no-computed-properties-in-data
  • vue/no-deprecated-data-object-declaration
  • vue/no-deprecated-delete-set
  • vue/no-deprecated-dollar-listeners-api
  • vue/no-deprecated-dollar-scopedslots-api
  • vue/no-deprecated-events-api
  • vue/no-deprecated-model-definition
  • vue/no-deprecated-props-default-this
  • vue/no-deprecated-vue-config-keycodes
  • vue/no-dupe-keys
  • vue/no-expose-after-await
  • vue/no-mutating-props
  • vue/no-ref-as-operand
  • vue/no-reserved-component-names
  • vue/no-reserved-keys
  • vue/no-reserved-props
  • vue/no-shared-component-data
  • vue/no-side-effects-in-computed-properties
  • vue/no-use-computed-property-like-method
  • vue/no-watch-after-await
  • vue/require-prop-type-constructor
  • vue/require-render-return
  • vue/require-slots-as-functions
  • vue/require-valid-default-prop
  • vue/return-in-computed-property
  • vue/return-in-emits-validator
  • vue/valid-define-options
  • vue/valid-next-tick
  • vue/component-definition-name-casing
  • vue/prop-name-casing
  • vue/require-default-prop
  • vue/require-prop-types
  • vue/order-in-components
  • vue/no-unused-emit-declarations
  • vue/prefer-define-options
  • vue/prefer-use-template-ref

Unsupported Rules

These rules are not yet supported by oxlint:

  • dot-notation: Use typescript/dot-notation instead, 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 by strict mode).
  • no-octal: Superseded by strict mode.
  • no-octal-escape: Superseded by strict mode.
  • unicorn/no-for-loop: This rule suggests using Array.prototype.entrieswhich is slow https://github.com/oxc-project/oxc/issues/11311, furthermore,typescript/prefer-for-of covers most cases.
  • unicorn/no-named-default: Implemented via import/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.