npm / oxlint
oxlint
What changed in oxlint 1, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-18.
4 breaking70 new APIs and options3 performance2 behavior and defaults108 tooling28 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli initoxlint 1215 changes
Breaking changes 4
Comments are checked by default.
The rule is split into per-category rules, changing how React Compiler rules are configured.
Rejects invalid regex configuration for refactor/node/handle-callback-err.
The oxc_language_server binary was removed, so developers can no longer run it.
New APIs and options 70
Adds the allowWithVariables option to control the rule's behavior when variables are present.
Adds support for the allowCompoundComponents option to the react/only-export-components rule.
The rule supports the checkConditionalExpressions option.
Adds the one-var lint rule.
Adds options to the rule to match eslint.
Implements the id-denylist rule.
Adds the
function-component-definitionrule.Adds the
prefer-top-level-if-only-type-importsoption to configure type-import specifier style.Adds the
no-top-level-awaitrule to detect top-level await.Adds the namespaces option to eslint/no-inner-declarations.
Adds the disallowedValues option to the React forbid-dom-props rule.
Adds the allowAfterSpread option to the Unicorn no-array-sort rule.
Adds the ESLint rule no-unreachable-loop.
A schema was added for eslint/no-restricted-properties, enabling schema-based validation of its configuration.
Missing options were added to require-param-description.
Missing options were added to require-param-type.
The node/no-sync rule was implemented and is available to configure.
A schema was added for react/jsx-no-script-url, enabling schema-based validation of its configuration.
The unicorn/max-nested-calls rule was implemented and is available to configure.
The unicorn/prefer-number-coercion rule was implemented and is available to configure.
The vue/no-async-in-computed-properties rule was implemented and is available to configure.
Adds the allowedRedundantRoles option.
Adds a configuration schema for this lint rule.
Adds a configuration schema for this lint rule.
Adds a configuration schema for this lint rule.
Adds a configuration schema for this lint rule.
A schema is now available for configuring this rule.
A schema is now available for configuring this rule.
A schema is now available for configuring this rule.
A schema is now available for configuring this rule.
A schema is now available for configuring this rule.
A schema is now available for configuring this rule.
A schema is now available for configuring this rule.
A schema is now available for configuring this rule.
A schema is now available for configuring this rule.
A schema is now available for configuring this rule.
A schema is now available for configuring this rule.
A schema is now available for configuring this rule.
The ignoreDirectives option is now supported.
A schema is now available for configuring this rule.
A schema is now available for configuring this rule.
A schema is now available for configuring this rule.
A schema is now available for configuring this rule.
A schema is now available for configuring this rule.
A schema is now available for configuring this rule.
A schema is now available for configuring this rule.
A schema is now available for configuring this rule.
A schema is now available for configuring this rule.
A schema is now available for configuring this rule.
A schema is now available for configuring this rule.
Schemas were added for simple rule configurations and filled with rule configurations.
The checkArguments option is now supported.
The no-reserved-keys rule is now implemented.
The no-reserved-props rule is now implemented.
Adds the component-definition-name-casing Vue lint rule.
Adds the Unicorn import-style lint rule.
Adds the Vue lint rule valid-define-options.
The linter implements the react no-object-type-as-default-prop rule.
Adds the require-throws-description rule to require descriptions for thrown errors.
Overrides now support ignores, allowing ignore patterns to be specified within overrides.
Adds the respectEslintDisableDirectives option.
Jest version settings can now be configured in the config file.
Introduces denyWarnings config options.
Introduces the maxWarnings config option.
Adds options.reportUnusedDisableDirectives as a config-file option.
Adds preferUnplugged for Yarn PnP compatibility.
typeAware is introduced as a config option.
A typeCheck config option is introduced.
Adds a version setting to ReactPluginSettings.
Plugin names can be aliased, allowing names that match builtin plugins.
Performance 3
Compiles the checkTypesPattern regex once.
Compiles allow patterns once.
Precompiles the ignoreProps regex pattern.
Behavior and default changes 2
JavaScript plugins are promoted to alpha status.
Comments are now permitted in .oxlintrc.json via the JSON schema file.
Tooling 108
Adds the typescript/no-generated-empty-object-type lint rule.
Adds the no-blank-blocks lint rule.
Adds the bad-match-all-arg rule.
Verifies the config schema for eslint/no-restricted-globals.
Implements the exports-style rule.
Verifies the config schema for jest/vitest prefer-lowercase-title.
Adds the Vitest padding rule by reusing the Jest rule implementation.
Adds the Unicorn rule explicit-timer-delay.
Adds the Unicorn rule no-confusing-array-with.
The rule now checks relational comparisons.
Adds per-rule timings for type-aware linting.
Adds a schema for eslint/no-restricted-import, enabling validation of its configuration.
A schema was added for eslint/prefer-destructuring, enabling schema-based validation of its configuration.
A schema was added for import/extensions, enabling schema-based validation of its configuration.
The node/no-mixed-requires rule was implemented and is available to configure.
A schema was added for unicorn/numeric-separators-style, enabling schema-based validation of its configuration.
Adds a configuration schema for this lint rule.
Adds a configuration schema for this lint rule.
Adds a configuration schema for this lint rule.
Adds a configuration schema for this lint rule.
Adds a configuration schema for this lint rule.
Adds a configuration schema for this lint rule.
Adds a configuration schema for this lint rule.
Adds a configuration schema for this lint rule.
Adds a configuration schema for restricted-method rules.
Adds a configuration schema for this lint rule.
Adds a configuration schema for this lint rule.
Adds a configuration schema for this lint rule.
Adds a configuration schema for this lint rule.
Adds a configuration schema for this lint rule.
Adds a configuration schema for this lint rule.
Adds a configuration schema for this lint rule.
Adds a configuration schema for this lint rule.
Adds a configuration schema for this lint rule.
Adds a configuration schema for this lint rule.
Adds a configuration schema for this lint rule.
Adds a configuration schema for this lint rule.
Adds a configuration schema for this lint rule.
Adds the React jsx-no-literals lint rule.
Adds a configuration schema for this lint rule.
Adds the React Compiler lint rule.
Adds a configuration schema for this lint rule.
Adds a configuration schema for this lint rule.
Adds a configuration schema for this lint rule.
Adds a configuration schema for this lint rule.
Adds a configuration schema for this lint rule.
Adds a configuration schema for this lint rule.
Adds a configuration schema for this lint rule.
Adds a configuration schema for this lint rule.
Adds a configuration schema for this lint rule.
Adds a configuration schema for this lint rule.
Adds a configuration schema for this lint rule.
Adds a configuration schema for this lint rule.
Adds a configuration schema for this lint rule.
Adds a configuration schema for this lint rule.
Adds a configuration schema for this lint rule.
Adds a configuration schema for this lint rule.
Adds a configuration schema for this lint rule.
Adds a configuration schema for this lint rule.
Adds a configuration schema for this lint rule.
Adds a configuration schema for this lint rule.
Adds a configuration schema for this lint rule.
Adds a configuration schema for this lint rule.
Adds a configuration schema for this lint rule.
Adds a rule that flags array fill with a reference type.
Adds a configuration schema for this lint rule.
Adds the Unicorn prefer-export-from lint rule.
Adds a configuration schema for this lint rule.
Adds the Unicorn prefer-single-call lint rule.
Adds a configuration schema for this lint rule.
Adds a configuration schema for this lint rule.
Adds a configuration schema for this lint rule.
Adds a configuration schema for this lint rule.
Adds the Vue no-dupe-keys lint rule.
Adds the Vue no-side-effects-in-computed-properties lint rule.
Adds the Vue require-default-prop lint rule.
The next-tick-style rule is now implemented.
The prop-name-casing rule is now implemented.
The require-direct-export rule is now implemented.
The require-prop-types rule is now implemented.
Adds the method-signature-style TypeScript lint rule.
Adds the no-reserved-component-names Vue lint rule.
Adds the prefer-named-capture-group ESLint rule.
Adds the require-prop-type-constructor Vue lint rule.
Adds the require-yields-description JSDoc lint rule.
Adds the n callback-return lint rule.
Supports vite-plus/resolveConfig for vite.config.ts.
Adds the Vue lint rule no-computed-properties-in-data.
Adds the Vue lint rule no-deprecated-props-default-this.
Adds the Vue lint rule no-expose-after-await.
Adds the Vue lint rule no-shared-component-data.
Adds the Vue lint rule no-watch-after-await.
Adds the Vue lint rule require-render-return.
Adds the Vue lint rule require-slots-as-functions.
Adds the Vue lint rule return-in-emits-validator.
Adds the Vue lint rule valid-next-tick.
The linter implements the id-match rule.
The linter implements the newline-after-import rule for imports.
The linter implements the no-implied-eval rule.
The linter implements the react no-unstable-nested-components rule.
The linter implements the padding-around-after-all-blocks rule for Vitest.
Adds support for eslint-plugin-jsx-a11y-x.
Adds the prefer-arrow-callback rule.
Types for DummyRule are enhanced, affecting developers who use it in typed code.
Adds the react/display-name rule for linting React display names.
The oxlint JSON schema now includes markdownDescription fields, providing Markdown descriptions for schema consumers.
oxlint and oxfmt allow comments and commas for vscode-json-ls.
Adds support for the vitest/valid-title rule.
Fixes and other changes 28
Capitalized built-in calls are now allowed.
The indirect default is aligned with ESLint.
Allowed snapshot matchers are precompiled.
Bare underscore parameters are now reported.
Inactive React compiler rules are resolved.
Configuration types now allow spread rule options.
Validates the description_format option.
Handles typed declarations when applying the
prefer-destructuringrule.Errors on ignorePatterns that cannot match files outside the config directory.
Resolves ignorePatterns relative to the config directory.
The allow and disallow lists are now optional in the rule schema.
The rule now validates config patterns.
The anchor-is-valid configuration was aligned with upstream.
A schema was added for node/callback-return, enabling schema-based validation of its configuration.
Allows options for this lint rule.
Avoids generating a config schema for this rule, then exposes its schema in a separate fix.
Verifies the configuration schema for this rule.
Adds a configuration schema for this lint rule.
The eslint/max-* rules now have the right schema.
The schema issue for rules without a config was fixed.
The config schema now allows a string for the Jest version.
The npm packages oxlint and oxfmt now export package.json, allowing consumers to access their package metadata.
Schema output no longer includes a useless | null for Option<T> fields.
Extra fields are prevented from being present in the oxlint config file.
The
$schemafield is now permitted in the.oxlintrc.jsonstruct.The JSON schema now denies additional properties for the categories enum.
The JSON schema now denies additional properties for the plugins enum.
Fixes JS plugins failing when extends is used.