Registry / testing / eslint-plugin-rxjs-angular-x

eslint-plugin-rxjs-angular-x

JSON →
library1.0.1jsnpmunverified

Fork of the unmaintained eslint-plugin-rxjs-angular to provide ESLint v10+ rules for combining RxJS 7 with Angular. Current stable v1.0.1 requires ESLint ^10.0.0, Node ^20.19.0 || ^22.13.0 || >=24, TypeScript >=4.8.4 <6.1.0, and is ESM-only (no CJS support). Ships TypeScript types. Includes three rules requiring type information: prefer-async-pipe, prefer-composition, prefer-takeuntil. Regular releases with breaking changes between majors.

npm install eslint-plugin-rxjs-angular-x
INSTALL
IMPORT
SIG · ESLINT-PLUGIN-RXJS
E
eslint-plugin-rxjs-angular-x
testingjavascriptv1.0.1
Install
Import
Disk
Pass rate
0/ 6
Env Coverage0 / 6
glibc
1822
musl
1822
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 18226 runs
build_error
glibc
node 18226 runs
build_error
Code
Verified usage

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

default (plugin object)
import rxjsAngularX from 'eslint-plugin-rxjs-angular-x'
const rxjsAngularX = require('eslint-plugin-rxjs-angular-x')
Plugin is ESM-only since v1.0.0. CommonJS require will throw.
rules
import { rules } from 'eslint-plugin-rxjs-angular-x'
ESM named export. Works with destructuring.
configs
import { configs } from 'eslint-plugin-rxjs-angular-x'
Named export for configs object. v0.1.0+.

Flat ESLint config using eslint-plugin-rxjs-angular-x with type-aware linting and two example rules.

// @ts-check import { defineConfig } from 'eslint/config'; import tseslint from 'typescript-eslint'; import rxjsAngularX from 'eslint-plugin-rxjs-angular-x'; export default defineConfig({ extends: [ ...tseslint.configs.recommended, ], languageOptions: { parserOptions: { projectService: true, }, }, plugins: { 'rxjs-angular-x': rxjsAngularX, }, rules: { 'rxjs-angular-x/prefer-async-pipe': 'error', 'rxjs-angular-x/prefer-takeuntil': [ 'error', { checkComplete: true, checkDecorators: ['Component', 'Directive', 'Injectable'], alias: ['takeUntilDestroyed'], checkDestroy: false, }, ], }, });
Debug
Known issues
breakingESM-only since v1.0.0. CommonJS require fails.
fix
Switch to ESM imports (import ... from 'eslint-plugin-rxjs-angular-x') or downgrade to v0.x.
affects: >=1.0.0
breakingRequires ESLint v10 (was v9 in v0.x).
fix
Upgrade ESLint to ^10.0.0.
affects: >=1.0.0
breakingNode.js v18 no longer supported since v1.0.0.
fix
Use Node.js ^20.19.0 || ^22.13.0 || >=24.
affects: >=1.0.0
breakingrxjs peer dependency upper-bounded to ^7.2.0 in v0.1.2+. RxJS 8 is not supported.
fix
Ensure rxjs version is ^7.2.0.
affects: >=0.1.2
breakingTypeScript peer dependency upper-bounded to <6.1.0 in v1.0.1 (was <6.0.0 in v0.1.2).
fix
Use TypeScript >=4.8.4 <6.1.0.
affects: >=0.1.2
gotchaAll rules require TypeScript type information (marked with 💭).
fix
Configure languageOptions.parserOptions.projectService: true (or project: './tsconfig.json'). See typescript-eslint typed linting guide.
affects: >=0.0.1
gotchaThis plugin is a fork of the unmaintained eslint-plugin-rxjs-angular. Rules and options may differ slightly.
fix
Review rule docs and migration guide in README if migrating from the original plugin.
affects: >=0.0.1
Errors
Common errors & fixes
Error [ERR_REQUIRE_ESM]: require() of ES Module .../eslint-plugin-rxjs-angular-x/index.js from ... not supported.
Using CommonJS require() on v1.0.0+ which is ESM-only.
fix
Use ESM import syntax (import rxjsAngularX from 'eslint-plugin-rxjs-angular-x') or downgrade to v0.x.
ESLint configuration error: Cannot find module 'eslint-plugin-rxjs-angular-x'
Plugin not installed, or ESM/CJS mismatch (e.g., flat config using CJS require).
fix
Run 'npm install eslint-plugin-rxjs-angular-x' and use ESM import in flat config.
Failed to load parser 'typescript-eslint/parser' (or 'Error: @typescript-eslint/parser requires TypeScript >=4.8.4').
Missing or incompatible typescript peer dependency.
fix
Install typescript >=4.8.4 <6.1.0 as a dev dependency.
Error: Rule 'rxjs-angular-x/prefer-async-pipe' requires type information.
Type information not configured (projectService or project missing).
fix
Add parserOptions.projectService: true (or project: './tsconfig.json') to your ESLint config.
Cannot find module '@typescript-eslint/utils'
Missing dependency on @typescript-eslint/utils (peer of eslint-plugin-rxjs-angular-x).
fix
Install @typescript-eslint/utils ^8.56.0 (or let npm/pnpm handle peer deps).
Upgrade
Version history
1.0.1latest on npm
Audit
Dependencies
eslintrequiredpeer dependency - required to run rules
rxjsrequiredpeer dependency - plugin checks RxJS usage patterns
typescriptrequiredpeer dependency - rules need TypeScript type information
@typescript-eslint/utilsrequiredruntime dependency for ESLint utility functions
ts-api-utilsrequiredruntime dependency for TypeScript API utilities
Agent activity
4 hits · last 30 days
node
4
Resources