eclipsesource / jsonforms

Customizable JSON Schema-based forms with React, Angular and Vue support out of the box.
http://jsonforms.io
Other
2.11k stars 358 forks source link

Increase strictness of `tsconfig` #2255

Open ansemb opened 7 months ago

ansemb commented 7 months ago

Is your feature request related to a problem? Please describe.

Currently tsconfig.base.json has quite low strictness, and Typescript is not helping the developer as much as it could.

Also, there is a higher change of bugs arising without this strictness.

I suggest "strict": true and "noUncheckedIndexedAccess": true is added to tsconfig, but there are also some other settings that could be interesting.

Matt Pocock has a good blog post here: https://www.totaltypescript.com/tsconfig-cheat-sheet.

In case this is something that could be added, we should start by updating @jsonforms/core and could afterwards do other packages.

It would require quite a bit of (small) changes several places.

Describe the solution you'd like

packages/core/tsconfig.json:

{
  "compilerOptions": {
    "verbatimModuleSyntax": true,
    /* strictness */
    "strict": true,
    "noUncheckedIndexedAccess": true,
  }
}

see also:

Describe alternatives you've considered

.

Framework

Core

RendererSet

No response

Additional context

No response

lucas-koehler commented 7 months ago

Hi @ansemb, thanks for raising this issue :) I agree that stricter TypeScript settings is desirable. We would certainly accept contributions that improve this for (parts of) the codebase. Generally, it would be nicer if changes can be done directly in the tsconfig.base.json and fixed for all packages. However, that might be too much effort at once. Thus, smaller improvements are certainly welcome, too :+1: