{"id":19927,"library":"eslint-plugin-rxjs-updated","title":"eslint-plugin-rxjs-updated","description":"A community fork of cartant's eslint-plugin-rxjs that updates the plugin for compatibility with ESLint v9 and TypeScript 4+. It provides a comprehensive set of ESLint rules for RxJS, including recommended configurations and fixers, but does not accept PRs for new features or bug fixes — users should contact the original maintainer for upstream issues. Current stable version is 1.0.50, with regular weekly dependency updates. The package requires eslint ^9.0.0 and typescript >=4.0.0 as peer dependencies, and ships TypeScript type definitions. It is essentially a drop-in replacement for the original eslint-plugin-rxjs for projects migrating to ESLint 9.","status":"active","version":"1.0.50","language":"javascript","source_language":"en","source_url":"https://github.com/fast-facts/eslint-plugin-rxjs","tags":["javascript","lint","rules","eslint","rxjs","typescript"],"install":[{"cmd":"npm install eslint-plugin-rxjs-updated","lang":"bash","label":"npm"},{"cmd":"yarn add eslint-plugin-rxjs-updated","lang":"bash","label":"yarn"},{"cmd":"pnpm add eslint-plugin-rxjs-updated","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency: requires ESLint v9.x for compatibility","package":"eslint","optional":false},{"reason":"peer dependency: almost all rules require TypeScript parser (>=4.0.0)","package":"typescript","optional":false},{"reason":"required as the ESLint parser for project configuration","package":"@typescript-eslint/parser","optional":false}],"imports":[{"note":"Plugin is imported as a default export (ESM). In CommonJS, use const rxjs = require('eslint-plugin-rxjs-updated').","wrong":"const rxjs = require('eslint-plugin-rxjs-updated')","symbol":"eslint-plugin-rxjs-updated (plugin object)","correct":"import rxjs from 'eslint-plugin-rxjs-updated'"},{"note":"The plugin is registered as 'rxjs' in the plugins array (not 'rxjs-updated' due to the package name mapping). Rules are referenced with the 'rxjs/' prefix.","wrong":"\"plugins\": [\"rxjs-updated\"]","symbol":"rules (individual rules via config)","correct":"\"rules\": {\"rxjs/no-async-subscribe\": \"error\"}"},{"note":"The config namespace is 'rxjs' not 'rxjs-updated'. The plugin's name in ESLint is derived from the package name minus '-updated'.","wrong":"\"extends\": [\"plugin:rxjs-updated/recommended\"]","symbol":"configs (recommended config)","correct":"\"extends\": [\"plugin:rxjs/recommended\"]"}],"quickstart":{"code":"// Install: npm install eslint-plugin-rxjs-updated @typescript-eslint/parser --save-dev\n// .eslintrc.cjs\nconst { join } = require('path');\nmodule.exports = {\n  parser: '@typescript-eslint/parser',\n  parserOptions: {\n    ecmaVersion: 2020,\n    project: join(__dirname, './tsconfig.json'),\n    sourceType: 'module'\n  },\n  plugins: ['rxjs'],\n  extends: ['plugin:rxjs/recommended'],\n  rules: {\n    'rxjs/no-async-subscribe': 'error',\n    'rxjs/no-ignored-observable': 'error',\n    'rxjs/no-ignored-subscription': 'error',\n    'rxjs/no-nested-subscribe': 'error',\n    'rxjs/no-unbound-methods': 'error',\n    'rxjs/throw-error': 'error'\n  }\n};","lang":"javascript","description":"Minimal ESLint v9 configuration using the recommended RxJS ruleset with TypeScript parser."},"warnings":[{"fix":"Use eslint-plugin-rxjs (original) for ESLint v8 projects. This fork only supports ESLint v9.","message":"Requires ESLint v9 — not compatible with ESLint v8 or earlier.","severity":"breaking","affected_versions":">=1.0.0"},{"fix":"Use 'rxjs' in plugins and extends (e.g., 'plugin:rxjs/recommended').","message":"Plugin name in ESLint config is 'rxjs' not 'rxjs-updated' — ESLint derives the name from the package name minus the '-updated' suffix.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Report issues to the original eslint-plugin-rxjs repository. Do not expect fixes or new rules here.","message":"No new features or bug fixes accepted — this is a maintenance fork only.","severity":"breaking","affected_versions":">=1.0.0"},{"fix":"Pin version and migrate to original plugin if upstream resolves ESLint v9 compatibility.","message":"Some rules (e.g., fiverr) may be removed in future versions; the fork is not actively maintained for upstream changes.","severity":"deprecated","affected_versions":">=1.0.0"},{"fix":"Ensure parserOptions.project points to a valid tsconfig.json and update @typescript-eslint/parser to v8+ for ESLint v9.","message":"TypeScript and @typescript-eslint/parser v6+ may have breaking changes for project configuration — ensure your tsconfig.json is compatible.","severity":"gotcha","affected_versions":">=1.0.0"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Ensure eslint-plugin-rxjs-updated is installed. Although the plugin name in ESLint is 'rxjs', the module is found under 'eslint-plugin-rxjs-updated'. Do NOT install eslint-plugin-rxjs separately.","cause":"Installed eslint-plugin-rxjs-updated but referenced as 'rxjs' in ESLint config, but package is not actually named 'eslint-plugin-rxjs'.","error":"Error: Failed to load plugin 'rxjs' declared in 'plugins': Cannot find module 'eslint-plugin-rxjs'"},{"fix":"Check the path in parserOptions.project: use join(__dirname, './tsconfig.json') or absolute path.","cause":"parserOptions.project points to a tsconfig.json that doesn't exist or is not accessible.","error":"Parsing error: Cannot read file 'tsconfig.json'"},{"fix":"Add parserOptions.project with path to your tsconfig.json.","cause":"Missing parserOptions.project when using rules that require type information.","error":"Error: @typescript-eslint/parser requires a project path to use TypeScript rules"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}