Registry / testing / eslint-plugin-rxjs-x

eslint-plugin-rxjs-x

JSON →
library1.0.2jsnpmunverified

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-x
INSTALL
IMPORT
SIG · ESLINT-PLUGIN-RXJS
E
eslint-plugin-rxjs-x
testingjavascriptv1.0.2
Install
—
Import
—
Disk
—
Pass rate
0/ 6
Env Coverage0 / 6
glibc
18–22
musl
18–22
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
node 18–226 runs
build_error
glibc
node 18–226 runs
build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

default import
✓ import rxjsX from 'eslint-plugin-rxjs-x'
✗ const rxjsX = require('eslint-plugin-rxjs-x')
ESM-only; CommonJS require() is not supported.
configs
✓ rxjsX.configs.recommended
✗ rxjsX.configs['recommended']
Access via property, not bracket notation with string key.
rules prefix in inline comments
✓ // eslint-disable-next-line rxjs-x/no-subject-value
✗ // eslint-disable-next-line rxjs/no-subject-value
Namespace changed from 'rxjs' to 'rxjs-x' in v1.0.0.
flat config with typescript-eslint
✓ import tseslint from 'typescript-eslint'; import rxjsX from 'eslint-plugin-rxjs-x'; export default tseslint.config({ extends: [...tseslint.configs.recommended, rxjsX.configs.recommended], languageOptions: { parserOptions: { projectService: true } } })
✗ module.exports = { plugins: ['rxjs-x'], extends: ['plugin:rxjs-x/recommended'] }
eslintrc style configs are not supported in v1.0.0; only flat config with import/export.

Sets up ESLint flat config with typescript-eslint and eslint-plugin-rxjs-x recommended rules for typed RxJS linting.

// @ts-check import { defineConfig } from 'eslint/config'; import tseslint from 'typescript-eslint'; import rxjsX from 'eslint-plugin-rxjs-x'; export default defineConfig({ extends: [ tseslint.configs.recommended, rxjsX.configs.recommended, ], languageOptions: { parserOptions: { projectService: true, }, }, });
Debug
Known issues
breakingESLint v10 required; Node.js v18 support dropped.
fix
Upgrade to ESLint ^10.0.1 and Node.js ^20.19.0 || ^22.13.0 || >=24.
affects: >=1.0.0
breakingeslintrc config no longer supported; only flat config with import/export.
fix
Migrate to flat config using import statements and defineConfig.
affects: >=1.0.0
breakingNamespace changed from 'rxjs' to 'rxjs-x'; all rule references must be updated.
fix
Replace 'rxjs/' with 'rxjs-x/' in all ESLint config rules and inline disable comments.
affects: >=1.0.0
breakingRule 'rxjs/no-ignored-observable' replaced by 'rxjs-x/no-floating-observable'.
fix
Use 'rxjs-x/no-floating-observable' instead of 'rxjs/no-ignored-observable'.
affects: >=1.0.0
deprecated'recommended-legacy' config removed in v1; use flat config only.
fix
Use rxjsX.configs.recommended in flat config.
affects: >=1.0.0
gotchaTyped linting requires projectService: true in parserOptions.
fix
Add 'projectService: true' to parserOptions; otherwise type-dependent rules won't work.
affects: >=1.0.0
gotchaPeer dep upper bounds: rxjs ^7.2.0, typescript <6.1.0.
fix
Ensure RxJS is ^7.2.0 and TypeScript >=4.8.4 <6.1.0.
affects: >=1.0.0
Errors
Common errors & fixes
Error: Cannot find module 'eslint-plugin-rxjs-x'
Package not installed or wrong import path.
fix
npm install eslint-plugin-rxjs-x --save-dev
Configuration for rule "rxjs-x/no-subject-value" is invalid: Value "error" is not a valid severity.
Using old eslintrc syntax with 'extends' containing 'plugin:rxjs-x/recommended'.
fix
Use flat config: import rxjsX from 'eslint-plugin-rxjs-x' and extend rxjsX.configs.recommended.
TypeError: eslint-plugin-rxjs-x is not a function
Using require() instead of import in flat config.
fix
Use 'import rxjsX from 'eslint-plugin-rxjs-x'' in ESM context.
Parsing error: ESLint was configured to run on files that are not included in the project's TypeScript configuration.
Missing 'projectService: true' or TypeScript config not found.
fix
Add 'projectService: true' to parserOptions and ensure tsconfig is present.
Cannot read properties of undefined (reading 'configs')
Importing default export incorrectly in CommonJS.
fix
Switch to ESM or use dynamic import: const rxjsX = await import('eslint-plugin-rxjs-x').then(m => m.default);
Upgrade
Version history
1.0.2latest on npm
Audit
Dependencies
eslintrequiredPeer dependency; plugin requires ESLint to function.
rxjsrequiredPeer dependency; rules check RxJS usage patterns.
typescriptrequiredPeer dependency; typed linting requires TypeScript.
Agent activity
4 hits · last 30 days
node
4
Resources
eslint-plugin-rxjs-x — npm install eslint-plugin-rxjs-x · libregistry