@module-federation/metro 0.0.0-chore-bump-node-22-20260710161714

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 (126) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +11 -0
  3. package/babel-plugin/index.js +115 -0
  4. package/babel-plugin/patch-initialize-core.js +61 -0
  5. package/babel-plugin/patch-require.js +174 -0
  6. package/bootstrap/index.d.ts +1 -0
  7. package/bootstrap/index.js +1 -0
  8. package/dist/babel/transformer.js +15 -0
  9. package/dist/commands/bundle-host/index.d.ts +13 -0
  10. package/dist/commands/bundle-host/index.js +100 -0
  11. package/dist/commands/bundle-host/index.mjs +47 -0
  12. package/dist/commands/bundle-host/options.d.ts +5 -0
  13. package/dist/commands/bundle-host/options.js +43 -0
  14. package/dist/commands/bundle-host/options.mjs +6 -0
  15. package/dist/commands/bundle-host/types.d.ts +22 -0
  16. package/dist/commands/bundle-host/types.js +18 -0
  17. package/dist/commands/bundle-host/types.mjs +1 -0
  18. package/dist/commands/bundle-remote/index.d.ts +12 -0
  19. package/dist/commands/bundle-remote/index.js +241 -0
  20. package/dist/commands/bundle-remote/index.mjs +190 -0
  21. package/dist/commands/bundle-remote/options.d.ts +32 -0
  22. package/dist/commands/bundle-remote/options.js +113 -0
  23. package/dist/commands/bundle-remote/options.mjs +66 -0
  24. package/dist/commands/bundle-remote/types.d.ts +16 -0
  25. package/dist/commands/bundle-remote/types.js +18 -0
  26. package/dist/commands/bundle-remote/types.mjs +1 -0
  27. package/dist/commands/index.d.ts +48 -0
  28. package/dist/commands/index.js +76 -0
  29. package/dist/commands/index.mjs +13 -0
  30. package/dist/commands/types.d.ts +14 -0
  31. package/dist/commands/types.js +18 -0
  32. package/dist/commands/types.mjs +1 -0
  33. package/dist/commands/utils/create-module-path-remapper.d.ts +7 -0
  34. package/dist/commands/utils/create-module-path-remapper.js +68 -0
  35. package/dist/commands/utils/create-module-path-remapper.mjs +31 -0
  36. package/dist/commands/utils/create-resolver.d.ts +20 -0
  37. package/dist/commands/utils/create-resolver.js +61 -0
  38. package/dist/commands/utils/create-resolver.mjs +24 -0
  39. package/dist/commands/utils/get-community-plugin.d.ts +28 -0
  40. package/dist/commands/utils/get-community-plugin.js +53 -0
  41. package/dist/commands/utils/get-community-plugin.mjs +17 -0
  42. package/dist/commands/utils/load-metro-config.d.ts +3 -0
  43. package/dist/commands/utils/load-metro-config.js +85 -0
  44. package/dist/commands/utils/load-metro-config.mjs +41 -0
  45. package/dist/commands/utils/path-utils.d.ts +2 -0
  46. package/dist/commands/utils/path-utils.js +51 -0
  47. package/dist/commands/utils/path-utils.mjs +11 -0
  48. package/dist/commands/utils/save-bundle-and-map.d.ts +5 -0
  49. package/dist/commands/utils/save-bundle-and-map.js +80 -0
  50. package/dist/commands/utils/save-bundle-and-map.mjs +33 -0
  51. package/dist/index.d.ts +2 -0
  52. package/dist/index.js +44 -0
  53. package/dist/index.mjs +3 -0
  54. package/dist/logger.d.ts +2 -0
  55. package/dist/logger.js +43 -0
  56. package/dist/logger.mjs +6 -0
  57. package/dist/modules/HMRClient.ts +31 -0
  58. package/dist/modules/HMRClientShim.ts +1 -0
  59. package/dist/modules/asyncRequire.ts +156 -0
  60. package/dist/modules/asyncStartup.tsx +43 -0
  61. package/dist/modules/getDevServer.ts +15 -0
  62. package/dist/modules/metroCorePlugin.ts +87 -0
  63. package/dist/plugin/babel-transformer.d.ts +11 -0
  64. package/dist/plugin/babel-transformer.js +72 -0
  65. package/dist/plugin/babel-transformer.mjs +25 -0
  66. package/dist/plugin/constants.d.ts +10 -0
  67. package/dist/plugin/constants.js +76 -0
  68. package/dist/plugin/constants.mjs +12 -0
  69. package/dist/plugin/generators.d.ts +13 -0
  70. package/dist/plugin/generators.js +164 -0
  71. package/dist/plugin/generators.mjs +102 -0
  72. package/dist/plugin/helpers.d.ts +8 -0
  73. package/dist/plugin/helpers.js +127 -0
  74. package/dist/plugin/helpers.mjs +58 -0
  75. package/dist/plugin/index.d.ts +11 -0
  76. package/dist/plugin/index.js +219 -0
  77. package/dist/plugin/index.mjs +172 -0
  78. package/dist/plugin/manifest-middleware.d.ts +12 -0
  79. package/dist/plugin/manifest-middleware.js +217 -0
  80. package/dist/plugin/manifest-middleware.mjs +170 -0
  81. package/dist/plugin/manifest.d.ts +16 -0
  82. package/dist/plugin/manifest.js +246 -0
  83. package/dist/plugin/manifest.mjs +185 -0
  84. package/dist/plugin/normalize-extra-options.d.ts +8 -0
  85. package/dist/plugin/normalize-extra-options.js +50 -0
  86. package/dist/plugin/normalize-extra-options.mjs +13 -0
  87. package/dist/plugin/normalize-options.d.ts +7 -0
  88. package/dist/plugin/normalize-options.js +139 -0
  89. package/dist/plugin/normalize-options.mjs +92 -0
  90. package/dist/plugin/resolver.d.ts +26 -0
  91. package/dist/plugin/resolver.js +203 -0
  92. package/dist/plugin/resolver.mjs +159 -0
  93. package/dist/plugin/rewrite-request.d.ts +14 -0
  94. package/dist/plugin/rewrite-request.js +89 -0
  95. package/dist/plugin/rewrite-request.mjs +42 -0
  96. package/dist/plugin/serializer.d.ts +6 -0
  97. package/dist/plugin/serializer.js +191 -0
  98. package/dist/plugin/serializer.mjs +144 -0
  99. package/dist/plugin/validate-options.d.ts +2 -0
  100. package/dist/plugin/validate-options.js +165 -0
  101. package/dist/plugin/validate-options.mjs +117 -0
  102. package/dist/runtime/host-entry.js +3 -0
  103. package/dist/runtime/init-host.js +31 -0
  104. package/dist/runtime/remote-entry.js +57 -0
  105. package/dist/runtime/remote-hmr.js +19 -0
  106. package/dist/runtime/remote-module-registry.js +57 -0
  107. package/dist/runtime/remote-module.js +2 -0
  108. package/dist/types.d.ts +26 -0
  109. package/dist/types.js +18 -0
  110. package/dist/types.mjs +1 -0
  111. package/dist/utils/errors.d.ts +8 -0
  112. package/dist/utils/errors.js +54 -0
  113. package/dist/utils/errors.mjs +14 -0
  114. package/dist/utils/federated-remote-types.d.ts +12 -0
  115. package/dist/utils/federated-remote-types.js +140 -0
  116. package/dist/utils/federated-remote-types.mjs +90 -0
  117. package/dist/utils/index.d.ts +2 -0
  118. package/dist/utils/index.js +47 -0
  119. package/dist/utils/index.mjs +3 -0
  120. package/dist/utils/metro-compat.d.ts +23 -0
  121. package/dist/utils/metro-compat.js +74 -0
  122. package/dist/utils/metro-compat.mjs +26 -0
  123. package/dist/utils/vm-manager.d.ts +21 -0
  124. package/dist/utils/vm-manager.js +118 -0
  125. package/dist/utils/vm-manager.mjs +70 -0
  126. package/package.json +106 -0
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.r = (exports1)=>{
5
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
6
+ value: 'Module'
7
+ });
8
+ Object.defineProperty(exports1, '__esModule', {
9
+ value: true
10
+ });
11
+ };
12
+ })();
13
+ var __webpack_exports__ = {};
14
+ __webpack_require__.r(__webpack_exports__);
15
+ for(var __rspack_i in __webpack_exports__)exports[__rspack_i] = __webpack_exports__[__rspack_i];
16
+ Object.defineProperty(exports, '__esModule', {
17
+ value: true
18
+ });
@@ -0,0 +1 @@
1
+ import "node:module";
@@ -0,0 +1,48 @@
1
+ import bundleFederatedHost, { bundleFederatedHostOptions } from './bundle-host';
2
+ import bundleFederatedRemote, { bundleFederatedRemoteOptions } from './bundle-remote';
3
+ import loadMetroConfig from './utils/load-metro-config';
4
+ export { bundleFederatedHost, bundleFederatedHostOptions, bundleFederatedRemote, bundleFederatedRemoteOptions, loadMetroConfig, };
5
+ declare const _default: {
6
+ bundleFederatedHost: typeof bundleFederatedHost;
7
+ bundleFederatedHostOptions: {
8
+ name: string;
9
+ description: string;
10
+ }[];
11
+ bundleFederatedRemote: typeof bundleFederatedRemote;
12
+ bundleFederatedRemoteOptions: ({
13
+ name: string;
14
+ description: string;
15
+ default: string;
16
+ parse?: undefined;
17
+ } | {
18
+ name: string;
19
+ description: string;
20
+ parse: (val: string) => boolean;
21
+ default: boolean;
22
+ } | {
23
+ name: string;
24
+ description: string;
25
+ parse: (val: string) => boolean;
26
+ default?: undefined;
27
+ } | {
28
+ name: string;
29
+ description: string;
30
+ default?: undefined;
31
+ parse?: undefined;
32
+ } | {
33
+ name: string;
34
+ description: string;
35
+ default: boolean;
36
+ parse?: undefined;
37
+ } | {
38
+ name: string;
39
+ description: string;
40
+ parse: (val: string) => string;
41
+ default?: undefined;
42
+ })[];
43
+ loadMetroConfig: typeof loadMetroConfig;
44
+ };
45
+ export default _default;
46
+ export type { BundleFederatedHostArgs } from './bundle-host/types';
47
+ export type { BundleFederatedRemoteArgs } from './bundle-remote/types';
48
+ export type { Config } from './types';
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.n = (module)=>{
5
+ var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
6
+ __webpack_require__.d(getter, {
7
+ a: getter
8
+ });
9
+ return getter;
10
+ };
11
+ })();
12
+ (()=>{
13
+ __webpack_require__.d = (exports1, getters, values)=>{
14
+ var define = (defs, kind)=>{
15
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
16
+ enumerable: true,
17
+ [kind]: defs[key]
18
+ });
19
+ };
20
+ define(getters, "get");
21
+ define(values, "value");
22
+ };
23
+ })();
24
+ (()=>{
25
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
26
+ })();
27
+ (()=>{
28
+ __webpack_require__.r = (exports1)=>{
29
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
30
+ value: 'Module'
31
+ });
32
+ Object.defineProperty(exports1, '__esModule', {
33
+ value: true
34
+ });
35
+ };
36
+ })();
37
+ var __webpack_exports__ = {};
38
+ __webpack_require__.r(__webpack_exports__);
39
+ __webpack_require__.d(__webpack_exports__, {
40
+ bundleFederatedHost: ()=>index_js_default(),
41
+ bundleFederatedHostOptions: ()=>index_js_namespaceObject.bundleFederatedHostOptions,
42
+ bundleFederatedRemote: ()=>external_bundle_remote_index_js_default(),
43
+ bundleFederatedRemoteOptions: ()=>external_bundle_remote_index_js_namespaceObject.bundleFederatedRemoteOptions,
44
+ default: ()=>commands,
45
+ loadMetroConfig: ()=>load_metro_config_js_default()
46
+ });
47
+ const index_js_namespaceObject = require("./bundle-host/index.js");
48
+ var index_js_default = /*#__PURE__*/ __webpack_require__.n(index_js_namespaceObject);
49
+ const external_bundle_remote_index_js_namespaceObject = require("./bundle-remote/index.js");
50
+ var external_bundle_remote_index_js_default = /*#__PURE__*/ __webpack_require__.n(external_bundle_remote_index_js_namespaceObject);
51
+ const load_metro_config_js_namespaceObject = require("./utils/load-metro-config.js");
52
+ var load_metro_config_js_default = /*#__PURE__*/ __webpack_require__.n(load_metro_config_js_namespaceObject);
53
+ const commands = {
54
+ bundleFederatedHost: index_js_default(),
55
+ bundleFederatedHostOptions: index_js_namespaceObject.bundleFederatedHostOptions,
56
+ bundleFederatedRemote: external_bundle_remote_index_js_default(),
57
+ bundleFederatedRemoteOptions: external_bundle_remote_index_js_namespaceObject.bundleFederatedRemoteOptions,
58
+ loadMetroConfig: load_metro_config_js_default()
59
+ };
60
+ exports.bundleFederatedHost = __webpack_exports__.bundleFederatedHost;
61
+ exports.bundleFederatedHostOptions = __webpack_exports__.bundleFederatedHostOptions;
62
+ exports.bundleFederatedRemote = __webpack_exports__.bundleFederatedRemote;
63
+ exports.bundleFederatedRemoteOptions = __webpack_exports__.bundleFederatedRemoteOptions;
64
+ exports["default"] = __webpack_exports__["default"];
65
+ exports.loadMetroConfig = __webpack_exports__.loadMetroConfig;
66
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
67
+ "bundleFederatedHost",
68
+ "bundleFederatedHostOptions",
69
+ "bundleFederatedRemote",
70
+ "bundleFederatedRemoteOptions",
71
+ "default",
72
+ "loadMetroConfig"
73
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
74
+ Object.defineProperty(exports, '__esModule', {
75
+ value: true
76
+ });
@@ -0,0 +1,13 @@
1
+ import "node:module";
2
+ import bundle_host, { bundleFederatedHostOptions } from "./bundle-host/index.mjs";
3
+ import bundle_remote, { bundleFederatedRemoteOptions } from "./bundle-remote/index.mjs";
4
+ import load_metro_config from "./utils/load-metro-config.mjs";
5
+ const commands = {
6
+ bundleFederatedHost: bundle_host,
7
+ bundleFederatedHostOptions: bundleFederatedHostOptions,
8
+ bundleFederatedRemote: bundle_remote,
9
+ bundleFederatedRemoteOptions: bundleFederatedRemoteOptions,
10
+ loadMetroConfig: load_metro_config
11
+ };
12
+ export default commands;
13
+ export { bundleFederatedHostOptions, bundleFederatedRemoteOptions, bundle_host as bundleFederatedHost, bundle_remote as bundleFederatedRemote, load_metro_config as loadMetroConfig };
@@ -0,0 +1,14 @@
1
+ export interface Config {
2
+ root: string;
3
+ platforms: Record<string, object>;
4
+ reactNativePath: string;
5
+ logger?: Logger;
6
+ }
7
+ export interface Logger {
8
+ success: (...messages: Array<unknown>) => void;
9
+ info: (...messages: Array<unknown>) => void;
10
+ warn: (...messages: Array<unknown>) => void;
11
+ error: (...messages: Array<unknown>) => void;
12
+ debug: (...messages: Array<unknown>) => void;
13
+ log: (...messages: Array<unknown>) => void;
14
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.r = (exports1)=>{
5
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
6
+ value: 'Module'
7
+ });
8
+ Object.defineProperty(exports1, '__esModule', {
9
+ value: true
10
+ });
11
+ };
12
+ })();
13
+ var __webpack_exports__ = {};
14
+ __webpack_require__.r(__webpack_exports__);
15
+ for(var __rspack_i in __webpack_exports__)exports[__rspack_i] = __webpack_exports__[__rspack_i];
16
+ Object.defineProperty(exports, '__esModule', {
17
+ value: true
18
+ });
@@ -0,0 +1 @@
1
+ import "node:module";
@@ -0,0 +1,7 @@
1
+ import type { Resolution } from 'metro-resolver';
2
+ export declare function createModulePathRemapper(): {
3
+ addMapping(originalPath: string, overridePath: string): void;
4
+ removeMapping(originalPath: string): void;
5
+ remap(resolved: Resolution): Resolution;
6
+ reverse(overridePath: string): string;
7
+ };
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, getters, values)=>{
5
+ var define = (defs, kind)=>{
6
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
7
+ enumerable: true,
8
+ [kind]: defs[key]
9
+ });
10
+ };
11
+ define(getters, "get");
12
+ define(values, "value");
13
+ };
14
+ })();
15
+ (()=>{
16
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
17
+ })();
18
+ (()=>{
19
+ __webpack_require__.r = (exports1)=>{
20
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
21
+ value: 'Module'
22
+ });
23
+ Object.defineProperty(exports1, '__esModule', {
24
+ value: true
25
+ });
26
+ };
27
+ })();
28
+ var __webpack_exports__ = {};
29
+ __webpack_require__.r(__webpack_exports__);
30
+ function createModulePathRemapper() {
31
+ const mappings = new Map();
32
+ const reverseMappings = new Map();
33
+ return {
34
+ addMapping (originalPath, overridePath) {
35
+ mappings.set(originalPath, overridePath);
36
+ reverseMappings.set(overridePath, originalPath);
37
+ },
38
+ removeMapping (originalPath) {
39
+ const overridePath = mappings.get(originalPath);
40
+ if (!overridePath) return;
41
+ mappings.delete(originalPath);
42
+ reverseMappings.delete(overridePath);
43
+ },
44
+ remap (resolved) {
45
+ if (!('filePath' in resolved)) return resolved;
46
+ if (!mappings.has(resolved.filePath)) return resolved;
47
+ const overridePath = mappings.get(resolved.filePath);
48
+ return {
49
+ filePath: overridePath,
50
+ type: resolved.type
51
+ };
52
+ },
53
+ reverse (overridePath) {
54
+ if (!reverseMappings.has(overridePath)) return overridePath;
55
+ return reverseMappings.get(overridePath);
56
+ }
57
+ };
58
+ }
59
+ __webpack_require__.d(__webpack_exports__, {
60
+ createModulePathRemapper: ()=>createModulePathRemapper
61
+ });
62
+ exports.createModulePathRemapper = __webpack_exports__.createModulePathRemapper;
63
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
64
+ "createModulePathRemapper"
65
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
66
+ Object.defineProperty(exports, '__esModule', {
67
+ value: true
68
+ });
@@ -0,0 +1,31 @@
1
+ import "node:module";
2
+ function createModulePathRemapper() {
3
+ const mappings = new Map();
4
+ const reverseMappings = new Map();
5
+ return {
6
+ addMapping (originalPath, overridePath) {
7
+ mappings.set(originalPath, overridePath);
8
+ reverseMappings.set(overridePath, originalPath);
9
+ },
10
+ removeMapping (originalPath) {
11
+ const overridePath = mappings.get(originalPath);
12
+ if (!overridePath) return;
13
+ mappings.delete(originalPath);
14
+ reverseMappings.delete(overridePath);
15
+ },
16
+ remap (resolved) {
17
+ if (!('filePath' in resolved)) return resolved;
18
+ if (!mappings.has(resolved.filePath)) return resolved;
19
+ const overridePath = mappings.get(resolved.filePath);
20
+ return {
21
+ filePath: overridePath,
22
+ type: resolved.type
23
+ };
24
+ },
25
+ reverse (overridePath) {
26
+ if (!reverseMappings.has(overridePath)) return overridePath;
27
+ return reverseMappings.get(overridePath);
28
+ }
29
+ };
30
+ }
31
+ export { createModulePathRemapper };
@@ -0,0 +1,20 @@
1
+ import type { Server } from '../../utils/metro-compat';
2
+ /**
3
+ * Creates a resolver utility that mirrors Metro's bundling resolution behavior.
4
+ * This utility exposes Metro's internal resolver to the command context,
5
+ * allowing commands to resolve module paths exactly as Metro would during bundling.
6
+ * The resolver maintains consistency with Metro's resolution strategy,
7
+ * including platform-specific resolution and dependency graph traversal.
8
+ */
9
+ /**
10
+ * Creates a resolver that matches Metro's bundling resolution behavior
11
+ * @param server - The Metro server instance to use for resolution
12
+ * @param platform - The target platform for resolution (e.g., 'ios', 'android', null for default)
13
+ * @returns The resolver object with a resolve method that takes source and target paths
14
+ */
15
+ export declare function createResolver(server: Server, platform: string | null): Promise<{
16
+ resolve: ({ from, to }: {
17
+ from: string;
18
+ to: string;
19
+ }) => string;
20
+ }>;
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, getters, values)=>{
5
+ var define = (defs, kind)=>{
6
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
7
+ enumerable: true,
8
+ [kind]: defs[key]
9
+ });
10
+ };
11
+ define(getters, "get");
12
+ define(values, "value");
13
+ };
14
+ })();
15
+ (()=>{
16
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
17
+ })();
18
+ (()=>{
19
+ __webpack_require__.r = (exports1)=>{
20
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
21
+ value: 'Module'
22
+ });
23
+ Object.defineProperty(exports1, '__esModule', {
24
+ value: true
25
+ });
26
+ };
27
+ })();
28
+ var __webpack_exports__ = {};
29
+ __webpack_require__.r(__webpack_exports__);
30
+ async function createResolver(server, platform) {
31
+ const bundler = server.getBundler().getBundler();
32
+ const depGraph = await bundler.getDependencyGraph();
33
+ const resolve = ({ from, to })=>{
34
+ const config = {
35
+ name: to,
36
+ data: {
37
+ asyncType: null,
38
+ key: to,
39
+ locs: []
40
+ }
41
+ };
42
+ const options = {
43
+ assumeFlatNodeModules: false
44
+ };
45
+ const res = depGraph.resolveDependency(from, config, platform, {}, options);
46
+ return res.filePath;
47
+ };
48
+ return {
49
+ resolve
50
+ };
51
+ }
52
+ __webpack_require__.d(__webpack_exports__, {
53
+ createResolver: ()=>createResolver
54
+ });
55
+ exports.createResolver = __webpack_exports__.createResolver;
56
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
57
+ "createResolver"
58
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
59
+ Object.defineProperty(exports, '__esModule', {
60
+ value: true
61
+ });
@@ -0,0 +1,24 @@
1
+ import "node:module";
2
+ async function createResolver(server, platform) {
3
+ const bundler = server.getBundler().getBundler();
4
+ const depGraph = await bundler.getDependencyGraph();
5
+ const resolve = ({ from, to })=>{
6
+ const config = {
7
+ name: to,
8
+ data: {
9
+ asyncType: null,
10
+ key: to,
11
+ locs: []
12
+ }
13
+ };
14
+ const options = {
15
+ assumeFlatNodeModules: false
16
+ };
17
+ const res = depGraph.resolveDependency(from, config, platform, {}, options);
18
+ return res.filePath;
19
+ };
20
+ return {
21
+ resolve
22
+ };
23
+ }
24
+ export { createResolver };
@@ -0,0 +1,28 @@
1
+ import type { ConfigT } from 'metro-config';
2
+ import type { OutputOptions, RequestOptions, Server } from '../../utils/metro-compat';
3
+ interface Command {
4
+ name: string;
5
+ description: string;
6
+ func: () => Promise<void>;
7
+ options: {
8
+ name: string;
9
+ description: string;
10
+ }[];
11
+ }
12
+ interface CommunityCliPlugin {
13
+ bundleCommand: Command;
14
+ startCommand: Command;
15
+ unstable_buildBundleWithConfig: (args: unknown, config: ConfigT, bundleImpl: {
16
+ build: (server: Server, requestOpts: RequestOptions) => Promise<{
17
+ code: string;
18
+ map: string;
19
+ }>;
20
+ save: (bundle: {
21
+ code: string;
22
+ map: string;
23
+ }, options: OutputOptions, log: (msg: string) => void) => Promise<void>;
24
+ formatName: 'bundle';
25
+ }) => Promise<void>;
26
+ }
27
+ export declare function getCommunityCliPlugin(reactNativePath?: string): CommunityCliPlugin;
28
+ export {};
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, getters, values)=>{
5
+ var define = (defs, kind)=>{
6
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
7
+ enumerable: true,
8
+ [kind]: defs[key]
9
+ });
10
+ };
11
+ define(getters, "get");
12
+ define(values, "value");
13
+ };
14
+ })();
15
+ (()=>{
16
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
17
+ })();
18
+ (()=>{
19
+ __webpack_require__.r = (exports1)=>{
20
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
21
+ value: 'Module'
22
+ });
23
+ Object.defineProperty(exports1, '__esModule', {
24
+ value: true
25
+ });
26
+ };
27
+ })();
28
+ var __webpack_exports__ = {};
29
+ __webpack_require__.r(__webpack_exports__);
30
+ __webpack_require__.d(__webpack_exports__, {
31
+ getCommunityCliPlugin: ()=>getCommunityCliPlugin
32
+ });
33
+ const errors_js_namespaceObject = require("../../utils/errors.js");
34
+ function getCommunityCliPlugin(reactNativePath) {
35
+ let communityCliPluginPath;
36
+ try {
37
+ communityCliPluginPath = require.resolve('@react-native/community-cli-plugin', {
38
+ paths: [
39
+ reactNativePath ?? require.resolve('react-native')
40
+ ]
41
+ });
42
+ } catch {
43
+ throw new errors_js_namespaceObject.CLIError('Community CLI plugin is not installed.');
44
+ }
45
+ return require(communityCliPluginPath);
46
+ }
47
+ exports.getCommunityCliPlugin = __webpack_exports__.getCommunityCliPlugin;
48
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
49
+ "getCommunityCliPlugin"
50
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
51
+ Object.defineProperty(exports, '__esModule', {
52
+ value: true
53
+ });
@@ -0,0 +1,17 @@
1
+ import __rslib_shim_module__ from "node:module";
2
+ const require = /*#__PURE__*/ __rslib_shim_module__.createRequire(/*#__PURE__*/ (()=>import.meta.url)());
3
+ import { CLIError } from "../../utils/errors.mjs";
4
+ function getCommunityCliPlugin(reactNativePath) {
5
+ let communityCliPluginPath;
6
+ try {
7
+ communityCliPluginPath = require.resolve('@react-native/community-cli-plugin', {
8
+ paths: [
9
+ reactNativePath ?? require.resolve('react-native')
10
+ ]
11
+ });
12
+ } catch {
13
+ throw new CLIError('Community CLI plugin is not installed.');
14
+ }
15
+ return require(communityCliPluginPath);
16
+ }
17
+ export { getCommunityCliPlugin };
@@ -0,0 +1,3 @@
1
+ import type { ConfigT, YargArguments } from 'metro-config';
2
+ import type { Config } from '../types';
3
+ export default function loadMetroConfig(cfg: Config, options?: YargArguments): Promise<ConfigT>;
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.n = (module)=>{
5
+ var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
6
+ __webpack_require__.d(getter, {
7
+ a: getter
8
+ });
9
+ return getter;
10
+ };
11
+ })();
12
+ (()=>{
13
+ __webpack_require__.d = (exports1, getters, values)=>{
14
+ var define = (defs, kind)=>{
15
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
16
+ enumerable: true,
17
+ [kind]: defs[key]
18
+ });
19
+ };
20
+ define(getters, "get");
21
+ define(values, "value");
22
+ };
23
+ })();
24
+ (()=>{
25
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
26
+ })();
27
+ (()=>{
28
+ __webpack_require__.r = (exports1)=>{
29
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
30
+ value: 'Module'
31
+ });
32
+ Object.defineProperty(exports1, '__esModule', {
33
+ value: true
34
+ });
35
+ };
36
+ })();
37
+ var __webpack_exports__ = {};
38
+ __webpack_require__.r(__webpack_exports__);
39
+ __webpack_require__.d(__webpack_exports__, {
40
+ default: ()=>loadMetroConfig
41
+ });
42
+ const external_node_path_namespaceObject = require("node:path");
43
+ var external_node_path_default = /*#__PURE__*/ __webpack_require__.n(external_node_path_namespaceObject);
44
+ const external_metro_config_namespaceObject = require("metro-config");
45
+ const errors_js_namespaceObject = require("../../utils/errors.js");
46
+ function getOverrideConfig(cfg, config) {
47
+ const nodePath = external_node_path_default();
48
+ const resolver = {
49
+ platforms: [
50
+ ...Object.keys(cfg.platforms),
51
+ 'native'
52
+ ]
53
+ };
54
+ return {
55
+ resolver,
56
+ serializer: {
57
+ getModulesRunBeforeMainModule: (entryFilePath)=>[
58
+ ...config.serializer?.getModulesRunBeforeMainModule?.(entryFilePath) || [],
59
+ require.resolve(nodePath.join(cfg.reactNativePath, 'Libraries/Core/InitializeCore'), {
60
+ paths: [
61
+ cfg.root
62
+ ]
63
+ })
64
+ ]
65
+ }
66
+ };
67
+ }
68
+ async function loadMetroConfig(cfg, options = {}) {
69
+ const cwd = cfg.root;
70
+ const projectConfig = await (0, external_metro_config_namespaceObject.resolveConfig)(options.config, cwd);
71
+ if (projectConfig.isEmpty) throw new errors_js_namespaceObject.CLIError(`No Metro config found in ${cwd}`);
72
+ const config = await (0, external_metro_config_namespaceObject.loadConfig)({
73
+ cwd,
74
+ ...options
75
+ });
76
+ const overrideConfig = getOverrideConfig(cfg, config);
77
+ return (0, external_metro_config_namespaceObject.mergeConfig)(config, overrideConfig);
78
+ }
79
+ exports["default"] = __webpack_exports__["default"];
80
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
81
+ "default"
82
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
83
+ Object.defineProperty(exports, '__esModule', {
84
+ value: true
85
+ });
@@ -0,0 +1,41 @@
1
+ import __rslib_shim_module__ from "node:module";
2
+ const require = /*#__PURE__*/ __rslib_shim_module__.createRequire(/*#__PURE__*/ (()=>import.meta.url)());
3
+ import node_path from "node:path";
4
+ import { CLIError } from "../../utils/errors.mjs";
5
+ import { createRequire as __rspack_createRequire } from "node:module";
6
+ const __rspack_createRequire_require = __rspack_createRequire(import.meta.url);
7
+ const external_metro_config_namespaceObject = __rspack_createRequire_require("metro-config");
8
+ function getOverrideConfig(cfg, config) {
9
+ const nodePath = node_path;
10
+ const resolver = {
11
+ platforms: [
12
+ ...Object.keys(cfg.platforms),
13
+ 'native'
14
+ ]
15
+ };
16
+ return {
17
+ resolver,
18
+ serializer: {
19
+ getModulesRunBeforeMainModule: (entryFilePath)=>[
20
+ ...config.serializer?.getModulesRunBeforeMainModule?.(entryFilePath) || [],
21
+ require.resolve(nodePath.join(cfg.reactNativePath, 'Libraries/Core/InitializeCore'), {
22
+ paths: [
23
+ cfg.root
24
+ ]
25
+ })
26
+ ]
27
+ }
28
+ };
29
+ }
30
+ async function loadMetroConfig(cfg, options = {}) {
31
+ const cwd = cfg.root;
32
+ const projectConfig = await (0, external_metro_config_namespaceObject.resolveConfig)(options.config, cwd);
33
+ if (projectConfig.isEmpty) throw new CLIError(`No Metro config found in ${cwd}`);
34
+ const config = await (0, external_metro_config_namespaceObject.loadConfig)({
35
+ cwd,
36
+ ...options
37
+ });
38
+ const overrideConfig = getOverrideConfig(cfg, config);
39
+ return (0, external_metro_config_namespaceObject.mergeConfig)(config, overrideConfig);
40
+ }
41
+ export default loadMetroConfig;
@@ -0,0 +1,2 @@
1
+ export declare function normalizeOutputRelativePath(relativePath: string): string;
2
+ export declare function toFileSourceUrl(relativePath: string): string;