The project was initially written without TypeScript. As a result, some areas of the codebase are implemented in ways that both violate strict mode checks and do not conform to typical TypeScript design patterns. By having strict mode disabled to accomodate this, we are limiting TypeScript's ability to detect and report problems before they are discovered at runtime.
Best practices that should ideally be implemented to properly turn on strict mode:
Model provider payload structures with type interfaces, avoid any types.
Convert usages of class to interface when it's being used strictly as a type checking utility (JavaScript carry-over).
Avoid bandaid fixes (// @ts-ignore), logic should be rewritten with TypeScript warnings in mind.
Enabling Strict Mode in tsconfig.json
Remove "noImplicitUseStrict": true
Add "strict": true
This would be a good QOL change. Feel free to pick it up and submit a PR.
The project was initially written without TypeScript. As a result, some areas of the codebase are implemented in ways that both violate strict mode checks and do not conform to typical TypeScript design patterns. By having strict mode disabled to accomodate this, we are limiting TypeScript's ability to detect and report problems before they are discovered at runtime.
Best practices that should ideally be implemented to properly turn on strict mode:
any
types.class
tointerface
when it's being used strictly as a type checking utility (JavaScript carry-over).// @ts-ignore
), logic should be rewritten with TypeScript warnings in mind.Enabling Strict Mode in tsconfig.json
"noImplicitUseStrict": true
"strict": true
This would be a good QOL change. Feel free to pick it up and submit a PR.