chore(metro): support TypeScript 7#4880
Conversation
|
@module-federation/devtools
@module-federation/cli
create-module-federation
@module-federation/dts-plugin
@module-federation/enhanced
@module-federation/error-codes
@module-federation/esbuild
@module-federation/managers
@module-federation/manifest
@module-federation/metro
@module-federation/metro-plugin-rnc-cli
@module-federation/metro-plugin-rnef
@module-federation/metro-plugin-rock
@module-federation/modern-js
@module-federation/modern-js-v3
@module-federation/native-federation-tests
@module-federation/native-federation-typescript
@module-federation/nextjs-mf
@module-federation/node
@module-federation/observability-plugin
@module-federation/playground
@module-federation/retry-plugin
@module-federation/rsbuild-plugin
@module-federation/rspack
@module-federation/rspress-plugin
@module-federation/runtime
@module-federation/runtime-core
@module-federation/runtime-tools
@module-federation/sdk
@module-federation/storybook-addon
@module-federation/third-party-dts-extractor
@module-federation/treeshake-frontend
@module-federation/treeshake-server
@module-federation/typescript
@module-federation/utilities
@module-federation/webpack-bundler-runtime
@module-federation/bridge-react
@module-federation/bridge-react-webpack-plugin
@module-federation/bridge-shared
@module-federation/bridge-vue3
@module-federation/inject-external-runtime-core-plugin
commit: |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f299606362
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| installer.pods_project.targets.each do |target| | ||
| next unless target.name == 'fmt' | ||
|
|
||
| target.build_configurations.each do |build_config| | ||
| build_config.build_settings['CLANG_CXX_LANGUAGE_STANDARD'] = 'c++17' | ||
| end |
There was a problem hiding this comment.
Apply the fmt workaround to all Metro iOS examples
When developers run example-mini or example-nested-mini through their ios/pods scripts on Xcode 26.4+, those apps still use the same React Native 0.80 fmt 11.0.2 pod but their Podfiles keep the default C++20 setting. This workaround only patches the host app, so the same fmt build failure remains for the other Metro iOS examples outside the default host E2E path.
Useful? React with 👍 / 👎.
|
add changeset |
Description
Restores the Metro-specific TypeScript 7 updates intentionally split from #4878.
node10resolution;ts-jestwith@swc/jestformetro-plugin-rnc-cli;fmt11.0.2 pod as C++17 for Xcode 26.4+ compatibility.Publishable Metro packages continue compiling with TypeScript 6; TypeScript 7 runs at the consumer/example boundary. The originally reported iOS failure occurred in CocoaPods project generation, outside TypeScript compilation. A fresh PR build passed CocoaPods and then exposed the known
fmtC++20 failure under Xcode 26.5, so the workaround targets only thefmtpod and leaves every other pod on C++20.Validation:
pnpm install --frozen-lockfilepnpm run ci:local --only=build-metrogit diff --checkThe Metro build, publint, tests, lint, and Android and iOS E2E passed. Local mobile E2E was unavailable because Maestro and the required Ruby 3.4.9 are not installed. The repo-wide Prettier check also reports an unrelated existing generated file:
packages/playground/src/generated/bridgeRuntimeFiles.ts.No changeset: this PR changes examples, development dependencies, and test/build configuration without changing published package behavior.
Related Issue
No dedicated issue. Follow-up to #4878.
Types of changes
Checklist