tsoa icon indicating copy to clipboard operation
tsoa copied to clipboard

Stricter code checks

Open WoH opened this issue 3 years ago • 0 comments

Both eslint and typescript-eslint have a bunch of useful rules we had to turn off when switching from tslint although they very helpful. An incomplete list, mostly geared towards the tsoa, runtime and cli packages:

  • [ ] Strict tsconfig in all packages
  • [ ] @typescript-eslint/explicit-module-boundary-types
  • [ ] @typescript-eslint/member-delimiter-style
  • [ ] @typescript-eslint/no-explicit-any
  • [ ] @typescript-eslint/no-floating-promises
  • [ ] @typescript-eslint/no-non-null-assertion
  • [ ] @typescript-eslint/no-parameter-properties
  • [ ] @typescript-eslint/no-unsafe-assignment
  • [ ] @typescript-eslint/no-unsafe-call
  • [ ] @typescript-eslint/no-unsafe-argument
  • [ ] @typescript-eslint/no-unsafe-member-access
  • [ ] @typescript-eslint/no-unsafe-return
  • [ ] @typescript-eslint/no-unused-expressions
  • [ ] '@typescript-eslint/no-unused-vars (prefix would be fine)
  • [x] @typescript-eslint/no-namespace
  • [x] arrow-parens
  • [x] max-classes-per-file
  • [x] no-array-constructor
  • [x] no-empty-function
  • [x] no-fallthrough
  • [x] no-invalid-this
  • [ ] no-shadow
  • [x] require-await
  • [x] valid-typeof

Current numbers:

@typescript-eslint/ban-types - 49 issues
@typescript-eslint/explicit-module-boundary-types - 131 issues
@typescript-eslint/member-delimiter-style - 707 issues
@typescript-eslint/no-explicit-any - 547 issues
@typescript-eslint/no-non-null-assertion - 77 issues
@typescript-eslint/no-unsafe-assignment - 487 issues
@typescript-eslint/no-unsafe-call - 52 issues
@typescript-eslint/no-unsafe-member-access - 1291 issues
@typescript-eslint/no-unsafe-return - 121 issues
@typescript-eslint/no-var-requires - 5 issues
no-shadow - 113 issues

overrides:
decorators/*.ts
@typescript-eslint/no-unused-vars - 29 issues

tests/**/*.ts
@typescript-eslint/require-await - 149 issues
@typescript-eslint/no-unused-vars - 240 issues
@typescript-eslint/no-floating-promises - 18 warnings
@typescript-eslint/restrict-template-expressions - 22 warnings

In case anyone wants to add a PR, even just for a subset of issues one of the rules would report, please help out.

WoH avatar Dec 30 '21 13:12 WoH