[!CAUTION]
Possible problem (and breaking change):
If users change their tsconfig.json from strict: true to strict: false and break the rules enforced in this PR, our SDK build will fail.
This isn't a big deal since the recommendation is to start all new TS projects with strict: true.
Also, problems caused by mismatches between the user's tsconfig.json and the one used to compile the SDK aren't new - it's just that strict options specifically didn't have this problem because the SDK was using strict: false (the most permissive possible setting).
The good news is that I've stumbled upon a way to fix most of our SDK-related TS config problems (and possibly even framework-code-related problems). I already have a POC and will document it with an issue ASAP. This is all already covered by #1827.
Extra stuff to do before merging:
[x] Update tests.
[x] Update changelog.
[x] Update the issue relevant for the remaining options.
[x] Update the relevant issue with a comment on project references.
Fixes #2010
This isn't a big deal since the recommendation is to start all new TS projects with
strict: true
.Also, problems caused by mismatches between the user's
tsconfig.json
and the one used to compile the SDK aren't new - it's just thatstrict
options specifically didn't have this problem because the SDK was usingstrict: false
(the most permissive possible setting).The good news is that I've stumbled upon a way to fix most of our SDK-related TS config problems (and possibly even framework-code-related problems). I already have a POC and will document it with an issue ASAP. This is all already covered by #1827.
Extra stuff to do before merging: