Skip to content

Conversation

@zth
Copy link
Owner

@zth zth commented Dec 5, 2025

Closes #590.


Note

Adds project-wide exhaustive union/interface checks via autoExhaustiveTypes with opt-out @nonExhaustive, updates docs, and bumps rescript to 12.0.0.

  • Compiler/Config:
    • Support autoExhaustiveTypes to auto-apply exhaustive checks for specified unions/interfaces.
    • Introduce @nonExhaustive directive to opt out (also disables auto checks for mutations when autoExhaustiveMutations is enabled).
  • Docs:
    • Update docs/getting-started.md with autoExhaustiveTypes example in relay.config.js.
    • Expand docs/unions.md with project-wide exhaustive types and @nonExhaustive usage.
  • Changelog:
    • Add entry noting autoExhaustiveTypes and @nonExhaustive support.
  • Dependencies:
    • Bump rescript from 12.0.0-rc.3 to 12.0.0 and update corresponding yarn.lock platform/runtime packages.

Written by Cursor Bugbot for commit f42daa6. This will update automatically on new commits. Configure here.

@zth zth merged commit 6d966ae into master Dec 5, 2025
7 checks passed
@zth zth deleted the exhaustive-for-all branch December 5, 2025 13:57
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.

Add project-wide config for making types exhaustive by default

2 participants