---
title: "@eslint/js Breaking Changes on npm | Since.dev"
description: "What each @eslint/js release removed, renamed or changed: 39 breaking changes in 7 versions on npm, each with its source."
canonical_url: https://since.dev/packages/npm/@eslint/js
last_updated: 2024-07-26
---

# @eslint/js breaking changes

Every breaking API change we have recorded in @eslint/js on npm: 39 breaking changes in 7 versions. Below are its newest 6 versions, removals and renames first, each with its source.

Newest change July 26, 2024

## 10.0.0

13 breaking changes, first published July 26, 2024.

- **Removed**  

Support for eslintrc configuration was removed. Projects must use flat config. [github.com](https://github.com/eslint/eslint/releases/tag/v10.0.0)
- **Removed**  

Inactive v10 and unstable flags were removed, so configs that set them must be updated. [github.com](https://github.com/eslint/eslint/releases/tag/v10.0.0)
- **Removed**  

Deprecated rule context methods were removed. Rules that call them must be updated. [github.com](https://github.com/eslint/eslint/releases/tag/v10.0.0)
- **Removed**  

Older jiti versions are no longer supported for loading configs. [github.com](https://github.com/eslint/eslint/releases/tag/v10.0.0)
- **Removed**  

The package now requires Node.js ^20.19.0, ^22.13.0 or 24 and later. Upgrade Node.js before installing. [github.com](https://github.com/eslint/eslint/releases/tag/v10.0.0)
- **Removed**  

Deprecated SourceCode methods were removed. Code that calls them must switch to their replacements. [github.com](https://github.com/eslint/eslint/releases/tag/v10.0.0)
- **Removed** `LintMessage.nodeType`  

The deprecated nodeType property on LintMessage was removed. [github.com](https://github.com/eslint/eslint/releases/tag/v10.0.0)
- **Removed** `TestCaseError.type`  

The deprecated type property on TestCaseError was removed. [github.com](https://github.com/eslint/eslint/releases/tag/v10.0.0)
- **Behavior changed**  

The Program node range now covers the whole source text, which can change tooling that relies on its range. [github.com](https://github.com/eslint/eslint/releases/tag/v10.0.0)
- **Behavior changed**  

JSX references are now tracked, so rules may report variables used only in JSX differently. [github.com](https://github.com/eslint/eslint/releases/tag/v10.0.0)

And 3 more in this version.

## 10.0.0-rc.0

5 breaking changes, first published July 26, 2024.

- **Removed** `ParserOptions.ecmaVersion`  

The ecmaVersion property is removed from the ParserOptions type. TypeScript code that references it will no longer compile. [github.com](https://github.com/eslint/eslint/releases/tag/v10.0.0-rc.0)
- **Removed** `ParserOptions.sourceType`  

The sourceType property is removed from the ParserOptions type. TypeScript code that references it will no longer compile. [github.com](https://github.com/eslint/eslint/releases/tag/v10.0.0-rc.0)
- **Removed** `raw`  

The raw parser option is removed from the JS language. Configs that set it will no longer have effect. [github.com](https://github.com/eslint/eslint/releases/tag/v10.0.0-rc.0)
- **Removed** `TDZ`  

The TDZ scope type is removed. Code that uses it in types will no longer compile. [github.com](https://github.com/eslint/eslint/releases/tag/v10.0.0-rc.0)
- **Behavior changed**  

RuleTester estimates where a failing test case is located in a new way. Check tests that depend on the reported failure location. [github.com](https://github.com/eslint/eslint/releases/tag/v10.0.0-rc.0)

## 10.0.0-alpha.1

1 breaking change, first published July 26, 2024.

- **Removed**  

Deprecated SourceCode methods were removed, so code calling them must use the replacements. [github.com](https://github.com/eslint/eslint/releases/tag/v10.0.0-alpha.1)

## 10.0.0-alpha.0

15 breaking changes, first published July 26, 2024.

- **Removed**  

Versions of jiti older than 2.2.0 are no longer supported for loading configs. [github.com](https://github.com/eslint/eslint/releases/tag/v10.0.0-alpha.0)
- **Removed**  

Support for eslintrc-style configuration was removed. Configs must use flat config. [github.com](https://github.com/eslint/eslint/releases/tag/v10.0.0-alpha.0)
- **Removed**  

The v10\_\* and inactive unstable\_\* flags were removed, so configs or code setting them must drop them. [github.com](https://github.com/eslint/eslint/releases/tag/v10.0.0-alpha.0)
- **Removed**  

Deprecated rule context methods were removed. Rule code that calls them must switch to the replacements in the migration guide. [github.com](https://github.com/eslint/eslint/releases/tag/v10.0.0-alpha.0)
- **Removed** `LintMessage.nodeType`  

The deprecated nodeType property on LintMessage was removed and code reading it will break. [github.com](https://github.com/eslint/eslint/releases/tag/v10.0.0-alpha.0)
- **Removed** `TestCaseError.type`  

The deprecated type property on TestCaseError was removed and code reading it will break. [github.com](https://github.com/eslint/eslint/releases/tag/v10.0.0-alpha.0)
- **Behavior changed**  

ESLint now requires Node.js ^20.19.0, ^22.13.0 or >=24, so older Node.js versions can no longer run it. [github.com](https://github.com/eslint/eslint/releases/tag/v10.0.0-alpha.0)
- **Behavior changed**  

Globals are now registered via ScopeManager#addGlobals(), which can change how globals resolve in rules. [github.com](https://github.com/eslint/eslint/releases/tag/v10.0.0-alpha.0)
- **Behavior changed**  

The Program node range now covers the whole source text, which can change results of rules that read its range. [github.com](https://github.com/eslint/eslint/releases/tag/v10.0.0-alpha.0)
- **Behavior changed**  

eslint-env comments now produce errors instead of being accepted, so they must be removed from source files. [github.com](https://github.com/eslint/eslint/releases/tag/v10.0.0-alpha.0)

And 5 more in this version.

## 10.0.0-rc.2

2 breaking changes, first published July 26, 2024.

- **Removed** `FlatESLint`  

The FlatESLint export is removed because it was a fake export. Code that imports it will no longer work. [github.com](https://github.com/eslint/eslint/releases/tag/v10.0.0-rc.2)
- **Removed** `LegacyESLint`  

The LegacyESLint export is removed because it was a fake export. Code that imports it will no longer work. [github.com](https://github.com/eslint/eslint/releases/tag/v10.0.0-rc.2)

## 10.0.0-rc.1

1 breaking change, first published July 26, 2024.

- **Behavior changed** `no-shadow`  

The no-shadow rule now treats function and class expression names differently, so it may report different results on existing code. [github.com](https://github.com/eslint/eslint/releases/tag/v10.0.0-rc.1)

## Check your code

These are the changes. To see which of them reach your code, [scan a public repository](https://since.dev/scan.md), or have your coding agent call `check_code` with your manifest or lockfile over [MCP](https://since.dev/docs.md#mcp). [The API](https://since.dev/docs.md#api) reads every change in every version, not only the newest. On Team and up, a fix pull request opens for the changes that reach a connected repository. Nothing merges or deploys.

## Put your code on continuous management.

Scan a public repository now, or give your agent one line.

### See how out of date your code is.

[Scan a repository](https://since.dev/scan.md). Any public GitHub repository. No sign-in.

### Tell your agent what changed since it was trained.

`claude mcp add --transport http since https://api.since.dev/mcp`

---

Every page on this site as Markdown: https://since.dev/sitemap.md. For agents: https://since.dev/llms.txt.
