Skip to content

The @nx/eslint plugin provides various migrations to help you migrate to newer versions of eslint projects within your Nx workspace. Below is a complete reference for all available migrations.

Version: 21.5.0-beta.2

The following packages will be updated:

NameVersionAlways add to package.json
typescript-eslint^8.40.0Updated only
@typescript-eslint/eslint-plugin^8.40.0Updated only
@typescript-eslint/parser^8.40.0Updated only
@typescript-eslint/utils^8.40.0Updated only
@typescript-eslint/rule-tester^8.40.0Updated only
@typescript-eslint/scope-manager^8.40.0Updated only
@typescript-eslint/typescript-estree^8.40.0Updated only

Version: 21.5.0-beta.2

The following packages will be updated:

NameVersionAlways add to package.json
typescript-eslint^8.40.0Updated only
@typescript-eslint/eslint-plugin^8.40.0Updated only
@typescript-eslint/parser^8.40.0Updated only
@typescript-eslint/utils^8.40.0Updated only
@typescript-eslint/rule-tester^8.40.0Updated only
@typescript-eslint/scope-manager^8.40.0Updated only
@typescript-eslint/typescript-estree^8.40.0Updated only

Version: 21.2.0-beta.0

The following packages will be updated:

NameVersionAlways add to package.json
typescript-eslint^8.29.0Updated only
@typescript-eslint/eslint-plugin^8.29.0Updated only
@typescript-eslint/parser^8.29.0Updated only
@typescript-eslint/utils^8.29.0Updated only
@typescript-eslint/rule-tester^8.29.0Updated only
@typescript-eslint/scope-manager^8.29.0Updated only
@typescript-eslint/typescript-estree^8.29.0Updated only

Version: 21.2.0-beta.0

The following packages will be updated:

NameVersionAlways add to package.json
typescript-eslint^8.29.0Updated only
@typescript-eslint/eslint-plugin^8.29.0Updated only
@typescript-eslint/parser^8.29.0Updated only
@typescript-eslint/utils^8.29.0Updated only
@typescript-eslint/rule-tester^8.29.0Updated only
@typescript-eslint/scope-manager^8.29.0Updated only
@typescript-eslint/typescript-estree^8.29.0Updated only

Version: 20.7.0-beta.4

The following packages will be updated:

NameVersionAlways add to package.json
eslint-config-prettier^10.0.0Updated only

Version: 20.4.0-beta.1

The following packages will be updated:

NameVersionAlways add to package.json
typescript-eslint^8.19.0Updated only
@typescript-eslint/eslint-plugin^8.19.0Updated only
@typescript-eslint/parser^8.19.0Updated only
@typescript-eslint/utils^8.19.0Updated only
@typescript-eslint/rule-tester^8.19.0Updated only
@typescript-eslint/scope-manager^8.19.0Updated only
@typescript-eslint/typescript-estree^8.19.0Updated only

Version: 20.4.0-beta.1

The following packages will be updated:

NameVersionAlways add to package.json
typescript-eslint^8.19.0Updated only
@typescript-eslint/eslint-plugin^8.19.0Updated only
@typescript-eslint/parser^8.19.0Updated only
@typescript-eslint/utils^8.19.0Updated only
@typescript-eslint/rule-tester^8.19.0Updated only
@typescript-eslint/scope-manager^8.19.0Updated only
@typescript-eslint/typescript-estree^8.19.0Updated only

Version: 20.3.0-beta.1

Update ESLint flat config to include .cjs, .mjs, .cts, and .mts files in overrides (if needed)

Update ESLint Config File Extensions in Overrides

Section titled “Update ESLint Config File Extensions in Overrides”

Update ESLint flat config to include .cjs, .mjs, .cts, and .mts files in overrides (if needed)

Add .cjs, .mjs, .cts, .mts file extensions to overrides converted using convert-to-flat-config

eslint.config.js
const { FlatCompat } = require('@eslint/eslintrc');
const js = require('@eslint/js');
const nxEslintPlugin = require('@nx/eslint-plugin');
const compat = new FlatCompat({
baseDirectory: __dirname,
recommendedConfig: js.configs.recommended,
});
module.exports = [
...compat
.config({
extends: ['plugin:@nx/typescript'],
})
.map((config) => ({
...config,
files: ['**/*.ts', '**/*.tsx'],
rules: {
...config.rules,
},
})),
...compat
.config({
extends: ['plugin:@nx/javascript'],
})
.map((config) => ({
...config,
files: ['**/*.js', '**/*.jsx'],
rules: {
...config.rules,
},
})),
];
eslint.config.js
const { FlatCompat } = require('@eslint/eslintrc');
const js = require('@eslint/js');
const nxEslintPlugin = require('@nx/eslint-plugin');
const compat = new FlatCompat({
baseDirectory: __dirname,
recommendedConfig: js.configs.recommended,
});
module.exports = [
...compat
.config({
extends: ['plugin:@nx/typescript'],
})
.map((config) => ({
...config,
files: ['**/*.ts', '**/*.tsx', '**/*.cts', '**/*.mts'],
rules: {
...config.rules,
},
})),
...compat
.config({
extends: ['plugin:@nx/javascript'],
})
.map((config) => ({
...config,
files: ['**/*.js', '**/*.jsx', '**/*.cjs', '**/*.mjs'],
rules: {
...config.rules,
},
})),
];

Version: 20.2.0-beta.5

Update TypeScript ESLint packages to v8.13.0 if they are already on v8

Update TypeScript ESLint packages to v8.13.0 if they are already on v8

This migration will update typescript-eslint, @typescript-eslint/eslint-plugin, @typescript-eslint/parser and @typescript-eslint/utils to 8.13.0 if they are between version 8.0.0 and 8.13.0.

package.json
{
"devDependencies": {
"typescript-eslint": "^8.0.0",
"@typescript-eslint/eslint-plugin": "^8.0.0",
"@typescript-eslint/parser": "^8.0.0",
"@typescript-eslint/utils": "^8.0.0"
}
}
package.json
{
"devDependencies": {
"typescript-eslint": "^8.13.0",
"@typescript-eslint/eslint-plugin": "^8.13.0",
"@typescript-eslint/parser": "^8.13.0",
"@typescript-eslint/utils": "^8.13.0"
}
}