GitHub

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 undefined by @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...

Read more

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...

Read more

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, not unknown (#17444) by @mohsen1 in #17451
  • fix(checker/emit): a method or getter returning this.#privateField infers the field type, not any (#17430) by @mohsen1 in #17453
  • fix(solver): relate typeof globalThis surface 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(...).Member drops 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 unknown by @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...

Read more

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 declare on a class member reports TS1030 by @mohsen1 in #17275
  • fix(emitter): DTS return type of a function returning a ...rest object-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 typeof references 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 default import 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 override class 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...

Read more

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 NS is 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...

Read more

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.ts initializers by @mohsen1 in #17093
  • fix(checker): qualified typeof import(...).Member drops 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 object source 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.ts initializers by @mohsen1 in #17093
  • fix(checker): qualified typeof import(...).Member drops 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 object source 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...

Read more

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 declare by @mohsen1 in #16905
  • fix(checker): TS2309 counts value export default and fires under module: preserve by @mohsen1 in #16907
  • fix(checker): private/protected access on a constructor-typed value uses TS2339, not TS2341/TS2445 by @mohsen1 in #16904
  • fix(parser): out before a type-member accessor derails into tsc's grammar cascade (TS1131/TS1434/TS1005/TS1128) by @mohsen1 in #16902
  • fix(checker): removed assert import-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 globalThis augmentation 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 import alias 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 this no 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 this return by @mohsen1 in #16973
  • fix(checker): property-assignment function-expression this is contextual, not implicit any (#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 this write suppression predates #16978's assignment-receiver this by @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, not void (#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.exports property-assigned function this (#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 symbol refs 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
  • ...

Read more

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, not void by @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 export and 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 arguments only 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 readonly on 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

Read the original on github.com ↗