Skip to content

Upgrade TypeScript to ^6.0.3 (#56772)#56772

Closed
huntie wants to merge 1 commit into
facebook:mainfrom
huntie:export-D104658690
Closed

Upgrade TypeScript to ^6.0.3 (#56772)#56772
huntie wants to merge 1 commit into
facebook:mainfrom
huntie:export-D104658690

Conversation

@huntie
Copy link
Copy Markdown
Member

@huntie huntie commented May 11, 2026

Summary:

Upgrades to TypeScript 6.0.3 and updates typescript-eslint/* for TS 6.0 compatibility across react-native and metro.

Motivation

TypeScript 6.0 (Mar 2026) will resolve #53565. Before updating in the React Native CLI template, align in RN and Metro source for consistency.

This is an internal change since:

  • This upgrade only applies to TS analysis of these repos' source code.
  • Edits to react-native/typescript-config/tsconfig.json (which is distributed) maintain backwards compatibility.

Changes

react-native

  • Bump typescript from ^5.8.3 to ^6.0.3
  • Bump typescript-eslint/* from ^8.24.0 to ^8.59.2
  • Replace deprecated moduleResolution: "node" with "node16" and target: "es5" with "es2015" in codegen-typescript-test
  • Add explicit types: ["jest", "node"] where needed (TS 6.0 defaults types to [])
  • Set strict: false in configs that only enable specific strict flags (TS 6.0 defaults strict to true)
  • Update ModuleResolutionKind.NodeJs to Node16 in build config

metro

  • Bump typescript from 5.8.3 to ^6.0.3
  • Bump typescript-eslint/* from ^8.36.0 to ^8.59.2
  • No tsconfig changes needed (tsconfig/node20 preset is already TS 6.0 compatible)

Changelog: [Internal]

Differential Revision: D104658690

@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 May 11, 2026
@meta-codesync
Copy link
Copy Markdown

meta-codesync Bot commented May 11, 2026

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

@meta-codesync meta-codesync Bot changed the title Upgrade TypeScript to ^6.0.3 Upgrade TypeScript to ^6.0.3 (#56772) May 12, 2026
huntie added a commit to huntie/react-native that referenced this pull request May 12, 2026
Summary:
Pull Request resolved: facebook#56772

Upgrades to TypeScript 6.0.3 and updates `typescript-eslint/*` for TS 6.0 compatibility across `react-native` and `metro`.

#### Motivation

TypeScript 6.0 (Mar 2026) will resolve facebook#53565. Before updating in the React Native CLI template, align in RN and Metro source for consistency.

This is an internal change since:
- This upgrade only applies to TS analysis of these repos' source code.
- Edits to `react-native/typescript-config/tsconfig.json` (which *is* distributed) maintain backwards compatibility.

#### Changes

**react-native**

- Bump `typescript` from `^5.8.3` to `^6.0.3`
- Bump `typescript-eslint/*` from `^8.24.0` to `^8.59.2`
- Replace deprecated `moduleResolution: "node"` with `"node16"` and `target: "es5"` with `"es2015"` in codegen-typescript-test
- Add explicit `types: ["jest", "node"]` where needed (TS 6.0 defaults `types` to `[]`)
- Set `strict: false` in configs that only enable specific strict flags (TS 6.0 defaults `strict` to `true`)
- Update `ModuleResolutionKind.NodeJs` to `Node16` in build config

**metro**

- Bump `typescript` from `5.8.3` to `^6.0.3`
- Bump `typescript-eslint/*` from `^8.36.0` to `^8.59.2`
- No tsconfig changes needed (`tsconfig/node20` preset is already TS 6.0 compatible)

Changelog: [Internal]

Differential Revision: D104658690
@huntie huntie force-pushed the export-D104658690 branch from 6f400c1 to 2818d1c Compare May 12, 2026 11:08
huntie added a commit to huntie/react-native that referenced this pull request May 12, 2026
Summary:
Pull Request resolved: facebook#56772

Upgrades to TypeScript 6.0.3 and updates `typescript-eslint/*` for TS 6.0 compatibility across `react-native` and `metro`.

#### Motivation

TypeScript 6.0 (Mar 2026) will resolve facebook#53565. Before updating in the React Native CLI template, align in RN and Metro source for consistency.

This is an internal change since:
- This upgrade only applies to TS analysis of these repos' source code.
- Edits to `react-native/typescript-config/tsconfig.json` (which *is* distributed) maintain backwards compatibility.

#### Changes

**react-native**

- Bump `typescript` from `^5.8.3` to `^6.0.3`
- Bump `typescript-eslint/*` from `^8.24.0` to `^8.59.2`
- Replace deprecated `moduleResolution: "node"` with `"node16"` and `target: "es5"` with `"es2015"` in codegen-typescript-test
- Add explicit `types: ["jest", "node"]` where needed (TS 6.0 defaults `types` to `[]`)
- Set `strict: false` in configs that only enable specific strict flags (TS 6.0 defaults `strict` to `true`)
- Update `ModuleResolutionKind.NodeJs` to `Node16` in build config

**metro**

- Bump `typescript` from `5.8.3` to `^6.0.3`
- Bump `typescript-eslint/*` from `^8.36.0` to `^8.59.2`
- No tsconfig changes needed (`tsconfig/node20` preset is already TS 6.0 compatible)

Changelog: [Internal]

Differential Revision: D104658690
@huntie huntie force-pushed the export-D104658690 branch from 2818d1c to 686f487 Compare May 12, 2026 11:37
Summary:
Pull Request resolved: facebook#56772

Upgrades to TypeScript 6.0.3 and updates `typescript-eslint/*` for TS 6.0 compatibility across `react-native` and `metro`.

#### Motivation

TypeScript 6.0 (Mar 2026) will resolve facebook#53565. Before updating in the React Native CLI template, align in RN and Metro source for consistency.

This is an internal change since:
- This upgrade only applies to TS analysis of these repos' source code.
- Edits to `react-native/typescript-config/tsconfig.json` (which *is* distributed) maintain backwards compatibility.

#### Changes

**react-native**

- Bump `typescript` from `^5.8.3` to `^6.0.3`
- Bump `typescript-eslint/*` from `^8.24.0` to `^8.59.2`
- Replace deprecated `moduleResolution: "node"` with `"node16"` and `target: "es5"` with `"es2015"` in codegen-typescript-test
- Add explicit `types: ["jest", "node"]` where needed (TS 6.0 defaults `types` to `[]`)
- Set `strict: false` in configs that only enable specific strict flags (TS 6.0 defaults `strict` to `true`)
- Update `ModuleResolutionKind.NodeJs` to `Node16` in build config

**metro**

- Bump `typescript` from `5.8.3` to `^6.0.3`
- Bump `typescript-eslint/*` from `^8.36.0` to `^8.59.2`
- No tsconfig changes needed (`tsconfig/node20` preset is already TS 6.0 compatible)

Changelog: [Internal]

Differential Revision: D104658690
@huntie huntie force-pushed the export-D104658690 branch from 686f487 to 83367a0 Compare May 12, 2026 13:37
@meta-codesync meta-codesync Bot closed this in 2991a97 May 13, 2026
@facebook-github-tools facebook-github-tools Bot added the Merged This PR has been merged. label May 13, 2026
@meta-codesync
Copy link
Copy Markdown

meta-codesync Bot commented May 13, 2026

This pull request has been merged in 2991a97.

@react-native-bot
Copy link
Copy Markdown
Collaborator

This pull request was successfully merged by @huntie in 2991a97

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

meta-codesync Bot pushed a commit to facebook/metro that referenced this pull request May 13, 2026
Summary:
X-link: facebook/react-native#56772

Upgrades to TypeScript 6.0.3 and updates `typescript-eslint/*` for TS 6.0 compatibility across `react-native` and `metro`.

#### Motivation

TypeScript 6.0 (Mar 2026) will resolve facebook/react-native#53565. Before updating in the React Native CLI template, align in RN and Metro source for consistency.

This is an internal change since:
- This upgrade only applies to TS analysis of these repos' source code.
- Edits to `react-native/typescript-config/tsconfig.json` (which *is* distributed) maintain backwards compatibility.

#### Changes

**react-native**

- Bump `typescript` from `^5.8.3` to `^6.0.3`
- Bump `typescript-eslint/*` from `^8.24.0` to `^8.59.2`
- Replace deprecated `moduleResolution: "node"` with `"node16"` and `target: "es5"` with `"es2015"` in codegen-typescript-test
- Add explicit `types: ["jest", "node"]` where needed (TS 6.0 defaults `types` to `[]`)
- Set `strict: false` in configs that only enable specific strict flags (TS 6.0 defaults `strict` to `true`)
- Update `ModuleResolutionKind.NodeJs` to `Node16` in build config

**metro**

- Bump `typescript` from `5.8.3` to `^6.0.3`
- Bump `typescript-eslint/*` from `^8.36.0` to `^8.59.2`
- No tsconfig changes needed (`tsconfig/node20` preset is already TS 6.0 compatible)

Changelog: [Internal]

Reviewed By: christophpurrer

Differential Revision: D104658690

fbshipit-source-id: 9a2feeb257d5783431941a911b17065fcd0389a5
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.

Enabling "Strict TypeScript API" doesn't restrict access to react-native/Libraries/*

2 participants