@module-federation/modern-js 0.0.0-next-20240816090839 → 0.0.0-next-20240816102736

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/dist/cjs/cli/ast/constant.js +49 -0
  2. package/dist/cjs/cli/ast/generateRoutes.js +140 -0
  3. package/dist/cjs/cli/ast/generateSerializableRoutes.js +91 -0
  4. package/dist/cjs/cli/ast/generateSlimRoutes.js +106 -0
  5. package/dist/cjs/cli/ast/index.js +34 -0
  6. package/dist/cjs/cli/bundler-plugins/SerializableRoutesPlugin.js +65 -0
  7. package/dist/cjs/cli/constant.js +6 -0
  8. package/dist/cjs/cli/dataLoaderPlugin.js +281 -0
  9. package/dist/cjs/cli/index.js +6 -1
  10. package/dist/cjs/cli/server/dataLoaderPlugin.js +83 -0
  11. package/dist/cjs/cli/ssrPlugin.js +4 -4
  12. package/dist/cjs/cli/utils.js +4 -2
  13. package/dist/cjs/interfaces/route.js +16 -0
  14. package/dist/cjs/runtime/constant.js +34 -0
  15. package/dist/cjs/runtime/dataLoader.js +87 -0
  16. package/dist/cjs/runtime/index.js +4 -1
  17. package/dist/cjs/runtime/utils.js +43 -0
  18. package/dist/cjs/runtime/withMFRouteId.js +31 -0
  19. package/dist/cjs/ssr-runtime/plugin.js +8 -7
  20. package/dist/esm/cli/ast/constant.js +18 -0
  21. package/dist/esm/cli/ast/generateRoutes.js +107 -0
  22. package/dist/esm/cli/ast/generateSerializableRoutes.js +58 -0
  23. package/dist/esm/cli/ast/generateSlimRoutes.js +75 -0
  24. package/dist/esm/cli/ast/index.js +8 -0
  25. package/dist/esm/cli/bundler-plugins/SerializableRoutesPlugin.js +45 -0
  26. package/dist/esm/cli/constant.js +4 -0
  27. package/dist/esm/cli/dataLoaderPlugin.js +326 -0
  28. package/dist/esm/cli/index.js +6 -1
  29. package/dist/esm/cli/server/dataLoaderPlugin.js +146 -0
  30. package/dist/esm/cli/ssrPlugin.js +2 -2
  31. package/dist/esm/cli/utils.js +2 -1
  32. package/dist/esm/interfaces/route.js +0 -0
  33. package/dist/esm/runtime/constant.js +8 -0
  34. package/dist/esm/runtime/dataLoader.js +125 -0
  35. package/dist/esm/runtime/index.js +3 -1
  36. package/dist/esm/runtime/utils.js +16 -0
  37. package/dist/esm/runtime/withMFRouteId.js +7 -0
  38. package/dist/esm/ssr-runtime/plugin.js +8 -10
  39. package/dist/esm-node/cli/ast/constant.js +18 -0
  40. package/dist/esm-node/cli/ast/generateRoutes.js +106 -0
  41. package/dist/esm-node/cli/ast/generateSerializableRoutes.js +57 -0
  42. package/dist/esm-node/cli/ast/generateSlimRoutes.js +72 -0
  43. package/dist/esm-node/cli/ast/index.js +8 -0
  44. package/dist/esm-node/cli/bundler-plugins/SerializableRoutesPlugin.js +30 -0
  45. package/dist/esm-node/cli/constant.js +4 -0
  46. package/dist/esm-node/cli/dataLoaderPlugin.js +245 -0
  47. package/dist/esm-node/cli/index.js +6 -1
  48. package/dist/esm-node/cli/server/dataLoaderPlugin.js +63 -0
  49. package/dist/esm-node/cli/ssrPlugin.js +2 -2
  50. package/dist/esm-node/cli/utils.js +2 -1
  51. package/dist/esm-node/interfaces/route.js +0 -0
  52. package/dist/esm-node/runtime/constant.js +8 -0
  53. package/dist/esm-node/runtime/dataLoader.js +63 -0
  54. package/dist/esm-node/runtime/index.js +3 -1
  55. package/dist/esm-node/runtime/utils.js +19 -0
  56. package/dist/esm-node/runtime/withMFRouteId.js +7 -0
  57. package/dist/esm-node/ssr-runtime/plugin.js +8 -7
  58. package/dist/types/cli/ast/constant.d.ts +8 -0
  59. package/dist/types/cli/ast/generateRoutes.d.ts +7 -0
  60. package/dist/types/cli/ast/generateSerializableRoutes.d.ts +5 -0
  61. package/dist/types/cli/ast/generateSlimRoutes.d.ts +7 -0
  62. package/dist/types/cli/ast/index.d.ts +3 -0
  63. package/dist/types/cli/bundler-plugins/SerializableRoutesPlugin.d.ts +12 -0
  64. package/dist/types/cli/constant.d.ts +2 -0
  65. package/dist/types/cli/dataLoaderPlugin.d.ts +6 -0
  66. package/dist/types/cli/server/dataLoaderPlugin.d.ts +5 -0
  67. package/dist/types/cli/utils.d.ts +1 -0
  68. package/dist/types/interfaces/route.d.ts +13 -0
  69. package/dist/types/runtime/constant.d.ts +3 -0
  70. package/dist/types/runtime/dataLoader.d.ts +7 -0
  71. package/dist/types/runtime/index.d.ts +1 -0
  72. package/dist/types/runtime/utils.d.ts +1 -0
  73. package/dist/types/runtime/withMFRouteId.d.ts +1 -0
  74. package/dist/types/types/index.d.ts +18 -0
  75. package/package.json +37 -11
@@ -1,10 +1,12 @@
1
1
  import { moduleFederationPlugin } from '@module-federation/sdk';
2
2
  import type { ModuleFederationPlugin as WebpackModuleFederationPlugin } from '@module-federation/enhanced';
3
3
  import type { ModuleFederationPlugin as RspackModuleFederationPlugin } from '@module-federation/enhanced/rspack';
4
+ import type { init } from '@module-federation/enhanced/runtime';
4
5
  export interface PluginOptions {
5
6
  config?: moduleFederationPlugin.ModuleFederationPluginOptions;
6
7
  configPath?: string;
7
8
  remoteIpStrategy?: 'ipv4' | 'inherit';
9
+ dataLoader?: false | Pick<DataLoaderOptions, 'baseName' | 'partialSSRRemotes'>;
8
10
  }
9
11
  export interface InternalModernPluginOptions {
10
12
  csrConfig?: moduleFederationPlugin.ModuleFederationPluginOptions;
@@ -16,3 +18,19 @@ export interface InternalModernPluginOptions {
16
18
  remoteIpStrategy?: 'ipv4' | 'inherit';
17
19
  }
18
20
  export type BundlerPlugin = WebpackModuleFederationPlugin | RspackModuleFederationPlugin;
21
+ export type TransformRuntimeOptions = (mfConfig: moduleFederationPlugin.ModuleFederationPluginOptions) => Parameters<typeof init>[0];
22
+ export type DataLoaderOptions = {
23
+ baseName: string;
24
+ partialSSRRemotes?: string[];
25
+ metaName?: string;
26
+ serverPlugin?: string;
27
+ transformRuntimeOptions?: TransformRuntimeOptions;
28
+ fetchSSRByRouteIds?: (partialSSRRemotes: string[], mfConfig: moduleFederationPlugin.ModuleFederationPluginOptions, transformRuntimeOptions: TransformRuntimeOptions) => Promise<string[] | undefined>;
29
+ patchMFConfig?: (options: {
30
+ mfConfig: moduleFederationPlugin.ModuleFederationPluginOptions;
31
+ baseName: string;
32
+ metaName: string;
33
+ isServer: boolean;
34
+ routesFilePath: string;
35
+ }) => void;
36
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@module-federation/modern-js",
3
- "version": "0.0.0-next-20240816090839",
3
+ "version": "0.0.0-next-20240816102736",
4
4
  "files": [
5
5
  "dist/",
6
6
  "types.d.ts",
@@ -23,6 +23,19 @@
23
23
  "types": "./dist/types/ssr-runtime/index.d.ts",
24
24
  "default": "./dist/esm/ssr-runtime/index.js"
25
25
  },
26
+ "./data-loader": {
27
+ "types": "./dist/types/runtime/dataLoader.d.ts",
28
+ "default": "./dist/esm/runtime/dataLoader.js"
29
+ },
30
+ "./data-loader-server": {
31
+ "types": "./dist/types/cli/server/dataLoaderPlugin.d.ts",
32
+ "default": "./dist/cjs/cli/server/dataLoaderPlugin.js"
33
+ },
34
+ "./data-loader-plugin": {
35
+ "import": "./dist/esm/cli/dataLoaderPlugin.js",
36
+ "require": "./dist/cjs/cli/dataLoaderPlugin.js",
37
+ "types": "./dist/types/cli/dataLoaderPlugin.d.ts"
38
+ },
26
39
  "./config-plugin": {
27
40
  "import": "./dist/esm/cli/configPlugin.js",
28
41
  "require": "./dist/cjs/cli/configPlugin.js",
@@ -47,6 +60,12 @@
47
60
  ],
48
61
  "ssr-plugin": [
49
62
  "./dist/types/cli/ssrPlugin.d.ts"
63
+ ],
64
+ "data-loader-plugin": [
65
+ "./dist/types/cli/dataLoaderPlugin.d.ts"
66
+ ],
67
+ "data-loader": [
68
+ "./dist/types/runtime/dataLoader.d.ts"
50
69
  ]
51
70
  }
52
71
  },
@@ -55,24 +74,31 @@
55
74
  "author": "hanric <hanric.zhang@gmail.com>",
56
75
  "license": "MIT",
57
76
  "dependencies": {
58
- "@swc/helpers": "0.5.12",
77
+ "@swc/helpers": "0.5.3",
59
78
  "@modern-js/utils": "2.54.2",
60
79
  "@modern-js/node-bundle-require": "2.54.2",
61
80
  "node-fetch": "~3.3.0",
62
81
  "react-error-boundary": "4.0.13",
63
82
  "hoist-non-react-statics": "3.3.2",
64
- "@module-federation/sdk": "0.0.0-next-20240816090839",
65
- "@module-federation/enhanced": "0.0.0-next-20240816090839",
66
- "@module-federation/node": "0.0.0-next-20240816090839"
83
+ "@babel/generator": "7.25.0",
84
+ "@babel/parser": "7.25.3",
85
+ "@babel/traverse": "7.25.3",
86
+ "@babel/types": "7.25.2",
87
+ "@module-federation/sdk": "0.0.0-next-20240816102736",
88
+ "@module-federation/enhanced": "0.0.0-next-20240816102736",
89
+ "@module-federation/node": "0.0.0-next-20240816102736"
67
90
  },
68
91
  "devDependencies": {
92
+ "@types/babel__traverse": "7.20.6",
93
+ "@types/babel__generator": "7.6.8",
69
94
  "@types/hoist-non-react-statics": "3.3.2",
70
- "@modern-js/app-tools": "2.57.0",
71
- "@modern-js/core": "2.57.0",
72
- "@modern-js/runtime": "2.57.0",
73
- "@modern-js/module-tools": "2.57.0",
74
- "@modern-js/tsconfig": "2.57.0",
75
- "@module-federation/manifest": "0.0.0-next-20240816090839"
95
+ "@modern-js/server-core": "0.0.0-next-20240816082741",
96
+ "@modern-js/app-tools": "0.0.0-next-20240816082741",
97
+ "@modern-js/core": "0.0.0-next-20240816082741",
98
+ "@modern-js/runtime": "0.0.0-next-20240816082741",
99
+ "@modern-js/module-tools": "0.0.0-next-20240816082741",
100
+ "@modern-js/tsconfig": "0.0.0-next-20240816082741",
101
+ "@module-federation/manifest": "0.0.0-next-20240816102736"
76
102
  },
77
103
  "peerDependencies": {
78
104
  "react": ">=17",