Skip to content

build(client): check exactOptionalPropertyTypes=false#27566

Draft
jason-ha wants to merge 2 commits into
mainfrom
build/inexactPropTypesChecking
Draft

build(client): check exactOptionalPropertyTypes=false#27566
jason-ha wants to merge 2 commits into
mainfrom
build/inexactPropTypesChecking

Conversation

@jason-ha

@jason-ha jason-ha commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

Ensure that packages building with exactOptionalPropertyTypes-true (preferred) also support consumers that type check with exactOptionalPropertyType=false where an optional property might exist with undefined.

Exception: presence-runtime is excluded as it has always been built with exactOptionalPropertyTypes enabled and has errors otherwise. Likely it can be reworked to not depend on that with some altered checks - all appear to be internal logic anyway.

Note: there is a bug in TS 5.4.5 where altering a tsc command line after the command was run with errors will not regenerate the .tsbuildinfo file even on success and incremental builds will keep triggering. There is no expectation to change the command line to start resulting in success. If this happens before updating tsc, the workaround is to clean the impacted directory.

Ensure that packages building with exactOptionalPropertyTypes-true (preferred) also support consumers that type check with exactOptionalPropertyType=false where an optional property might exist with `undefined`.
@github-actions

github-actions Bot commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

Bundle size comparison

Base commit: 6a323dbb4e6ed4d985d03d37eb1f0347184d1764
Head commit: 0b6bbe27da8902cf0a3f968f4b3fb60f080bd7bd

⚠️ Comparison unavailable.

The PR's CI build failed — fix the build and the comment will update once the next run succeeds.

@github-actions

github-actions Bot commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

Hi! Thank you for opening this PR. Want me to review it?

Based on the diff (59 lines, 48 files), I've queued these reviewers:

  • Correctness — logic errors, race conditions, lifecycle issues
  • Security — vulnerabilities, secret exposure, injection
  • API Compatibility — breaking changes, release tags, type design
  • Performance — algorithmic regressions, memory leaks
  • Testing — coverage gaps, hollow tests

How this works

  • Adjust the reviewer set by ticking/unticking boxes above. Reviewer toggles alone don't trigger anything.

  • Tick Start review below to dispatch the review fleet.

  • After review finishes, tick Start review again to request another run — it auto-resets after each dispatch.

  • This comment updates as new commits land; your reviewer selections are preserved.

  • Start review

Set `explicitExactOptionalPropertyTypes` in configs inheriting from `ts-common-config.json` except server/** packages that are still using package reference and was not investigated.

This removes some `"check:inexactOptionalPropertyTypes"` entries that were erroneously added where it appears that `exactOptionalPropertyTypes` was enabled.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant