Releases: tsz-org/tsz
Releases · tsz-org/tsz
v0.1.38
What's Changed
- fix(checker): substitute omitted defaulted siblings before validating type-arg constraints (#14754) by @mohsen1 in #14884
- fix(emit): preserve single-line constructor bodies with multiple statements by @mohsen1 in #14706
- fix(checker): run ++/-- assignment-target checks before (and suppress) TS2356 by @mohsen1 in #14695
- fix(emit): order ES5 object-rest preamble after the rest-param copy loop by @mohsen1 in #14716
- fix(checker): accept instantiated branded-string index keys (TS1337) (#14735) by @mohsen1 in #14878
- feat(#14345) materialize-once core: construction-stamp + scoped structural-strip (flag-gated, dormant) by @mohsen1 in #14895
- fix(checker): emit TS1259 for default import of an export= module without interop by @mohsen1 in #14901
- fix(checker): unwrap structural object-literal/type-alias thenables in await (#14813) by @mohsen1 in #14911
- fix(checker): collapse application-backed
P & {}to bare primitive in diagnostics (#14834) by @mohsen1 in #14913 - fix(checker): resolve window/self/globalThis to real types instead of any by @mohsen1 in #14918
- fix(solver): exclude lib-utility placeholder
unknownbodies from genuine-unknown reduction (#14337) by @mohsen1 in #14922 - fix(solver): look through NoInfer/readonly wrappers in TS2367 overlap by @mohsen1 in #14870
- fix(checker): self-referential class member triggers circular implicit-any return (TS7023/TS7024) (#14805) by @mohsen1 in #14879
- fix(checker): emit TS2748 for imported ambient const enums under isolatedModules (#14811) by @mohsen1 in #14882
- fix(checker): keep a pinned callback return when a contextual target would clamp it (TS2322) (#14823) by @mohsen1 in #14891
- fix(checker): fold fresh-literal
?:/??union excess into one TS2322 (#14832) by @mohsen1 in #14897 - feat(#14345) materialize-once core machinery onto keystone carrier (flag-gated, dormant) by @mohsen1 in #14910
- fix(test): inline format args broken into main by #14918 (clippy) by @mohsen1 in #14925
- fix(checker): emit TS2456 for tuple self-spread type aliases (#14815) by @mohsen1 in #14909
- fix(emit): hoist ES5 private storage out of non-CommonJS class IIFE (#14767) by @mohsen1 in #14915
- fix(checker): infer open array for non-tuple array spread into a bare type-param rest (#14794) by @mohsen1 in #14916
- fix(emit): declare type-asserted const initializers with the asserted annotation by @mohsen1 in #14917
- fix(checker): resolve self-referential globals window/self/globalThis to lib types, not any (#14742) by @mohsen1 in #14920
- fix(solver): higher-order pipe re-generalizes through shared middle placeholder by @mohsen1 in #14899
- chore(readme): refresh benchmark image and stats by @mohsen1 in #14923
- refactor(checker): split 4 files under 2000 LOC (arch-guard hotfix) by @mohsen1 in #14929
- fix(checker): emit TS2312 when an interface extends a generic deferred alias base by @mohsen1 in #14902
- fix(solver): treat infer bound by a generic signature as not-free in the assignability suppression gate (#14784) by @mohsen1 in #14906
- fix(checker): detect global Object/Function target by full member set, not a prototype-name subset (#14849) by @mohsen1 in #14908
- fix(checker): value-based TS2367 overlap for an enum vs a matching member literal by @mohsen1 in #14720
- fix(checker): single TS2322 over the union for fresh-literal excess through ?:/?? (#14832) by @mohsen1 in #14900
- fix(checker): unwrap structural object-literal/alias thenables in await (#14813) by @mohsen1 in #14912
- fix(checker): collapse application-alias
T & {}primitive to bare primitive in diagnostics (#14834) by @mohsen1 in #14914 - refactor(arch): route globalThis-surface object through a solver builder (clear last lint-debt boundary) by @mohsen1 in #14930
- fix(checker): run per-operand TS2362/TS2363 arithmetic-operand check unconditionally by @mohsen1 in #14700
- fix(emit): lower ES5 private method/accessor member access correctly by @mohsen1 in #14718
- fix(checker): relate enum operands through member-value union for TS2367/TS2678 by @mohsen1 in #14721
- fix(checker): TS2367 for
(X | undefined) === litwith a disjoint non-nullish part by @mohsen1 in #14723 - fix(checker): gate object-literal getter TS7023 on receiver, not property name by @mohsen1 in #14866
- fix(checker): see through NoInfer wrapper in comparison/switch overlap (TS2367/TS2678) by @mohsen1 in #14868
- fix(checker): prime lib utility body for cross-module indexed-access aliases (TS2349) (#14729) by @mohsen1 in #14876
- fix(checker): decide index-signature key TS1337/TS1268 on the resolved type (#14735) by @mohsen1 in #14877
- fix(solver): conditional-bound infer is not a free inference placeholder (TS2322, #14784) by @mohsen1 in #14905
- fix(checker): defer self-referential class build re-entered from an arrow-property initializer (#14784) by @mohsen1 in #14907
- fix(checker): annotated arrow/function-expression initializer must not trigger recursive-return TS7023 by @mohsen1 in #14924
- fix(solver): reduce large conflicting-discriminant intersections to never (#14803) by @mohsen1 in #14926
- test(checker): pin lazy-lib refs-resolution-fuel determinism invariant (#12144) by @mohsen1 in #14927
- chore(release): bump try-tsz publish version to 0.1.38 by @mohsen1 in #14928
Full Changelog: v0.1.37...v0.1.38
What's Changed
- fix(checker): substitute omitted defaulted siblings before validating type-arg constraints (#14754) by @mohsen1 in #14884
- fix(emit): preserve single-line constructor bodies with multiple statements by @mohsen1 in #14706
- fix(checker): run ++/-- assignment-target checks before (and suppress) TS2356 by @mohsen1 in #14695
- fix(emit): order ES5 object-rest preamble after the rest-param copy loop by @mohsen1 in #14716
- fix(checker): accept instantiated branded-string index keys (TS1337) (#14735) by @mohsen1 in #14878
- feat(#14345) materialize-once core: construction-stamp + scoped structural-strip (flag-gated, dormant) by @mohsen1 in #14895
- fix(checker): emit TS1259 for default import of an export= module without interop by @mohsen1 in #14901
- fix(checker): unwrap structural object-literal/type-alias thenables in await (#14813) by @mohsen1 in #14911
- fix(checker): collapse application-backed
P & {}to bare primitive in diagnostics (#14834) by @mohsen1 in #14913 - fix(checker): resolve window/self/globalThis to real types instead of any by @mohsen1 in #14918
- fix(solver): exclude lib-utility placeholder
unknownbodies from genuine-unknown reduction (#14337) by @mohsen1 in #14922 - fix(solver): look through NoInfer/readonly wrappers in TS2367 overlap by @mohsen1 in #14870
- fix(checker): self-referential class member triggers circular implicit-any return (TS7023/TS7024) (#14805) by @mohsen1 in #14879
- fix(checker): emit TS2748 for imported ambient const enums under isolatedModules (#14811) by @mohsen1 in #14882
- fix(checker): keep a pinned callback return when a contextual target would clamp it (TS2322) (#14823) by @mohsen1 in #14891
- fix(checker): fold fresh-literal
?:/??union excess into one TS2322 (#14832) by @mohsen1 in #14897 - feat(#14345) materialize-once core machinery onto keystone carrier (flag-gated, dormant) by @mohsen1 in #14910
- fix(test): inline format args broken into main by #14918 (clippy) by @mohsen1 in #14925
- fix(checker): emit TS2456 for tuple self-spread type aliases (#14815) by @mohsen1 in #14909
- fix(emit): hoist ES5 private storage out of non-CommonJS class IIFE (#14767) by @mohsen1 in #14915
- fix(checker): infer open array for non-tuple array sprea...
v0.1.37
What's Changed
- test(solver): CI-enforced identity-bridge ratchets for #14344 by @mohsen1 in #14662
- fix(checker): elaborate index-signature property values to the deepest leaf by @mohsen1 in #14668
- test(checker): re-enable renamed re-export heritage test (#14621); correct two-level-chain ignore note by @mohsen1 in #14669
- perf(solver): #14351 cross-base heritage lazy-reference relation (flag-gated, acceptance-only) by @mohsen1 in #14661
- perf(solver): #14351 type-param-id-cardinality diagnostic probe (measure-only) by @mohsen1 in #14672
- perf(solver): make #14661 cross-base heritage probe zero-cost when disabled by @mohsen1 in #14677
- fix(solver): elaborate sole-real-member nullable targets against the resolved leaf by @mohsen1 in #14674
- fix(emit): splice hoisted temps into single-line async-lowered generator bodies by @mohsen1 in #14671
- fix(checker): narrow let/var union declarations by their object/class initializer by @mohsen1 in #14660
- fix(checker): anchor block-bodied function-value TS2322 at the binding target by @mohsen1 in #14676
- fix(emit): mirror tsc enum evaluator for type-only wrappers (#14665) by @mohsen1 in #14666
- fix(checker): widen fresh object/array literal structure in inferred return types by @mohsen1 in #14679
- fix(emit): qualify nested-namespace refs to enclosing exports by the declaring namespace by @mohsen1 in #14682
- ci: bump actions/cache from 5.0.5 to 6.0.0 by @dependabot[bot] in #14686
- ci: bump the actions-minor-patch group with 3 updates by @dependabot[bot] in #14685
- ci: bump actions/checkout from 6.0.3 to 7.0.0 by @dependabot[bot] in #14687
- test(checker): pin computed-key + transitive-heritage member retention (immer #13942) by @mohsen1 in #14664
- fix(emit): infer .d.ts return of function values from solver body type by @mohsen1 in #14690
- perf(checker): skip spelling-suggestion scan for lib-internal references (ts-toolbelt 5.25x->parity vs tsgo) by @mohsen1 in #14681
- fix(emit): qualify nested-namespace refs to enclosing exports by the declaring namespace (ES5) by @mohsen1 in #14683
- fix(ci): stop infra-interrupted runs from tripping the main-red sentinel (#14688) by @mohsen1 in #14691
- fix(checker): match tsc TS2791 bigint-exponentiation result-type precedence by @mohsen1 in #14693
- fix(emit): emit ES5 static field initializers after private-field storage by @mohsen1 in #14698
- fix(checker): match tsc's cannot-find-name lib/install hint sets (TS2584/2591/2592/2593) by @mohsen1 in #14702
- fix(checker): match tsc checkNonNullType operand diagnostics for unary +/-/~ and unnamed nullish operands by @mohsen1 in #14704
- feat(#14344): dormant decl-identity type-param carrier (flag-default-OFF) by @mohsen1 in #14696
- fix(checker): run checkNonNullType on both
inoperands by @mohsen1 in #14708 - fix(solver): report TS2367 no-overlap for template literal type operands by @mohsen1 in #14712
- fix(checker): classify readonly delete/assignment through a type parameter's apparent type by @mohsen1 in #14714
- fix(checker): report TS2349 for calls on a
nevercallee by @mohsen1 in #14725 - fix(emit): only pre-count ??= value temps for property/element targets by @mohsen1 in #14727
- fix(checker): materialize alias-wrapped re-exported generic interface receiver (#13212) by @mohsen1 in #14757
- fix(emit): always emit lowered static-block IIFE body multi-line by @mohsen1 in #14760
- fix(solver): exclude-narrow into union-bodied alias members by @mohsen1 in #14761
- fix(solver): keep any/error-typed discriminant property inert under value exclusion (TS2339) by @mohsen1 in #14759
- fix(solver): union tuple element types before relating to array element (TS2345) by @mohsen1 in #14799
- fix(checker): flatten nested conditional-flow substitutions for TS2344 by @mohsen1 in #14801
- fix(checker): unknown type-arg satisfies top-type constraints ({} | null | undefined) (#14733) by @mohsen1 in #14820
- fix(solver): narrow truthy-unknown
{}toobjectundertypeof === "object"guard by @mohsen1 in #14845 - fix(checker): recover declared type for reference-RHS reassignment in inferred return (#14728) by @mohsen1 in #14861
- perf(checker): resolve built-in lib namespace siblings from ES-module contexts (ts-toolbelt 5.9x) by @mohsen1 in #14862
- fix(checker): catch-clause variable must not shadow enclosing block-scoped binding (TS2451/2300/2481) by @mohsen1 in #14864
- data(corpus): add scule + mitt clean green canary rows (grow) by @mohsen1 in #14770
- data(ci): promote io-ts to the green project-compat ratchet baseline by @mohsen1 in #14867
- refactor(checker): route 7 raw try_borrow_mut dual-writes through register_in_envs (#14348) by @mohsen1 in #14865
- fix(checker): optional class property initialized to undefined at declaration site (prop?: T = undefined) (#14737) by @mohsen1 in #14871
- data(corpus): replace vacuous .d.ts-only rows with change-case + tiny-invariant (grow) by @mohsen1 in #14873
- fix(parser): pair backslashes in regex escape validator (no phantom \u/\x, TS1125) by @mohsen1 in #14874
- fix(checker): TS2344 prints the reduced branch of a concrete conditional constraint (#14786) by @mohsen1 in #14880
- fix(checker): tolerate fresh union member missing a destructured prop (TS2339) by @mohsen1 in #14875
- fix(checker): allow protected access through a subclass this-type parameter (TS2445) by @mohsen1 in #14887
- fix(checker): cross-file global interface merge emits TS2717 on conflicting member types (#14854) by @mohsen1 in #14888
- fix(checker): keep per-operator TS2869/TS2871 in nested
??chains (#14885) by @mohsen1 in #14886 - fix(solver): combine union arms in return-context substitution (TS2322, #14731) by @mohsen1 in #14892
- fix(parser): emit TS1110 for a missing required type constituent (#14836) by @mohsen1 in #14894
- fix(emit): serialize type-only decorator metadata refs to Object, not erased names (#14775) by @mohsen1 in #14898
- fix(emit): keep ES5 object-rest parameter function bodies single-line by @mohsen1 in #14710
- chore(release): bump try-tsz publish version to 0.1.37 by @mohsen1 in #14863
Full Changelog: v0.1.36...v0.1.37
What's Changed
- test(solver): CI-enforced identity-bridge ratchets for #14344 by @mohsen1 in #14662
- fix(checker): elaborate index-signature property values to the deepest leaf by @mohsen1 in #14668
- test(checker): re-enable renamed re-export heritage test (#14621); correct two-level-chain ignore note by @mohsen1 in #14669
- perf(solver): #14351 cross-base heritage lazy-reference relation (flag-gated, acceptance-only) by @mohsen1 in #14661
- perf(solver): #14351 type-param-id-cardinality diagnostic probe (measure-only) by @mohsen1 in #14672
- perf(solver): make #14661 cross-base heritage probe zero-cost when disabled by @mohsen1 in #14677
- fix(solver): elaborate sole-real-member nullable targets against the resolved leaf by @mohsen1 in #14674
- fix(emit): splice hoisted temps into single-line async-lowered generator bodies by @mohsen1 in #14671
- fix(checker): narrow let/var union declarations by their object/class initializer by @mohsen1 in #14660
- fix(checker): anchor block-bodied function-value TS2322 at the binding target by @mohsen1 in #14676
- fix(emit): mirror tsc enum evaluator for type-only wrappers (#14665) by @mohsen1 in #14666
- fix(checker): widen fresh object/array literal structure in inferred return types by @mohsen1 in #14679
- fix(emit): qualify nested-namespace refs to enclosing exports by the declaring namespace by @mohsen1 in ht...
latest
v0.1.36
What's Changed
- fix(checker): gate TS5097/TS2846 import-extension diagnostics on resolution (#14596) by @mohsen1 in #14597
- fix(checker): stabilize cross-arena file_idx for DefId + delegation identity (#13255 resolution-key channel; -8 kysely FPs) by @mohsen1 in #14588
- fix(solver): reduce genuine unknown-bodied generic alias applications to canonical unknown (#13212 slice) by @mohsen1 in #14595
- perf(solver): build unions from borrowed slices in hot paths (#8356 slice) by @mohsen1 in #14600
- fix(checker): emit TS2428 for class+interface merges with mismatched type-parameter arity by @mohsen1 in #14602
- fix(solver): mark unresolved-def keyof deferrals + cross-file keyof/utility-alias parity guard by @mohsen1 in #14569
- test(cli): driver witness for genuine
unknown-bodied generic alias reduction by @mohsen1 in #14603 - fix(solver): drop redundant empty object from mapped-type intersections (Prettify idiom) by @mohsen1 in #14605
- fix(solver): relate genuine unknown-bodied generic alias in function-return position by @mohsen1 in #14606
- hold(solver): remaining eval guard bails produce Termination::Incomplete (#14346 stage 3) by @mohsen1 in #14607
- fix(emit): wrap async arrow/function-expression return types in Promise in DTS by @mohsen1 in #14608
- fix(solver): relate generic sources to nested homomorphic identity mapped types (Prettify<Prettify>) by @mohsen1 in #14609
- fix(ci): automate runner cleanup + version-floor alert in ci-health by @mohsen1 in #14610
- fix(checker): drill into member mismatches against generic-interface targets (TS2322 parity) by @mohsen1 in #14611
- fix(checker): report TS2769 on no-overload-match even when callee class has a structural error by @mohsen1 in #14613
- test(cli): cross-file regression floor for imported-const computed-key identity by @mohsen1 in #14616
- feat(checker): implement unique symbol placement grammar (TS1330-1335, TS1005) by @mohsen1 in #14615
- fix(emit): order no-priority tslib helpers by transform-pass tier (ES2018 before ES2015) by @mohsen1 in #14618
- fix(checker): TS18016 for private-id access on any-typed receiver outside a class by @mohsen1 in #14619
- fix(checker): show unique-symbol computed keys as [sym] in diagnostics by @mohsen1 in #14620
- fix(checker): substitute heritage type args of cross-file generic interface bases by @mohsen1 in #14625
- fix(cli): treat removed-option notice (TS5102) as fatal for semantic diagnostics by @mohsen1 in #14628
- fix(checker): exclude reverse-mapping numeric index from keyof of enum objects (#14631) by @mohsen1 in #14632
- fix(parser): match tsc TS1434 recovery for object-method
=>body by @mohsen1 in #14633 - fix(checker): keep contextual type for wrapped-type-param generic call initializers by @mohsen1 in #14634
- fix(checker): report TS2540 for readonly element-access write through a type-level index (#14636) by @mohsen1 in #14637
- fix(checker): keep alias name for union-result indexed-access type aliases by @mohsen1 in #14638
- fix(checker): keep literal members of a non-fresh intersection source in TS2322 display (#14639) by @mohsen1 in #14640
- fix(checker): scope template-literal pattern index signatures to matching properties in TS2411 by @mohsen1 in #14641
- fix(checker): emit bare-type-parameter-target note at every TS2322 chain depth (#14642) by @mohsen1 in #14643
- fix(ci): bake bench bootstrap toolchain into an optional prebuilt image (#13751) by @mohsen1 in #14614
- fix(checker): key renamed re-export generic interface to its declaration def (#13212) by @mohsen1 in #14621
- fix(checker): render non-generic spread-flattened tuple aliases structurally (#14626) by @mohsen1 in #14627
- fix(checker): generalize literal source to base in TS2769 overload elaboration by @mohsen1 in #14630
- data(ci): add hotscript + infisical to the green project-compat ratchet baseline by @mohsen1 in #14644
- perf(solver): persist definitive conditional-branch verdicts across evaluators (#8356) by @mohsen1 in #14624
- fix(checker): append "Type 'X' has no call/construct signatures." note to TS2349/TS2351 by @mohsen1 in #14648
- fix(checker): preserve declared signature return/param literals in TS2322 display (#14645) by @mohsen1 in #14646
- docs(arch): identity/heritage/termination regression boundaries (#14350) by @mohsen1 in #14649
- fix(checker): render flow-narrowed union source by its narrowed type, not the declared alias by @mohsen1 in #14623
- fix(checker): gate object-literal/argument arrow body-return elaboration on annotated parameters by @mohsen1 in #14652
- perf(checker): defer force-eligible non-generic lib interface type references to Lazy (#13933) by @mohsen1 in #14650
- data(corpus): add 5 canary rows — radash, valtio, ts-belt, ts-extras, superjson (grow) by @mohsen1 in #14653
- chore(readme): refresh benchmark image and stats by @mohsen1 in #14654
- fix(checker): elaborate contravariant parameter mismatches for union/array/tuple/index leaves (#14655) by @mohsen1 in #14656
- chore(release): bump try-tsz publish version to 0.1.36 by @mohsen1 in #14657
- perf(solver): #14351 variance-fallthrough relation hot-path counter by @mohsen1 in #14658
Full Changelog: v0.1.35...v0.1.36
What's Changed
- fix(checker): gate TS5097/TS2846 import-extension diagnostics on resolution (#14596) by @mohsen1 in #14597
- fix(checker): stabilize cross-arena file_idx for DefId + delegation identity (#13255 resolution-key channel; -8 kysely FPs) by @mohsen1 in #14588
- fix(solver): reduce genuine unknown-bodied generic alias applications to canonical unknown (#13212 slice) by @mohsen1 in #14595
- perf(solver): build unions from borrowed slices in hot paths (#8356 slice) by @mohsen1 in #14600
- fix(checker): emit TS2428 for class+interface merges with mismatched type-parameter arity by @mohsen1 in #14602
- fix(solver): mark unresolved-def keyof deferrals + cross-file keyof/utility-alias parity guard by @mohsen1 in #14569
- test(cli): driver witness for genuine
unknown-bodied generic alias reduction by @mohsen1 in #14603 - fix(solver): drop redundant empty object from mapped-type intersections (Prettify idiom) by @mohsen1 in #14605
- fix(solver): relate genuine unknown-bodied generic alias in function-return position by @mohsen1 in #14606
- hold(solver): remaining eval guard bails produce Termination::Incomplete (#14346 stage 3) by @mohsen1 in #14607
- fix(emit): wrap async arrow/function-expression return types in Promise in DTS by @mohsen1 in #14608
- fix(solver): relate generic sources to nested homomorphic identity mapped types (Prettify<Prettify>) by @mohsen1 in #14609
- fix(ci): automate runner cleanup + version-floor alert in ci-health by @mohsen1 in #14610
- fix(checker): drill into member mismatches against generic-interface targets (TS2322 parity) by @mohsen1 in #14611
- fix(checker): report TS2769 on no-overload-match even when callee class has a structural error by @mohsen1 in #14613
- test(cli): cross-file regression floor for imported-const computed-key identity by @mohsen1 in #14616
- feat(checker): implement unique symbol placement grammar (TS1330-1335, TS1005) by @mohsen1 in #14615
- fix(emit): order no-priority tslib helpers by transform-pass tier (ES2018 before ES2015) by @mohsen1 in #14618
- fix(checker): TS18016 for private-id access on any-typed receiver outside a class by @mohsen1 in #14619
- fix(checker): show unique-symbol computed keys as [sym] in diagnostics by @mohsen1 in #14620
- fix(checker): substitute heritage type args of cross-file generic interface bases by @mohsen1 in #14625
- fix(cli): treat...
v0.1.35
What's Changed
- fast(bench): exclude >=1.5x-slower rows from the README perf chart by @mohsen1 in #14519
- fix(checker): set-only object-literal accessor property type is the setter parameter type by @mohsen1 in #14507
- test(checker): regression guard for fleet-fixed #14489 (wrapper-alias infer in conditional extends-type) by @mohsen1 in #14517
- fix(checker): infer yield type for generator function declarations by @mohsen1 in #14498
- test(checker): regression guard for fleet-fixed #14499 (NoInfer transparency in intersection) by @mohsen1 in #14522
- fix(solver): reject overload candidate when a const type param fell back to its constraint by @mohsen1 in #14524
- fix(emit): infer unannotated generator yield as widen(union(yields)) by @mohsen1 in #14513
- fix(solver): infer through intrinsic string mapping (Uppercase/Lowercase/…) in template-literal pattern (false TS2322) by @mohsen1 in #14515
- chore(readme): refresh benchmark image and stats by @mohsen1 in #14526
- fix(checker): instantiate inherited-constructor defaulted type arg through the substitution (false TS2322) by @mohsen1 in #14525
- feat(solver): identity-collision observability counters for the #14344 migration by @mohsen1 in #14520
- fix(checker): bind omitted base type-argument defaults for this-member reads by @mohsen1 in #14523
- green(ci): robustly provision app package managers (corepack + standalone pnpm/bun + vendored yarn) by @mohsen1 in #14521
- fix(solver): homomorphic mapped alias over readonly-numeric-index source must not reshape to array by @mohsen1 in #14532
- fix(checker): infer class get-accessor return type from body at property access (TS2322 false negative) by @mohsen1 in #14536
- chore(readme): refresh perf chart from current published benchmark data by @mohsen1 in #14531
- fix(checker): union unwidened return literals, widen only a single-literal result by @mohsen1 in #14533
- fix(checker): keep polymorphic
thiswhen receiver type still containsthisby @mohsen1 in #14541 - fix(solver): infer from the last member of a callable intersection (LastOfUnion idiom, false TS2322) by @mohsen1 in #14527
- test(checker): batch regression guards for 6 fleet-fixed canary FPs (#14510/#14385/#14341/#14326/#14323/#14317) by @mohsen1 in #14540
- hold(bench): #14344 content-addressing flip validation harness + baseline by @mohsen1 in #14548
- fix(checker): keyof of a key-preserving wrapper is a valid index (spurious TS2536) by @mohsen1 in #14537
- feat(solver): EvaluationResult termination channel + guard-firing counters (#14346 scaffold) by @mohsen1 in #14542
- fix(checker): union unwidened return literals, widen only a single fresh literal by @mohsen1 in #14534
- fix(checker): accept a this-typed value assigned into a this-typed property by @mohsen1 in #14535
- feat(solver): file_idx->canonical-module-path table for #14344 content election (Stage 5 PR1) by @mohsen1 in #14544
- fix(checker): suppress TS2454 when declared type has undefined behind an indexed access (#14538) by @mohsen1 in #14543
- fix(emitter): emit __setModuleDefault at priority 1 to match tsc helper order by @mohsen1 in #14552
- feat(solver): content-election pass converging cross-arena variants (#14344 Stage 5 PR2) by @mohsen1 in #14546
- fix(bench): chart clean slow project timings by @mohsen1 in #14556
- fix(solver): preserve tuple identity through recursive-utility composition (#14518) by @mohsen1 in #14555
- hold(solver): IterationExceeded eval bail produces Termination::Incomplete (#14346 stage 2) by @mohsen1 in #14554
- fix(checker): keep lib-interface body publication monotone in members (immer SetIterator next-missing FP, #13942) by @mohsen1 in #14549
- fix(checker): preserve polymorphic
thiswhen a member is read through athis-relative receiver (TS2345 FP) by @mohsen1 in #14516 - fix(checker): wire the unresolved-def env-eval cache-poisoning backstop (#13980) by @mohsen1 in #14550
- fix(solver): bind
inferin type-predicate position (x is infer R) (#14561) by @mohsen1 in #14562 - fix(emit): emit __propKey at no-priority to match tsc helper order (#14551) by @mohsen1 in #14560
- revert(solver): remove dormant #14344 content-election + path-table (#14544/#14546) by @mohsen1 in #14558
- test(cli): guard cross-file local-callee symbol identity against raw-SymbolId collision by @mohsen1 in #14553
- fix(bench): require charts for green perf-timed projects by @mohsen1 in #14563
- fix(checker): structural single-missing-required-property diagnostic; drop Callable/Applicable name hardcodes (#14350) by @mohsen1 in #14564
- fix(emit): match tsc __spreadArray pack flag and trailing elision in ES5 array spreads by @mohsen1 in #14568
- docs(emit): triage DTS-emitter type_text predicates as the correct text boundary (#14142) by @mohsen1 in #14570
- fix(checker): apply default type arguments when recovering a failed generic call/new (#14565) by @mohsen1 in #14566
- fix(resolver): one shared exports/imports pattern-key comparator; fix CLI-driver order-dependent subpath selection (#13826) by @mohsen1 in #14572
- fix(emit): single-line ES5 generator wrapper and restore dropped default params by @mohsen1 in #14571
- fix(solver): taint unresolved-def index-access deferrals so the registration window is not cached (#14347) by @mohsen1 in #14573
- fix(bench-site): render successful rows by 1.5x speed, drop app-compat gate by @mohsen1 in #14574
- fix(solver): taint unresolved bare-Lazy eval so the registration window is not cached (#14347) by @mohsen1 in #14576
- fix(bench-site): size chart bars correctly + drop "Not measured" rows by @mohsen1 in #14579
- test(checker): batch regression guards for 5 fleet-fixed canary FPs (#14565/#14561/#14538/#14530/#14512) by @mohsen1 in #14575
- refactor(checker): drop redundant DefinitionStore flow-env mirror (#14348) by @mohsen1 in #14577
- fix(solver): honor index-signature key applicability; drop indexSignatures1 rewrite (#14141) by @mohsen1 in #14581
- fix(checker): instantiate barrel-re-exported generic interface receivers before property access by @mohsen1 in #14578
- fix(checker): present-property mismatch beats missing-property in object-literal elaboration (#14582) by @mohsen1 in #14583
- perf(solver): project-wide instantiation cache (#14345 materialize-once) by @mohsen1 in #14580
- fix(checker): render anonymous-object intersections as A & B, never the merged object by @mohsen1 in #14584
- fix(solver): taint unresolved-def deferrals in type-argument expansion (#14347) by @mohsen1 in #14585
- fix(checker): isolate lib-interface heritage merge from unrelated recursion depth (#13942) by @mohsen1 in #14589
- fix(solver): preserve tuple identity in homomorphic maps over recursive-utility tuples (#14518) by @mohsen1 in #14587
- perf(checker): defer member-position generic lib-reference body materialization in resolve_lib_type_by_name prewarm by @mohsen1 in #14586
- fix(emit): correct enum-member access in const/property .d.ts initializers by @mohsen1 in #14591
- chore(readme): refresh benchmark image and stats by @mohsen1 in #14590
- test(checker): align stale conformance-issue assertions with tsc 6.0.2 by @mohsen1 in #14593
- fix(solver): taint unresolved-Lazy mapped-key extraction (#14347 mapped slice) by @mohsen1 in #14594
- chore(release): bump try-tsz publish version to 0.1.35 by @mohsen1 in #14592
Full Changelog: v0.1.34...v0.1.35
What's Changed
- fast(bench): exclude >=1.5x-slower rows from the README perf chart by @mohsen1 in #14519
- fix(checker): set-only object-literal accessor property type is the setter parameter type by @mohsen1 in https://github.com/tsz-org/ts...
v0.1.34
What's Changed
- fix(bench): time clean canary projects for charts by @mohsen1 in #14119
- fix(checker): unwrap
awaitof a deferred alias/conditional resolving to a Promise union by @mohsen1 in #14117 - fix(solver): accept apparent-type constructors as instanceof RHS (TS2359) by @mohsen1 in #14122
- fix(checker): allow class/interface declaration self-merge in implements clause (TS2720) by @mohsen1 in #14121
- fix(checker): guard interface heritage-merge recursion with the cross-context stack breaker by @mohsen1 in #14124
- perf(checker): canonicalize type-param-bearing application args for identity convergence (#14101 step 1b) by @mohsen1 in #14132
- fix(cli): walk all ancestors for default typeRoots (monorepo TS2688) by @mohsen1 in #14120
- perf(solver): probe recursive-heritage def re-entries for SCC headroom (#14101 step 2 probe) by @mohsen1 in #14133
- fix(bench): time clean application rows for charts by @mohsen1 in #14125
- fix(solver): resolve delete-operand optionality through heritage (TS2790) by @mohsen1 in #14134
- fix(solver): guard infer object-pattern application unwrap against non-converging cycles (TS stack overflow) by @mohsen1 in #14135
- fix(solver): reject deferred recursive-alias self-applications from the concrete-fixpoint cache (#14123) by @mohsen1 in #14136
- fix(checker): credit nested unresolved built-in Application members in union/intersection property access (TS2339) by @mohsen1 in #14138
- fix(checker): canonicalize cross-module unique-symbol identity for computed keys by @mohsen1 in #14139
- fix(checker): resolve unindexable element access to implicit-any, not undefined by @mohsen1 in #14148
- fix(bench): chart passing canaries + break the bench-gate deferral deadlock by @mohsen1 in #14147
- test(checker): forced-parallel DOM heritage non-determinism witness (#13862) by @mohsen1 in #14151
- fix(module-resolution): canonicalize package main/types/typings entry paths by @mohsen1 in #14150
- fix(checker): resolve merged value+type-alias symbols through re-export chains (TS2464) by @mohsen1 in #14143
- fix(checker): resolve computed/const-keyed members in declare-global Window augmentations by @mohsen1 in #14137
- fix(checker): preserve unique-symbol identity for value+typeof-alias merge across modules by @mohsen1 in #14144
- fix(bench): resolve app compat for dispatched publishes by @mohsen1 in #14179
- fix(checker): report this-rooted nullish operand as TS2532, not TS18050 by @mohsen1 in #14177
- fix(module-resolution): substitute every '*' in package exports/imports targets by @mohsen1 in #14180
- fix(checker): resolve re-exported merged value+type symbol to its value side (TS2464) by @mohsen1 in #14145
- refactor(checker): replace globalThis/Window display-string predicate with a GlobalReceiver enum by @mohsen1 in #14146
- perf(checker): incorporate object-shaped heritage base members (#14101 part-4 / Lever 2) by @mohsen1 in #14178
- fix(bench): time clean application rows by @mohsen1 in #14183
- fix(solver): empty/short tuple matches optional-prefix rest infer pattern by @mohsen1 in #14185
- fix(checker): preserve namespace/enum meaning through cross-binder re-exports by @mohsen1 in #14187
- refactor(checker): structural checks replace type-display-string semantic predicates (#14142) by @mohsen1 in #14160
- fix(checker): treat unresolved-Lazy overload-return relations as undetermined (#14131) by @mohsen1 in #14181
- fix(solver): model optional index signatures so object-typed sources satisfy Partial<Record> (#14158) by @mohsen1 in #14186
- fix(solver): negative
in-narrowing keeps a non-union optional property unchanged (TS2322) by @mohsen1 in #14188 - fix(solver): resolve instantiable arithmetic operands to their base constraint (#14154) by @mohsen1 in #14191
- fix(checker): model
typeof globalThisas a concrete surface object (TS2322/TS7053) by @mohsen1 in #14184 - fix(checker): existential spread-arity for overloaded callables (TS2556) by @mohsen1 in #14189
- fix(solver): waive missing string-index requirement for array/tuple vs
{ [x: string]: any }(#14162) by @mohsen1 in #14190 - fix(bench): publish complete gray app compat rows by @mohsen1 in #14194
- fix(checker): widen array/object-literal conditional branches like tsc by @mohsen1 in #14193
- perf(solver): discriminate single-def vs multi-member SCC re-entries (#14101 probe) by @mohsen1 in #14195
- fix(checker): interface inherits members from a cross-module class base (#14161) by @mohsen1 in #14192
- docs: add the how-tsz-works codebase guide (narrative + internals deep-dives + file inventory) by @mohsen1 in #14199
- fix(checker): default missing Node built-in import hint to TS2591, not TS2580 by @mohsen1 in #14196
- fix(solver): resolve
thisper side for tuple vs interface-extends-Array (#14170) by @mohsen1 in #14198 - fix(solver): requirement-free object comparable to object-constrained type param (TS2352) (#14152) by @mohsen1 in #14200
- fix(module-resolution): ambient module shadows untyped on-disk package (#14169) by @mohsen1 in #14201
- fix(solver): seed contextual return type into generic construct-signature inference (#14171) by @mohsen1 in #14204
- fix(bench): fail project rows >1.5x slower than tsgo (was 8x) by @mohsen1 in #14208
- fix(checker): widen mutable element literals of a const fresh compound initializer (#14165) by @mohsen1 in #14209
- fix(narrowing): narrow alias/application union via in-operator (#14153) by @mohsen1 in #14203
- fix(solver): accept a deferred indexed-access as an instanceof left operand by @mohsen1 in #14205
- fix(checker): narrow let binding via array/object-literal assignment in flow fallback (#14219) by @mohsen1 in #14221
- fix(ci): app clone/install failure -> fixture-invalid (gray), not false TS2307 red by @mohsen1 in #14248
- fix(lowering): give rest-position
infertheunknown[]constraint (#14159) by @mohsen1 in #14241 - fix(bench): monotonic latest.json guard (older run can't clobber newer perf) by @mohsen1 in #14244
- fix(solver): bind
thisto the receiver when indexing athis-typed property (#14166) by @mohsen1 in #14223 - fix(checker): prove definite assignment in evaluated short-circuit condition operand (#14215) by @mohsen1 in #14243
- fix(checker): preserve narrowing across a closure START boundary (TS18048) by @mohsen1 in #14242
- fix(solver): coerce template-literal infer capture for literal numeric constraints by @mohsen1 in #14265
- fix(checker): recognize never-returning imported functions as terminating (TS2366) by @mohsen1 in #14246
- fix(solver):
never extends <infer pattern>takes the true branch with infer→unknown (#14174) by @mohsen1 in #14250 - fix(checker): fold multi-block/cross-file
declare globalinterfaces into keyof/indexed access (#14173) by @mohsen1 in #14197 - fix(solver): preserve
as constobject-literal property literals through generic inference (#14157) by @mohsen1 in #14224 - chore(ci): green no-regression baseline for project-compile canary (data-only) by @mohsen1 in #14268
- perf(solver): probe instantiation-identity dedup ceiling (#14101) by @mohsen1 in #14264
- fix(checker): consult signature type params before value-as-type in type literals (#14214) by @mohsen1 in #14222
- fix(driver): exact-name ambient module precedence over path resolution (TS2614) by @mohsen1 in #14266
- fix(checker): generic indexed access of a callable member satisfies a callable constraint (#14164) by @mohsen1 in #14210
- fix(solver): function value assignable to an object & call-signature intersection (#14156) by @mohsen1 in https://github.com/tsz-org/tsz/pull...
v0.1.32
What's Changed
- fix(checker): render narrowed type for unknown/any predicate-guard source in TS2322 (#14009) by @mohsen1 in #14017
- perf(checker): memoize context-free type-position identifier resolution by @mohsen1 in #13996
- fix(checker): render flow-narrowed unknown/any source type in TS2322 display (#14009) by @mohsen1 in #14019
- fix(checker): exempt for-of/for-in destructured loop bindings from TS2454 in closures (#14013) by @mohsen1 in #14021
- fix(checker): constructor throw paths don't constrain definite assignment (TS2564) by @mohsen1 in #14022
- fix(checker): defer re-entrant constructor-cycle fallback through the ClassConstructor companion (#13947) by @mohsen1 in #13995
- fix(checker): reset per-file resolution guards on every fresh-check file boundary by @mohsen1 in #14023
- test(checker): make built-in collection heritage guards load real libs by @mohsen1 in #14024
- fix(checker): node-global in type position gets install-@types diagnostic (TS2591) by @mohsen1 in #14025
- test(checker): pin same-base recursive-conditional false-negative witness (#8432) by @mohsen1 in #14026
- fix(solver): keyof of a mapped type is its constraint, not string | number by @mohsen1 in #14027
- perf(solver): share this-bearing relation verdicts keyed by the resolved this binding (#13828) by @mohsen1 in #14030
- fix(resolver): exports field blocks typesVersions fallback for subpaths by @mohsen1 in #14028
- infra(test): serialize cargo-nextest runs and reap stale orchestrators (#13982) by @mohsen1 in #14031
- fix(checker): debug-only purity invariant for stamp-keyed assignability memos (#13980) by @mohsen1 in #14029
- perf(checker): on-demand forcing for lib-interface materialization (#12101, ~1.8x comlink) by @mohsen1 in #14016
- fix(lsp): exclude non-lexical name positions from reference matching by @mohsen1 in #14035
- fix(emit): keep synthetic class-extends base dependency in source order by @mohsen1 in #14034
- test(checker): broaden const-Readonly-shadowing parity guards for deeplyNestedMappedTypes by @mohsen1 in #14032
- fix(cli): defer node_modules declaration root checks by @mohsen1 in #14011
- fix(lsp): expand shorthand/destructuring rename on the symbol-based path by @mohsen1 in #14039
- fix(emit): lower generator yield* via __values delegation at ES5 by @mohsen1 in #14040
- fix(resolver): single owner for import-site ESM/CJS classification by @mohsen1 in #14037
- fix(lsp): claim references-full locations after the seed text-match check by @mohsen1 in #14044
- fix(checker): report implicit-any params an annotated var initializer cannot type (TS7006) by @mohsen1 in #14042
- fix(emit): inline single-element nested binding patterns in ES5 destructuring by @mohsen1 in #14047
- fix(website): require application compatibility rows by @mohsen1 in #14048
- test(binder,lsp): lock module-vs-script .d.ts global-scope contract (#12372) by @mohsen1 in #14049
- test(resolver): guard real-world npm import-shape resolution (#13826) by @mohsen1 in #14045
- fix(checker): report TS2741/TS2739 for missing props against nullable-object unions by @mohsen1 in #14051
- perf(checker): keep single-signature lib method-call returns lazy (#13983) by @mohsen1 in #14052
- fix(website): download application compat artifacts in bench publish by @mohsen1 in #14058
- fix(solver): relate same-base opaque applications by structural identity (#13609) by @mohsen1 in #14057
- test(checker): lock deeply-nested mapped-reducer relation past the recursion cap by @mohsen1 in #14053
- fix(checker): report TS2322 for missing props against merged object-intersection targets by @mohsen1 in #14062
- fix(checker): emit TS1375 and TS1378 independently for top-level await by @mohsen1 in #14060
- perf(solver): pre-fetch Application union members so the sort comparator does no interner lookups by @mohsen1 in #14059
- fix(emit): fold public auto-accessor storage into private-name init (#14064) by @mohsen1 in #14065
- fix(checker): index a generic type parameter by a constraint unique-symbol key by @mohsen1 in #14063
- fix(emit): lower ES2015+ CommonJS export destructuring via flatten form by @mohsen1 in #14055
- fix(website): gate benchmark deploys on app compat readiness by @mohsen1 in #14070
- fix(module-resolution): resolve
node:protocol builtins like tsc by @mohsen1 in #14071 - fix(solver): resolve indexed access for number-subtype keys against a numeric index signature by @mohsen1 in #14056
- fix(emit): order ES5 class instance field initializers by source position by @mohsen1 in #14067
- fix(emit): allocate fresh temp for nested ES5 param binding default by @mohsen1 in #14069
- test(checker): correct deeplyNestedMappedTypes same-base bailout to tsc parity by @mohsen1 in #14072
- fix(checker): treat as/<T> type-assertion arguments as non-fresh in literal elaboration by @mohsen1 in #14073
- fix(solver): canonicalize infer-parameter identity so it does not fragment on default/constraint snapshot by @mohsen1 in #14074
- fix(module-resolution): resolve tsconfig
pathswithoutbaseUrlby @mohsen1 in #14075 - fix(solver): relate same-base generic interface instantiations when every type-param usage is bivariant by @mohsen1 in #14078
- fix(emit): down-level destructuring patterns in es5 catch clauses by @mohsen1 in #14081
- fix(emit): capture ES5 optional-call this-receiver inside the nullish guard by @mohsen1 in #14077
- fix(emit): key ES5 computed object-literal layout on the source multiLine flag by @mohsen1 in #14082
- refactor(arch): enforce CheckerContext lifetime→destination-shell contract by @mohsen1 in #14086
- fix(emit): lower ES5 destructuring in async/generator var decls and catch clauses by @mohsen1 in #14085
- fix(checker): preserve precise ES2021–ES2025 target for target-gated diagnostics by @mohsen1 in #14084
- fix(solver): drop the
constmodifier from canonical type-parameter identity by @mohsen1 in #14090 - fix(bench): surface compile compat for bench-excluded required rows (type-challenges) by @mohsen1 in #14093
- fix(solver): absorb the error sentinel in the raw intersection path by @mohsen1 in #14091
- feat(bench): time passing compiler canaries on the perf comparison page by @mohsen1 in #14094
- fix(solver): absorb top/bottom sentinels in union_preserve_members by @mohsen1 in #14089
- feat(website): meaningful labels, per-project descriptions, README rendering on benchmark pages by @mohsen1 in #14092
- fix(checker): honor authoritative module resolution for relative imports (moduleSuffixes) by @mohsen1 in #14097
- fix(checker): guard every under-applied type-argument fill against the error sentinel by @mohsen1 in #14099
- fix(solver): erase bound type-parameter name from canonical identity (full alpha-equivalence) by @mohsen1 in #14096
- perf(checker): memoize spelling-suggestion scan per reference node by @mohsen1 in #14103
- perf(solver): short-circuit Lazy heritage subtyping by nominal reachability by @mohsen1 in #14104
- chore(readme): refresh benchmark image and stats by @mohsen1 in #14106
- fix(solver): canonicalize the inner type of NoInfer<T> for structural identity by @mohsen1 in #14109
- fix(checker): strip undefined from defaulted params with a deferred annotation (TS2488/TS18048) by @mohsen1 in #14108
- fix(solver): accept
unknownsource against deferred-conditional targets with top-type branches by @mohsen1 in #14105 - fix(solver): drop cosmetic value-names from canonical type identity by @mohsen1 in #14115
- chore(release): bum...
v0.1.31
What's Changed
- fix(checker): resolve merged value+type-alias imports to the value side (#13855) by @mohsen1 in #13900
- perf(solver): bound InferSubstitutor traversal breadth (#13040) by @mohsen1 in #13905
- fix(checker): arena-aware type params for multi-arena interfaces (jotai T-leak) by @mohsen1 in #13726
- fix(checker): drop internal error sentinel from base-class type-argument fill (#13484) by @mohsen1 in #13909
- test(checker): lock parity floor for nested generic indexed access (#13720) by @mohsen1 in #13907
- test(cli): make #13255 parallel-determinism guards exercise the real par_iter path by @mohsen1 in #13911
- fix(solver): named class/interface without an explicit index is not a string-record subtype by @mohsen1 in #13914
- fix(checker): bound cross-file recursive alias-intersection resolution (#13212) by @mohsen1 in #13906
- fix(checker): preserve unique-symbol identity for name-merged Symbol.for consts by @mohsen1 in #13902
- fix(solver): canonicalize free type-parameter constraints so identity ignores resolution state (#13609) by @mohsen1 in #13915
- test(checker): guard deferred HOF application against false TS2344 on unknown[] constraint (#13908) by @mohsen1 in #13913
- perf(solver): per-instance memo for context-dependent relation verdicts (#13828) by @mohsen1 in #13917
- perf(ci): restore per-test weights for fourslash shard balancing by @mohsen1 in #13912
- fix(checker): reduce inline conditional/mapped type-alias application contextual type before object-literal property typing (#13618) by @mohsen1 in #13916
- fix(checker): delegate cross-arena resolution for any provider-private alias body (#13618) by @mohsen1 in #13918
- fix(solver): bound exclusion-narrowing recursion with a per-request work budget (#13806 theme C) by @mohsen1 in #13921
- fix(checker): fold enum bitwise/shift via ECMAScript ToInt32/ToUint32 (#13919) by @mohsen1 in #13920
- perf(checker): memoize the pass-through chase's assignment-relevance classification (#13311) by @mohsen1 in #13923
- perf(solver): activate collect_properties memo in the intersection-source explain pass by @mohsen1 in #13924
- perf(ci): build dist-binaries at -j8 (measured RSS-safe on 32 GiB) by @mohsen1 in #13925
- fix(bench): show application-row compile results on the compatibility site by @mohsen1 in #13926
- fix(solver): accept extends-Array interfaces as T[] via covariant element check by @mohsen1 in #13928
- fix(checker): preserve source-order redeclaration diagnostics by @mohsen1 in #13927
- refactor(solver): split mapped key/source extraction to restore the file-size ratchet by @mohsen1 in #13938
- fix(checker): no TS2454/TS2448 for computed property names in type positions by @mohsen1 in #13940
- fix(solver): alpha-rename predicate type params before nested inference (#13929) by @mohsen1 in #13941
- fix(solver): source index signatures must not satisfy/reject target named members by @mohsen1 in #13943
- fix(solver): accept extends-ReadonlyArray shapes against readonly array targets by @mohsen1 in #13945
- infra(perf): headless symbolicated flat-profile tool (#13934) by @mohsen1 in #13950
- test(checker): regression-guard suite for lib-interface heritage materialization rework (#13937) by @mohsen1 in #13948
- fix(checker): resolve
typeof Xvalue-space for value+type-alias merged symbols (fp-ts HKT) by @mohsen1 in #13946 - perf(solver): bound the failure-explanation eval storm with a work budget (#13243) by @mohsen1 in #13953
- fix(checker): mirror eval-only DefId body writes into the flow-analyzer env (#13944) by @mohsen1 in #13952
- test(checker): type-interner count guards for lib-heritage laziness (#13937) by @mohsen1 in #13959
- test(checker): restore + broaden inline-conditional rest-spread parity guards (#6475 residual) by @mohsen1 in #13957
- fix(solver): classify readonly T[] wrapper as element-indexable by its inner type by @mohsen1 in #13960
- fix(checker): mirror resolution-time def writes into the flow-analyzer env by @mohsen1 in #13949
- fix(checker): defer DefId env mirror writes instead of dropping them on borrow race (#13944) by @mohsen1 in #13951
- fix(checker): keep type arguments of generic callable interfaces in assignability diagnostics (#13954) by @mohsen1 in #13955
- fix(checker): canonicalize DefId of barrel-re-exported generics in type-reference position by @mohsen1 in #13958
- perf(checker): defer spelling-suggestion scan to diagnostic emission (#12271) by @mohsen1 in #13962
- fix(checker): classify node:-scheme-only builtins distinctly from their npm package names by @mohsen1 in #13963
- fix(checker): reduce concrete indexed-access types for assignability diagnostic display by @mohsen1 in #13964
- fix(emit): order auto-accessor backing-storage init by source position by @mohsen1 in #13969
- perf(ci): move conformance-aggregate to ubuntu-latest (#13745) by @mohsen1 in #13965
- fix(checker): gate sibling-literal expected-type display on bare type-parameter slot (#13956) by @mohsen1 in #13966
- fix(checker): name the value element in inline-conditional rest-spread TS2345 (#13956) by @mohsen1 in #13967
- fix(checker): type object-literal method
thisas the complete object literal (#13970) by @mohsen1 in #13971 - fix(emit): retain transitive deps of non-exported classes/variables in .d.ts by @mohsen1 in #13972
- fix(emit): map ES5-lowered generator/async body source positions by @mohsen1 in #13973
- fix(checker): object-literal
thissees later data properties and accessors by @mohsen1 in #13974 - fix(emit): map ES5-downleveled generator yield operands in source maps by @mohsen1 in #13976
- perf(ci): make cargo-target-deps staleness measurable on the shallow dist-binaries runner (#13747) by @mohsen1 in #13977
- fix(solver): don't let the limited-resolver first pass consume materialized closed-eval meta-operations by @mohsen1 in #13978
- fix(checker): substitute type args for namespace-qualified generic interface refs by @mohsen1 in #13984
- fix(checker): report @types/node install hint for unresolved node builtins under node16/nodenext by @mohsen1 in #13985
- fix(emit): hoist optional-chain temps in ES5 concise-body arrows by @mohsen1 in #13988
- fix(solver): resolve cross-file generic alias-of-callable call targets (#13947) by @mohsen1 in #13989
- fix(checker): unwrap rest-element array type when iterating a tuple in for-of by @mohsen1 in #13990
- fix(solver): Array.isArray narrows object-like supertypes of any[] to any[], not never by @mohsen1 in #13992
- checker: add targeted per-TypeId env_eval_cache invalidation by @mohsen1 in #13991
- fix(checker): unary arithmetic on any yields number, not bigint by @mohsen1 in #13994
- test(solver): pin lazy heritage-base member resolution (consumer side, #13935) by @mohsen1 in #13998
- fix(checker): preserve primitive-literal right operand of contextual ||/?? by @mohsen1 in #13997
- fix(checker): match tsc's syntactic ?? operand nullishness for TS2869/TS2871 by @mohsen1 in #13999
- fix(resolver): resolve package.json #imports against the nearest package scope only by @mohsen1 in #14004
- fix(binder): finalize if-statement merge label via finishFlowLabel (collapse dead merges) by @mohsen1 in #14001
- perf(checker): memoize type-position identifier resolution by @mohsen1 in #13993
- fix(bench): require application compatibility before publishing by @mohsen1 in #14010
- fix(emit): keep single-line function bodies single-line with object-rest params (#14006) by @mohsen1 in #14007
- fix(solver): accept union of valid index types in strict TS2538 check by @mohsen1 in ...
v0.1.30
What's Changed
- fix(checker,solver): clear remeda TS2536 cluster via unresolved-import error contagion by @mohsen1 in #13843
- fix(solver): decompose boolean union member in literal-equality exclusion narrowing (mobx 96->89) by @mohsen1 in #13857
- perf(solver): memoize recursive-union narrowing relation chain (typebox) by @mohsen1 in #13822
- perf(solver): eval-materialization probe de-risks #13250 deferred-materialization lever by @mohsen1 in #13842
- perf(checker): cut ts-toolbelt conditional and lib cache work by @mohsen1 in #13883
- fix(checker): preserve const-asserted property literals in inferred return types (zustand 11→7) by @mohsen1 in #13844
- perf(cli): gate the checker pool on the DOM/webworker serialization lock by @mohsen1 in #13861
- fix(checker): contextual-type assignment callbacks through cross-file alias-typed members (jotai) by @mohsen1 in #13860
- fix(solver): infer type params reachable only through a generic method member by @mohsen1 in #13885
- fix(bench): unfreeze benchmark publish (skip app rows + readiness excludes unmeasured rows) by @mohsen1 in #13869
- fix(resolver): extensionless package imports target follows PACKAGE_TARGET_RESOLVE by @mohsen1 in #13859
- fix(checker): keep member-property assignment narrowing across an if-join (#13232) by @mohsen1 in #13872
- fix(cli,resolver): reset path-existence caches at the batch boundary (#13368) by @mohsen1 in #13882
- ci: bump actions/setup-node from 4.4.0 to 6.4.0 by @dependabot[bot] in #13877
- ci: bump actions/upload-pages-artifact from 3.0.1 to 5.0.0 by @dependabot[bot] in #13878
- fix(checker): recover contextual literal surface in object-literal excess-property check (#13212) by @mohsen1 in #13868
- fix(checker): object-spread initializer declares spread-source properties (TS2565 definite assignment) by @mohsen1 in #13870
- fix(checker): monotone lib-interface body publication so deep DOM heritage survives the fresh per-file checker pool by @mohsen1 in #13874
- ci: bump actions/deploy-pages from 4.0.5 to 5.0.0 by @dependabot[bot] in #13876
- perf(checker): skip pass-2 recompute for conflict-free symbols in duplicate-identifier check by @mohsen1 in #13864
- ci: bump actions/checkout from 4.3.1 to 6.0.3 by @dependabot[bot] in #13879
- ci: bump taiki-e/install-action from 2.81.11 to 2.82.0 in the actions-minor-patch group by @dependabot[bot] in #13875
- fix(solver): drop type-parameter
defaultfrom canonical identity (#13609) by @mohsen1 in #13888 - perf(solver): cache collect_properties by subtree-context-free truncation (#13242) by @mohsen1 in #13865
- perf(checker): share instantiation cache in first-pass type-alias evaluation by @mohsen1 in #13889
- perf(cli): default bounded checker pool on for large non-DOM parallel lane by @mohsen1 in #13856
- fix(checker): resolve heritage type-params through import/re-export chain (#13801) by @mohsen1 in #13807
- fix(checker): refuse to persist cross-arena depth-cap bailout sentinels (#13846) by @mohsen1 in #13887
- perf(solver): classify application eval cache eligibility by @mohsen1 in #13881
- perf(cli): cost-balanced checker-pool partitioning (LPT bin-pack) by @mohsen1 in #13863
- perf(bench): overlap PGO canaries with benchmark shards by @mohsen1 in #13892
- fix(ci): gate lint on compiler_checks_required (unstick non-compiler PRs) by @mohsen1 in #13898
- perf(solver): activate context-free collect memo on intersection-incompatible-property guard (#13242) by @mohsen1 in #13871
- fix(bench): readiness gate must exclude category:application rows (unblock publish) by @mohsen1 in #13895
- fix(checker): forward type parameters of barrel-re-exported generics in heritage clauses by @mohsen1 in #13803
- perf(solver): share concrete recursive-conditional application fixpoints (#13508) by @mohsen1 in #13894
- fix(ci): cap unit nextest test-threads to bound runner memory (stop lost-communication SIGKILLs) by @mohsen1 in #13893
- perf(checker): prove ts-toolbelt filters before expansion by @mohsen1 in #13886
- fix(checker): preserve unique-symbol identity for cross-file name-merged const by @mohsen1 in #13899
- fix(checker): unify node-builtin classification so subpath builtins match tsc by @mohsen1 in #13901
- fix(checker): resolve cross-file interface heritage base in its declaring module scope by @mohsen1 in #13903
- chore(release): bump try-tsz publish version to 0.1.30 by @mohsen1 in #13904
Full Changelog: v0.1.29...v0.1.30
What's Changed
- fix(checker,solver): clear remeda TS2536 cluster via unresolved-import error contagion by @mohsen1 in #13843
- fix(solver): decompose boolean union member in literal-equality exclusion narrowing (mobx 96->89) by @mohsen1 in #13857
- perf(solver): memoize recursive-union narrowing relation chain (typebox) by @mohsen1 in #13822
- perf(solver): eval-materialization probe de-risks #13250 deferred-materialization lever by @mohsen1 in #13842
- perf(checker): cut ts-toolbelt conditional and lib cache work by @mohsen1 in #13883
- fix(checker): preserve const-asserted property literals in inferred return types (zustand 11→7) by @mohsen1 in #13844
- perf(cli): gate the checker pool on the DOM/webworker serialization lock by @mohsen1 in #13861
- fix(checker): contextual-type assignment callbacks through cross-file alias-typed members (jotai) by @mohsen1 in #13860
- fix(solver): infer type params reachable only through a generic method member by @mohsen1 in #13885
- fix(bench): unfreeze benchmark publish (skip app rows + readiness excludes unmeasured rows) by @mohsen1 in #13869
- fix(resolver): extensionless package imports target follows PACKAGE_TARGET_RESOLVE by @mohsen1 in #13859
- fix(checker): keep member-property assignment narrowing across an if-join (#13232) by @mohsen1 in #13872
- fix(cli,resolver): reset path-existence caches at the batch boundary (#13368) by @mohsen1 in #13882
- ci: bump actions/setup-node from 4.4.0 to 6.4.0 by @dependabot[bot] in #13877
- ci: bump actions/upload-pages-artifact from 3.0.1 to 5.0.0 by @dependabot[bot] in #13878
- fix(checker): recover contextual literal surface in object-literal excess-property check (#13212) by @mohsen1 in #13868
- fix(checker): object-spread initializer declares spread-source properties (TS2565 definite assignment) by @mohsen1 in #13870
- fix(checker): monotone lib-interface body publication so deep DOM heritage survives the fresh per-file checker pool by @mohsen1 in #13874
- ci: bump actions/deploy-pages from 4.0.5 to 5.0.0 by @dependabot[bot] in #13876
- perf(checker): skip pass-2 recompute for conflict-free symbols in duplicate-identifier check by @mohsen1 in #13864
- ci: bump actions/checkout from 4.3.1 to 6.0.3 by @dependabot[bot] in #13879
- ci: bump taiki-e/install-action from 2.81.11 to 2.82.0 in the actions-minor-patch group by @dependabot[bot] in #13875
- fix(solver): drop type-parameter
defaultfrom canonical identity (#13609) by @mohsen1 in #13888 - perf(solver): cache collect_properties by subtree-context-free truncation (#13242) by @mohsen1 in #13865
- perf(checker): share instantiation cache in first-pass type-alias evaluation by @mohsen1 in #13889
- perf(cli): default bounded checker pool on for large non-DOM parallel lane by @mohsen1 in #13856
- fix(checker): resolve heritage type-params through import/re-export chain (#13801) by @mohsen1 in #13807
- fix(checker): refuse to persist cross-arena depth-cap bailout sentinels (#13846) by @mohsen1 in #13887
- perf(solver): classify application eval cache eligibility by @mohsen1 in h...
v0.1.29
What's Changed
- fix(solver): bound remove_nullish recursion via cross-operation stack-frame breaker by @mohsen1 in #13713
- fix(binder): module-local namespace shadows colliding global lib type (hotscript FPs) by @mohsen1 in #13712
- perf(checker): accelerate per-access class member lookups on this.x (#13097) by @mohsen1 in #13721
- fix(checker): defer TS2536 for generic indexed access rooted at polymorphic this by @mohsen1 in #13724
- fix(checker): collect infer-extends constraints through object/index/array/mapped wrappers by @mohsen1 in #13729
- perf(solver): skip provably-disjoint literal pairs in union-subtype reduction by @mohsen1 in #13728
- ci: double project-compile-canary shards 3→6 (faster canary wave) by @mohsen1 in #13735
- fix(solver): rest param must not count toward minimum call arity by @mohsen1 in #13734
- fix(checker): defer authoritative type_env write on borrow conflict instead of dropping by @mohsen1 in #13741
- feat(bench): add 20 application/dashboard canary rows + dep-install harness (grow) by @mohsen1 in #13740
- hold(bench): subtract per-row tsc oracle from project-compile-guard FPs by @mohsen1 in #13727
- fix(checker): don't cache heritage-thin lib interface body on recursion-guard bail (#13652) by @mohsen1 in #13730
- perf(ci): bake sccache into runner image, pin nextest/wasm-pack by @mohsen1 in #13756
- perf(solver): cache closed conditionals in closed-eval cache (ts-toolbelt AutoPath, #13250) by @mohsen1 in #13732
- perf(ci): install cargo-shear/cargo-deny from prebuilt binaries by @mohsen1 in #13758
- fix(solver): reduce Awaited distribution over free-param union members by @mohsen1 in #13731
- refactor(ci): remove unit-cloudbuild no-op shim and fold wasm-web into the wasm job (#13754) by @mohsen1 in #13765
- fix(ci): add a MemAvailable preflight and peak-cutting to the cache-save tar (#13748) by @mohsen1 in #13763
- fix(ci): decouple bench shard/wait/build timeouts to prevent near-budget false negatives (#13751) by @mohsen1 in #13762
- fix(binder): do not hoist namespace members into top-level module exports by @mohsen1 in #13766
- fix(checker,solver): preserve user unique-symbol members; resolve generic-tuple infer conditionals by @mohsen1 in #13757
- fix(checker): lower imported type aliases in their declaring arena (#13618) by @mohsen1 in #13706
- fix(ci): keep advisory ci-health monitors green on transient gh errors + add concurrency guard (#13744) by @mohsen1 in #13760
- fix(checker): propagate any/error through entity-name import-equals from unresolved modules by @mohsen1 in #13755
- fix(ci): record incomplete canary shard sets and make /retest survive expired wave-1 artifacts (#13749) by @mohsen1 in #13764
- fix(checker): merge cross-file generic interface heritage on the type-reference path by @mohsen1 in #13767
- fix(checker): lower parenthesized
typeofarray elements via the binder path (#8432) by @mohsen1 in #13739 - fix(solver): relate alias-wrapped Promise vs unwrapped body under any-arg method override by @mohsen1 in #13770
- fix(ci): automate runner-image build/deploy with provenance + document the fleet (#13750) by @mohsen1 in #13761
- perf(ci): shard the emit suite 4-way with an emit-aggregate recombiner (#13746) by @mohsen1 in #13773
- hold(bench): stub process global for tanstack-query guard config by @mohsen1 in #13778
- perf(ci): measure cargo-target-deps staleness + opt-in workspace-rlib refresh, preflight-gated (#13747) by @mohsen1 in #13777
- perf(ci): persist ci-timing trends + sccache hit-rate floor + flaky-rate probe (#13753) by @mohsen1 in #13779
- perf(solver): memoize deferred Application/Lazy property resolution per (type,prop) by @mohsen1 in #13787
- fix(checker): poison type-position uses of unresolved-import members to error by @mohsen1 in #13780
- fix(solver): resolve unique-symbol index through same-named typeof alias by @mohsen1 in #13784
- fix(checker): cross-arena FUNCTION local-pin node-symbol round-trip (mobx die cache poison) by @mohsen1 in #13783
- fix(solver): relate same-definition Promise-alias applications via any-arg (zod _parse override TS2416) by @mohsen1 in #13789
- perf(solver): memoize free-type-parameter containment per node (#13250) by @mohsen1 in #13781
- fix(solver): typeof === 'function' narrows callable member of instantiated generic alias by @mohsen1 in #13785
- perf(ci): move project-compile-canary-aggregate to ubuntu-latest (#13745) by @mohsen1 in #13782
- fix(checker): poison indexed-access over unresolved-import object to any by @mohsen1 in #13790
- fix(checker): truthy condition read proves definite assignment in positive branch by @mohsen1 in #13788
- fix(checker,solver): contextual free-type-param erasure root (zustand/superstruct/mobx) by @mohsen1 in #13794
- fix(ci): pin all GitHub Actions to commit SHAs + add Dependabot (#13752) by @mohsen1 in #13795
- fix(solver): resolver-aware subtype in enum discriminant narrowing by @mohsen1 in #13798
- fix(checker): resolve cross-arena import-alias application body for in-narrowed receivers by @mohsen1 in #13796
- ci: reduce project-compile-canary shards 6 -> 3 (relieve unit starvation wedging the queue, #13771) by @mohsen1 in #13804
- fix(solver): cross-module enum-parent residency + identity in discriminant narrowing by @mohsen1 in #13805
- fix(solver): relate generic Pick/Omit mapped source to index-signature target by @mohsen1 in #13800
- ci: bump actions/setup-python from 5.6.0 to 6.2.0 by @dependabot[bot] in #13811
- feat(website): relative-time + commit link in benchmark runner info by @mohsen1 in #13816
- fix(checker): inline-exported empty-array const is fixed never[], not evolving (mobx noImplicitAny FP) by @mohsen1 in #13814
- fix(config): expand TS 5.5 ${configDir} tsconfig template variable (#13768) by @mohsen1 in #13772
- perf(checker): memoize contextual-callback mismatch derivation across re-entry (#13250) by @mohsen1 in #13786
- perf(solver): memoize infer-substitution across non-shadowing mapped scopes (kysely/valibot timeout) by @mohsen1 in #13820
- fix(binder,checker): don't trip the stack-overflow guard when headroom is unmeasurable (#13815) by @mohsen1 in #13824
- ci: bump actions/cache from 4.3.0 to 5.0.5 by @dependabot[bot] in #13808
- ci: bump softprops/action-gh-release from 2.6.2 to 3.0.0 by @dependabot[bot] in #13809
- perf(solver): memoize narrow_excluding_type to remove redundant narrowing recomputation (theme C) by @mohsen1 in #13819
- test(checker): synthetic witness for #13232 resolver-less deferred-conditional relation by @mohsen1 in #13831
- ci: bump actions/upload-artifact from 4.6.2 to 7.0.1 by @dependabot[bot] in #13810
- ci: bump actions/download-artifact from 4.3.0 to 8.0.1 by @dependabot[bot] in #13812
- hold(bench): resolve library-canary deps to cut false TS2307 noise by @mohsen1 in #13835
- fix(ci): re-check active bench run after stale-break before catch-up dispatch by @mohsen1 in #13833
- perf(ci): move fourslash/emit aggregate(s) to ubuntu-latest (#13745) by @mohsen1 in #13832
- fix(ci): stop required CI Summary from blocking on the advisory canary suite by @mohsen1 in #13829
- fix(ci): bound dist-binaries cache-save memory to unblock workspace-rlib refresh (#13733) by @mohsen1 in #13834
- perf(interner): per-file TLS-cache locality instrumentation + opt-in promote-first probe (#13246) by @mohsen1 in #13838
- fix(config): unresolved tsconfig
extendsemits TS6053 and continues instead of aborting by @mohsen1 in #13839 - perf(cli): bounded long-lived checker pool scheduler (TSZ_CHECKER_POOL) (#13246) by @mohsen1...