Modern ESLint plugin for RxJS, forked from the unmaintained eslint-plugin-rxjs. v1.0.2 requires ESLint ^10.0.1, Node ^20.19.0 || ^22.13.0 || >=24, and RxJS ^7.2.0 with TypeScript >=4.8.4 <6.1.0. Ships TypeScript types. Offers flat-config-only recommended and strict configs, with 33+ rules. Breaking from v0.x: ESLint 10 required, Node 18 dropped, eslintrc unsupported, and namespace changed from 'rxjs' to 'rxjs-x'. Provides typed linting via dependency on typescript-eslint.
npm install eslint-plugin-rxjs-xVerified import paths — ran on the pinned version, not inferred.
Sets up ESLint flat config with typescript-eslint and eslint-plugin-rxjs-x recommended rules for typed RxJS linting.
Upgrade to ESLint ^10.0.1 and Node.js ^20.19.0 || ^22.13.0 || >=24.
Migrate to flat config using import statements and defineConfig.
Replace 'rxjs/' with 'rxjs-x/' in all ESLint config rules and inline disable comments.
Use 'rxjs-x/no-floating-observable' instead of 'rxjs/no-ignored-observable'.
Use rxjsX.configs.recommended in flat config.
Add 'projectService: true' to parserOptions; otherwise type-dependent rules won't work.
Ensure RxJS is ^7.2.0 and TypeScript >=4.8.4 <6.1.0.
npm install eslint-plugin-rxjs-x --save-dev
Use flat config: import rxjsX from 'eslint-plugin-rxjs-x' and extend rxjsX.configs.recommended.
Use 'import rxjsX from 'eslint-plugin-rxjs-x'' in ESM context.
Add 'projectService: true' to parserOptions and ensure tsconfig is present.
Switch to ESM or use dynamic import: const rxjsX = await import('eslint-plugin-rxjs-x').then(m => m.default);