v0.1.75
What's Changed
- fix(checker): recover imported generic callees in the flow syntactic call fallback via on-demand forcing retry by @mohsen1 in #17626
- fix(checker,binder): a CommonJS export member never hosts nested expando growth by @mohsen1 in #17628
- fix(checker): keep the provisional self-window construct return out of new-expression results (zod TS2322 false positive) by @mohsen1 in #17627
- fix(checker): membership-monotone lib symbol_types write blocks heritage-thin body (#17595) by @mohsen1 in #17631
- fix(checker): expand deferred conditional TS2322 source to branch union against concrete target by @mohsen1 in #17635
- fix(checker): resolve deferred class self-references to the instance type, not the default-export value (spurious TS2344, #17570 rows 5/6) by @mohsen1 in #17629
- fix(solver/checker): symbol-keyed object-literal members skipped by every index-signature check when the target also has a string index by @mohsen1 in #17632
- fix(arch): unblock main's #8225 guard breach + delist issue_14123 mismatch row via harness fidelity by @mohsen1 in #17640
- fix(checker): user identity-homomorphic mapped wrappers are transparent for return-context inference by @mohsen1 in #17642
- fix(checker): arena-collided lib-generic application members no longer degrade to their declaration defaults (Generator[Y, R] false negative) by @mohsen1 in #17633
- fix(checker): TS2339 on a JS this-receiver never displays the enclosing function's own name by @mohsen1 in #17647
- fix(solver): alias-over-base provenance channels agree — restores any-instantiated override-return variance accept (zod 5×TS2416, #17630) by @mohsen1 in #17648
- fix(checker): adopt the cached maximal lib body when rejecting a thin re-derivation (#17641) by @mohsen1 in #17651
- fix(solver): a discriminant property requires its whole type to be unit-like, not one unit constituent (#17643) by @mohsen1 in #17650
- fix(solver,lowering): merged-interface overload resolution tries later declaration groups first (tsc reorderCandidates) by @mohsen1 in #17652
- fix(checker): JS object-literal local's TS2339 receiver displays its structural shape, never
typeof NAME(#17622 adjacent gap 1) by @mohsen1 in #17653 - fix(checker): ambient and abstract bodiless method overrides get the TS2416/TS2417 compat check (#17649) by @mohsen1 in #17656
- fix(checker): TS2416 for an overloaded method override anchors once per declaration, not once per name (#17655) by @mohsen1 in #17657
- fix(checker): cross-file merged-interface calls try the later file's declaration group first (tsc reorderCandidates) by @mohsen1 in #17658
- fix(checker): JS this inside a function-owner's property binds to its merged expando shape, not typeof <name> (#17654) by @mohsen1 in #17659
- fix(solver): merged-interface construct signatures resolve later declaration group first (tsc reorderCandidates) by @mohsen1 in #17660
- fix(solver): enum-typed discriminant narrows per nominal member value against member-typed union arms by @mohsen1 in #17661
- test(checker): pin construct-signature reorder fences for alias/generic/cross-file merges by @mohsen1 in #17663
- fix(checker): route two arch-source-scan regressions back through their boundaries by @mohsen1 in #17668
- fix(solver): share the whole-literal discriminant gate with tuple discriminated unions (#17643) by @mohsen1 in #17666
- fix(solver): number is assignable to a numeric enum member at every structural depth by @mohsen1 in #17664
- fix(checker,core): cross-file global function declarations merge into one overload set (tsc reorderCandidates groups) by @mohsen1 in #17665
- refactor(solver): split primitive/boxed-wrapper relations out of core_dispatch by @mohsen1 in #17669
- fix(solver): ambiguous same-base union return context combines arm candidates instead of intersecting per-arm bounds (#17643 remaining half) by @mohsen1 in #17667
- fix(checker): TS2694 for a value-only qualifier in a namespace-import JSDoc type (#17622) by @mohsen1 in #17639
- fix(checker): enum display is bare except for a generalized relation source (#17661 residual b) by @mohsen1 in #17672
- fix(checker): typeof-import TS2694 names a same-module nested namespace by its export= target by @mohsen1 in #17676
- fix(solver): readonly-tuple spreads flatten like bare tuples in
[...A, ...B]instantiation (#17670) by @mohsen1 in #17671 - chore(conformance): refresh the committed snapshot to current main by @mohsen1 in #17679
- fix(solver): alias-wrapped ambiguous same-base union arms merge in the return-context scan (#17673 item 1) by @mohsen1 in #17677
- fix(checker): optional-parameter declared-type recovery keeps the implicit
undefinedby @mohsen1 in #17683 - fix(checker): skipLibCheck skips the post-merge default-lib recheck by @mohsen1 in #17681
- fix(checker): resolve lib-global interface heritage bases through the canonical name-keyed lib path (#16308) by @mohsen1 in #17691
- fix(checker): union-target TS2322 elaborates the best member's structural failure beneath a member frame by @mohsen1 in #17684
- fix(solver): keep a class application opaque while its instance is a registered provisional snapshot (#16055) by @mohsen1 in #17682
- test(checker): mixed literal/primitive mapped-type remap expects tsc's TS2322 by @mohsen1 in #17689
- chore(readme): refresh benchmark image and stats by @mohsen1 in #17692
- fix(checker): preserve contextual inference for tagged templates in the node-type cache (#17673 item 2) by @mohsen1 in #17690
- fix(solver): disjoint enum-branded inference candidates first-wins instead of unioning by @mohsen1 in #17680
- fix(solver): blocked union-arm bindings keep the return context ambiguous (#17673 item 3) by @mohsen1 in #17685
- fix(solver): array/tuple union member sort prefers alloc order over sharded raw id by @mohsen1 in #17695
- fix(solver): permuting alias arms decompose through their forwarded application in return-context inference by @mohsen1 in #17696
- fix(solver): union display keys evaluated instantiations on alias provenance, not declaring symbol by @mohsen1 in #17699
- chore(release): bump try-tsz publish version to 0.1.75 by @mohsen1 in #17701
Full Changelog: v0.1.74...v0.1.75
What's Changed
- fix(checker): recover imported generic callees in the flow syntactic call fallback via on-demand forcing retry by @mohsen1 in #17626
- fix(checker,binder): a CommonJS export member never hosts nested expando growth by @mohsen1 in #17628
- fix(checker): keep the provisional self-window construct return out of new-expression results (zod TS2322 false positive) by @mohsen1 in #17627
- fix(checker): membership-monotone lib symbol_types write blocks heritage-thin body (#17595) by @mohsen1 in #17631
- fix(checker): expand deferred conditional TS2322 source to branch union against concrete target by @mohsen1 in #17635
- fix(checker): resolve deferred class self-references to the instance type, not the default-export value (spurious TS2344, #17570 rows 5/6) by @mohsen1 in #17629
- fix(solver/checker): symbol-keyed object-literal members skipped by every index-signature check when the target also has a string index by @mohsen1 in #17632
- fix(arch): unblock main's #8225 guard breach + delist issue_14123 mismatch row via harness fidelity by @mohsen1 in #17640
- fix(checker): user identity-homomorphic mapped wrappers are transparent for return-context inference by @mohsen1 in #17642
- fix(checker): arena-collided lib-generic application members no longer degrade to their declaration defaults (Generator[Y, R] false negative) by @mohsen1 in #17633
- fix(checker): TS2339 on a JS this-receiver never displays the enclosing function's own name by @mohsen1 in #17647
- fix(solver): alias-over-base provenance channels agree — restores any-instantiated override-return variance accept (zod 5×TS2416, #17630) by @mohsen1 in https://github.c...
v0.1.74
What's Changed
- fix(checker): deterministic sentinel preference in canonical lib-def election (#16309) by @mohsen1 in #17573
- fix(bench): exclude nextjs's runtime-gated row from the readiness missing-row gate by @mohsen1 in #17574
- test(cli): cover JSDoc typedef inline-import code fix at tsserver-protocol layer by @mohsen1 in #17575
- chore(conformance): refresh committed snapshot to current main by @mohsen1 in #17576
- Wire plain-value-root TS2503 check into JSDoc @PARAM path by @mohsen1 in #17577
- Wire JSDoc @return {this} TS2526 gate into value-position functions by @mohsen1 in #17579
- docs(roadmap): fourslash floor is exact 6,562/6,562, not 6,558/6,562 by @mohsen1 in #17580
- chore(conformance): refresh the committed snapshot to current main by @mohsen1 in #17581
- docs(roadmap): accepted-regressions floor is 0 active entries, not 14 by @mohsen1 in #17582
- fix(solver): reland narrowed dropped-nominal-symbol guard for class applications (#16055) by @mohsen1 in #17587
- fix(checker): defer premature TS2344 during static property-initializer constructor-shape build by @mohsen1 in #17589
- fix(emitter): report TS7056 for an unnameable self-referential recursive alias by @mohsen1 in #17590
- chore(release): bump try-tsz publish version to 0.1.72 by @mohsen1 in #17584
- chore(readme): refresh benchmark image and stats by @mohsen1 in #17583
- fix(bench): move the daily bench cron ahead of the gh-pages deploy again (#17561) by @mohsen1 in #17591
- fix(checker): defer premature TS2536/TS2344 during self-referential method-return-type prescan (#17585) by @mohsen1 in #17592
- hold: shrink known-failures baseline — 2 tsz-cli rows now pass by @mohsen1 in #17594
- fix(checker): only discard TS2536/TS2344 from the static-property-initializer prescan by @mohsen1 in #17597
- chore(readme): refresh benchmark image and stats by @mohsen1 in #17598
- feat(website): show project source size on the compatibility dashboard by @mohsen1 in #17600
- chore(release): bump try-tsz publish version to 0.1.73 by @mohsen1 in #17599
- hold: fix false-failing tsbuildinfo-not-writable test under root by @mohsen1 in #17601
- feat(website): show fixture stub fidelity on the compatibility dashboard by @mohsen1 in #17602
- fix(checker): stop silently dropping cross-arena child type_env merges by @mohsen1 in #17603
- test(checker): fix cross-module nested interface tests' SymbolId-collision harness bug by @mohsen1 in #17606
- test(checker): re-pin stale TS7014 JSDoc closure-function test to TS7's TS1005 rejection by @mohsen1 in #17607
- fix(checker): CommonJS exports.NAME forward-read reports TS2565 when RHS is non-aliasable by @mohsen1 in #17610
- fix(checker): CommonJS export-property reads use position, not whole-file last write by @mohsen1 in #17612
- chore(conformance): refresh the committed snapshot to current main by @mohsen1 in #17613
- fix(bench): peel a tag-object pin to its commit before verifying the checkout by @mohsen1 in #17615
- test(checker): re-pin 3 stale Closure-syntax JSDoc tests to TS7's TS1005 rejection, shrink known-failures 14 -> 11 by @mohsen1 in #17616
- fix(checker): recover parameter declared type for loop killing-definition reduction (drops genuine TS2339) by @mohsen1 in #17617
- chore(readme): refresh benchmark image and stats by @mohsen1 in #17620
- fix(cli): scanner numeric-literal parse errors arm the syntactic gate; strict-mode binder family routes semantic-phase by @mohsen1 in #17621
- fix(checker): defer a self-referential class constraint check instead of a degraded stand-in by @mohsen1 in #17619
- fix(solver): provenance-recovered application pairs must not accept via general variance measurement (order-dependent dropped TS2741) by @mohsen1 in #17618
- chore(release): bump try-tsz publish version to 0.1.74 by @mohsen1 in #17624
Full Changelog: v0.1.71...v0.1.74
What's Changed
- fix(checker): deterministic sentinel preference in canonical lib-def election (#16309) by @mohsen1 in #17573
- fix(bench): exclude nextjs's runtime-gated row from the readiness missing-row gate by @mohsen1 in #17574
- test(cli): cover JSDoc typedef inline-import code fix at tsserver-protocol layer by @mohsen1 in #17575
- chore(conformance): refresh committed snapshot to current main by @mohsen1 in #17576
- Wire plain-value-root TS2503 check into JSDoc @PARAM path by @mohsen1 in #17577
- Wire JSDoc @return {this} TS2526 gate into value-position functions by @mohsen1 in #17579
- docs(roadmap): fourslash floor is exact 6,562/6,562, not 6,558/6,562 by @mohsen1 in #17580
- chore(conformance): refresh the committed snapshot to current main by @mohsen1 in #17581
- docs(roadmap): accepted-regressions floor is 0 active entries, not 14 by @mohsen1 in #17582
- fix(solver): reland narrowed dropped-nominal-symbol guard for class applications (#16055) by @mohsen1 in #17587
- fix(checker): defer premature TS2344 during static property-initializer constructor-shape build by @mohsen1 in #17589
- fix(emitter): report TS7056 for an unnameable self-referential recursive alias by @mohsen1 in #17590
- chore(release): bump try-tsz publish version to 0.1.72 by @mohsen1 in #17584
- chore(readme): refresh benchmark image and stats by @mohsen1 in #17583
- fix(bench): move the daily bench cron ahead of the gh-pages deploy again (#17561) by @mohsen1 in #17591
- fix(checker): defer premature TS2536/TS2344 during self-referential method-return-type prescan (#17585) by @mohsen1 in #17592
- hold: shrink known-failures baseline — 2 tsz-cli rows now pass by @mohsen1 in #17594
- fix(checker): only discard TS2536/TS2344 from the static-property-initializer prescan by @mohsen1 in #17597
- chore(readme): refresh benchmark image and stats by @mohsen1 in #17598
- feat(website): show project source size on the compatibility dashboard by @mohsen1 in #17600
- chore(release): bump try-tsz publish version to 0.1.73 by @mohsen1 in #17599
- hold: fix false-failing tsbuildinfo-not-writable test under root by @mohsen1 in #17601
- feat(website): show fixture stub fidelity on the compatibility dashboard by @mohsen1 in #17602
- fix(checker): stop silently dropping cross-arena child type_env merges by @mohsen1 in #17603
- test(checker): fix cross-module nested interface tests' SymbolId-collision harness bug by @mohsen1 in #17606
- test(checker): re-pin stale TS7014 JSDoc closure-function test to TS7's TS1005 rejection by @mohsen1 in #17607
- fix(checker): CommonJS exports.NAME forward-read reports TS2565 when RHS is non-aliasable by @mohsen1 in #17610
- fix(checker): CommonJS export-property reads use position, not whole-file last write by @mohsen1 in #17612
- chore(conformance): refresh the committed snapshot to current main by @mohsen1 in #17613
- fix(bench): peel a tag-object pin to its commit before verifying the checkout by @mohsen1 in #17615
- test(checker): re-pin 3 stale Closure-syntax JSDoc tests to TS7's TS1005 rejection, shrink known-failures 14 -> 11 by @mohsen1 in #17616
- fix(checker): recover parameter declared type for loop killing-definition reduction (drops genuine TS2339) by @mohsen1 in #17617
- chore(readme): refresh benchmark image and stats by @mohsen1 in #17620
- fix(cli): scanner numeric-literal parse errors arm the syntactic gate; strict-mode binder family routes semantic-phase by @mohsen1 in #17621
- fix(checker): defer a self-referential class constraint check instead of a degraded stand-in by @mohsen1 in #17619
- fix(solver): pro...
v0.1.71
What's Changed
- chore(readme): refresh benchmark image and stats by @mohsen1 in #17463
- test(checker): pin class/namespace TS2300 static-overload adjacent cases by @mohsen1 in #17550
- fix(checker): TS2411 numeric-literal property names keep source spelling by @mohsen1 in #17552
- test(solver): same-priority candidates resolve to the first, not a union by @mohsen1 in #17555
- chore(conformance): refresh the committed snapshot to current main by @mohsen1 in #17556
- fix(checker): JS expando-container property lookups defer to the canonical cross-file var by @mohsen1 in #17557
- fix(solver): callback return-position candidates keep tsc's first-wins rule for disjoint primitives by @mohsen1 in #17559
- ci(bench): install pnpm so the required large-ts-repo row can run by @mohsen1 in #17560
- perf(solver): cache the program-invariant global Object prototype shape per SubtypeChecker by @mohsen1 in #17564
- fix(checker,solver): TS2403 here-has-type folds in a JS expando container's own file-local members by @mohsen1 in #17562
- chore(readme): refresh benchmark image and stats by @mohsen1 in #17563
- fix(bench): reclone a fixture that fails the standalone check instead of failing the row by @mohsen1 in #17566
- test(cli): re-pin cross_file_dependent_operand_aliases wrong assertion by @mohsen1 in #17568
- fix(checker): JSDoc @import alias to a value-only export is TS2749, not TS2694 (#17551) by @mohsen1 in #17571
- chore(release): bump try-tsz publish version to 0.1.71 by @mohsen1 in #17572
Full Changelog: v0.1.70...v0.1.71
What's Changed
- chore(readme): refresh benchmark image and stats by @mohsen1 in #17463
- test(checker): pin class/namespace TS2300 static-overload adjacent cases by @mohsen1 in #17550
- fix(checker): TS2411 numeric-literal property names keep source spelling by @mohsen1 in #17552
- test(solver): same-priority candidates resolve to the first, not a union by @mohsen1 in #17555
- chore(conformance): refresh the committed snapshot to current main by @mohsen1 in #17556
- fix(checker): JS expando-container property lookups defer to the canonical cross-file var by @mohsen1 in #17557
- fix(solver): callback return-position candidates keep tsc's first-wins rule for disjoint primitives by @mohsen1 in #17559
- ci(bench): install pnpm so the required large-ts-repo row can run by @mohsen1 in #17560
- perf(solver): cache the program-invariant global Object prototype shape per SubtypeChecker by @mohsen1 in #17564
- fix(checker,solver): TS2403 here-has-type folds in a JS expando container's own file-local members by @mohsen1 in #17562
- chore(readme): refresh benchmark image and stats by @mohsen1 in #17563
- fix(bench): reclone a fixture that fails the standalone check instead of failing the row by @mohsen1 in #17566
- test(cli): re-pin cross_file_dependent_operand_aliases wrong assertion by @mohsen1 in #17568
- fix(checker): JSDoc @import alias to a value-only export is TS2749, not TS2694 (#17551) by @mohsen1 in #17571
- chore(release): bump try-tsz publish version to 0.1.71 by @mohsen1 in #17572
Full Changelog: v0.1.70...v0.1.71
v0.1.70
What's Changed
- fix(solver): order tuple/array union members by widened element (stableTypeOrdering) by @mohsen1 in #17383
- fix(checker): report TS2576/TS2339 for super property access that misses the receiver side by @mohsen1 in #17387
- fix(lsp): rewrite unresolved JSDoc typedef references to inline import() types by @mohsen1 in #17386
- fix(solver): gate the array-element common-supertype id-sort on all-from-array (#9667 regression from #17380) by @mohsen1 in #17384
- fix(checker): gate super nonexistent-property diagnostics on super validity by @mohsen1 in #17388
- fix(checker): stop the JSDoc ancestor walk at an object/array literal boundary by @mohsen1 in #17389
- fix(checker): drop the alias name when a written-through alias body collapses to a pre-existing array/tuple by @mohsen1 in #17395
- test(checker): cover the property-assignment-RHS shape for the TS8030 literal-boundary fix by @mohsen1 in #17396
- fix(checker): CJS require() destructuring routes a missing name through TS2305, not TS2339 by @mohsen1 in #17398
- fix(checker): report TS2507 for non-constructor value-expression class bases by @mohsen1 in #17399
- fix(solver): deterministic object member display order in diagnostics (#16309) by @mohsen1 in #17392
- fix(solver): re-gate the array-element supertype id-sort to all-from-array (#9667) by @mohsen1 in #17397
- test(solver): restore the tuple-union source-order fixture's discriminating power by @mohsen1 in #17403
- fix(checker): unwrap assignment-expression RHS for nullish-widening and freshness by @mohsen1 in #17404
- fix(checker): TS7005 for a non-empty array literal widened to any[] by @mohsen1 in #17406
- test(cli): pin no-double-emission for TS18016 across all nine emission sites (#16279) by @mohsen1 in #17405
- fix(parser/checker): TS1029 for abstract-then-accessibility, correct TS1243 async anchor by @mohsen1 in #17408
- fix(checker): a function+namespace merged property write checks assignability by @mohsen1 in #17411
- fix(checker): TS7010 for array-literal return widening; TS7005 already-any false positive by @mohsen1 in #17412
- fix(checker): block-aware related-information normalization (#15388) by @mohsen1 in #17413
- fix(binder): named import specifiers keep string-literal export names by @mohsen1 in #17414
- fix(checker): TS7031 for a destructuring binding whose slot widens null/undefined to any by @mohsen1 in #17415
- chore(fourslash): regenerate snapshot at exact 6562/6562 parity by @mohsen1 in #17417
- fix(checker): JSDoc import(...).Member falls back to value type, not TS2694 by @mohsen1 in #17420
- Revert "TS7031 for a destructuring binding whose slot widens null/undefined to any" (#17415) by @mohsen1 in #17422
- perf(solver): undo-log instantiation shadowing scope instead of cloning the visiting memo by @mohsen1 in #17418
- fix: order-independent cross-file JS facts (UMD-global, defineProperty) + tsc-accurate discover_ts_files ordering by @mohsen1 in #17423
- fix(checker): keep literal element types for a non-fresh array diagnostic source by @mohsen1 in #17427
- fix(checker): TS7031 for destructuring nullish widening (reland #17415) by @mohsen1 in #17424
- fix(emit): preserve single-line async-method body when lowering to es2015 by @mohsen1 in #17432
- revert(cli): restore alphabetical discover_ts_files order by @mohsen1 in #17428
- fix(solver): assign global
window(Window & typeof globalThis) to Window without TS2322/TS2859 by @mohsen1 in #17434 - fix(checker): TS2448 for binding-pattern and for-in self-references in TDZ by @mohsen1 in #17435
- fix(checker): defineProperty augmentation regains its per-call-site type instead of leaking a later call's type backward (#17429) by @mohsen1 in #17433
- test(checker): admit the async-method source-layout gate to the emitter ratchet by @mohsen1 in #17442
- fix(checker): expando/defineProperty same-property siblings are unioned, not cross-checked by @mohsen1 in #17438
- fix(checker): a JS expando-container var is exempt from cross-file TS2403 by @mohsen1 in #17437
- fix(lsp): strip .js extension from JSDoc typedef inline import specifiers by @mohsen1 in #17441
- fix(checker): TS7030 for a reachable (or unreachable) bare
return;(#17425) by @mohsen1 in #17440 - fix(checker): TS2322 constraint-assignable elaboration keeps normalized wording for explicit any/unknown constraints by @mohsen1 in #17446
- fix(checker): TS7030 bare-
return;uses a generator's TReturn, notunknown(#17444) by @mohsen1 in #17451 - fix(checker/emit): a method or getter returning
this.#privateFieldinfers the field type, notany(#17430) by @mohsen1 in #17453 - fix(solver): relate
typeof globalThissurface mints by identity (#17436) by @mohsen1 in #17452 - perf(checker): narrow the arg-validation memo key to referenced type params (#15729) by @mohsen1 in #17455
- fix(checker): TS2345 call-argument bare-type-parameter-target elaboration by @mohsen1 in #17457
- fix(checker): unknown call arguments no longer bypass TS2345 checking by @mohsen1 in #17462
- fix(checker): Closure
function(...)JSDoc type missing return annotation no longer double-reports TS7014 by @mohsen1 in #17464 - fix(checker): a class must relate to itself — stop a fields-only provisional instance clobbering the complete one (#17456) by @mohsen1 in #17467
- fix(checker): JSDoc
import(...).Memberdrops the TS7 value-type fallback by @mohsen1 in #17468 - fix(checker): unknown-typed argument pinning a bare return type param is not clamped to the contextual type by @mohsen1 in #17470
- fix(bench): fail the run when a fixture pin can't be fetched instead of reporting a false green (#17469) by @mohsen1 in #17472
- fix(checker): TS5075/TS5082 note on bare-type-param constructor args by @mohsen1 in #17473
- fix(checker): class relates to itself when its constructor build is in flight (#17456) by @mohsen1 in #17476
- fix(bench): propagate fixture-pin failures for large-ts-repo and canary rows (#17469 follow-up to #17472) by @mohsen1 in #17471
- fix(checker): a JS expando container keeps its own type against a conflicting cross-file var (#17443) by @mohsen1 in #17477
- fix(checker): contextual return type no longer clobbers an argument-inferred
unknownby @mohsen1 in #17479 - fix(cli): project-mode file discovery must shadow same-stem .js by .ts by @mohsen1 in #17478
- fix(checker): a nested JS expando property's own callable RHS grants a cross-file .prototype write by @mohsen1 in #17482
- revert(checker): class-relates-to-itself ctor-build change (regressed 2 rows) by @mohsen1 in #17483
- fix(checker): a var/let/const expando container is NOT exempt from cross-file TS2403 by @mohsen1 in #17481
- fix(checker): new-expression construct signatures preserve literal args when T is naked in the return type by @mohsen1 in #17485
- fix(checker): widen a fresh object-literal property literal source to its primitive when the target rejects its domain by @mohsen1 in #17488
- fix(conformance): oracle.sh rejects extra source positionals instead of silently reordering by @mohsen1 in #17489
- fix(checker): a nested JS expando member's new-member write isn't gated on callable-ness by @mohsen1 in #17493
- test(checker): pin instance/static receiver rendering for TS18014/TS2445 (#17480) by @mohsen1 in #17487
- fix(checker):
NoInfer<T>contextual targets preserve a same-domain literal source in TS2322 (#17491) by @mohsen1 in #17497 - fix(checker): expando write fallback must not reuse the prototype-base vacuous carve-out by @mohsen1 in #17496
- test(checker): admit a TypeId::NEVER sentinel compare to the emitter solver ratchet by @mohsen1 in #17498
- fix(pa...
v0.1.69
What's Changed
- test(checker): re-pin ts2683 expando fixture red on main after #17230; cross-file + class-expr coverage for the emptiness rule by @mohsen1 in #17232
- fix(solver): bare unannotated JS params display as required, not optional by @mohsen1 in #17233
- fix(checker,binder): restore two red main unit tests (query-boundary import, void-zero expando) by @mohsen1 in #17237
- fix(checker): typeof-import TS2694 names a crossed export= alias by its own module by @mohsen1 in #17234
- fix(checker,solver): spread-derived JS receiver stays closed without noImplicitAny (#17226 gap 3) by @mohsen1 in #17240
- fix(binder,checker): expando members bind only in the host's declaring file by @mohsen1 in #17242
- fix(binder,checker): nested JS expando member requires a host-shaped declaring RHS (#17226 gap 1) by @mohsen1 in #17241
- fix(binder): restore assignment-RHS threading dropped by the #17241/#17242 semantic merge conflict by @mohsen1 in #17245
- fix(emitter): bare untyped-JS parameter .d.ts-emits as required, not optional (#17238) by @mohsen1 in #17249
- fix(checker): whole-module require alias TS1282/1283 pick uses the module's export= target (#17235) by @mohsen1 in #17248
- fix(parser): wire TS1155 — const/using/await using declarations must be initialized by @mohsen1 in #17251
- fix(checker): prototype-literal closure is gated by noImplicitAny, not constructor evidence (#17226 gap 2) by @mohsen1 in #17244
- fix(cli/checker): TS1155 is a parser grammar code, not a real/structural parse error (#17253) by @mohsen1 in #17256
- test(cli): whole-range guard that no parser grammar code is a real/structural parse error (#17253 follow-up) by @mohsen1 in #17257
- bench: ratchet the project-fixture any-stub erosion (#16311) by @mohsen1 in #17259
- fix(emitter): preserve typeof-symbol references outside variable-initializer position in DTS emit by @mohsen1 in #17260
- fix(solver): union2 must mint the same canonical identity as union (#14344) by @mohsen1 in #17266
- fix(emitter): typeof in DTS requires the name be emit-visible (#17262) by @mohsen1 in #17268
- fix(emitter): DTS method-signature printer preserves an explicit this parameter by @mohsen1 in #17265
- fix(emitter): JSDoc bracket optionality adds no undefined; the {T=} marker owns it (#17238 follow-up) by @mohsen1 in #17264
- fix(checker): decorator-scope exclusion filters must stop at a function boundary by @mohsen1 in #17261
- fix(checker): JSDoc type-position spelling suggestions stop crossing symbol meaning by @mohsen1 in #17271
- fix(emitter): stop DTS this-param test from tripping the solver-access ratchet by @mohsen1 in #17272
- fix(parser/checker): duplicate
declareon a class member reports TS1030 by @mohsen1 in #17275 - fix(emitter): DTS return type of a function returning a
...restobject-rest binding is the rest type, not the whole annotation by @mohsen1 in #17277 - fix(emitter): parse every JSDoc tag on a physical line, not just the first by @mohsen1 in #17274
- fix(emitter): gate DTS typeof-name on emit-visibility via a shared value-scope walk by @mohsen1 in #17279
- perf(solver): make normalize_union honor the #15809 literal-default flag by @mohsen1 in #17283
- fix(emitter): parse same-line JSDoc tags in @overload blocks and typedef @Property lists by @mohsen1 in #17284
- test(emitter): unit-pin the DTS typeof emit-visibility gate (#17262 follow-up) by @mohsen1 in #17278
- fix(checker): TS2412 target type reduces an absorbable intersection for display by @mohsen1 in #17286
- fix(emit): spell qualified
typeofreferences for callable value symbols (#17281) by @mohsen1 in #17288 - fix(checker): TS1071 for every illegal modifier on a class index signature (#17280) by @mohsen1 in #17287
- simplify(emit): route return-position typeof through the shared gateway (follow-up to #17288) by @mohsen1 in #17293
- fix(emitter): terminate a typedef's @Property list at the first foreign tag by @mohsen1 in #17290
- fix(checker): if(true){throw} with no else stays unreachable-terminating by @mohsen1 in #17294
- tech-debt(arch): freeze FILE_LINE_LIMIT_CHECKS ceilings above the 2000-line contract limit by @mohsen1 in #17296
- ci: bump taiki-e/install-action from 2.85.7 to 2.85.11 in the actions-minor-patch group by @dependabot[bot] in #17297
- ci: bump Swatinem/rust-cache from e18b497796c12c097a38f9edb9d0641fb99eee32 to 258712b0b7b1ddf8bddc9fc3b0faca682b2736c3 by @dependabot[bot] in #17298
- fix(checker): constant-condition reachability tests the condition node as written by @mohsen1 in #17300
- fix(website): exclude did-not-finish rows from benchmark speed ratios (#16196) by @mohsen1 in #17301
- fix(checker): namespace bodies get their own TS7027 reachability flow by @mohsen1 in #17303
- fix(checker): make the checker the single owner of interface-heritage TS2499 by @mohsen1 in #17305
- refactor(bench): one canonical speed-ratio-eligible gate across timing-pair sites by @mohsen1 in #17307
- fix(binder,checker): function type parameters collide with top-level local types by @mohsen1 in #17306
- fix(checker): a dead if/else branch reports TS7027 again, not just the code after it by @mohsen1 in #17309
- fix(emitter): emit every @typedef/@callback alias a JSDoc block declares by @mohsen1 in #17311
- fix(checker): TS2320 sees properties inherited through a non-interface ancestor by @mohsen1 in #17310
- fix(solver): a Round-1 type-parameter fix is not widened by callback candidates (#17282) by @mohsen1 in #17316
- fix(checker): report TS18016/TS1451 for standalone private-identifier expressions by @mohsen1 in #17320
- fix(checker): a break to a label on an enclosing try/block completes past it by @mohsen1 in #17321
- revert: #17316 over-fixes type parameters (conformance 11603 -> 11597) by @mohsen1 in #17323
- fix(solver,checker): check every source property against a target index signature by @mohsen1 in #17325
- fix(checker): recognize break-to-own-label as a valid statement completion by @mohsen1 in #17324
- fix(checker): stop reporting TS1223 for duplicate JSDoc @Satisfies tags by @mohsen1 in #17327
- test(checker): wire up two orphaned test files that never ran by @mohsen1 in #17329
- fix(parser): report TS1508 for bare v-mode class-set syntax characters by @mohsen1 in #17334
- fix(checker): type-parameter modifier grammar is first-error-wins per parameter by @mohsen1 in #17338
- fix(checker): destructuring write-target anchors render the computed source type; iterable sources judge every element by @mohsen1 in #17336
- fix(parser): validate ClassSetCharacters inside a v-mode \q{...} disjunction by @mohsen1 in #17341
- fix(checker): honor synthetic-default suppression for named
defaultimport specifiers by @mohsen1 in #17340 - fix(checker,binder): TS expando hosts require const function/arrow, never a class by @mohsen1 in #17345
- fix(parser): using/await using lookahead honors ASI and rejects reserved binding names by @mohsen1 in #17347
- fix(checker): TS4112 for an
overrideclass index signature with no base class by @mohsen1 in #17346 - fix(solver): count well-known-symbol members in missing-property lists; exempt Object.prototype members by @mohsen1 in #17343
- fix(checker): a CommonJS export-property write never conflicts with a same-name JSDoc typedef by @mohsen1 in #17349
- fix(checker): synthesize esModuleInterop default for CJS module.exports=value re-exports by @mohsen1 in #17348
- fix(solver/checker): report a merged interface reference's missing properties flat, not as an intersection target by @mohsen1 in #17350
- fix(solver): don't let a callback body widen a Round-1-fixed type parameter (#17282...
v0.1.68
What's Changed
- refactor(solver): share alias-body instantiation; de-duplicate deferred-mapped-index docs by @mohsen1 in #17144
- refactor(checker): route property-access receiver reduction fully through the apparent_type gateway (#15396) by @mohsen1 in #17146
- fix(checker): declared inline signature source renders canonical spacing with preserved literals (#17128) by @mohsen1 in #17147
- fix(checker): canonicalize FUNCTION_TYPE/CONSTRUCTOR_TYPE literal-display spacing by @mohsen1 in #17148
- fix(checker): parenthesized zero-param ES class decorator TS1238 anchors at expression, not @ by @mohsen1 in #17149
- fix(checker): call-argument missing-property promotion survives a bound signature type parameter (#17145) by @mohsen1 in #17150
- fix(checker): promote missing-property call-argument failures in the preserve-display path (#17145) by @mohsen1 in #17152
- fix(binder): renamed export in a module/namespace body searches the local name, not the alias by @mohsen1 in #17153
- fix(tests): migrate import-type cross-file suites off the SymbolId-colliding multi-file helper by @mohsen1 in #17159
- fix(checker): unify class-decorator TS1238 signature resolution + TS6210/TS6236 missing-argument pointer by @mohsen1 in #17163
- fix(checker): TS2390 reports once per constructor overload set and honours abstract (#17160) by @mohsen1 in #17164
- fix(checker): JSDoc import(...).Member type reference recognizes CommonJS expando class exports by @mohsen1 in #17167
- fix(checker): re-resolve bare import-type type arguments through the canonical import path (#17158) by @mohsen1 in #17169
- fix(checker): object-literal method's this.<sibling>() carries the sibling's real return type regardless of declaration order by @mohsen1 in #17171
- fix(checker): inline structural type annotations render expanded, not via a coincidental alias (#17119) by @mohsen1 in #17133
- fix(checker): suppress TS2391 when a method overload group's last signature is abstract by @mohsen1 in #17173
- fix(checker): TS-syntax import(...).Member resolves CommonJS expando class exports by @mohsen1 in #17172
- fix(checker): report TS2512 for mixed abstract/non-abstract constructor overloads (#17166) by @mohsen1 in #17174
- chore(readme): refresh benchmark image and stats by @mohsen1 in #17138
- ci(readme-refresh): heal path must trigger CI, or the PR it heals can never merge by @mohsen1 in #17179
- fix(checker): JSDoc import(...).A.B resolves a dotted @typedef qualified name (#17162) by @mohsen1 in #17178
- fix(solver): promote missing-property failures against readonly array targets to TS2740 (#17154) by @mohsen1 in #17168
- fix(checker): take a JSDoc @callback name as the first token, not the whole line (#17162) by @mohsen1 in #17180
- fix(checker): stop JSDoc @type/@PARAM import-type TS2694 from doubling by @mohsen1 in #17184
- fix(checker): render TS2694 import-type namespace as the resolved module path (#17177) by @mohsen1 in #17183
- fix(checker): resolve TS-syntax import() dotted typedef names and qualify the TS2694 namespace display by @mohsen1 in #17182
- fix(checker): JSDoc import(...).A.B requires namespace meaning past the head by @mohsen1 in #17188
- fix(checker): resolve the module path for the JSDoc typeof-import walk's TS2694 too by @mohsen1 in #17187
- fix(checker): TS-syntax import(...).A.B rejects a non-namespace head as a qualifier by @mohsen1 in #17189
- fix(checker): anchor JSDoc @PARAM import-type TS2694 at the member token by @mohsen1 in #17194
- fix(checker): TS-syntax import(...).A.B qualifier walk requires namespace meaning per segment by @mohsen1 in #17195
- fix(checker): NS.Member through a named import of
export * as NSis a namespace anchor (#17197) by @mohsen1 in #17198 - perf(solver): cache successful explicit-alias constraint relations (#15729) by @mohsen1 in #17200
- fix(checker): anchor JSDoc @returns/@typedef import-type TS2694 at the member token (#17193) by @mohsen1 in #17199
- chore(arch): drop stale extractors.rs allowlist entry (under 2000 LOC) by @mohsen1 in #17204
- fix(checker): accept a nullish
+operand under strictNullChecks-off (#17205) by @mohsen1 in #17206 - fix(checker): TS-syntax typeof-import TS2694 renders the resolved module path and blames the first failing segment by @mohsen1 in #17202
- fix(checker): TS2300 needs an eager member in an object-type duplicate group by @mohsen1 in #17209
- test(checker): re-pin checker_constructor_matrix_tests to with_parent_cache's PRE_RESOLVED policy (#17203) by @mohsen1 in #17210
- fix(checker): TS2694 names the export= target symbol for a named target (#17208) by @mohsen1 in #17212
- fix(checker): TS7010 for bare nullish returns + 6 stale test pins (#17203) by @mohsen1 in #17211
- fix(checker): route the 4 nightly-unit arch-boundary residuals through their named query boundaries by @mohsen1 in #17214
- fix(checker): correct two stale TS2741 assertions in conformance_issues_errors (#17203) by @mohsen1 in #17217
- fix(checker): TS2694 JSDoc import walks name the export= target (follow-up to #17212) by @mohsen1 in #17215
- fix(ci): extend the heavy DOM/webworker witness nextest override by @mohsen1 in #17218
- fix(checker): CommonJS TS2303 fires only on genuine alias cycles, at every cycle member by @mohsen1 in #17219
- fix(checker): re-pin 7 conformance_issues_features/modules assertions against typescript@7.0.2 (#17203) by @mohsen1 in #17220
- fix(checker): module.exports read during export-surface inference resolves to the direct export type by @mohsen1 in #17223
- fix(checker): drop unconfirmed resolution claim in react-jsx-runtime test comment by @mohsen1 in #17221
- fix(checker): readonly type operator is transparent on non-array/tuple operands by @mohsen1 in #17222
- fix(checker): TS2720 carries the offending-member elaboration and stops over-reporting extends-same-base (#17216) by @mohsen1 in #17225
- fix(checker): JS void-zero/undefined/null expando writes still declare the member (TS7008, not TS2339) by @mohsen1 in #17229
- fix(checker,binder): non-empty JS object-literal var is not an expando host (#17226) by @mohsen1 in #17230
- chore(release): bump try-tsz publish version to 0.1.68 by @mohsen1 in #17231
Full Changelog: v0.1.67...v0.1.68
What's Changed
- refactor(solver): share alias-body instantiation; de-duplicate deferred-mapped-index docs by @mohsen1 in #17144
- refactor(checker): route property-access receiver reduction fully through the apparent_type gateway (#15396) by @mohsen1 in #17146
- fix(checker): declared inline signature source renders canonical spacing with preserved literals (#17128) by @mohsen1 in #17147
- fix(checker): canonicalize FUNCTION_TYPE/CONSTRUCTOR_TYPE literal-display spacing by @mohsen1 in #17148
- fix(checker): parenthesized zero-param ES class decorator TS1238 anchors at expression, not @ by @mohsen1 in #17149
- fix(checker): call-argument missing-property promotion survives a bound signature type parameter (#17145) by @mohsen1 in #17150
- fix(checker): promote missing-property call-argument failures in the preserve-display path (#17145) by @mohsen1 in #17152
- fix(binder): renamed export in a module/namespace body searches the local name, not the alias by @mohsen1 in #17153
- fix(tests): migrate import-type cross-file suites off the SymbolId-colliding multi-file helper by @mohsen1 in #17159
- fix(checker): unify class-decorator TS1238 signature resolution + TS6210/TS6236 missing-argument pointer by @mohsen1 in #17163
- fix(checker): TS2390 reports once per constructor overload set and honours abstract (#17160) by @mohsen1 in #17164
- fix(checker): JSDoc import(...).Member type reference recognizes CommonJS expando class exports by @m...
v0.1.67
What's Changed
- chore(readme): refresh conformance stats to 11,574 by @mohsen1 in #17071
- fix(release): fail the npm publish preflight on a rejected token (#16126) by @mohsen1 in #17074
- ci(readme-refresh): heal today's refresh branch instead of abandoning it by @mohsen1 in #17075
- fix(checker): type-guard false branch on a non-union source must keep the source by @mohsen1 in #17077
- fix(config): report TS18051 for an empty extends specifier instead of TS6053 by @mohsen1 in #17078
- fix(checker): top-level ambient declare const/let/var drops TS1039 by @mohsen1 in #17080
- chore(readme): refresh benchmark image and stats by @mohsen1 in #17015
- fix(checker): wire TS1339 for bare
typeof import(...)on value-less export= by @mohsen1 in #17076 - fix(config): report TS5083 for an unreadable relative/absolute
extends.json target by @mohsen1 in #17087 - fix(checker): wire TS1291 for export = [type-only-alias] under isolatedModules by @mohsen1 in #17088
- fix(checker): accept type-alias async return types resolving to Promise (TS1064 false positive) by @mohsen1 in #17090
- fix(checker): emit TS1039/TS1254 for implicitly-ambient
.d.tsinitializers by @mohsen1 in #17093 - fix(checker): qualified
typeof import(...).Memberdrops TS2694 for a type-only member by @mohsen1 in #17094 - fix(checker): export = <imported uninstantiated namespace alias> no longer reports TS2708 by @mohsen1 in #17096
- fix(checker): wire TS1289/TS1290/TS1283 for export=/default through a type-only re-export chain by @mohsen1 in #17097
- fix(checker): TS1291/1282 for export= through a multi-hop plain re-export chain by @mohsen1 in #17100
- fix(checker): ambient const enum-reference initializers follow tsc's isSimpleLiteralEnumReference by @mohsen1 in #17072
- fix(checker): wire TS1278/TS1279 decorator-arity elaboration onto TS1238-1241 by @mohsen1 in #17105
- fix(parser): report TS1520 for a v-mode class-set operator missing its left operand by @mohsen1 in #17106
- fix(solver): non-primitive
objectsource reports generic TS2322, not a{}-rendered TS2741 by @mohsen1 in #17110 - fix(checker): class-decorator TS1238/TS1270 anchor at expression, not
@, except too-few-args by @mohsen1 in #17109 - fix(checker): render tuple/function type annotations canonically in diagnostics by @mohsen1 in #17112
- refactor(checker): fold the annotation source-text guard into one predicate by @mohsen1 in #17115
- fix(checker): traverse re-export chain for the TS1484/TS1485 pick and report the type-only family alongside the commonjs syntax error (#17098) by @mohsen1 in #17114
- fix(checker): plain re-export chain of a type reports TS1205 at every hop, not TS1448 by @mohsen1 in #17117
- fix(checker): wire TS1329 zero-arg-factory hint for class decorators by @mohsen1 in #17120
- fix(checker): class-decorator TS1238 gains the not-callable elaboration chain, including in ES mode by @mohsen1 in #17118
- fix(checker): a written literal in a declared function/tuple/constructor annotation stays verbatim under the canonical structural formatter by @mohsen1 in #17124
- fix(checker): parenthesized decorator expressions keep generic TS1238/1241 over TS1329 by @mohsen1 in #17125
- fix(checker): TS2687 modifier-agreement check for merged interface declarations by @mohsen1 in #17130
- fix(checker): JS this[key]= only late-binds a class property for a literal-like key by @mohsen1 in #17134
- fix(checker): overload arity-mismatch diagnostics count expanded spread args by @mohsen1 in #17135
- fix(checker): JSDoc import(...).Member type reference rejects value-only exports (TS2694) by @mohsen1 in #17139
- fix(checker): keyof of a generic key-remapping mapped type is a valid index (spurious TS2536) by @mohsen1 in #17142
- chore(fourslash): refresh the snapshot to measured truth (6,559/6,562) by @mohsen1 in #17143
- fix(checker): merged-interface property/method conflict is TS2300 regardless of order by @mohsen1 in #17141
- chore(release): bump try-tsz publish version to 0.1.67 by @mohsen1 in #17140
Full Changelog: v0.1.66...v0.1.67
What's Changed
- chore(readme): refresh conformance stats to 11,574 by @mohsen1 in #17071
- fix(release): fail the npm publish preflight on a rejected token (#16126) by @mohsen1 in #17074
- ci(readme-refresh): heal today's refresh branch instead of abandoning it by @mohsen1 in #17075
- fix(checker): type-guard false branch on a non-union source must keep the source by @mohsen1 in #17077
- fix(config): report TS18051 for an empty extends specifier instead of TS6053 by @mohsen1 in #17078
- fix(checker): top-level ambient declare const/let/var drops TS1039 by @mohsen1 in #17080
- chore(readme): refresh benchmark image and stats by @mohsen1 in #17015
- fix(checker): wire TS1339 for bare
typeof import(...)on value-less export= by @mohsen1 in #17076 - fix(config): report TS5083 for an unreadable relative/absolute
extends.json target by @mohsen1 in #17087 - fix(checker): wire TS1291 for export = [type-only-alias] under isolatedModules by @mohsen1 in #17088
- fix(checker): accept type-alias async return types resolving to Promise (TS1064 false positive) by @mohsen1 in #17090
- fix(checker): emit TS1039/TS1254 for implicitly-ambient
.d.tsinitializers by @mohsen1 in #17093 - fix(checker): qualified
typeof import(...).Memberdrops TS2694 for a type-only member by @mohsen1 in #17094 - fix(checker): export = <imported uninstantiated namespace alias> no longer reports TS2708 by @mohsen1 in #17096
- fix(checker): wire TS1289/TS1290/TS1283 for export=/default through a type-only re-export chain by @mohsen1 in #17097
- fix(checker): TS1291/1282 for export= through a multi-hop plain re-export chain by @mohsen1 in #17100
- fix(checker): ambient const enum-reference initializers follow tsc's isSimpleLiteralEnumReference by @mohsen1 in #17072
- fix(checker): wire TS1278/TS1279 decorator-arity elaboration onto TS1238-1241 by @mohsen1 in #17105
- fix(parser): report TS1520 for a v-mode class-set operator missing its left operand by @mohsen1 in #17106
- fix(solver): non-primitive
objectsource reports generic TS2322, not a{}-rendered TS2741 by @mohsen1 in #17110 - fix(checker): class-decorator TS1238/TS1270 anchor at expression, not
@, except too-few-args by @mohsen1 in #17109 - fix(checker): render tuple/function type annotations canonically in diagnostics by @mohsen1 in #17112
- refactor(checker): fold the annotation source-text guard into one predicate by @mohsen1 in #17115
- fix(checker): traverse re-export chain for the TS1484/TS1485 pick and report the type-only family alongside the commonjs syntax error (#17098) by @mohsen1 in #17114
- fix(checker): plain re-export chain of a type reports TS1205 at every hop, not TS1448 by @mohsen1 in #17117
- fix(checker): wire TS1329 zero-arg-factory hint for class decorators by @mohsen1 in #17120
- fix(checker): class-decorator TS1238 gains the not-callable elaboration chain, including in ES mode by @mohsen1 in #17118
- fix(checker): a written literal in a declared function/tuple/constructor annotation stays verbatim under the canonical structural formatter by @mohsen1 in #17124
- fix(checker): parenthesized decorator expressions keep generic TS1238/1241 over TS1329 by @mohsen1 in #17125
- fix(checker): TS2687 modifier-agreement check for merged interface declarations by @mohsen1 in #17130
- fix(checker): JS this[key]= only late-binds a class property for a literal-like key by @mohsen1 in #17134
- fix(checker): overload arity-mismatch diagnostics count expanded spread args by @mohsen1 in https://github.com...
v0.1.66
What's Changed
- chore(readme): refresh benchmark image and stats by @mohsen1 in #16884
- fix(parser): TS1182 destructuring-initializer check skips ambient .d.ts files, not just
declareby @mohsen1 in #16905 - fix(checker): TS2309 counts value
export defaultand fires undermodule: preserveby @mohsen1 in #16907 - fix(checker): private/protected access on a constructor-typed value uses TS2339, not TS2341/TS2445 by @mohsen1 in #16904
- fix(parser):
outbefore a type-member accessor derails into tsc's grammar cascade (TS1131/TS1434/TS1005/TS1128) by @mohsen1 in #16902 - fix(checker): removed
assertimport-attribute keyword abandons the whole declaration (TS2880) by @mohsen1 in #16908 - fix(emit): const-asserted object literal's synthesized index-signature union sorts primitives before structural members by @mohsen1 in #16909
- fix(solver): defer a class application whose partial body dropped its nominal symbol (#16055) by @mohsen1 in #16911
- feat(cli): wire TS1149 for root-file casing collisions by @mohsen1 in #16913
- Revert "fix(solver): defer a class application whose partial body dropped its nominal symbol" by @mohsen1 in #16914
- fix(checker): TS2842 unused-renaming never fires inside a .d.ts file by @mohsen1 in #16912
- fix(checker): destructuring-assignment rest of a non-array iterable is Array<iterated element>, not the iterable by @mohsen1 in #16917
- fix(checker): treat
namespace globalThisaugmentation as the global object, not a shadow by @mohsen1 in #16918 - fix(emit): computed-index-signature string union interleaves concrete/dynamic buckets out of source order by @mohsen1 in #16919
- fix(checker): class implementing a call/construct-signature interface must report TS2420 by @mohsen1 in #16923
- fix(parser): regex ']' expected must track class nesting depth under the v flag by @mohsen1 in #16925
- fix(checker): TS2551 false-positive on globalThis.<prop> for declare-global namespace augmentation by @mohsen1 in #16920
- fix(resolver): explicit-root JS file suppresses TS7016 on external require() by @mohsen1 in #16926
- fix(cli): wire the invalid-meta-property grammar family (TS17012/TS18061) into parse-diagnostic suppression by @mohsen1 in #16929
- ci(emit): ratchet DTS emit floor 1375 -> 1377 after #16909 and #16919 by @mohsen1 in #16930
- fix(emit): CJS bare re-export of an import binding follows its own require() by @mohsen1 in #16931
- fix(resolver): enforce maxNodeModuleJsDepth for external require() TS7016 by @mohsen1 in #16933
- fix(cli): explicit-root JS files under node_modules keep their body read by @mohsen1 in #16936
- fix(checker): stop fabricating TS2374 on a single JSX IntrinsicElements index signature by @mohsen1 in #16937
- test(tsz-cli): skip TS1149 casing tests on case-insensitive filesystems by @mohsen1 in #16941
- test(checker): fence generic-constraint alias-application diagnostic display (#15983) by @mohsen1 in #16942
- fix(checker): TS2309 counts a type-only
export importalias correctly by @mohsen1 in #16944 - fix(solver): gate ParameterForCallExtractor's overload merge on noImplicitAny by @mohsen1 in #16945
- fix(checker): untyped node_modules JS require() binds as
any, not empty typeof import (#16934) by @mohsen1 in #16949 - fix(checker): assignment-RHS
thisno longer inherits enclosing class type by @mohsen1 in #16947 - fix(resolver): node_modules JS require falls back to any, not empty {} by @mohsen1 in #16946
- perf(solver): memoize contains_error_type per TypeId (ContainsError cache slot) (#15729) by @mohsen1 in #16953
- fix(solver): pair number/string-literal source members with fixed union targets (isTypeOrBaseIdenticalTo) in both union-inference paths by @mohsen1 in #16954
- fix(solver): dedupe shared type-param identity across same-arity generic overloads by @mohsen1 in #16957
- fix(solver): keep registration-window artifacts out of run-wide and reused eval caches by @mohsen1 in #16956
- test(cli): cross-mode end-to-end regression guard for rooted node_modules JS require surface (#16928) by @mohsen1 in #16943
- fix(solver): unique-symbol array index key no longer falls back to element type by @mohsen1 in #16958
- fix(checker): unknown resolves Object.prototype members under non-strict, not any/never by @mohsen1 in #16959
- fix(checker): remove 3 inert fixture-gated diagnostic rewrites (#14141) by @mohsen1 in #16962
- fix(checker): enforce TS2462 rest-must-be-last for object and nested destructuring assignment targets by @mohsen1 in #16966
- fix(solver): erase identity-shared free type params in N x M overload signature comparison by @mohsen1 in #16970
- fix(checker): unannotated getter's completeness check inherits paired setter's type by @mohsen1 in #16968
- fix(solver): merge overloaded generic contextual signatures with a shared type-parameter mapper (#16950) by @mohsen1 in #16971
- fix(solver): union-source elaboration walks as-written member order (#16965) by @mohsen1 in #16972
- fix(checker): well-known symbol reached through an alias resolves member lookup by type identity by @mohsen1 in #16974
- fix(checker): super.method() preserves the base method's polymorphic
thisreturn by @mohsen1 in #16973 - fix(checker): property-assignment function-expression
thisis contextual, not implicitany(#16964) by @mohsen1 in #16978 - fix(cli): TS18007 (JSX comma operator) joins is_parser_grammar_code by @mohsen1 in #16981
- fix(checker): class static-block
this.prop=declares an implicit static member in JS files by @mohsen1 in #16985 - fix(arch): route property-traversal classification through query_boundaries by @mohsen1 in #16983
- fix(checker): JSDoc @callback @this tag is dropped from the synthesized signature by @mohsen1 in #16982
- fix(solver): rank union-source elaboration through the display comparator by @mohsen1 in #16977
- fix(parser): TS2462 (rest element must be last) is a uniform grammar check by @mohsen1 in #16989
- fix(checker): evolving-array assignment target doesn't source its any[] as RHS contextual type (#14141) by @mohsen1 in #16984
- fix(cli): TS2462 joins is_parser_grammar_code after #16989 moved it to the parser by @mohsen1 in #16990
- chore(conformance): refresh snapshot to current main ( eaac8fc ) by @mohsen1 in #16988
- fix(checker): JS expando
thiswrite suppression predates #16978's assignment-receiverthisby @mohsen1 in #16991 - fix(checker): namespace merged cross-file with an ambient class/function no longer reports TS2433 by @mohsen1 in #16994
- fix(checker): variable-bound circular self-recursion infers
any, notvoid(#16987) by @mohsen1 in #16995 - chore(readme): refresh conformance to 11,553 and DTS to 1,377 by @mohsen1 in #16967
- fix(checker): CommonJS
exports/module.exportsproperty-assigned functionthis(#16964 Mechanism 2) by @mohsen1 in #16998 - fix(cli): TS1313 (empty if-body) was a stale mislabel, not a structural parse error by @mohsen1 in #16996
- fix(checker): relate arrow-body return against the union of overloaded target returns (#16986) by @mohsen1 in #17000
- fix(solver): globally-unique
unique symbolrefs fix well-known-symbol conflation and indexed access by @mohsen1 in #16992 - refactor(checker): drop redundant identifier-kind guard in assignment_rhs_base_this_type by @mohsen1 in #17002
- fix(checker): TS2345 argument diagnostics keep the function-signature arity / type-predicate elaboration by @mohsen1 in #17007
- fix(checker): async generator
yield/yield*awaits its yielded value like tsc by @mohsen1 in #17004 - fix(parser): bare
?/!JSDoc wildcard in a type position is TS1110, not TS8020 by @mohsen1 in #17009 - ...
v0.1.65
What's Changed
- fix(checker): interface
extends (expr)reports TS2499 once, not twice by @mohsen1 in #16755 - fix(checker): overload flag-agreement canonical is the first signature in source order by @mohsen1 in #16756
- fix(solver): object-first mixed intersections keep source-order member position by @mohsen1 in #16758
- fix(solver): keyof over a well-known-symbol-keyed interface reduces to the well-known symbol (#16605) by @mohsen1 in #16628
- docs(rust-debugger): document the tsz-checker --lib breakpoint-binding wall (#15653) by @mohsen1 in #16762
- revert: keyof well-known-symbol reduction (#16628) — costs 3 conformance rows and the SymbolConstructor name by @mohsen1 in #16764
- fix(checker): TS2345 target keeps the written key-union constraint spelling (#16751) by @mohsen1 in #16767
- fix(checker/solver): ES private identifier nominal mismatch reports TS18015 wording, not TS2446 by @mohsen1 in #16761
- fix(checker): wide-keyed method/accessor members display their source-spelled key (#16662) by @mohsen1 in #16768
- fix(checker): an unannotated bodyless get accessor has implicit type
any, notvoidby @mohsen1 in #16770 - fix(checker): TS2345 target renders a longhand/keyof-any key-union constraint structurally, not as PropertyKey (#16751) by @mohsen1 in #16773
- fix(checker): mixed object-and-tuple intersection preserves literal property in diagnostic display (#16759) by @mohsen1 in #16771
- fix(checker): verbatimModuleSyntax/isolatedModules pick TS1448/TS1485 for a type-only re-export/import of a value by @mohsen1 in #16774
- fix(cli): TS18016 joins is_parser_grammar_code (#16279 audit round 8) by @mohsen1 in #16775
- fix(solver): keyof over a well-known-symbol-keyed interface reduces to the well-known symbol (#16605), without losing SymbolConstructor's name by @mohsen1 in #16776
- revert: verbatimModuleSyntax/isolatedModules TS1448/TS1485 (#16774) — 0 fixed / 1 broken by @mohsen1 in #16777
- fix(bench): a killed/errored row never contributes a fabricated speed ratio (#16196) by @mohsen1 in #16779
- fix(checker): route private-brand mismatch elaboration into TS2345 argument path by @mohsen1 in #16780
- fix(checker): TS18031 elaboration for a property access on an intersection reduced to never by @mohsen1 in #16781
- fix(checker): instantiated generic classes drop TS18015/2446 private-brand elaboration by @mohsen1 in #16783
- fix(parser): parameter-modifier grammar matches tsc's per-modifier code selection and single-report by @mohsen1 in #16782
- fix(checker/solver): nominal private-member elaboration on the TS2345 argument path and instantiated generics (#16769) by @mohsen1 in #16785
- arch: extend the 2000-LOC cap to crates/*/tests and scripts/ by @mohsen1 in #16784
- refactor(parser): parameter-modifier grammar reuses canonical keyword table and message templates by @mohsen1 in #16787
- fix(checker): protected-member brand mismatch reports TS2443, not fabricated wording by @mohsen1 in #16786
- fix(checker): readonly on a constructor is TS1024, async on a property is TS1042 (#16291) by @mohsen1 in #16789
- fix(solver): preserve duplicate inline object literals in union display (#16509) by @mohsen1 in #16791
- fix(solver): TS18031 multi-conflict elaboration names tsc's first-declared property by @mohsen1 in #16793
- fix(parser): type-member modifier grammar reports TS1070 for export/in/out and TS1024 for readonly on method/construct signatures (#16291) by @mohsen1 in #16795
- fix(checker): TS18032 elaboration for private-brand intersection conflicts by @mohsen1 in #16796
- fix(solver): TS18032 elaboration excludes ES #-private names by @mohsen1 in #16799
- refactor(lint): self-policing dead_code suppressions, drop stale allowances (#16794) by @mohsen1 in #16801
- fix(checker): TS2369 anchors at first parameter-property modifier in source order by @mohsen1 in #16800
- fix(parser): readonly before a get/set accessor in an interface/type-literal reports TS1131 by @mohsen1 in #16803
- fix(solver): ES private members must not reduce an intersection to never by @mohsen1 in #16802
- chore(readme): refresh conformance stats to 11,524 by @mohsen1 in #16805
- fix(parser): TS1070/TS1071 for
exportand multi-modifier runs on type members by @mohsen1 in #16804 - fix(parser): stop over-reporting TS1029 for the async/readonly/accessor pair by @mohsen1 in #16808
- fix(parser): non-readonly modifiers before an interface/type-literal accessor report TS1131, not TS1070 by @mohsen1 in #16807
- fix(solver): TS18032 multi-conflict elaboration names tsc's first-declared property by @mohsen1 in #16810
- fix(checker): TS2815 for
argumentsonly inside an enclosing function by @mohsen1 in #16812 - fix(parser): readonly/async on a type member follow tsc's source-order, single-diagnostic-per-member rule by @mohsen1 in #16813
- fix(checker): TS7032 fires for a zero-parameter set accessor by @mohsen1 in #16814
- fix(parser): TS18029 for a private identifier used as a for-header binding by @mohsen1 in #16816
- refactor(checker): consolidate set-accessor TS7032 emission into one helper and decision by @mohsen1 in #16818
- fix(parser): TS1328 for a JSON property value or array element outside tsc's validateJsonValue shapes by @mohsen1 in #16819
- docs(tests): correct stale static-block claim in await-grammar header (#16073) by @mohsen1 in #16821
- fix(checker): TS18029/TS18009 suppress a file's semantic diagnostics like tsc by @mohsen1 in #16824
- fix(parser): a fresh identifier-expression statement whose text is an exact keyword still reports TS1434 by @mohsen1 in #16820
- test(core): TS1016 reports once at the first required param after an optional by @mohsen1 in #16823
- fix(parser): yield-grammar (TS1163) fires outside the enclosing generator for type-literal computed names and enum initializers by @mohsen1 in #16828
- fix(checker): anchor readonly/async class-member modifier diagnostics at the modifier keyword and dedup the accessor readonly+async report by @mohsen1 in #16829
- fix(parser): TS8038 reports once with a TS1486 related-info pointer for decorators split across export by @mohsen1 in #16825
- fix(parser): readonly-before-second-modifier reports tsc's TS1024/TS1070 on a type member by @mohsen1 in #16827
- chore(readme): refresh conformance stats to 11,525 by @mohsen1 in #16831
- fix(parser): treat // and /* */ comments as trivia in .json validation by @mohsen1 in #16833
- fix(checker): TS2662/TS2663 member-prefix suggestion for an unresolved name in a class by @mohsen1 in #16834
- fix(parser): async-first illegal type-member modifier consumes the trailing modifier run by @mohsen1 in #16832
- refactor(core): consolidate JSON comment/string skipping onto shared text_scan primitives by @mohsen1 in #16835
- fix(bench): hyperfine's own comparison text no longer fabricates an Nx ratio for a killed/errored row by @mohsen1 in #16836
- fix(parser,checker): declare+async class-member ambient conflict reports TS1040, not TS1042 by @mohsen1 in #16838
- fix(checker): TS1293 for module=preserve + isolatedModules ESM syntax in a CJS file by @mohsen1 in #16841
- fix(parser): TS1030 for a duplicate
readonlyon a type member by @mohsen1 in #16842 - fix(checker): the member-prefix suggestion is value-position only by @mohsen1 in #16844
- fix(checker): unannotated generator no longer drops nested class diagnostics by @mohsen1 in #16846
- fix(solver): defer conditional when
keyof O[K]extends reduces to an unmaterializable member interface (#15983) by @mohsen1 in #16847 - fix(parser,checker): override+declare modifier priority reports one diagnostic, not several by @mohsen1 in "/tsz-org/ts