Conversation
SummaryThis PR evaluates SonarJS compatibility with TypeScript 6.0.1-rc. The primary change is reimplementing how strictness compiler options are tracked (avoiding a TypeScript internal API that changed in TS6), plus refinements to several rules to work correctly with TS6's type analysis improvements. What reviewers should knowStart with: Look at Key subtleties:
What to verify: This is an evaluation branch, not a stable release. Check that all tests pass and note any unexpected failures—they'll indicate what still needs compatibility work.
|
eecf520 to
75a6a1c
Compare
There was a problem hiding this comment.
Conclusion: Minimal, correctly scoped evaluation PR. The --legacy-peer-deps flag is applied exactly where it needs to be — the cache-population step — and the Windows job inherits the same steps via the YAML anchor alias, so both platforms are covered. All downstream jobs restore the pre-built node_modules from cache and never call npm ci themselves, so no other CI steps need updating.
|
Follow-up on latest ruling evaluation after pinning synthesized compiler defaults to Scope of this estimate:
FP estimate (excluding S1874):
Main residual FP drivers:
Conclusion:
|
|




Summary
typescript@6.0.1-rc.npm ci --legacy-peer-deps) while@typescript-eslintpeer ranges still exclude TS6.Strictness Policy Evaluation
Policy A: Use TS6 default strictness everywhere (no override)
strictis not set.Policy B: Force non-strict only for synthesized programs (orphan/single-file)
defaultCompilerOptions.strict = falsefor synthesized programs (no project tsconfig context).Policy C: Compatibility-aware defaults for tsconfig-backed programs when user TS is
<6and strictness is implicitpackage.jsondependencies.<6.tsconfig+extendschain.strictis explicitly set, do not override.S3403in TypeScript sources (10 -> 3, delta-7), with no regressions on the tracked strictness-sensitive set (S6606,S4325,S1154,S6551,S3757) in overlapping files.Recommendation for TS6 GA
strictor sub-options), including throughextends.What I checked
packages/jsts/tests/program/options.test.ts.This PR remains an evaluation branch to capture TS6 readiness and migration strategy.