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