Skip to content

Commit c8c0ad2

Browse files
2heal1zhoushaw
andauthored
feat: enhance type capabilities (#2185)
Co-authored-by: Zhou xiao <[email protected]>
1 parent 1d3ee82 commit c8c0ad2

File tree

195 files changed

+7465
-2460
lines changed

Some content is hidden

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

195 files changed

+7465
-2460
lines changed

.changeset/config.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,9 @@
1111
"@module-federation/sdk",
1212
"@module-federation/runtime-tools",
1313
"@module-federation/managers",
14-
"@module-federation/manifest"
14+
"@module-federation/manifest",
15+
"@module-federation/dts-plugin",
16+
"@module-federation/native-federation-typescript"
1517
]
1618
],
1719
"ignorePatterns": ["^alpha|^beta"],

.changeset/late-mice-hope.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
---
2+
'@module-federation/native-federation-typescript': patch
3+
'@module-federation/third-party-dts-extractor': patch
4+
'@module-federation/enhanced-rspack': patch
5+
'@module-federation/dts-plugin': patch
6+
'@module-federation/enhanced': patch
7+
'@module-federation/manifest': patch
8+
'@module-federation/sdk': patch
9+
---
10+
11+
feat: enhance type capability

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,3 +54,4 @@ apps/**/dist
5454
!packages/enhanced/test/configCases/**/**/node_modules
5555
packages/enhanced/test/js
5656
.ignored
57+
/.mf

apps/3000-home/next.config.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,9 @@ const nextConfig = {
1212
},
1313
webpack(config, options) {
1414
const { isServer } = options;
15-
15+
config.watchOptions = {
16+
ignored: ['**/node_modules/**', '**/@mf-types/**'],
17+
};
1618
// used for testing build output snapshots
1719
const remotes = {
1820
checkout: `checkout@http://localhost:3002/_next/static/${

apps/3001-shop/next.config.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,9 @@ const nextConfig = {
1111
},
1212
webpack(config, options) {
1313
const { isServer } = options;
14-
14+
config.watchOptions = {
15+
ignored: ['**/node_modules/**', '**/@mf-types/**'],
16+
};
1517
config.plugins.push(
1618
new NextFederationPlugin({
1719
name: 'shop',

apps/3002-checkout/next.config.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@ const nextConfig = {
1212
},
1313
webpack(config, options) {
1414
const { isServer } = options;
15+
config.watchOptions = {
16+
ignored: ['**/node_modules/**', '**/@mf-types/**'],
17+
};
1518
config.plugins.push(
1619
new NextFederationPlugin({
1720
name: 'checkout',
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
import type {
2+
PackageType as PackageType_0,
3+
RemoteKeys as RemoteKeys_0,
4+
} from './react_ts_nested_remote/apis.d.ts';
5+
declare module '@module-federation/runtime' {
6+
type RemoteKeys = RemoteKeys_0;
7+
type PackageType<T, Y = any> = T extends RemoteKeys_0 ? PackageType_0<T> : Y;
8+
export function loadRemote<T extends RemoteKeys, Y>(
9+
packageName: T,
10+
): Promise<PackageType<T, Y>>;
11+
export function loadRemote<T extends string, Y>(
12+
packageName: T,
13+
): Promise<PackageType<T, Y>>;
14+
}
15+
declare module '@module-federation/runtime-tools' {
16+
type RemoteKeys = RemoteKeys_0;
17+
type PackageType<T, Y = any> = T extends RemoteKeys_0 ? PackageType_0<T> : Y;
18+
export function loadRemote<T extends RemoteKeys, Y>(
19+
packageName: T,
20+
): Promise<PackageType<T, Y>>;
21+
export function loadRemote<T extends string, Y>(
22+
packageName: T,
23+
): Promise<PackageType<T, Y>>;
24+
}

apps/react-ts-host/@mf-types/react-ts-remote/Module.d.ts

Lines changed: 0 additions & 2 deletions
This file was deleted.
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
export * from './compiled-types/nx-welcome';
2+
export { default } from './compiled-types/nx-welcome';
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
export type RemoteKeys =
2+
| 'react_ts_nested_remote/Module'
3+
| 'react_ts_nested_remote/utils';
4+
type PackageType<T> = T extends 'react_ts_nested_remote/utils'
5+
? typeof import('react_ts_nested_remote/utils')
6+
: T extends 'react_ts_nested_remote/Module'
7+
? typeof import('react_ts_nested_remote/Module')
8+
: any;

0 commit comments

Comments
 (0)