Skip to content

Conversation

@marcoww6
Copy link
Contributor

Summary:
We are transforming the following utility types to be more consistent with typescript and better AI integration:

  • $NonMaybeType -> NonNullable
  • $ReadOnly -> Readonly
  • $ReadOnlyArray -> ReadonlyArray
  • $ReadOnlyMap -> ReadonlyMap
  • $ReadOnlySet -> ReadonlySet
  • $Keys -> keyof
  • $Values -> Values
  • mixed -> unknown

See details in https://fb.workplace.com/groups/flowlang/permalink/1837907750148213/.

drop-conflicts

Command:

js1 flow-runner codemod flow/transformUtilityType --format-files=false --legacy-type='ALL'

Reviewed By: SamChou19815

Differential Revision: D90728908

Marco Wang and others added 2 commits January 14, 2026 16:36
Summary:
We are transforming the following utility types to be more consistent with typescript and better AI integration:

* `$NonMaybeType` -> `NonNullable`
* `$ReadOnly` -> `Readonly`
* `$ReadOnlyArray` -> `ReadonlyArray`
* `$ReadOnlyMap` -> `ReadonlyMap`
* `$ReadOnlySet` -> `ReadonlySet`
* `$Keys` -> `keyof`
* `$Values` -> `Values`
* `mixed` -> `unknown`

See details in https://fb.workplace.com/groups/flowlang/permalink/1837907750148213/.

drop-conflicts

Command:

`js1 flow-runner codemod flow/transformUtilityType --format-files=false --legacy-type='$ReadOnlyArray'`

Differential Revision: D90728808
Summary:
We are transforming the following utility types to be more consistent with typescript and better AI integration:

* `$NonMaybeType` -> `NonNullable`
* `$ReadOnly` -> `Readonly`
* `$ReadOnlyArray` -> `ReadonlyArray`
* `$ReadOnlyMap` -> `ReadonlyMap`
* `$ReadOnlySet` -> `ReadonlySet`
* `$Keys` -> `keyof`
* `$Values` -> `Values`
* `mixed` -> `unknown`

See details in https://fb.workplace.com/groups/flowlang/permalink/1837907750148213/.

drop-conflicts

Command:

`js1 flow-runner codemod flow/transformUtilityType --format-files=false --legacy-type='ALL'`

Reviewed By: SamChou19815

Differential Revision: D90728908
@meta-cla meta-cla bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Jan 15, 2026
@meta-codesync
Copy link

meta-codesync bot commented Jan 15, 2026

@marcoww6 has exported this pull request. If you are a Meta employee, you can view the originating Diff in D90728908.

meta-codesync bot pushed a commit to facebook/metro that referenced this pull request Jan 16, 2026
Summary:
X-link: facebook/react-native#55178

We are transforming the following utility types to be more consistent with typescript and better AI integration:

* `$NonMaybeType` -> `NonNullable`
* `$ReadOnly` -> `Readonly`
* `$ReadOnlyArray` -> `ReadonlyArray`
* `$ReadOnlyMap` -> `ReadonlyMap`
* `$ReadOnlySet` -> `ReadonlySet`
* `$Keys` -> `keyof`
* `$Values` -> `Values`
* `mixed` -> `unknown`

See details in https://fb.workplace.com/groups/flowlang/permalink/1837907750148213/.

drop-conflicts

Command:

`js1 flow-runner codemod flow/transformUtilityType --format-files=false --legacy-type='ALL'`

Reviewed By: SamChou19815

Differential Revision: D90728908

fbshipit-source-id: a8a1a06eb274cc32b12e893679aa92034eb962c4
@meta-codesync meta-codesync bot closed this in cd3a9c5 Jan 16, 2026
@facebook-github-bot facebook-github-bot added the Merged This PR has been merged. label Jan 16, 2026
@meta-codesync
Copy link

meta-codesync bot commented Jan 16, 2026

This pull request has been merged in cd3a9c5.

@react-native-bot
Copy link
Collaborator

This pull request was successfully merged by @marcoww6 in cd3a9c5

When will my fix make it into a release? | How to file a pick request?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. fb-exported Merged This PR has been merged. meta-exported p: Facebook Partner: Facebook Partner

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants