eslint-plugin-rxjs-x weekly downloads statistics
By JasonWeinzierl · npm · ESLint plugins
Modern ESLint plugin for RxJS
eslint-plugin-rxjs-x has 73,259 recorded weekly downloads on npm, a decrease of 19.3% over the past 30 days.
It ranks #486 of 2,251 tracked npm listings by weekly downloads.
Over 90 days, weekly downloads changed by +34.5%.
PluginStats has 121 daily observations since Jun 19, 2026; the latest is from Oct 17, 2026.
About eslint-plugin-rxjs-x
eslint-plugin-rxjs-x
[!NOTE] Forked from eslint-plugin-rxjs as the original repository seems no longer maintained.
This ESLint plugin is intended to prevent issues with RxJS 7.
Most of these rules require TypeScript typed linting and are indicated as such below.
Installation Guide (Flat Configuration)
See typescript-eslint's Getting Started for a full ESLint setup guide.
1. Install eslint-plugin-rxjs-x using your preferred package manager. 2. Enable typed linting. • See Linting with Type Information for more information. 3. Import this plugin into your config. Add the rxjsX.configs.recommended shared config to your configuration like so:
Additionally, consider if the rxjsX.configs.strict shared config is right for your project.
Notable Changes from eslint-plugin-rxjs
1. eslintrc is not supported. 2. The namespace of this plugin is rxjs-x instead of rxjs. • e.g. if your ESLint config had "rxjs/no-subject-value": "error", replace it with "rxjs-x/no-subject-value": "error". • e.g. if your project had inline comments like // eslint-disable-next-line rxjs/no-async-subscribe, replace them with // eslint-disable-next-line rxjs-x/no-async-subscribe. 3. rxjs/no-ignored-observable is replaced with rxjs-x/no-floating-observables.
[!TIP] A complete description of all changes from eslint-plugin-rxjs are documented in the CHANGELOG file.
Configs
| | Name | | :- | :------------ | | ✅ | recommended | | 🔒 | strict |
Rules
The package includes the following rules.
💼 Configurations enabled in.\ ✅ Set in the recommended configuration.\ 🔒 Set in the strict configuration.\ 🔧 Automatically fixable by the --fix CLI option.\ 💡 Manually fixable by editor suggestions.\ 💭 Requires type information.
| Name | Description | 💼 | 🔧 | 💡 | 💭 |
| ban-observables | Disallow banned observable creators. | | | | | | ban-operators | Disallow banned operators. | | | | 💭 | | finnish | Enforce Finnish notation. | | | | 💭 | | just | Require the use of just instead of of. | | 🔧 | | | | no-async-subscribe | Disallow passing async functions to subscribe. | ✅ 🔒 | | | 💭 | | no-connectable | Disallow operators that return connectable observables. | | | | 💭 | | no-create | Disallow the static Observable.create and Subject.create functions. | ✅ 🔒 | | | 💭 | | no-cyclic-action | Disallow cyclic actions in effects and epics. | | | | 💭 | | no-explicit-generics | Disallow unnecessary explicit generic type arguments. | | | | 💭 | | no-exposed-subjects | Disallow public and protected subjects. | 🔒 | | | 💭 | | no-finnish | Disallow Finnish notation. | | | | 💭 | | no-floating-observables | Require Observables to be handled appropriately. | 🔒 | | | 💭 | | no-ignored-default-value | Disallow using firstValueFrom, lastValueFrom, first, and last without specifying a default value. | 🔒 | | | 💭 | | no-ignored-error | Disallow calling subscribe without specifying an error handler. | 🔒 | | | 💭 | | no-ignored-notifier | Disallow observables not composed from the repeatWhen or retryWhen notifier. | ✅ 🔒 | | | 💭 | | no-ignored-replay-buffer | Disallow using ReplaySubject, publishReplay or shareReplay without specifying the buffer size. | ✅ 🔒 | | | | | no-ignored-subscribe | Disallow calling subscribe without specifying arguments. | | | | 💭 | | no-ignored-subscription | Disallow ignoring the subscription returned by subscribe. | | | | 💭 | | no-ignored-takewhile-value | Disallow ignoring the value within takeWhile. | ✅ 🔒 | | | | | no-implicit-any-catch | Disallow implicit any error parameters in catchError, subscribe, and tap. | ✅ 🔒 | 🔧 | 💡 | 💭 | | no-index | Disallow importing index modules. | ✅ 🔒 | | | | | no-internal | Disallow importing internal modules. | ✅ 🔒 | 🔧 | 💡 | | | no-misused-observables | Disallow Observables in places not designed to handle them. | 🔒 | | | 💭 | | no-nested-subscribe | Disallow calling subscribe within a subscribe callback. | ✅ 🔒 | | | 💭 | | no-redundant-notify | Disallow sending redundant notifications from completed or errored observables. | ✅ 🔒 | | | 💭 | | no-sharereplay | Disallow unsafe shareReplay usage. | ✅ 🔒 | | | | | no-sharereplay-before-takeuntil | Disallow using shareReplay({ refCount: false }) before takeUntil. | 🔒 | | | | | no-subclass | Disallow subclassing RxJS classes. | 🔒 | | | 💭 | | no-subject-unsubscribe | Disallow calling the unsubscribe method of subjects. | ✅ 🔒 | | | 💭 | | no-subject-value | Disallow accessing the value property of a BehaviorSubject instance. | | | | 💭 | | no-subscribe-handlers | Disallow passing handlers to subscribe. | | | | 💭 | | no-subscribe-in-pipe | Disallow calling of subscribe within any RxJS operator inside a pipe. | ✅ 🔒 | | | 💭 | | no-topromise | Disallow use of the toPromise method. | ✅ 🔒 | | 💡 | 💭 | | no-unbound-methods | Disallow passing unbound methods. | ✅ 🔒 | | | 💭 | | no-unnecessary-collection | Disallow unnecessary usage of collection arguments with single values. | 🔒 | | | | | no-unsafe-catch | Disallow unsafe catchError usage in effects and epics. | | | | 💭 | | no-unsafe-first | Disallow unsafe first/take usage in effects and epics. | | | | 💭 | | no-unsafe-subject-next | Disallow unsafe optional next calls. | ✅ 🔒 | | | 💭 | | no-unsafe-switchmap | Disallow unsafe switchMap usage in effects and epics. | | | | 💭 | | no-unsafe-takeuntil | Disallow applying operators after takeUntil. | ✅ 🔒 | | | 💭 | | prefer-observer | Disallow passing separate handlers to subscribe and tap. | ✅ 🔒 | 🔧 | 💡 | 💭 | | prefer-root-operators | Disallow importing operators from rxjs/operators. | ✅ 🔒 | 🔧 | 💡 | | | suffix-subjects | Enforce the use of a suffix in subject identifiers. | | | | 💭 | | throw-error | Enforce passing only Error values to throwError or Subject.error. | ✅ 🔒 | | 💡 | 💭 |
Description from the npm listing.
- lint
- rules
- eslint
- eslintplugin
- eslint-plugin
- rxjs
Where eslint-plugin-rxjs-x sits in the listing
Each band is one page of 20. Weekly downloads on a log scale. Placement is projected from weekly downloads, so it can differ from the marketplace's own sort order. Hover a dot to see the listing.
Charts
Images: 30d · 1y · all time · 1600×900 dark
Adoption over time
7/30/90-day growth
Filled points are observed values; hollow points come from Internet Archive snapshots of the listing page. Dashed segments span periods with no observations — values between points are not interpolated.
Recent observations
Full history (121)Similar npm ESLint plugins plugins
Data source
Weekly downloads (trailing 7 complete days) come from the official npm downloads API. Downloads include CI and mirrors and are not equivalent to installs or users. npm publishes no ratings.
Listing: https://www.npmjs.com/package/eslint-plugin-rxjs-x. First seen Oct 16, 2026; last successful collection Oct 18, 2026. See the methodology.