Skip to content

v0.1.69

Choose a tag to compare

@github-actions github-actions released this 13 Aug 12:01
· 410 commits to main since this release
dd11fef

What's Changed

  • test(checker): re-pin ts2683 expando fixture red on main after #17230; cross-file + class-expr coverage for the emptiness rule by @mohsen1 in #17232
  • fix(solver): bare unannotated JS params display as required, not optional by @mohsen1 in #17233
  • fix(checker,binder): restore two red main unit tests (query-boundary import, void-zero expando) by @mohsen1 in #17237
  • fix(checker): typeof-import TS2694 names a crossed export= alias by its own module by @mohsen1 in #17234
  • fix(checker,solver): spread-derived JS receiver stays closed without noImplicitAny (#17226 gap 3) by @mohsen1 in #17240
  • fix(binder,checker): expando members bind only in the host's declaring file by @mohsen1 in #17242
  • fix(binder,checker): nested JS expando member requires a host-shaped declaring RHS (#17226 gap 1) by @mohsen1 in #17241
  • fix(binder): restore assignment-RHS threading dropped by the #17241/#17242 semantic merge conflict by @mohsen1 in #17245
  • fix(emitter): bare untyped-JS parameter .d.ts-emits as required, not optional (#17238) by @mohsen1 in #17249
  • fix(checker): whole-module require alias TS1282/1283 pick uses the module's export= target (#17235) by @mohsen1 in #17248
  • fix(parser): wire TS1155 — const/using/await using declarations must be initialized by @mohsen1 in #17251
  • fix(checker): prototype-literal closure is gated by noImplicitAny, not constructor evidence (#17226 gap 2) by @mohsen1 in #17244
  • fix(cli/checker): TS1155 is a parser grammar code, not a real/structural parse error (#17253) by @mohsen1 in #17256
  • test(cli): whole-range guard that no parser grammar code is a real/structural parse error (#17253 follow-up) by @mohsen1 in #17257
  • bench: ratchet the project-fixture any-stub erosion (#16311) by @mohsen1 in #17259
  • fix(emitter): preserve typeof-symbol references outside variable-initializer position in DTS emit by @mohsen1 in #17260
  • fix(solver): union2 must mint the same canonical identity as union (#14344) by @mohsen1 in #17266
  • fix(emitter): typeof in DTS requires the name be emit-visible (#17262) by @mohsen1 in #17268
  • fix(emitter): DTS method-signature printer preserves an explicit this parameter by @mohsen1 in #17265
  • fix(emitter): JSDoc bracket optionality adds no undefined; the {T=} marker owns it (#17238 follow-up) by @mohsen1 in #17264
  • fix(checker): decorator-scope exclusion filters must stop at a function boundary by @mohsen1 in #17261
  • fix(checker): JSDoc type-position spelling suggestions stop crossing symbol meaning by @mohsen1 in #17271
  • fix(emitter): stop DTS this-param test from tripping the solver-access ratchet by @mohsen1 in #17272
  • fix(parser/checker): duplicate declare on a class member reports TS1030 by @mohsen1 in #17275
  • fix(emitter): DTS return type of a function returning a ...rest object-rest binding is the rest type, not the whole annotation by @mohsen1 in #17277
  • fix(emitter): parse every JSDoc tag on a physical line, not just the first by @mohsen1 in #17274
  • fix(emitter): gate DTS typeof-name on emit-visibility via a shared value-scope walk by @mohsen1 in #17279
  • perf(solver): make normalize_union honor the #15809 literal-default flag by @mohsen1 in #17283
  • fix(emitter): parse same-line JSDoc tags in @overload blocks and typedef @Property lists by @mohsen1 in #17284
  • test(emitter): unit-pin the DTS typeof emit-visibility gate (#17262 follow-up) by @mohsen1 in #17278
  • fix(checker): TS2412 target type reduces an absorbable intersection for display by @mohsen1 in #17286
  • fix(emit): spell qualified typeof references for callable value symbols (#17281) by @mohsen1 in #17288
  • fix(checker): TS1071 for every illegal modifier on a class index signature (#17280) by @mohsen1 in #17287
  • simplify(emit): route return-position typeof through the shared gateway (follow-up to #17288) by @mohsen1 in #17293
  • fix(emitter): terminate a typedef's @Property list at the first foreign tag by @mohsen1 in #17290
  • fix(checker): if(true){throw} with no else stays unreachable-terminating by @mohsen1 in #17294
  • tech-debt(arch): freeze FILE_LINE_LIMIT_CHECKS ceilings above the 2000-line contract limit by @mohsen1 in #17296
  • ci: bump taiki-e/install-action from 2.85.7 to 2.85.11 in the actions-minor-patch group by @dependabot[bot] in #17297
  • ci: bump Swatinem/rust-cache from e18b497796c12c097a38f9edb9d0641fb99eee32 to 258712b0b7b1ddf8bddc9fc3b0faca682b2736c3 by @dependabot[bot] in #17298
  • fix(checker): constant-condition reachability tests the condition node as written by @mohsen1 in #17300
  • fix(website): exclude did-not-finish rows from benchmark speed ratios (#16196) by @mohsen1 in #17301
  • fix(checker): namespace bodies get their own TS7027 reachability flow by @mohsen1 in #17303
  • fix(checker): make the checker the single owner of interface-heritage TS2499 by @mohsen1 in #17305
  • refactor(bench): one canonical speed-ratio-eligible gate across timing-pair sites by @mohsen1 in #17307
  • fix(binder,checker): function type parameters collide with top-level local types by @mohsen1 in #17306
  • fix(checker): a dead if/else branch reports TS7027 again, not just the code after it by @mohsen1 in #17309
  • fix(emitter): emit every @typedef/@callback alias a JSDoc block declares by @mohsen1 in #17311
  • fix(checker): TS2320 sees properties inherited through a non-interface ancestor by @mohsen1 in #17310
  • fix(solver): a Round-1 type-parameter fix is not widened by callback candidates (#17282) by @mohsen1 in #17316
  • fix(checker): report TS18016/TS1451 for standalone private-identifier expressions by @mohsen1 in #17320
  • fix(checker): a break to a label on an enclosing try/block completes past it by @mohsen1 in #17321
  • revert: #17316 over-fixes type parameters (conformance 11603 -> 11597) by @mohsen1 in #17323
  • fix(solver,checker): check every source property against a target index signature by @mohsen1 in #17325
  • fix(checker): recognize break-to-own-label as a valid statement completion by @mohsen1 in #17324
  • fix(checker): stop reporting TS1223 for duplicate JSDoc @Satisfies tags by @mohsen1 in #17327
  • test(checker): wire up two orphaned test files that never ran by @mohsen1 in #17329
  • fix(parser): report TS1508 for bare v-mode class-set syntax characters by @mohsen1 in #17334
  • fix(checker): type-parameter modifier grammar is first-error-wins per parameter by @mohsen1 in #17338
  • fix(checker): destructuring write-target anchors render the computed source type; iterable sources judge every element by @mohsen1 in #17336
  • fix(parser): validate ClassSetCharacters inside a v-mode \q{...} disjunction by @mohsen1 in #17341
  • fix(checker): honor synthetic-default suppression for named default import specifiers by @mohsen1 in #17340
  • fix(checker,binder): TS expando hosts require const function/arrow, never a class by @mohsen1 in #17345
  • fix(parser): using/await using lookahead honors ASI and rejects reserved binding names by @mohsen1 in #17347
  • fix(checker): TS4112 for an override class index signature with no base class by @mohsen1 in #17346
  • fix(solver): count well-known-symbol members in missing-property lists; exempt Object.prototype members by @mohsen1 in #17343
  • fix(checker): a CommonJS export-property write never conflicts with a same-name JSDoc typedef by @mohsen1 in #17349
  • fix(checker): synthesize esModuleInterop default for CJS module.exports=value re-exports by @mohsen1 in #17348
  • fix(solver/checker): report a merged interface reference's missing properties flat, not as an intersection target by @mohsen1 in #17350
  • fix(solver): don't let a callback body widen a Round-1-fixed type parameter (#17282) by @mohsen1 in #17354
  • fix(checker): typeof import(...) strips the source extension even for same-file CommonJS diagnostics by @mohsen1 in #17352
  • fix(checker): TS18016 for a private-identifier object-literal key in JS files by @mohsen1 in #17356
  • fix(checker): synthetic default needs the interop flag and a non-TS-source target by @mohsen1 in #17357
  • fix(lsp): import-fix newline insertion defaults to LF, not CRLF by @mohsen1 in #17359
  • fix(solver): Function-extending interface with an extra data member isn't Function by @mohsen1 in #17358
  • chore(readme): refresh benchmark image and stats by @mohsen1 in #17360
  • fix(checker): merge cross-file lib interface declarations in lib load order by @mohsen1 in #17361
  • fix(checker): anchor TS2769 at the last overload candidate's elaborated failing element by @mohsen1 in #17353
  • fix(parser): report TS1109 for a missing embedded statement body by @mohsen1 in #17366
  • fix(checker): a TS destructuring-parameter leaf with an empty-array default is not implicit-any by @mohsen1 in #17362
  • fix(checker): resolve a Closure function(...) JSDoc type to the global Function by @mohsen1 in #17371
  • fix(checker): a JS const/var never declaration-merges with a class by @mohsen1 in #17368
  • fix(checker): match tsc's super-property accessibility precedence (TS2340/TS2341/TS2855) by @mohsen1 in #17369
  • fix(lsp): offer relative fallback for conditionally ambiguous package imports by @mohsen1 in #17375
  • fix(checker): a bare namespace's typeof type has no implicit prototype member by @mohsen1 in #17372
  • test(checker): pin tsc missing-property order for Set/Promise/ReadonlyMap merged lib generics by @mohsen1 in #17377
  • fix(checker): a JS .prototype = ... write requires a callable/constructible root by @mohsen1 in #17378
  • fix(checker): an unannotated implicit-any var is not possibly-undefined when noImplicitAny is off by @mohsen1 in #17382
  • fix(solver): rank incompatible array-element primitives by TS7 TypeFlags, not source order by @mohsen1 in #17380
  • fix(lsp): force extension on relative import specifiers under node16/nodenext ESM by @mohsen1 in #17379
  • fix(checker): a prior JS declaration establishes the merged global's type for cross-file TS2403 by @mohsen1 in #17381
  • chore(release): bump try-tsz publish version to 0.1.69 by @mohsen1 in #17374

Full Changelog: v0.1.68...v0.1.69

What's Changed

  • test(checker): re-pin ts2683 expando fixture red on main after #17230; cross-file + class-expr coverage for the emptiness rule by @mohsen1 in #17232
  • fix(solver): bare unannotated JS params display as required, not optional by @mohsen1 in #17233
  • fix(checker,binder): restore two red main unit tests (query-boundary import, void-zero expando) by @mohsen1 in #17237
  • fix(checker): typeof-import TS2694 names a crossed export= alias by its own module by @mohsen1 in #17234
  • fix(checker,solver): spread-derived JS receiver stays closed without noImplicitAny (#17226 gap 3) by @mohsen1 in #17240
  • fix(binder,checker): expando members bind only in the host's declaring file by @mohsen1 in #17242
  • fix(binder,checker): nested JS expando member requires a host-shaped declaring RHS (#17226 gap 1) by @mohsen1 in #17241
  • fix(binder): restore assignment-RHS threading dropped by the #17241/#17242 semantic merge conflict by @mohsen1 in #17245
  • fix(emitter): bare untyped-JS parameter .d.ts-emits as required, not optional (#17238) by @mohsen1 in #17249
  • fix(checker): whole-module require alias TS1282/1283 pick uses the module's export= target (#17235) by @mohsen1 in #17248
  • fix(parser): wire TS1155 — const/using/await using declarations must be initialized by @mohsen1 in #17251
  • fix(checker): prototype-literal closure is gated by noImplicitAny, not constructor evidence (#17226 gap 2) by @mohsen1 in #17244
  • fix(cli/checker): TS1155 is a parser grammar code, not a real/structural parse error (#17253) by @mohsen1 in #17256
  • test(cli): whole-range guard that no parser grammar code is a real/structural parse error (#17253 follow-up) by @mohsen1 in #17257
  • bench: ratchet the project-fixture any-stub erosion (#16311) by @mohsen1 in #17259
  • fix(emitter): preserve typeof-symbol references outside variable-initializer position in DTS emit by @mohsen1 in #17260
  • fix(solver): union2 must mint the same canonical identity as union (#14344) by @mohsen1 in #17266
  • fix(emitter): typeof in DTS requires the name be emit-visible (#17262) by @mohsen1 in #17268
  • fix(emitter): DTS method-signature printer preserves an explicit this parameter by @mohsen1 in #17265
  • fix(emitter): JSDoc bracket optionality adds no undefined; the {T=} marker owns it (#17238 follow-up) by @mohsen1 in #17264
  • fix(checker): decorator-scope exclusion filters must stop at a function boundary by @mohsen1 in #17261
  • fix(checker): JSDoc type-position spelling suggestions stop crossing symbol meaning by @mohsen1 in #17271
  • fix(emitter): stop DTS this-param test from tripping the solver-access ratchet by @mohsen1 in #17272
  • fix(parser/checker): duplicate declare on a class member reports TS1030 by @mohsen1 in #17275
  • fix(emitter): DTS return type of a function returning a ...rest object-rest binding is the rest type, not the whole annotation by @mohsen1 in #17277
  • fix(emitter): parse every JSDoc tag on a physical line, not just the first by @mohsen1 in #17274
  • fix(emitter): gate DTS typeof-name on emit-visibility via a shared value-scope walk by @mohsen1 in #17279
  • perf(solver): make normalize_union honor the #15809 literal-default flag by @mohsen1 in #17283
  • fix(emitter): parse same-line JSDoc tags in @overload blocks and typedef @Property lists by @mohsen1 in #17284
  • test(emitter): unit-pin the DTS typeof emit-visibility gate (#17262 follow-up) by @mohsen1 in #17278
  • fix(checker): TS2412 target type reduces an absorbable intersection for display by @mohsen1 in #17286
  • fix(emit): spell qualified typeof references for callable value symbols (#17281) by @mohsen1 in #17288
  • fix(checker): TS1071 for every illegal modifier on a class index signature (#17280) by @mohsen1 in #17287
  • simplify(emit): route return-position typeof through the shared gateway (follow-up to #17288) by @mohsen1 in #17293
  • fix(emitter): terminate a typedef's @Property list at the first foreign tag by @mohsen1 in #17290
  • fix(checker): if(true){throw} with no else stays unreachable-terminating by @mohsen1 in #17294
  • tech-debt(arch): freeze FILE_LINE_LIMIT_CHECKS ceilings above the 2000-line contract limit by @mohsen1 in #17296
  • ci: bump taiki-e/install-action from 2.85.7 to 2.85.11 in the actions-minor-patch group by @dependabot[bot] in #17297
  • ci: bump Swatinem/rust-cache from e18b497796c12c097a38f9edb9d0641fb99eee32 to 258712b0b7b1ddf8bddc9fc3b0faca682b2736c3 by @dependabot[bot] in #17298
  • fix(checker): constant-condition reachability tests the condition node as written by @mohsen1 in #17300
  • fix(website): exclude did-not-finish rows from benchmark speed ratios (#16196) by @mohsen1 in #17301
  • fix(checker): namespace bodies get their own TS7027 reachability flow by @mohsen1 in #17303
  • fix(checker): make the checker the single owner of interface-heritage TS2499 by @mohsen1 in #17305
  • refactor(bench): one canonical speed-ratio-eligible gate across timing-pair sites by @mohsen1 in #17307
  • fix(binder,checker): function type parameters collide with top-level local types by @mohsen1 in #17306
  • fix(checker): a dead if/else branch reports TS7027 again, not just the code after it by @mohsen1 in #17309
  • fix(emitter): emit every @typedef/@callback alias a JSDoc block declares by @mohsen1 in #17311
  • fix(checker): TS2320 sees properties inherited through a non-interface ancestor by @mohsen1 in #17310
  • fix(solver): a Round-1 type-parameter fix is not widened by callback candidates (#17282) by @mohsen1 in #17316
  • fix(checker): report TS18016/TS1451 for standalone private-identifier expressions by @mohsen1 in #17320
  • fix(checker): a break to a label on an enclosing try/block completes past it by @mohsen1 in #17321
  • revert: #17316 over-fixes type parameters (conformance 11603 -> 11597) by @mohsen1 in #17323
  • fix(solver,checker): check every source property against a target index signature by @mohsen1 in #17325
  • fix(checker): recognize break-to-own-label as a valid statement completion by @mohsen1 in #17324
  • fix(checker): stop reporting TS1223 for duplicate JSDoc @Satisfies tags by @mohsen1 in #17327
  • test(checker): wire up two orphaned test files that never ran by @mohsen1 in #17329
  • fix(parser): report TS1508 for bare v-mode class-set syntax characters by @mohsen1 in #17334
  • fix(checker): type-parameter modifier grammar is first-error-wins per parameter by @mohsen1 in #17338
  • fix(checker): destructuring write-target anchors render the computed source type; iterable sources judge every element by @mohsen1 in #17336
  • fix(parser): validate ClassSetCharacters inside a v-mode \q{...} disjunction by @mohsen1 in #17341
  • fix(checker): honor synthetic-default suppression for named default import specifiers by @mohsen1 in #17340
  • fix(checker,binder): TS expando hosts require const function/arrow, never a class by @mohsen1 in #17345
  • fix(parser): using/await using lookahead honors ASI and rejects reserved binding names by @mohsen1 in #17347
  • fix(checker): TS4112 for an override class index signature with no base class by @mohsen1 in #17346
  • fix(solver): count well-known-symbol members in missing-property lists; exempt Object.prototype members by @mohsen1 in #17343
  • fix(checker): a CommonJS export-property write never conflicts with a same-name JSDoc typedef by @mohsen1 in #17349
  • fix(checker): synthesize esModuleInterop default for CJS module.exports=value re-exports by @mohsen1 in #17348
  • fix(solver/checker): report a merged interface reference's missing properties flat, not as an intersection target by @mohsen1 in #17350
  • fix(solver): don't let a callback body widen a Round-1-fixed type parameter (#17282) by @mohsen1 in #17354
  • fix(checker): typeof import(...) strips the source extension even for same-file CommonJS diagnostics by @mohsen1 in #17352
  • fix(checker): TS18016 for a private-identifier object-literal key in JS files by @mohsen1 in #17356
  • fix(checker): synthetic default needs the interop flag and a non-TS-source target by @mohsen1 in #17357
  • fix(lsp): import-fix newline insertion defaults to LF, not CRLF by @mohsen1 in #17359
  • fix(solver): Function-extending interface with an extra data member isn't Function by @mohsen1 in #17358
  • chore(readme): refresh benchmark image and stats by @mohsen1 in #17360
  • fix(checker): merge cross-file lib interface declarations in lib load order by @mohsen1 in #17361
  • fix(checker): anchor TS2769 at the last overload candidate's elaborated failing element by @mohsen1 in #17353
  • fix(parser): report TS1109 for a missing embedded statement body by @mohsen1 in #17366
  • fix(checker): a TS destructuring-parameter leaf with an empty-array default is not implicit-any by @mohsen1 in #17362
  • fix(checker): resolve a Closure function(...) JSDoc type to the global Function by @mohsen1 in #17371
  • fix(checker): a JS const/var never declaration-merges with a class by @mohsen1 in #17368
  • fix(checker): match tsc's super-property accessibility precedence (TS2340/TS2341/TS2855) by @mohsen1 in #17369
  • fix(lsp): offer relative fallback for conditionally ambiguous package imports by @mohsen1 in #17375
  • fix(checker): a bare namespace's typeof type has no implicit prototype member by @mohsen1 in #17372
  • test(checker): pin tsc missing-property order for Set/Promise/ReadonlyMap merged lib generics by @mohsen1 in #17377
  • fix(checker): a JS .prototype = ... write requires a callable/constructible root by @mohsen1 in #17378
  • fix(checker): an unannotated implicit-any var is not possibly-undefined when noImplicitAny is off by @mohsen1 in #17382
  • fix(solver): rank incompatible array-element primitives by TS7 TypeFlags, not source order by @mohsen1 in #17380
  • fix(lsp): force extension on relative import specifiers under node16/nodenext ESM by @mohsen1 in #17379
  • fix(checker): a prior JS declaration establishes the merged global's type for cross-file TS2403 by @mohsen1 in #17381
  • chore(release): bump try-tsz publish version to 0.1.69 by @mohsen1 in #17374

Full Changelog: v0.1.68...v0.1.69