I'll annotate each lint individually.
Details
Flow
Diff Detail
- Repository
- rCOMM Comm
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
| lib/.flowconfig | ||
|---|---|---|
| 15–17 ↗ | (On Diff #34344) | I found these lints a little overzealous. They warn anytime somebody checks if (something) where something is eg. a ?number. The lint would want us to be more explicit, but in my opinion if (something !== null && something !== undefined) is a bit too verbose |
| 18 ↗ | (On Diff #34344) | I can't tell if this Lint is doing anything outside of strict mode. Strict mode isn't mentioned here, but the lint is listed here. It's possible that this is being correctly enforced and we just don't have any such errors. I believe an earlier version of Flow forced us to type much (if not all) of our untyped libraries |
| 19 ↗ | (On Diff #34344) | This Lint doesn't do anything unless we enable strict mode. I figured I'd set the Lint to error anyways, just in case we enable strict mode in the future |
| 20 ↗ | (On Diff #34344) | This Lint only bothers you if you use bool instead of boolean |
| 21 ↗ | (On Diff #34344) | This Lint is probably a good idea to enable, but would take a lot of work for me right now since we have getters and setters in several places in the codebase |
| 22 ↗ | (On Diff #34344) | This Lint flagged a bunch of places where we appropriately use invariants, such as when checking the rest of an index into an object (object[index]). For some reason, Flow doesn't treat that as nullable, which hides type errors and makes this Lint return a lot of false positives. Besides those, there are some other places we use invariants just as a "sanity check" (not to refine types) |
| 23 ↗ | (On Diff #34344) | This Lint is already enabled |