Skip to content

v0.1.66

Choose a tag to compare

@github-actions github-actions released this 09 Aug 17:50
· 626 commits to main since this release
9c55e1f

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
  • fix(checker): reachability pre-gate skips trailing hoisted declarations by @mohsen1 in #16999
  • fix(checker): JSDoc @type on module.exports/exports is a declared type, not re-widened by @mohsen1 in #17012
  • fix(checker): TS2540 on const members through import-equals module bindings by @mohsen1 in #16997
  • fix(fourslash): split completed-but-slow and never-ran tests from the failure buckets (#17010) by @mohsen1 in #17014
  • fix(checker): gate TS2430 on the TS2320 simultaneous-extend conflict like tsc by @mohsen1 in #17013
  • fix(resolver): .json specifier prefers its .d.json.ts declaration companion by @mohsen1 in #17019
  • fix(resolver): .json resolves .d.json.ts companion unconditionally, TS6263 when flag is off by @mohsen1 in #17021
  • test(resolver): guard TS6263 across the arbitrary-extension declaration family and the declaration-importer exemption by @mohsen1 in #17026
  • fix(checker): TS2589 no longer bundled with TS2615 for circular mapped-type aliases by @mohsen1 in #17027
  • fix(cli): TS8020 joins the #16279 parser-grammar self-suppression list by @mohsen1 in #17030
  • fix(solver): infer nested generic call type param from baked contextual return (#17005) by @mohsen1 in #17029
  • fix(parser): hard modifier immediately before out before an accessor cascades by @mohsen1 in #17031
  • fix(checker): Awaited over a mutually-recursive thenable reports TS2589 natively (removes align_awaited rewrite, #14141) by @mohsen1 in #17033
  • chore(readme): refresh conformance stats to 11,563 (96.0%) by @mohsen1 in #17011
  • fix(checker): don't force TS2416 on an iterator next() override whose return value is any by @mohsen1 in #17034
  • fix(parser): property-name node end no longer overshoots into the next token by @mohsen1 in #17037
  • fix(checker): TS2456 for indexed access into a self-referencing mapped type by @mohsen1 in #17036
  • fix(bench): required-set coverage signal so an unmeasured required row can't pass as a green run by @mohsen1 in #17038
  • fix(checker): constructor this.x = no longer cross-checked against unrelated prototype JSDoc type by @mohsen1 in #17040
  • fix(checker): drop the now-stale property-name overshoot compensation by @mohsen1 in #17039
  • test(parser/checker/cli): pin property-name grammar-diagnostic spans and ordering (#17024 follow-up) by @mohsen1 in #17043
  • fix(checker): widen round-1 literal inference before tagged-template round-2 contextual typing by @mohsen1 in #17041
  • test(checker): string-literal adjacent case for tagged-template round-2 widening by @mohsen1 in #17044
  • fix(solver/checker): TS2456 on eager indexed self-alias; no spurious TS2589 on deferred-property recursion by @mohsen1 in #17047
  • test(checker): correct a stale TS2322 expectation tsc never produced (fixes red main, #17048) by @mohsen1 in #17051
  • fix(checker): conditional-alias property display native; shrink conditionalTypes1 rewrite (#14141) by @mohsen1 in #17050
  • fix(checker): route soft reserved interface-name TS2427 through the checker, not the parser by @mohsen1 in #17055
  • test(checker): pin the yield axis of the computed-member-name grammar walk by @mohsen1 in #17058
  • fix(config): treat empty-string jsx/mapRoot option values as unset (tsc parity) by @mohsen1 in #17059
  • fix(parser): keep a fresh statement's own missing-semicolon diagnostic near a missing-LHS binary-expression recovery by @mohsen1 in #17052
  • fix(checker): print every constituent of a fully-collapsed anonymous object union (#16509) by @mohsen1 in #17061
  • fix(checker): exactOptionalPropertyTypes contextual type drops undefined for present optional slots by @mohsen1 in #17054
  • test(checker): fix mis-specified TS7057 target in yield/computed-name suite by @mohsen1 in #17063
  • fix(parser,checker): three statement-recovery divergences from #17062 by @mohsen1 in #17064
  • fix(parser): in variance modifier before an interface/type-literal accessor cascades by @mohsen1 in #17066
  • test(parser): assert the oracle for 'in set' cascade now that #17062 is closed (fixes red main) by @mohsen1 in #17068
  • chore(readme): refresh conformance stats to 11,572 (96.1%) by @mohsen1 in #17045
  • fix(checker): suppress false-positive TS7057 for yield in interface/type-literal method-signature computed names by @mohsen1 in #17070
  • fix(parser): reset error-suppression window at every missing-semicolon statement boundary (#17062 follow-up) by @mohsen1 in #17069
  • fix(checker): follow type aliases when elaborating an intersection reduced to never (TS18031/TS18032) by @mohsen1 in #17067
  • chore(release): bump try-tsz publish version to 0.1.66 by @mohsen1 in #17023

Full Changelog: v0.1.65...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
  • fix(checker): reachability pre-gate skips trailing hoisted declarations by @mohsen1 in #16999
  • fix(checker): JSDoc @type on module.exports/exports is a declared type, not re-widened by @mohsen1 in #17012
  • fix(checker): TS2540 on const members through import-equals module bindings by @mohsen1 in #16997
  • fix(fourslash): split completed-but-slow and never-ran tests from the failure buckets (#17010) by @mohsen1 in #17014
  • fix(checker): gate TS2430 on the TS2320 simultaneous-extend conflict like tsc by @mohsen1 in #17013
  • fix(resolver): .json specifier prefers its .d.json.ts declaration companion by @mohsen1 in #17019
  • fix(resolver): .json resolves .d.json.ts companion unconditionally, TS6263 when flag is off by @mohsen1 in #17021
  • test(resolver): guard TS6263 across the arbitrary-extension declaration family and the declaration-importer exemption by @mohsen1 in #17026
  • fix(checker): TS2589 no longer bundled with TS2615 for circular mapped-type aliases by @mohsen1 in #17027
  • fix(cli): TS8020 joins the #16279 parser-grammar self-suppression list by @mohsen1 in #17030
  • fix(solver): infer nested generic call type param from baked contextual return (#17005) by @mohsen1 in #17029
  • fix(parser): hard modifier immediately before out before an accessor cascades by @mohsen1 in #17031
  • fix(checker): Awaited over a mutually-recursive thenable reports TS2589 natively (removes align_awaited rewrite, #14141) by @mohsen1 in #17033
  • chore(readme): refresh conformance stats to 11,563 (96.0%) by @mohsen1 in #17011
  • fix(checker): don't force TS2416 on an iterator next() override whose return value is any by @mohsen1 in #17034
  • fix(parser): property-name node end no longer overshoots into the next token by @mohsen1 in #17037
  • fix(checker): TS2456 for indexed access into a self-referencing mapped type by @mohsen1 in #17036
  • fix(bench): required-set coverage signal so an unmeasured required row can't pass as a green run by @mohsen1 in #17038
  • fix(checker): constructor this.x = no longer cross-checked against unrelated prototype JSDoc type by @mohsen1 in #17040
  • fix(checker): drop the now-stale property-name overshoot compensation by @mohsen1 in #17039
  • test(parser/checker/cli): pin property-name grammar-diagnostic spans and ordering (#17024 follow-up) by @mohsen1 in #17043
  • fix(checker): widen round-1 literal inference before tagged-template round-2 contextual typing by @mohsen1 in #17041
  • test(checker): string-literal adjacent case for tagged-template round-2 widening by @mohsen1 in #17044
  • fix(solver/checker): TS2456 on eager indexed self-alias; no spurious TS2589 on deferred-property recursion by @mohsen1 in #17047
  • test(checker): correct a stale TS2322 expectation tsc never produced (fixes red main, #17048) by @mohsen1 in #17051
  • fix(checker): conditional-alias property display native; shrink conditionalTypes1 rewrite (#14141) by @mohsen1 in #17050
  • fix(checker): route soft reserved interface-name TS2427 through the checker, not the parser by @mohsen1 in #17055
  • test(checker): pin the yield axis of the computed-member-name grammar walk by @mohsen1 in #17058
  • fix(config): treat empty-string jsx/mapRoot option values as unset (tsc parity) by @mohsen1 in #17059
  • fix(parser): keep a fresh statement's own missing-semicolon diagnostic near a missing-LHS binary-expression recovery by @mohsen1 in #17052
  • fix(checker): print every constituent of a fully-collapsed anonymous object union (#16509) by @mohsen1 in #17061
  • fix(checker): exactOptionalPropertyTypes contextual type drops undefined for present optional slots by @mohsen1 in #17054
  • test(checker): fix mis-specified TS7057 target in yield/computed-name suite by @mohsen1 in #17063
  • fix(parser,checker): three statement-recovery divergences from #17062 by @mohsen1 in #17064
  • fix(parser): in variance modifier before an interface/type-literal accessor cascades by @mohsen1 in #17066
  • test(parser): assert the oracle for 'in set' cascade now that #17062 is closed (fixes red main) by @mohsen1 in #17068
  • chore(readme): refresh conformance stats to 11,572 (96.1%) by @mohsen1 in #17045
  • fix(checker): suppress false-positive TS7057 for yield in interface/type-literal method-signature computed names by @mohsen1 in #17070
  • fix(parser): reset error-suppression window at every missing-semicolon statement boundary (#17062 follow-up) by @mohsen1 in #17069
  • fix(checker): follow type aliases when elaborating an intersection reduced to never (TS18031/TS18032) by @mohsen1 in #17067
  • chore(release): bump try-tsz publish version to 0.1.66 by @mohsen1 in #17023

Full Changelog: v0.1.65...v0.1.66