Provide a global override mechanism for @nx/angular ESLint preset rules in Nx workspaces #34121
sujithan22
started this conversation in
Feature Requests
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Description
In Nx Angular workspaces, each library-level ESLint configuration generated by Nx extends plugin:@nx/angular.
This preset internally re-applies Angular recommended ESLint rules.
Because library-level ESLint configs are resolved after the root ESLint configuration, any rules defined in plugin:@nx/angular take precedence over root-level rule overrides. As a result, turning off or relaxing Angular rules globally (at the workspace root) does not work reliably if those rules are reintroduced by the Nx Angular preset at the project level.
This forces teams to override the same rules individually in every library, which becomes difficult to maintain in large monorepos.
Problem Statement
This behavior becomes especially problematic during Angular version upgrades (e.g., Angular 15 → 16 → 17 → 18), where:
New or stricter Angular ESLint rules are introduced
Fixing all violations immediately is often not feasible
Teams may want to temporarily disable or relax certain rules globally
However, due to plugin:@nx/angular being applied at the library level, global rule overrides defined in the root ESLint config are ignored unless the same overrides are repeated in every library.
Expected Behavior / Feature Request
Nx should provide a single, global override mechanism for Angular ESLint rules that is applied after plugin:@nx/angular, allowing teams to centrally customize or disable Angular lint rules without modifying each library’s ESLint config.
Beta Was this translation helpful? Give feedback.
All reactions