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='$ReadOnlySet'

Reviewed By: SamChou19815

Differential Revision: D90426061

@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 10, 2026
@meta-codesync
Copy link

meta-codesync bot commented Jan 10, 2026

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

marcoww6 added a commit to marcoww6/react-native that referenced this pull request Jan 10, 2026
Summary:
Pull Request resolved: facebook#55111

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='$ReadOnlySet'`

Reviewed By: SamChou19815

Differential Revision: D90426061
marcoww6 added a commit to marcoww6/react-native that referenced this pull request Jan 12, 2026
Summary:
Pull Request resolved: facebook#55111

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='$ReadOnlySet'`

Reviewed By: SamChou19815

Differential Revision: D90426061
marcoww6 added a commit to marcoww6/react-native that referenced this pull request Jan 12, 2026
Summary:
Pull Request resolved: facebook#55111

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='$ReadOnlySet'`

Reviewed By: SamChou19815

Differential Revision: D90426061
Marco Wang and others added 2 commits January 12, 2026 14:30
Differential Revision: D90425806
Summary:
Pull Request resolved: facebook#55111

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='$Keys'`

Reviewed By: SamChou19815

Differential Revision: D90426061
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 meta-exported p: Facebook Partner: Facebook Partner

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants