@module-federation/metro 0.0.0-next-20250827124348

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 (118) 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.d.ts +2 -0
  9. package/dist/babel/transformer.js +15 -0
  10. package/dist/commands/bundle-host/index.d.ts +13 -0
  11. package/dist/commands/bundle-host/index.js +95 -0
  12. package/dist/commands/bundle-host/index.mjs +69 -0
  13. package/dist/commands/bundle-host/options.d.ts +5 -0
  14. package/dist/commands/bundle-host/options.js +39 -0
  15. package/dist/commands/bundle-host/options.mjs +7 -0
  16. package/dist/commands/bundle-host/types.d.ts +22 -0
  17. package/dist/commands/bundle-host/types.js +18 -0
  18. package/dist/commands/bundle-host/types.mjs +2 -0
  19. package/dist/commands/bundle-remote/index.d.ts +12 -0
  20. package/dist/commands/bundle-remote/index.js +226 -0
  21. package/dist/commands/bundle-remote/index.mjs +200 -0
  22. package/dist/commands/bundle-remote/options.d.ts +32 -0
  23. package/dist/commands/bundle-remote/options.js +109 -0
  24. package/dist/commands/bundle-remote/options.mjs +67 -0
  25. package/dist/commands/bundle-remote/types.d.ts +16 -0
  26. package/dist/commands/bundle-remote/types.js +18 -0
  27. package/dist/commands/bundle-remote/types.mjs +2 -0
  28. package/dist/commands/index.d.ts +48 -0
  29. package/dist/commands/index.js +72 -0
  30. package/dist/commands/index.mjs +13 -0
  31. package/dist/commands/types.d.ts +14 -0
  32. package/dist/commands/types.js +18 -0
  33. package/dist/commands/types.mjs +2 -0
  34. package/dist/commands/utils/create-module-path-remapper.d.ts +7 -0
  35. package/dist/commands/utils/create-module-path-remapper.js +64 -0
  36. package/dist/commands/utils/create-module-path-remapper.mjs +32 -0
  37. package/dist/commands/utils/create-resolver.d.ts +20 -0
  38. package/dist/commands/utils/create-resolver.js +57 -0
  39. package/dist/commands/utils/create-resolver.mjs +25 -0
  40. package/dist/commands/utils/get-community-plugin.d.ts +29 -0
  41. package/dist/commands/utils/get-community-plugin.js +50 -0
  42. package/dist/commands/utils/get-community-plugin.mjs +18 -0
  43. package/dist/commands/utils/load-metro-config.d.ts +3 -0
  44. package/dist/commands/utils/load-metro-config.js +84 -0
  45. package/dist/commands/utils/load-metro-config.mjs +43 -0
  46. package/dist/commands/utils/save-bundle-and-map.d.ts +5 -0
  47. package/dist/commands/utils/save-bundle-and-map.js +77 -0
  48. package/dist/commands/utils/save-bundle-and-map.mjs +57 -0
  49. package/dist/index.d.ts +2 -0
  50. package/dist/index.js +40 -0
  51. package/dist/index.mjs +5 -0
  52. package/dist/modules/HMRClient.ts +31 -0
  53. package/dist/modules/HMRClientShim.ts +1 -0
  54. package/dist/modules/asyncRequire.ts +134 -0
  55. package/dist/modules/asyncStartup.tsx +38 -0
  56. package/dist/modules/getDevServer.ts +15 -0
  57. package/dist/modules/metroCorePlugin.ts +83 -0
  58. package/dist/plugin/babel-transformer.d.ts +11 -0
  59. package/dist/plugin/babel-transformer.js +68 -0
  60. package/dist/plugin/babel-transformer.mjs +25 -0
  61. package/dist/plugin/constants.d.ts +9 -0
  62. package/dist/plugin/constants.js +68 -0
  63. package/dist/plugin/constants.mjs +12 -0
  64. package/dist/plugin/generators.d.ts +13 -0
  65. package/dist/plugin/generators.js +157 -0
  66. package/dist/plugin/generators.mjs +99 -0
  67. package/dist/plugin/helpers.d.ts +7 -0
  68. package/dist/plugin/helpers.js +119 -0
  69. package/dist/plugin/helpers.mjs +58 -0
  70. package/dist/plugin/index.d.ts +9 -0
  71. package/dist/plugin/index.js +167 -0
  72. package/dist/plugin/index.mjs +124 -0
  73. package/dist/plugin/manifest.d.ts +3 -0
  74. package/dist/plugin/manifest.js +146 -0
  75. package/dist/plugin/manifest.mjs +100 -0
  76. package/dist/plugin/normalize-extra-options.d.ts +8 -0
  77. package/dist/plugin/normalize-extra-options.js +46 -0
  78. package/dist/plugin/normalize-extra-options.mjs +14 -0
  79. package/dist/plugin/normalize-options.d.ts +7 -0
  80. package/dist/plugin/normalize-options.js +89 -0
  81. package/dist/plugin/normalize-options.mjs +46 -0
  82. package/dist/plugin/resolver.d.ts +25 -0
  83. package/dist/plugin/resolver.js +199 -0
  84. package/dist/plugin/resolver.mjs +160 -0
  85. package/dist/plugin/rewrite-request.d.ts +10 -0
  86. package/dist/plugin/rewrite-request.js +76 -0
  87. package/dist/plugin/rewrite-request.mjs +34 -0
  88. package/dist/plugin/serializer.d.ts +5 -0
  89. package/dist/plugin/serializer.js +171 -0
  90. package/dist/plugin/serializer.mjs +151 -0
  91. package/dist/plugin/validate-options.d.ts +2 -0
  92. package/dist/plugin/validate-options.js +61 -0
  93. package/dist/plugin/validate-options.mjs +29 -0
  94. package/dist/runtime/host-entry.d.ts +1 -0
  95. package/dist/runtime/host-entry.js +3 -0
  96. package/dist/runtime/init-host.d.ts +1 -0
  97. package/dist/runtime/init-host.js +31 -0
  98. package/dist/runtime/remote-entry.d.ts +1 -0
  99. package/dist/runtime/remote-entry.js +57 -0
  100. package/dist/runtime/remote-hmr.d.ts +1 -0
  101. package/dist/runtime/remote-hmr.js +19 -0
  102. package/dist/runtime/remote-module-registry.d.ts +7 -0
  103. package/dist/runtime/remote-module-registry.js +57 -0
  104. package/dist/runtime/remote-module.d.ts +1 -0
  105. package/dist/runtime/remote-module.js +2 -0
  106. package/dist/types.d.ts +26 -0
  107. package/dist/types.js +18 -0
  108. package/dist/types.mjs +2 -0
  109. package/dist/utils/errors.d.ts +8 -0
  110. package/dist/utils/errors.js +50 -0
  111. package/dist/utils/errors.mjs +15 -0
  112. package/dist/utils/index.d.ts +2 -0
  113. package/dist/utils/index.js +43 -0
  114. package/dist/utils/index.mjs +5 -0
  115. package/dist/utils/vm-manager.d.ts +21 -0
  116. package/dist/utils/vm-manager.js +116 -0
  117. package/dist/utils/vm-manager.mjs +73 -0
  118. package/package.json +91 -0
@@ -0,0 +1,8 @@
1
+ declare class EnhancedError extends Error {
2
+ constructor(msg: string, originalError?: Error | string);
3
+ }
4
+ export declare class ConfigError extends EnhancedError {
5
+ }
6
+ export declare class CLIError extends EnhancedError {
7
+ }
8
+ export {};
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ CLIError: ()=>CLIError,
28
+ ConfigError: ()=>ConfigError
29
+ });
30
+ const inlineString = (str = '')=>str.replace(/(\s{2,})/gm, ' ').trim();
31
+ class EnhancedError extends Error {
32
+ constructor(msg, originalError){
33
+ super(inlineString(msg));
34
+ if (null != originalError) this.stack = 'string' == typeof originalError ? originalError : originalError.stack || ''.split('\n').slice(0, 2).join('\n');
35
+ else this.stack = '';
36
+ }
37
+ }
38
+ class ConfigError extends EnhancedError {
39
+ }
40
+ class CLIError extends EnhancedError {
41
+ }
42
+ exports.CLIError = __webpack_exports__.CLIError;
43
+ exports.ConfigError = __webpack_exports__.ConfigError;
44
+ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
45
+ "CLIError",
46
+ "ConfigError"
47
+ ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
48
+ Object.defineProperty(exports, '__esModule', {
49
+ value: true
50
+ });
@@ -0,0 +1,15 @@
1
+ import 'module';
2
+ /*#__PURE__*/ import.meta.url;
3
+ const inlineString = (str = '')=>str.replace(/(\s{2,})/gm, ' ').trim();
4
+ class EnhancedError extends Error {
5
+ constructor(msg, originalError){
6
+ super(inlineString(msg));
7
+ if (null != originalError) this.stack = 'string' == typeof originalError ? originalError : originalError.stack || ''.split('\n').slice(0, 2).join('\n');
8
+ else this.stack = '';
9
+ }
10
+ }
11
+ class ConfigError extends EnhancedError {
12
+ }
13
+ class CLIError extends EnhancedError {
14
+ }
15
+ export { CLIError, ConfigError };
@@ -0,0 +1,2 @@
1
+ export { CLIError, ConfigError } from './errors';
2
+ export { VirtualModuleManager } from './vm-manager';
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ VirtualModuleManager: ()=>external_vm_manager_js_namespaceObject.VirtualModuleManager,
28
+ CLIError: ()=>external_errors_js_namespaceObject.CLIError,
29
+ ConfigError: ()=>external_errors_js_namespaceObject.ConfigError
30
+ });
31
+ const external_errors_js_namespaceObject = require("./errors.js");
32
+ const external_vm_manager_js_namespaceObject = require("./vm-manager.js");
33
+ exports.CLIError = __webpack_exports__.CLIError;
34
+ exports.ConfigError = __webpack_exports__.ConfigError;
35
+ exports.VirtualModuleManager = __webpack_exports__.VirtualModuleManager;
36
+ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
37
+ "CLIError",
38
+ "ConfigError",
39
+ "VirtualModuleManager"
40
+ ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
41
+ Object.defineProperty(exports, '__esModule', {
42
+ value: true
43
+ });
@@ -0,0 +1,5 @@
1
+ import 'module';
2
+ /*#__PURE__*/ import.meta.url;
3
+ import { CLIError, ConfigError } from "./errors.mjs";
4
+ import { VirtualModuleManager } from "./vm-manager.mjs";
5
+ export { CLIError, ConfigError, VirtualModuleManager };
@@ -0,0 +1,21 @@
1
+ import type { MetroConfig, ServerConfigT, TransformerConfigT } from 'metro-config';
2
+ import type MetroServer from 'metro/src/Server';
3
+ type EnhanceMiddleware = ServerConfigT['enhanceMiddleware'];
4
+ type GetTransformOptions = TransformerConfigT['getTransformOptions'];
5
+ type Bundler = ReturnType<ReturnType<MetroServer['getBundler']>['getBundler']>;
6
+ export declare class VirtualModuleManager {
7
+ private metroConfig;
8
+ private options;
9
+ private setupFinished;
10
+ private virtualModules;
11
+ constructor(metroConfig: MetroConfig, options?: {
12
+ forceWriteFileSystem?: boolean;
13
+ });
14
+ registerVirtualModule(filePath: string, generator: () => string): void;
15
+ getMiddleware(): EnhanceMiddleware;
16
+ getTransformOptions(): GetTransformOptions;
17
+ setup(bundler: Bundler): void;
18
+ private ensureFileSystemPatched;
19
+ private ensureBundlerPatched;
20
+ }
21
+ export {};
@@ -0,0 +1,116 @@
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, definition)=>{
14
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
15
+ enumerable: true,
16
+ get: definition[key]
17
+ });
18
+ };
19
+ })();
20
+ (()=>{
21
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
22
+ })();
23
+ (()=>{
24
+ __webpack_require__.r = (exports1)=>{
25
+ if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
26
+ value: 'Module'
27
+ });
28
+ Object.defineProperty(exports1, '__esModule', {
29
+ value: true
30
+ });
31
+ };
32
+ })();
33
+ var __webpack_exports__ = {};
34
+ __webpack_require__.r(__webpack_exports__);
35
+ __webpack_require__.d(__webpack_exports__, {
36
+ VirtualModuleManager: ()=>VirtualModuleManager
37
+ });
38
+ const external_node_fs_namespaceObject = require("node:fs");
39
+ var external_node_fs_default = /*#__PURE__*/ __webpack_require__.n(external_node_fs_namespaceObject);
40
+ const external_node_path_namespaceObject = require("node:path");
41
+ var external_node_path_default = /*#__PURE__*/ __webpack_require__.n(external_node_path_namespaceObject);
42
+ class VirtualModuleManager {
43
+ registerVirtualModule(filePath, generator) {
44
+ const moduleCode = generator();
45
+ if (this.virtualModules.get(filePath) === moduleCode) return;
46
+ this.virtualModules.set(filePath, moduleCode);
47
+ if (this.options.forceWriteFileSystem) {
48
+ external_node_fs_default().mkdirSync(external_node_path_default().dirname(filePath), {
49
+ recursive: true
50
+ });
51
+ external_node_fs_default().writeFileSync(filePath, moduleCode);
52
+ }
53
+ }
54
+ getMiddleware() {
55
+ return (middleware, metroServer)=>{
56
+ var _this_metroConfig_server;
57
+ const bundler = metroServer.getBundler().getBundler();
58
+ this.setup(bundler);
59
+ const originalMiddleware = null == (_this_metroConfig_server = this.metroConfig.server) ? void 0 : _this_metroConfig_server.enhanceMiddleware;
60
+ return originalMiddleware ? originalMiddleware(middleware, metroServer) : middleware;
61
+ };
62
+ }
63
+ getTransformOptions() {
64
+ return async (...args)=>{
65
+ var _this_metroConfig_transformer;
66
+ if (null === this.setupFinished) throw new Error('Expected virtual module setup to be finished');
67
+ await this.setupFinished;
68
+ const originalGetTransformOptions = null == (_this_metroConfig_transformer = this.metroConfig.transformer) ? void 0 : _this_metroConfig_transformer.getTransformOptions;
69
+ if (originalGetTransformOptions) return originalGetTransformOptions(...args);
70
+ return {};
71
+ };
72
+ }
73
+ setup(bundler) {
74
+ this.setupFinished = (async ()=>{
75
+ const graph = await bundler.getDependencyGraph();
76
+ this.ensureFileSystemPatched(graph._fileSystem);
77
+ this.ensureBundlerPatched(bundler);
78
+ return true;
79
+ })();
80
+ }
81
+ ensureFileSystemPatched(fs) {
82
+ if (!fs.getSha1.__vm__patched) {
83
+ const original_getSha1 = fs.getSha1.bind(fs);
84
+ fs.getSha1 = (filename)=>{
85
+ if (this.virtualModules.has(filename)) return `${filename}-${Date.now()}`;
86
+ return original_getSha1(filename);
87
+ };
88
+ fs.getSha1.__vm__patched = true;
89
+ }
90
+ return fs;
91
+ }
92
+ ensureBundlerPatched(bundler) {
93
+ if (bundler.transformFile.__vm__patched) return;
94
+ const transformFile = bundler.transformFile.bind(bundler);
95
+ bundler.transformFile = async (filePath, transformOptions, fileBuffer)=>{
96
+ let buffer = fileBuffer;
97
+ const virtualModule = this.virtualModules.get(filePath);
98
+ if (virtualModule) buffer = Buffer.from(virtualModule);
99
+ return transformFile(filePath, transformOptions, buffer);
100
+ };
101
+ bundler.transformFile.__vm__patched = true;
102
+ }
103
+ constructor(metroConfig, options = {}){
104
+ this.metroConfig = metroConfig;
105
+ this.options = options;
106
+ this.setupFinished = null;
107
+ this.virtualModules = new Map();
108
+ }
109
+ }
110
+ exports.VirtualModuleManager = __webpack_exports__.VirtualModuleManager;
111
+ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
112
+ "VirtualModuleManager"
113
+ ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
114
+ Object.defineProperty(exports, '__esModule', {
115
+ value: true
116
+ });
@@ -0,0 +1,73 @@
1
+ import 'module';
2
+ /*#__PURE__*/ import.meta.url;
3
+ import node_fs from "node:fs";
4
+ import node_path from "node:path";
5
+ class VirtualModuleManager {
6
+ registerVirtualModule(filePath, generator) {
7
+ const moduleCode = generator();
8
+ if (this.virtualModules.get(filePath) === moduleCode) return;
9
+ this.virtualModules.set(filePath, moduleCode);
10
+ if (this.options.forceWriteFileSystem) {
11
+ node_fs.mkdirSync(node_path.dirname(filePath), {
12
+ recursive: true
13
+ });
14
+ node_fs.writeFileSync(filePath, moduleCode);
15
+ }
16
+ }
17
+ getMiddleware() {
18
+ return (middleware, metroServer)=>{
19
+ var _this_metroConfig_server;
20
+ const bundler = metroServer.getBundler().getBundler();
21
+ this.setup(bundler);
22
+ const originalMiddleware = null == (_this_metroConfig_server = this.metroConfig.server) ? void 0 : _this_metroConfig_server.enhanceMiddleware;
23
+ return originalMiddleware ? originalMiddleware(middleware, metroServer) : middleware;
24
+ };
25
+ }
26
+ getTransformOptions() {
27
+ return async (...args)=>{
28
+ var _this_metroConfig_transformer;
29
+ if (null === this.setupFinished) throw new Error('Expected virtual module setup to be finished');
30
+ await this.setupFinished;
31
+ const originalGetTransformOptions = null == (_this_metroConfig_transformer = this.metroConfig.transformer) ? void 0 : _this_metroConfig_transformer.getTransformOptions;
32
+ if (originalGetTransformOptions) return originalGetTransformOptions(...args);
33
+ return {};
34
+ };
35
+ }
36
+ setup(bundler) {
37
+ this.setupFinished = (async ()=>{
38
+ const graph = await bundler.getDependencyGraph();
39
+ this.ensureFileSystemPatched(graph._fileSystem);
40
+ this.ensureBundlerPatched(bundler);
41
+ return true;
42
+ })();
43
+ }
44
+ ensureFileSystemPatched(fs) {
45
+ if (!fs.getSha1.__vm__patched) {
46
+ const original_getSha1 = fs.getSha1.bind(fs);
47
+ fs.getSha1 = (filename)=>{
48
+ if (this.virtualModules.has(filename)) return `${filename}-${Date.now()}`;
49
+ return original_getSha1(filename);
50
+ };
51
+ fs.getSha1.__vm__patched = true;
52
+ }
53
+ return fs;
54
+ }
55
+ ensureBundlerPatched(bundler) {
56
+ if (bundler.transformFile.__vm__patched) return;
57
+ const transformFile = bundler.transformFile.bind(bundler);
58
+ bundler.transformFile = async (filePath, transformOptions, fileBuffer)=>{
59
+ let buffer = fileBuffer;
60
+ const virtualModule = this.virtualModules.get(filePath);
61
+ if (virtualModule) buffer = Buffer.from(virtualModule);
62
+ return transformFile(filePath, transformOptions, buffer);
63
+ };
64
+ bundler.transformFile.__vm__patched = true;
65
+ }
66
+ constructor(metroConfig, options = {}){
67
+ this.metroConfig = metroConfig;
68
+ this.options = options;
69
+ this.setupFinished = null;
70
+ this.virtualModules = new Map();
71
+ }
72
+ }
73
+ export { VirtualModuleManager };
package/package.json ADDED
@@ -0,0 +1,91 @@
1
+ {
2
+ "name": "@module-federation/metro",
3
+ "version": "0.0.0-next-20250827124348",
4
+ "description": "Module Federation for Metro bundler",
5
+ "keywords": [
6
+ "module-federation",
7
+ "metro",
8
+ "react-native"
9
+ ],
10
+ "type": "commonjs",
11
+ "license": "MIT",
12
+ "contributors": [
13
+ "Jakub Romańczyk <j.romanczyk@gmail.com> (https://github.com/jbroma)",
14
+ "Kacper Wiszczuk <kacperwiszczuk@gmail.com> (https://github.com/esemesek)"
15
+ ],
16
+ "publishConfig": {
17
+ "access": "public",
18
+ "registry": "https://registry.npmjs.org/"
19
+ },
20
+ "repository": {
21
+ "type": "git",
22
+ "url": "https://github.com/module-federation/core",
23
+ "directory": "packages/metro-core"
24
+ },
25
+ "files": [
26
+ "dist/",
27
+ "babel-plugin/",
28
+ "bootstrap/"
29
+ ],
30
+ "main": "./dist/index.js",
31
+ "module": "./dist/index.mjs",
32
+ "types": "./dist/index.d.ts",
33
+ "exports": {
34
+ ".": {
35
+ "types": "./dist/index.d.ts",
36
+ "import": "./dist/index.mjs",
37
+ "require": "./dist/index.js",
38
+ "default": "./dist/index.js"
39
+ },
40
+ "./commands": {
41
+ "types": "./dist/commands/index.d.ts",
42
+ "import": "./dist/commands/index.mjs",
43
+ "require": "./dist/commands/index.js",
44
+ "default": "./dist/commands/index.js"
45
+ },
46
+ "./types": {
47
+ "types": "./dist/types.d.ts",
48
+ "import": "./dist/types.mjs",
49
+ "require": "./dist/types.js",
50
+ "default": "./dist/types.js"
51
+ },
52
+ "./babel-plugin": "./babel-plugin/index.js",
53
+ "./babel-plugin/*": "./babel-plugin/*.js",
54
+ "./bootstrap": {
55
+ "default": "./dist/modules/asyncStartup.tsx"
56
+ }
57
+ },
58
+ "dependencies": {
59
+ "@expo/metro-runtime": "^5.0.4",
60
+ "@module-federation/runtime": "0.0.0-next-20250827124348",
61
+ "@module-federation/sdk": "0.0.0-next-20250827124348"
62
+ },
63
+ "peerDependencies": {
64
+ "@babel/types": "^7.25.0",
65
+ "metro": "^0.82.1",
66
+ "metro-config": "^0.82.1",
67
+ "metro-file-map": "^0.82.1",
68
+ "metro-resolver": "^0.82.1",
69
+ "metro-source-map": "^0.82.1",
70
+ "react": ">=19.0.0",
71
+ "react-native": ">=0.79.0"
72
+ },
73
+ "devDependencies": {
74
+ "@rslib/core": "^0.10.0",
75
+ "@types/node": "^20.0.0",
76
+ "@types/react": "^19.1.0",
77
+ "metro": "^0.82.1",
78
+ "metro-config": "^0.82.1",
79
+ "metro-file-map": "^0.82.1",
80
+ "metro-resolver": "^0.82.1",
81
+ "metro-source-map": "^0.82.1",
82
+ "react": "19.1.0",
83
+ "react-native": "0.80.0",
84
+ "ts-node": "^10.9.2",
85
+ "typescript": "^5.8.3"
86
+ },
87
+ "scripts": {
88
+ "build": "rslib build",
89
+ "typecheck": "tsc --noEmit"
90
+ }
91
+ }