Skip to content
AI Monorepos Free online conference · June 23 Join us!

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: 23.0.0-beta.17

Rewrites @nx/eslint/src/* subpath imports now that the ./src/* subpath is no longer exposed by @nx/eslint’s exports map. Named imports/exports of public symbols are routed to @nx/eslint and the rest to the new @nx/eslint/internal entry; require, dynamic import and jest.mock calls reference the whole module and are routed to @nx/eslint/internal.

update-23-0-0-migrate-create-nodes-v2-import

Section titled “update-23-0-0-migrate-create-nodes-v2-import”

Version: 23.0.0-beta.24

Rename imports of createNodesV2 from @nx/eslint/plugin to the canonical createNodes export.

Rename createNodesV2 imports to createNodes

Section titled “Rename createNodesV2 imports to createNodes”

@nx/eslint renamed its primary inferred-plugin export from createNodesV2 to createNodes. The createNodesV2 name is preserved as a deprecated alias for now, but new code should use createNodes.

This migration scans every .ts, .tsx, .cts, and .mts file in your workspace and rewrites named imports and re-exports of createNodesV2 from @nx/eslint/plugin to createNodes.

import { createNodesV2 } from '@nx/eslint/plugin';
import { createNodes } from '@nx/eslint/plugin';

Aliases are preserved (createNodesV2 as cn becomes createNodes as cn), and if a file already imports both names ({ createNodes, createNodesV2 }) the redundant binding is dropped.

Only static import/export named bindings from @nx/eslint/plugin are rewritten. Namespace imports, dynamic import(...), require(...) destructuring, and property access such as plugin.createNodesV2 are left untouched — they keep working through the createNodesV2 runtime alias. Update those by hand if you want to drop the deprecated name everywhere.

Version: 22.7.0-beta.12

Add missing inputs to @nx/eslint:lint executor target defaults

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