Skip to content

Commit aca6c35

Browse files
authored
Merge branch 'main' into codex/runtime-core-optimization-flags
2 parents 09a306f + 6ee67dc commit aca6c35

55 files changed

Lines changed: 862 additions & 587 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.changeset/metro-typescript-7.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@module-federation/metro": patch
3+
---
4+
5+
Support TypeScript 7 in Metro projects.
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
---
2+
'@module-federation/bridge-react': patch
3+
'@module-federation/modern-js': patch
4+
'@module-federation/modern-js-v3': patch
5+
'@module-federation/enhanced': patch
6+
'@module-federation/bridge-react-webpack-plugin': patch
7+
'@module-federation/dts-plugin': patch
8+
'@module-federation/managers': patch
9+
'@module-federation/third-party-dts-extractor': patch
10+
---
11+
12+
Reduce installed and bundled size by replacing general-purpose cache, path, version, package lookup, scheduling, fetch, and error fallback dependencies with focused built-in utilities.

apps/metro-example-host/ios/Podfile

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,5 +31,15 @@ target 'MFExampleHost' do
3131
:mac_catalyst_enabled => false,
3232
# :ccache_enabled => true
3333
)
34+
35+
# fmt 11.0.2 fails as C++20 with Apple Clang 21 (Xcode 26.4+).
36+
# Remove after React Native upgrades to fmt 12.1.0 or newer.
37+
installer.pods_project.targets.each do |target|
38+
next unless target.name == 'fmt'
39+
40+
target.build_configurations.each do |build_config|
41+
build_config.build_settings['CLANG_CXX_LANGUAGE_STANDARD'] = 'c++17'
42+
end
43+
end
3444
end
3545
end

apps/metro-example-host/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
"nodemon": "^3.1.9",
5252
"prettier": "2.8.8",
5353
"react-test-renderer": "19.1.0",
54-
"typescript": "5.0.4"
54+
"typescript": "7.0.2"
5555
},
5656
"engines": {
5757
"node": ">=18"

apps/metro-example-mini/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@
5050
"prettier": "2.8.8",
5151
"react-test-renderer": "19.1.0",
5252
"serve": "^14.2.4",
53-
"typescript": "5.0.4"
53+
"typescript": "7.0.2"
5454
},
5555
"engines": {
5656
"node": ">=18"

apps/metro-example-nested-mini/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@
4949
"prettier": "2.8.8",
5050
"react-test-renderer": "19.1.0",
5151
"serve": "^14.2.4",
52-
"typescript": "5.0.4"
52+
"typescript": "7.0.2"
5353
},
5454
"engines": {
5555
"node": ">=18"

packages/bridge/bridge-react-webpack-plugin/__tests__/utils.spec.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,15 @@ describe('test checkVersion: should return the correct major version for react-r
5959
it('should return 7', () => {
6060
expect(checkVersion('^7.0.0')).toBe(7);
6161
});
62+
63+
it('should normalize newer major versions to 7', () => {
64+
expect(checkVersion('^10.2.1')).toBe(7);
65+
});
66+
67+
it('should return 0 for missing or unsupported versions', () => {
68+
expect(checkVersion('latest')).toBe(0);
69+
expect(checkVersion('^4.9.0')).toBe(0);
70+
});
6271
});
6372

6473
describe('test findPackageJson: should return the correct package.json path for react-router-dom v5, v6 and react-router v7', () => {

packages/bridge/bridge-react-webpack-plugin/package.json

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,7 @@
3333
"test": "rstest"
3434
},
3535
"dependencies": {
36-
"@module-federation/sdk": "workspace:*",
37-
"semver": "7.6.3",
38-
"@types/semver": "7.5.8"
36+
"@module-federation/sdk": "workspace:*"
3937
},
4038
"devDependencies": {
4139
"typescript": "7.0.2",

packages/bridge/bridge-react-webpack-plugin/src/utils.ts

Lines changed: 2 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,9 @@
11
import fs from 'node:fs';
22
import path from 'node:path';
3-
import semver from 'semver';
43

54
export const checkVersion = (version: string) => {
6-
// Extract the version number starting from the first digit
7-
const versionMatch = version.match(/\d.*/);
8-
if (!versionMatch) return 0;
9-
10-
const cleanVersion = versionMatch[0];
11-
12-
if (semver.gte(cleanVersion, '5.0.0') && semver.lt(cleanVersion, '6.0.0')) {
13-
return 5;
14-
} else if (
15-
semver.gte(cleanVersion, '6.0.0') &&
16-
semver.lt(cleanVersion, '7.0.0')
17-
) {
18-
return 6;
19-
} else if (semver.gte(cleanVersion, '7.0.0')) {
20-
return 7;
21-
}
22-
23-
return 0;
5+
const major = Number(version.match(/\d+/)?.[0]);
6+
return major === 5 || major === 6 ? major : major >= 7 ? 7 : 0;
247
};
258

269
export const findPackageJson = (startPath: string): string | null => {

packages/bridge/bridge-react/package.json

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,11 @@
9090
"import": "./dist/lazy-load-component-plugin.es.js",
9191
"require": "./dist/lazy-load-component-plugin.cjs.js"
9292
},
93+
"./size-limited-cache": {
94+
"types": "./dist/size-limited-cache.d.ts",
95+
"import": "./dist/size-limited-cache.es.js",
96+
"require": "./dist/size-limited-cache.cjs.js"
97+
},
9398
"./*": "./*"
9499
},
95100
"typesVersions": {
@@ -135,6 +140,9 @@
135140
],
136141
"data-fetch-server-middleware": [
137142
"./dist/data-fetch-server-middleware.d.ts"
143+
],
144+
"size-limited-cache": [
145+
"./dist/size-limited-cache.d.ts"
138146
]
139147
}
140148
},
@@ -147,8 +155,7 @@
147155
"test:rstest": "pnpm exec rstest --passWithNoTests"
148156
},
149157
"dependencies": {
150-
"@module-federation/sdk": "workspace:*",
151-
"lru-cache": "10.4.3"
158+
"@module-federation/sdk": "workspace:*"
152159
},
153160
"peerDependencies": {
154161
"react": ">=16.9.0",
@@ -165,7 +172,6 @@
165172
}
166173
},
167174
"devDependencies": {
168-
"react-error-boundary": "^4.1.2",
169175
"@module-federation/bridge-shared": "workspace:*",
170176
"@rsbuild/plugin-react": "2.1.0",
171177
"@testing-library/react": "15.0.7",

0 commit comments

Comments
 (0)