Home

Awesome

eslint-plugin-rxjs-angular

GitHub License NPM version Downloads Build status dependency status devDependency Status peerDependency Status

This package contains ESLint versions of the Angular/RxJS rules that are in the rxjs-tslint-rules package.

There is no recommended configuration for this package, as all of the rules are opinionated.

Install

Install the ESLint TypeScript parser using npm:

npm install @typescript-eslint/parser --save-dev

Install the package using npm:

npm install eslint-plugin-rxjs-angular --save-dev

Configure the parser and the parserOptions for ESLint. Here, I use a .eslintrc.js file for the configuration:

const { join } = require("path");
module.exports = {
  parser: "@typescript-eslint/parser",
  parserOptions: {
    ecmaVersion: 2019,
    project: join(__dirname, "./tsconfig.json"),
    sourceType: "module"
  },
  plugins: ["rxjs-angular"],
  extends: [],
  rules: {
    "rxjs-angular/prefer-async-pipe": "error"
  }
};

Rules

The package includes the following rules:

RuleDescriptionRecommended
prefer-async-pipeForbids the calling of subscribe within Angular components.No
prefer-compositionForbids subscribe calls that are not composed within Angular components (and, optionally, within services, directives, and pipes).No
prefer-takeuntilForbids Calling subscribe without an accompanying takeUntil.No