ESLint v8.x reached end-of-life on 2024-10-05 and is no longer maintained. Upgrade or consider long-term support options

ESLint v9.15.0 released

We just pushed ESLint v9.15.0, which is a minor release upgrade of ESLint. This release adds some new features and fixes several bugs found in the previous release.

This release updates the @eslint/plugin-kit dependency to the latest version 0.2.3 which includes the fix for security advisory GHSA-7q7g-4xm8-89cq.

Highlights

meta.defaultOptions

Rules can now specify default options. ESLint will recursively merge any user-provided options elements on top of the default elements.

This feature makes it easier to work with options in rules.

// my-rule.js
export default {
meta: {
defaultOptions: [{
alias: "basic",
ignoreClassFields: false
}],
schema: [{
type: "object",
properties: {
alias: {
type: "string"
},
ignoreClassFields: {
type: "boolean"
}
},
additionalProperties: false
}]
},
create(context) {

// `context.options` is guaranteed to be an array with a single object
// that has a string property `alias` and a boolean property `ignoreClassFields`.
// If the rule is enabled with no options specified in the configuration file,
// `alias` will be `"basic"`, and `ignoreClassFields` will be `false`.
const [{ alias, ignoreClassFields }] = context.options;

return { /* ... */ };
}
};

This feature also allows document generators, other tools and integrations, and end users to easily find the default options for rules.

Other notable changes

  • Custom languages can now provide the normalizeLanguageOptions(languageOptions) method. The return value will be used as languageOptions when calling parse(), createSourceCode(), and applyLanguageOptions() methods and as the value of context.languageOptions property in rules.
  • The no-useless-computed-key rule now fully supports object destructuring patterns.

Features

Bug Fixes

Documentation

Chores

  • 2967d91 chore: upgrade @eslint/js@9.15.0 (#19133) (Milos Djermanovic)
  • b441bee chore: package.json update for @eslint/js release (Jenkins)
  • 7d6bf4a chore: upgrade @eslint/core@0.9.0 (#19131) (Milos Djermanovic)
  • 902e707 chore: upgrade @eslint/plugin-kit@0.2.3 (#19130) (Milos Djermanovic)
  • 5ff6c1d chore: bump cross-spawn (#19125) (Ian Bobinac)
  • cceccc7 chore: update dependency @eslint/json to ^0.6.0 (#19117) (renovate[bot])
  • 0da3f73 chore: update algolia referrer (#19114) (Strek)
  • 4f08332 ci: unpin trunk-io/trunk-action (#19108) (Francesco Trotta)
  • 6b75683 perf: optimize text-table by replacing regex with trimEnd (#19061) (Nitin Kumar)

The latest ESLint news, case studies, tutorials, and resources.

ESLint v9.17.0 released
2 min read

ESLint v9.17.0 released

We just pushed ESLint v9.17.0, which is a minor release upgrade of ESLint. This release adds some new features and fixes several bugs found in the previous release.

ESLint v9.16.0 released
2 min read

ESLint v9.16.0 released

We just pushed ESLint v9.16.0, which is a minor release upgrade of ESLint. This release adds some new features and fixes several bugs found in the previous release.

ESLint v9.14.0 released
2 min read

ESLint v9.14.0 released

We just pushed ESLint v9.14.0, which is a minor release upgrade of ESLint. This release adds some new features and fixes several bugs found in the previous release.