cartant / rxjs-tslint-rules

TSLint rules for RxJS
https://cartant.github.io/rxjs-tslint-rules/
MIT License
371 stars 22 forks source link

Best or more strict configuration of rxjs-tslint #58

Open pablorsk opened 6 years ago

pablorsk commented 6 years ago

What is the best configuration or more strict configuration of rxjs-tslint-rules?

        "rxjs-add": true,
        "rxjs-ban-observables": true,
        "rxjs-ban-operators": true,
        "rxjs-deep-operators": true,
        "rxjs-no-create": true,
        "rxjs-no-unsafe-catch": true,
        "rxjs-no-unsafe-first": true,
        "rxjs-no-unsafe-switchmap": true,
        "rxjs-no-unsafe-takeuntil": true,
        "rxjs-no-unused-add": true,
        "rxjs-no-wholesale": true,
        "rxjs-throw-error": true,

On tslint, all rules=true is the more strict method. This rules too?

cartant commented 6 years ago

No. You cannot just enable all of the rules. Some rules are contradictory. For example, enabling both rxjs-finnish and rxjs-no-finnish would make no sense.

You will need to read the rule descriptions and will need to decide which rules you think are appropriate.

Also, quite a few of the rules are v5-only. This information is in the rules' metadata and said rules will be deprecated/disabled if used with an RxJS v6 project. At some stage, I'll add some information to the README's table so it's more obvious.

I've spoken with Ben Lesh about compiling a recommended list of rules and adding them to the rxjs-tslint package, but this has not yet been done.

cartant commented 5 years ago

@pablorsk If you are interested, I've done some rearranging of my projects to consolidate the RxJS linting rules that I use into one shared location: @cartant/tslint-config-rxjs.

With it, the tslint.json files in my projects look like this.

I'm undecided on rxjs-no-unsafe-scope as an error. I might switch to be just be a warning.

the-ult commented 5 years ago

Is it possible to create a shareable rxjs-tslint-rules:recommended in this project from which we can extend? And describe it in the readme.md

Like:

@see https://github.com/cartant/eslint-plugin-rxjs/issues/40

cartant commented 5 years ago

See this comment in the repo that contains the ESLint versions of these rules.