@module-federation/metro 0.21.6 → 0.22.0

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.
@@ -134,7 +134,8 @@ function augmentConfig(config, federationOptions, extraOptions) {
134
134
  hacks: {
135
135
  patchHMRClient: flags.unstable_patchHMRClient,
136
136
  patchInitializeCore: flags.unstable_patchInitializeCore
137
- }
137
+ },
138
+ customResolver: config.resolver.resolveRequest
138
139
  })
139
140
  },
140
141
  server: {
@@ -97,7 +97,8 @@ function augmentConfig(config, federationOptions, extraOptions) {
97
97
  hacks: {
98
98
  patchHMRClient: flags.unstable_patchHMRClient,
99
99
  patchInitializeCore: flags.unstable_patchInitializeCore
100
- }
100
+ },
101
+ customResolver: config.resolver.resolveRequest
101
102
  })
102
103
  },
103
104
  server: {
@@ -20,6 +20,7 @@ interface CreateResolveRequestOptions {
20
20
  };
21
21
  options: ModuleFederationConfigNormalized;
22
22
  vmManager: VirtualModuleManager;
23
+ customResolver?: CustomResolver;
23
24
  }
24
- export declare function createResolveRequest({ vmManager, options, hacks, paths, isRemote, }: CreateResolveRequestOptions): CustomResolver;
25
+ export declare function createResolveRequest({ vmManager, options, hacks, paths, isRemote, customResolver, }: CreateResolveRequestOptions): CustomResolver;
25
26
  export {};
@@ -40,7 +40,7 @@ var external_node_path_default = /*#__PURE__*/ __webpack_require__.n(external_no
40
40
  const external_constants_js_namespaceObject = require("./constants.js");
41
41
  const external_generators_js_namespaceObject = require("./generators.js");
42
42
  const external_helpers_js_namespaceObject = require("./helpers.js");
43
- function createResolveRequest({ vmManager, options, hacks, paths, isRemote }) {
43
+ function createResolveRequest({ vmManager, options, hacks, paths, isRemote, customResolver }) {
44
44
  const hostEntryPathRegex = getEntryPathRegex({
45
45
  entry: paths.hostEntry,
46
46
  projectDir: paths.projectDir
@@ -102,7 +102,7 @@ function createResolveRequest({ vmManager, options, hacks, paths, isRemote }) {
102
102
  };
103
103
  if ([
104
104
  paths.initHost
105
- ].includes(context.originModulePath)) return context.resolveRequest(context, moduleName, platform);
105
+ ].includes(context.originModulePath)) return customResolver ? customResolver(context, moduleName, platform) : context.resolveRequest(context, moduleName, platform);
106
106
  if ([
107
107
  paths.remoteEntry
108
108
  ].includes(context.originModulePath)) {
@@ -114,7 +114,7 @@ function createResolveRequest({ vmManager, options, hacks, paths, isRemote }) {
114
114
  filePath: sharedPath
115
115
  };
116
116
  }
117
- return context.resolveRequest(context, moduleName, platform);
117
+ return customResolver ? customResolver(context, moduleName, platform) : context.resolveRequest(context, moduleName, platform);
118
118
  }
119
119
  for (const remoteName of Object.keys(options.remotes))if (moduleName.startsWith(remoteName + '/')) {
120
120
  const remotePath = getRemoteModulePath(moduleName, paths.tmpDir);
@@ -138,24 +138,24 @@ function createResolveRequest({ vmManager, options, hacks, paths, isRemote }) {
138
138
  }
139
139
  }
140
140
  if (isRemote && moduleName.endsWith('getDevServer')) {
141
- const res = context.resolveRequest(context, moduleName, platform);
141
+ const res = customResolver ? customResolver(context, moduleName, platform) : context.resolveRequest(context, moduleName, platform);
142
142
  const from = external_constants_js_namespaceObject.GET_DEV_SERVER_REGEX;
143
143
  const to = resolveModule('getDevServer.ts');
144
144
  return replaceModule(from, to)(res);
145
145
  }
146
146
  if ((0, external_helpers_js_namespaceObject.isUsingMFBundleCommand)() && moduleName.endsWith('HMRClient')) {
147
- const res = context.resolveRequest(context, moduleName, platform);
147
+ const res = customResolver ? customResolver(context, moduleName, platform) : context.resolveRequest(context, moduleName, platform);
148
148
  const from = external_constants_js_namespaceObject.HMR_CLIENT_REGEX;
149
149
  const to = resolveModule('HMRClientShim.ts');
150
150
  return replaceModule(from, to)(res);
151
151
  }
152
152
  if (hacks.patchHMRClient && moduleName.endsWith('HMRClient') && context.originModulePath !== resolveModule('HMRClient.ts')) {
153
- const res = context.resolveRequest(context, moduleName, platform);
153
+ const res = customResolver ? customResolver(context, moduleName, platform) : context.resolveRequest(context, moduleName, platform);
154
154
  const from = external_constants_js_namespaceObject.HMR_CLIENT_REGEX;
155
155
  const to = resolveModule('HMRClient.ts');
156
156
  return replaceModule(from, to)(res);
157
157
  }
158
- return context.resolveRequest(context, moduleName, platform);
158
+ return customResolver ? customResolver(context, moduleName, platform) : context.resolveRequest(context, moduleName, platform);
159
159
  };
160
160
  }
161
161
  function getSharedPath(name, dir) {
@@ -7,7 +7,7 @@ import { ASYNC_REQUIRE, GET_DEV_SERVER_REGEX, HMR_CLIENT_REGEX, INIT_HOST, REMOT
7
7
  import { getHostEntryModule, getInitHostModule, getRemoteEntryModule, getRemoteHMRSetupModule, getRemoteModule, getRemoteModuleRegistryModule } from "./generators.mjs";
8
8
  import { isUsingMFBundleCommand, removeExtension } from "./helpers.mjs";
9
9
  var resolver_dirname = __webpack_dirname__(__webpack_fileURLToPath__(import.meta.url));
10
- function createResolveRequest({ vmManager, options, hacks, paths, isRemote }) {
10
+ function createResolveRequest({ vmManager, options, hacks, paths, isRemote, customResolver }) {
11
11
  const hostEntryPathRegex = getEntryPathRegex({
12
12
  entry: paths.hostEntry,
13
13
  projectDir: paths.projectDir
@@ -69,7 +69,7 @@ function createResolveRequest({ vmManager, options, hacks, paths, isRemote }) {
69
69
  };
70
70
  if ([
71
71
  paths.initHost
72
- ].includes(context.originModulePath)) return context.resolveRequest(context, moduleName, platform);
72
+ ].includes(context.originModulePath)) return customResolver ? customResolver(context, moduleName, platform) : context.resolveRequest(context, moduleName, platform);
73
73
  if ([
74
74
  paths.remoteEntry
75
75
  ].includes(context.originModulePath)) {
@@ -81,7 +81,7 @@ function createResolveRequest({ vmManager, options, hacks, paths, isRemote }) {
81
81
  filePath: sharedPath
82
82
  };
83
83
  }
84
- return context.resolveRequest(context, moduleName, platform);
84
+ return customResolver ? customResolver(context, moduleName, platform) : context.resolveRequest(context, moduleName, platform);
85
85
  }
86
86
  for (const remoteName of Object.keys(options.remotes))if (moduleName.startsWith(remoteName + '/')) {
87
87
  const remotePath = getRemoteModulePath(moduleName, paths.tmpDir);
@@ -105,24 +105,24 @@ function createResolveRequest({ vmManager, options, hacks, paths, isRemote }) {
105
105
  }
106
106
  }
107
107
  if (isRemote && moduleName.endsWith('getDevServer')) {
108
- const res = context.resolveRequest(context, moduleName, platform);
108
+ const res = customResolver ? customResolver(context, moduleName, platform) : context.resolveRequest(context, moduleName, platform);
109
109
  const from = GET_DEV_SERVER_REGEX;
110
110
  const to = resolveModule('getDevServer.ts');
111
111
  return replaceModule(from, to)(res);
112
112
  }
113
113
  if (isUsingMFBundleCommand() && moduleName.endsWith('HMRClient')) {
114
- const res = context.resolveRequest(context, moduleName, platform);
114
+ const res = customResolver ? customResolver(context, moduleName, platform) : context.resolveRequest(context, moduleName, platform);
115
115
  const from = HMR_CLIENT_REGEX;
116
116
  const to = resolveModule('HMRClientShim.ts');
117
117
  return replaceModule(from, to)(res);
118
118
  }
119
119
  if (hacks.patchHMRClient && moduleName.endsWith('HMRClient') && context.originModulePath !== resolveModule('HMRClient.ts')) {
120
- const res = context.resolveRequest(context, moduleName, platform);
120
+ const res = customResolver ? customResolver(context, moduleName, platform) : context.resolveRequest(context, moduleName, platform);
121
121
  const from = HMR_CLIENT_REGEX;
122
122
  const to = resolveModule('HMRClient.ts');
123
123
  return replaceModule(from, to)(res);
124
124
  }
125
- return context.resolveRequest(context, moduleName, platform);
125
+ return customResolver ? customResolver(context, moduleName, platform) : context.resolveRequest(context, moduleName, platform);
126
126
  };
127
127
  }
128
128
  function getSharedPath(name, dir) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@module-federation/metro",
3
- "version": "0.21.6",
3
+ "version": "0.22.0",
4
4
  "description": "Module Federation for Metro bundler",
5
5
  "keywords": [
6
6
  "module-federation",
@@ -57,8 +57,8 @@
57
57
  },
58
58
  "dependencies": {
59
59
  "@expo/metro-runtime": "^5.0.4",
60
- "@module-federation/runtime": "0.21.6",
61
- "@module-federation/sdk": "0.21.6"
60
+ "@module-federation/runtime": "0.22.0",
61
+ "@module-federation/sdk": "0.22.0"
62
62
  },
63
63
  "peerDependencies": {
64
64
  "@babel/types": "^7.25.0",