@vxrn/vite-plugin-metro 2.0.0-beta.99.1 → 2.6.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.
- package/dist/cjs/metro-config/getMetroConfigFromViteConfig.cjs +40 -27
- package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.cjs +57 -42
- package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.js +57 -42
- package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.js.map +1 -1
- package/dist/cjs/plugins/metroPlugin.cjs +1 -0
- package/dist/cjs/plugins/metroPlugin.native.cjs +5 -4
- package/dist/cjs/plugins/metroPlugin.native.js +5 -4
- package/dist/cjs/plugins/metroPlugin.native.js.map +1 -1
- package/dist/cjs/rn-commands/bundle/buildBundle.native.cjs +1 -1
- package/dist/cjs/rn-commands/bundle/buildBundle.native.js +1 -1
- package/dist/cjs/rn-commands/bundle/buildBundle.native.js.map +1 -1
- package/dist/cjs/rn-commands/bundle/saveAssets.native.cjs +2 -2
- package/dist/cjs/rn-commands/bundle/saveAssets.native.js +2 -2
- package/dist/cjs/rn-commands/bundle/saveAssets.native.js.map +1 -1
- package/dist/cjs/transformer/babel-transformer.cjs +7 -1
- package/dist/cjs/transformer/babel-transformer.native.cjs +9 -2
- package/dist/cjs/transformer/babel-transformer.native.js +9 -2
- package/dist/cjs/transformer/babel-transformer.native.js.map +1 -1
- package/dist/cjs/transformer/metroNativeWorker.cjs +6 -1
- package/dist/cjs/transformer/metroNativeWorker.native.cjs +9 -7
- package/dist/cjs/transformer/metroNativeWorker.native.js +9 -7
- package/dist/cjs/transformer/metroNativeWorker.native.js.map +1 -1
- package/dist/cjs/utils/exit.native.cjs +2 -2
- package/dist/cjs/utils/exit.native.js +2 -2
- package/dist/cjs/utils/exit.native.js.map +1 -1
- package/dist/esm/metro-config/getMetroConfigFromViteConfig.mjs +40 -27
- package/dist/esm/metro-config/getMetroConfigFromViteConfig.mjs.map +1 -1
- package/dist/esm/metro-config/getMetroConfigFromViteConfig.native.js +57 -42
- package/dist/esm/metro-config/getMetroConfigFromViteConfig.native.js.map +1 -1
- package/dist/esm/plugins/metroPlugin.mjs +1 -0
- package/dist/esm/plugins/metroPlugin.mjs.map +1 -1
- package/dist/esm/plugins/metroPlugin.native.js +5 -4
- package/dist/esm/plugins/metroPlugin.native.js.map +1 -1
- package/dist/esm/rn-commands/bundle/buildBundle.native.js +1 -1
- package/dist/esm/rn-commands/bundle/buildBundle.native.js.map +1 -1
- package/dist/esm/rn-commands/bundle/saveAssets.native.js +2 -2
- package/dist/esm/rn-commands/bundle/saveAssets.native.js.map +1 -1
- package/dist/esm/transformer/babel-transformer.mjs +7 -1
- package/dist/esm/transformer/babel-transformer.mjs.map +1 -1
- package/dist/esm/transformer/babel-transformer.native.js +9 -2
- package/dist/esm/transformer/babel-transformer.native.js.map +1 -1
- package/dist/esm/transformer/metroNativeWorker.mjs +6 -1
- package/dist/esm/transformer/metroNativeWorker.mjs.map +1 -1
- package/dist/esm/transformer/metroNativeWorker.native.js +9 -7
- package/dist/esm/transformer/metroNativeWorker.native.js.map +1 -1
- package/dist/esm/utils/exit.native.js +2 -2
- package/dist/esm/utils/exit.native.js.map +1 -1
- package/package.json +6 -5
- package/src/__tests__/getMetroConfigFromViteConfig.test.ts +269 -0
- package/src/metro-config/getMetroConfigFromViteConfig.ts +55 -18
- package/src/metro-config/glbAssets.test.ts +57 -0
- package/src/plugins/metroPlugin.ts +6 -1
- package/src/transformer/babel-transformer.ts +21 -1
- package/src/transformer/metroNativeWorker.test.ts +4 -18
- package/src/transformer/metroNativeWorker.ts +18 -2
- package/src/transformer/swiftPackageTransform.test.ts +111 -0
- package/types/metro-config/getMetroConfigFromViteConfig.d.ts.map +1 -1
- package/types/plugins/metroPlugin.d.ts.map +1 -1
- package/types/transformer/babel-transformer.d.ts.map +1 -1
- package/types/transformer/metroNativeWorker.d.ts.map +1 -1
- package/src/metro-config/getMetroConfigFromViteConfig.test.ts +0 -60
|
@@ -44,12 +44,23 @@ const expoEnvAdditionalExts = [
|
|
|
44
44
|
"local",
|
|
45
45
|
"development"
|
|
46
46
|
];
|
|
47
|
+
const metroSourceExts = [
|
|
48
|
+
"js",
|
|
49
|
+
"jsx",
|
|
50
|
+
"json",
|
|
51
|
+
"ts",
|
|
52
|
+
"tsx",
|
|
53
|
+
"mjs",
|
|
54
|
+
"cjs",
|
|
55
|
+
"swift",
|
|
56
|
+
"kt"
|
|
57
|
+
];
|
|
47
58
|
const watchmanResponsivePromises = /* @__PURE__ */ new Map();
|
|
48
59
|
let didWarnAboutWatchmanFallback = false;
|
|
49
60
|
const rootIndexBundleRequestPattern = /^(https?:\/\/[^/]+)?\/index\.bundle(?=$|[?#])/;
|
|
50
61
|
const expoVirtualEntryBundleRequestPattern = /^(https?:\/\/[^/]+)?\/\.expo\/\.virtual-metro-entry\.bundle(?=$|[?#])/;
|
|
51
62
|
const metroWatchExclusions = [
|
|
52
|
-
|
|
63
|
+
/^(?!.*[/\\]node_modules[/\\]).*[/\\]dist[/\\](?:static|server)(?:[/\\]|$)/,
|
|
53
64
|
/[/\\]tests[/\\][^/\\]+[/\\]dist(?:[/\\]|$)/,
|
|
54
65
|
/[/\\]\.docker(?:[/\\]|$)/,
|
|
55
66
|
/[/\\]\.vite(?:[/\\]|$)/,
|
|
@@ -72,7 +83,14 @@ function enforceWorkspaceVisibility(config, projectRoot) {
|
|
|
72
83
|
};
|
|
73
84
|
}
|
|
74
85
|
function getReactNativeDefaultConfig(projectRoot) {
|
|
75
|
-
|
|
86
|
+
const config = enforceWorkspaceVisibility((0, import_metro_config.getDefaultConfig)(projectRoot), projectRoot);
|
|
87
|
+
return {
|
|
88
|
+
...config,
|
|
89
|
+
resolver: {
|
|
90
|
+
...config.resolver,
|
|
91
|
+
assetExts: [.../* @__PURE__ */ new Set([...config.resolver?.assetExts ?? [], "glb"])]
|
|
92
|
+
}
|
|
93
|
+
};
|
|
76
94
|
}
|
|
77
95
|
function getPlatformFromBundleUrl(url) {
|
|
78
96
|
const platform = url.match(/[?&]platform=(ios|android)(?:&|$)/)?.[1];
|
|
@@ -96,17 +114,28 @@ function bareMainModuleForRequest(moduleName, mainModuleName) {
|
|
|
96
114
|
if (moduleName === `./${mainModuleName}`) return mainModuleName;
|
|
97
115
|
return void 0;
|
|
98
116
|
}
|
|
99
|
-
function
|
|
100
|
-
|
|
101
|
-
|
|
117
|
+
function enforcePackageResolution(config, mainModuleName, dedupe, projectRoot) {
|
|
118
|
+
const dedupedPackages = new Set(dedupe);
|
|
119
|
+
if ((!mainModuleName || !isBareSpecifier(mainModuleName)) && !dedupedPackages.size) {
|
|
120
|
+
return config;
|
|
121
|
+
}
|
|
122
|
+
const rootOrigin = (0, import_node_path.resolve)(projectRoot, "package.json");
|
|
123
|
+
const innerResolveRequest = config.resolver?.resolveRequest;
|
|
102
124
|
return {
|
|
103
125
|
...config,
|
|
104
126
|
resolver: {
|
|
105
|
-
...config
|
|
127
|
+
...config.resolver,
|
|
106
128
|
resolveRequest: (context, moduleName, platform) => {
|
|
107
129
|
const bareMain = bareMainModuleForRequest(moduleName, mainModuleName);
|
|
130
|
+
const request = bareMain ?? moduleName;
|
|
131
|
+
const packageEnd = request.indexOf("/", request.startsWith("@") ? request.indexOf("/") + 1 : 0);
|
|
132
|
+
const packageName = packageEnd === -1 ? request : request.slice(0, packageEnd);
|
|
133
|
+
const resolutionContext = isBareSpecifier(request) && dedupedPackages.has(packageName) ? {
|
|
134
|
+
...context,
|
|
135
|
+
originModulePath: rootOrigin
|
|
136
|
+
} : context;
|
|
108
137
|
const resolveRequest = innerResolveRequest || context.resolveRequest;
|
|
109
|
-
return resolveRequest(
|
|
138
|
+
return resolveRequest(resolutionContext, request, platform);
|
|
110
139
|
}
|
|
111
140
|
}
|
|
112
141
|
};
|
|
@@ -189,15 +218,7 @@ async function buildMetroConfigInputFromViteConfig(config, metroPluginOptions) {
|
|
|
189
218
|
..._defaultConfig?.resolver,
|
|
190
219
|
useWatchman,
|
|
191
220
|
blockList,
|
|
192
|
-
sourceExts:
|
|
193
|
-
"js",
|
|
194
|
-
"jsx",
|
|
195
|
-
"json",
|
|
196
|
-
"ts",
|
|
197
|
-
"tsx",
|
|
198
|
-
"mjs",
|
|
199
|
-
"cjs"
|
|
200
|
-
],
|
|
221
|
+
sourceExts: metroSourceExts,
|
|
201
222
|
resolveRequest: (context, moduleName, platform) => {
|
|
202
223
|
const origResolveRequestFn = _defaultConfig?.resolver?.resolveRequest || context.resolveRequest;
|
|
203
224
|
if (excludeModules && excludeModules.length > 0) {
|
|
@@ -228,7 +249,7 @@ async function buildMetroConfigInputFromViteConfig(config, metroPluginOptions) {
|
|
|
228
249
|
...typeof defaultConfigOverrides === "function" ? defaultConfigOverrides(defaultConfig) : defaultConfigOverrides
|
|
229
250
|
};
|
|
230
251
|
return {
|
|
231
|
-
defaultConfig:
|
|
252
|
+
defaultConfig: enforcePackageResolution(enforceWorkspaceVisibility(merged, projectRoot), mainModuleName, config.resolve?.dedupe ?? [], projectRoot),
|
|
232
253
|
projectRoot,
|
|
233
254
|
extraConfig
|
|
234
255
|
};
|
|
@@ -272,15 +293,7 @@ async function getMetroConfigFromViteConfig(config, metroPluginOptions) {
|
|
|
272
293
|
..._defaultConfig?.resolver,
|
|
273
294
|
useWatchman,
|
|
274
295
|
blockList,
|
|
275
|
-
sourceExts:
|
|
276
|
-
"js",
|
|
277
|
-
"jsx",
|
|
278
|
-
"json",
|
|
279
|
-
"ts",
|
|
280
|
-
"tsx",
|
|
281
|
-
"mjs",
|
|
282
|
-
"cjs"
|
|
283
|
-
],
|
|
296
|
+
sourceExts: metroSourceExts,
|
|
284
297
|
resolveRequest: (context, moduleName, platform) => {
|
|
285
298
|
const origResolveRequestFn = _defaultConfig?.resolver?.resolveRequest || context.resolveRequest;
|
|
286
299
|
if (excludeModules && excludeModules.length > 0) {
|
|
@@ -316,7 +329,7 @@ async function getMetroConfigFromViteConfig(config, metroPluginOptions) {
|
|
|
316
329
|
...typeof defaultConfigOverrides === "function" ? defaultConfigOverrides(defaultConfig) : defaultConfigOverrides
|
|
317
330
|
});
|
|
318
331
|
return {
|
|
319
|
-
...
|
|
332
|
+
...enforcePackageResolution(enforceWorkspaceVisibility(metroConfig, projectRoot), mainModuleName, config.resolve?.dedupe ?? [], projectRoot),
|
|
320
333
|
...extraConfig
|
|
321
334
|
};
|
|
322
335
|
}
|
|
@@ -46,12 +46,23 @@ var expoEnvAdditionalExts = [
|
|
|
46
46
|
"local",
|
|
47
47
|
"development"
|
|
48
48
|
];
|
|
49
|
+
var metroSourceExts = [
|
|
50
|
+
"js",
|
|
51
|
+
"jsx",
|
|
52
|
+
"json",
|
|
53
|
+
"ts",
|
|
54
|
+
"tsx",
|
|
55
|
+
"mjs",
|
|
56
|
+
"cjs",
|
|
57
|
+
"swift",
|
|
58
|
+
"kt"
|
|
59
|
+
];
|
|
49
60
|
var watchmanResponsivePromises = /* @__PURE__ */ new Map();
|
|
50
61
|
var didWarnAboutWatchmanFallback = false;
|
|
51
62
|
var rootIndexBundleRequestPattern = /^(https?:\/\/[^/]+)?\/index\.bundle(?=$|[?#])/;
|
|
52
63
|
var expoVirtualEntryBundleRequestPattern = /^(https?:\/\/[^/]+)?\/\.expo\/\.virtual-metro-entry\.bundle(?=$|[?#])/;
|
|
53
64
|
var metroWatchExclusions = [
|
|
54
|
-
|
|
65
|
+
/^(?!.*[/\\]node_modules[/\\]).*[/\\]dist[/\\](?:static|server)(?:[/\\]|$)/,
|
|
55
66
|
/[/\\]tests[/\\][^/\\]+[/\\]dist(?:[/\\]|$)/,
|
|
56
67
|
/[/\\]\.docker(?:[/\\]|$)/,
|
|
57
68
|
/[/\\]\.vite(?:[/\\]|$)/,
|
|
@@ -76,7 +87,16 @@ function enforceWorkspaceVisibility(config, projectRoot) {
|
|
|
76
87
|
};
|
|
77
88
|
}
|
|
78
89
|
function getReactNativeDefaultConfig(projectRoot) {
|
|
79
|
-
|
|
90
|
+
var _ref;
|
|
91
|
+
var _config_resolver;
|
|
92
|
+
var config = enforceWorkspaceVisibility((0, import_metro_config.getDefaultConfig)(projectRoot), projectRoot);
|
|
93
|
+
return {
|
|
94
|
+
...config,
|
|
95
|
+
resolver: {
|
|
96
|
+
...config.resolver,
|
|
97
|
+
assetExts: [.../* @__PURE__ */ new Set([...(_ref = (_config_resolver = config.resolver) === null || _config_resolver === void 0 ? void 0 : _config_resolver.assetExts) !== null && _ref !== void 0 ? _ref : [], "glb"])]
|
|
98
|
+
}
|
|
99
|
+
};
|
|
80
100
|
}
|
|
81
101
|
function getPlatformFromBundleUrl(url) {
|
|
82
102
|
var _url_match;
|
|
@@ -101,18 +121,29 @@ function bareMainModuleForRequest(moduleName, mainModuleName) {
|
|
|
101
121
|
if (moduleName === `./${mainModuleName}`) return mainModuleName;
|
|
102
122
|
return void 0;
|
|
103
123
|
}
|
|
104
|
-
function
|
|
124
|
+
function enforcePackageResolution(config, mainModuleName, dedupe, projectRoot) {
|
|
105
125
|
var _config_resolver;
|
|
106
|
-
|
|
107
|
-
|
|
126
|
+
var dedupedPackages = new Set(dedupe);
|
|
127
|
+
if ((!mainModuleName || !isBareSpecifier(mainModuleName)) && !dedupedPackages.size) {
|
|
128
|
+
return config;
|
|
129
|
+
}
|
|
130
|
+
var rootOrigin = (0, import_path.resolve)(projectRoot, "package.json");
|
|
131
|
+
var innerResolveRequest = (_config_resolver = config.resolver) === null || _config_resolver === void 0 ? void 0 : _config_resolver.resolveRequest;
|
|
108
132
|
return {
|
|
109
133
|
...config,
|
|
110
134
|
resolver: {
|
|
111
|
-
...config
|
|
112
|
-
resolveRequest: function(context, moduleName, platform) {
|
|
135
|
+
...config.resolver,
|
|
136
|
+
resolveRequest: function resolveRequest(context, moduleName, platform) {
|
|
113
137
|
var bareMain = bareMainModuleForRequest(moduleName, mainModuleName);
|
|
114
|
-
var
|
|
115
|
-
|
|
138
|
+
var request = bareMain !== null && bareMain !== void 0 ? bareMain : moduleName;
|
|
139
|
+
var packageEnd = request.indexOf("/", request.startsWith("@") ? request.indexOf("/") + 1 : 0);
|
|
140
|
+
var packageName = packageEnd === -1 ? request : request.slice(0, packageEnd);
|
|
141
|
+
var resolutionContext = isBareSpecifier(request) && dedupedPackages.has(packageName) ? {
|
|
142
|
+
...context,
|
|
143
|
+
originModulePath: rootOrigin
|
|
144
|
+
} : context;
|
|
145
|
+
var resolveRequest2 = innerResolveRequest || context.resolveRequest;
|
|
146
|
+
return resolveRequest2(resolutionContext, request, platform);
|
|
116
147
|
}
|
|
117
148
|
}
|
|
118
149
|
};
|
|
@@ -124,7 +155,7 @@ async function isWatchmanResponsive(projectRoot) {
|
|
|
124
155
|
}
|
|
125
156
|
probe = new Promise(function(resolve2) {
|
|
126
157
|
var settled = false;
|
|
127
|
-
var finish = function(value) {
|
|
158
|
+
var finish = function finish2(value) {
|
|
128
159
|
if (settled) return;
|
|
129
160
|
settled = true;
|
|
130
161
|
clearTimeout(timeout);
|
|
@@ -158,8 +189,8 @@ function resolveNativeTransforms(projectRoot, metroPluginOptions) {
|
|
|
158
189
|
};
|
|
159
190
|
}
|
|
160
191
|
async function buildMetroConfigInputFromViteConfig(config, metroPluginOptions) {
|
|
161
|
-
var _ref, _ref1;
|
|
162
|
-
var _metroPluginOptions_argv, _defaultConfig_resolver, _defaultConfig_watcher;
|
|
192
|
+
var _ref, _ref1, _ref2;
|
|
193
|
+
var _metroPluginOptions_argv, _defaultConfig_resolver, _defaultConfig_watcher, _config_resolve;
|
|
163
194
|
var extraConfig = {};
|
|
164
195
|
var projectRoot = (0, import_path.resolve)((_ref = (_metroPluginOptions_argv = metroPluginOptions.argv) === null || _metroPluginOptions_argv === void 0 ? void 0 : _metroPluginOptions_argv.projectRoot) !== null && _ref !== void 0 ? _ref : config.root);
|
|
165
196
|
var { mainModuleName, defaultConfigOverrides, watchman, excludeModules } = metroPluginOptions;
|
|
@@ -172,16 +203,16 @@ async function buildMetroConfigInputFromViteConfig(config, metroPluginOptions) {
|
|
|
172
203
|
if (mainModuleName) {
|
|
173
204
|
var _defaultConfig_server;
|
|
174
205
|
var origRewriteRequestUrl = (_defaultConfig_server = _defaultConfig.server) === null || _defaultConfig_server === void 0 ? void 0 : _defaultConfig_server.rewriteRequestUrl;
|
|
175
|
-
var resolveMainModuleName = function() {
|
|
206
|
+
var resolveMainModuleName = function resolveMainModuleName2() {
|
|
176
207
|
return mainModuleName;
|
|
177
208
|
};
|
|
178
209
|
extraConfig.getResolveMainModuleName = resolveMainModuleName;
|
|
179
210
|
_defaultConfig.server.rewriteRequestUrl = function(url) {
|
|
180
|
-
var
|
|
211
|
+
var _ref3;
|
|
181
212
|
if (isMainModuleBundleRequest(url)) {
|
|
182
213
|
return rewriteMainModuleBundleUrl(url, resolveMainModuleName);
|
|
183
214
|
}
|
|
184
|
-
return (
|
|
215
|
+
return (_ref3 = origRewriteRequestUrl === null || origRewriteRequestUrl === void 0 ? void 0 : origRewriteRequestUrl(url)) !== null && _ref3 !== void 0 ? _ref3 : url;
|
|
185
216
|
};
|
|
186
217
|
}
|
|
187
218
|
var existingBlockList = _defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver = _defaultConfig.resolver) === null || _defaultConfig_resolver === void 0 ? void 0 : _defaultConfig_resolver.blockList;
|
|
@@ -201,16 +232,8 @@ async function buildMetroConfigInputFromViteConfig(config, metroPluginOptions) {
|
|
|
201
232
|
..._defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.resolver,
|
|
202
233
|
useWatchman,
|
|
203
234
|
blockList,
|
|
204
|
-
sourceExts:
|
|
205
|
-
|
|
206
|
-
"jsx",
|
|
207
|
-
"json",
|
|
208
|
-
"ts",
|
|
209
|
-
"tsx",
|
|
210
|
-
"mjs",
|
|
211
|
-
"cjs"
|
|
212
|
-
],
|
|
213
|
-
resolveRequest: function(context, moduleName, platform) {
|
|
235
|
+
sourceExts: metroSourceExts,
|
|
236
|
+
resolveRequest: function resolveRequest(context, moduleName, platform) {
|
|
214
237
|
var _defaultConfig_resolver2;
|
|
215
238
|
var origResolveRequestFn = (_defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver2 = _defaultConfig.resolver) === null || _defaultConfig_resolver2 === void 0 ? void 0 : _defaultConfig_resolver2.resolveRequest) || context.resolveRequest;
|
|
216
239
|
if (excludeModules && excludeModules.length > 0) {
|
|
@@ -243,14 +266,14 @@ async function buildMetroConfigInputFromViteConfig(config, metroPluginOptions) {
|
|
|
243
266
|
...typeof defaultConfigOverrides === "function" ? defaultConfigOverrides(defaultConfig) : defaultConfigOverrides
|
|
244
267
|
};
|
|
245
268
|
return {
|
|
246
|
-
defaultConfig:
|
|
269
|
+
defaultConfig: enforcePackageResolution(enforceWorkspaceVisibility(merged, projectRoot), mainModuleName, (_ref2 = (_config_resolve = config.resolve) === null || _config_resolve === void 0 ? void 0 : _config_resolve.dedupe) !== null && _ref2 !== void 0 ? _ref2 : [], projectRoot),
|
|
247
270
|
projectRoot,
|
|
248
271
|
extraConfig
|
|
249
272
|
};
|
|
250
273
|
}
|
|
251
274
|
async function getMetroConfigFromViteConfig(config, metroPluginOptions) {
|
|
252
|
-
var _ref, _ref1;
|
|
253
|
-
var _metroPluginOptions_argv, _defaultConfig_resolver, _defaultConfig_watcher;
|
|
275
|
+
var _ref, _ref1, _ref2;
|
|
276
|
+
var _metroPluginOptions_argv, _defaultConfig_resolver, _defaultConfig_watcher, _config_resolve;
|
|
254
277
|
var extraConfig = {};
|
|
255
278
|
var projectRoot = (0, import_path.resolve)((_ref = (_metroPluginOptions_argv = metroPluginOptions.argv) === null || _metroPluginOptions_argv === void 0 ? void 0 : _metroPluginOptions_argv.projectRoot) !== null && _ref !== void 0 ? _ref : config.root);
|
|
256
279
|
var { mainModuleName, argv, defaultConfigOverrides, watchman, excludeModules } = metroPluginOptions;
|
|
@@ -264,16 +287,16 @@ async function getMetroConfigFromViteConfig(config, metroPluginOptions) {
|
|
|
264
287
|
if (mainModuleName) {
|
|
265
288
|
var _defaultConfig_server;
|
|
266
289
|
var origRewriteRequestUrl = (_defaultConfig_server = _defaultConfig.server) === null || _defaultConfig_server === void 0 ? void 0 : _defaultConfig_server.rewriteRequestUrl;
|
|
267
|
-
var resolveMainModuleName = function() {
|
|
290
|
+
var resolveMainModuleName = function resolveMainModuleName2() {
|
|
268
291
|
return mainModuleName;
|
|
269
292
|
};
|
|
270
293
|
extraConfig.getResolveMainModuleName = resolveMainModuleName;
|
|
271
294
|
_defaultConfig.server.rewriteRequestUrl = function(url) {
|
|
272
|
-
var
|
|
295
|
+
var _ref3;
|
|
273
296
|
if (isMainModuleBundleRequest(url)) {
|
|
274
297
|
return rewriteMainModuleBundleUrl(url, resolveMainModuleName);
|
|
275
298
|
}
|
|
276
|
-
return (
|
|
299
|
+
return (_ref3 = origRewriteRequestUrl === null || origRewriteRequestUrl === void 0 ? void 0 : origRewriteRequestUrl(url)) !== null && _ref3 !== void 0 ? _ref3 : url;
|
|
277
300
|
};
|
|
278
301
|
}
|
|
279
302
|
var existingBlockList = _defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver = _defaultConfig.resolver) === null || _defaultConfig_resolver === void 0 ? void 0 : _defaultConfig_resolver.blockList;
|
|
@@ -293,16 +316,8 @@ async function getMetroConfigFromViteConfig(config, metroPluginOptions) {
|
|
|
293
316
|
..._defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.resolver,
|
|
294
317
|
useWatchman,
|
|
295
318
|
blockList,
|
|
296
|
-
sourceExts:
|
|
297
|
-
|
|
298
|
-
"jsx",
|
|
299
|
-
"json",
|
|
300
|
-
"ts",
|
|
301
|
-
"tsx",
|
|
302
|
-
"mjs",
|
|
303
|
-
"cjs"
|
|
304
|
-
],
|
|
305
|
-
resolveRequest: function(context, moduleName, platform) {
|
|
319
|
+
sourceExts: metroSourceExts,
|
|
320
|
+
resolveRequest: function resolveRequest(context, moduleName, platform) {
|
|
306
321
|
var _defaultConfig_resolver2;
|
|
307
322
|
var origResolveRequestFn = (_defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver2 = _defaultConfig.resolver) === null || _defaultConfig_resolver2 === void 0 ? void 0 : _defaultConfig_resolver2.resolveRequest) || context.resolveRequest;
|
|
308
323
|
if (excludeModules && excludeModules.length > 0) {
|
|
@@ -340,7 +355,7 @@ async function getMetroConfigFromViteConfig(config, metroPluginOptions) {
|
|
|
340
355
|
...typeof defaultConfigOverrides === "function" ? defaultConfigOverrides(defaultConfig) : defaultConfigOverrides
|
|
341
356
|
});
|
|
342
357
|
return {
|
|
343
|
-
...
|
|
358
|
+
...enforcePackageResolution(enforceWorkspaceVisibility(metroConfig, projectRoot), mainModuleName, (_ref2 = (_config_resolve = config.resolve) === null || _config_resolve === void 0 ? void 0 : _config_resolve.dedupe) !== null && _ref2 !== void 0 ? _ref2 : [], projectRoot),
|
|
344
359
|
...extraConfig
|
|
345
360
|
};
|
|
346
361
|
}
|
|
@@ -46,12 +46,23 @@ var expoEnvAdditionalExts = [
|
|
|
46
46
|
"local",
|
|
47
47
|
"development"
|
|
48
48
|
];
|
|
49
|
+
var metroSourceExts = [
|
|
50
|
+
"js",
|
|
51
|
+
"jsx",
|
|
52
|
+
"json",
|
|
53
|
+
"ts",
|
|
54
|
+
"tsx",
|
|
55
|
+
"mjs",
|
|
56
|
+
"cjs",
|
|
57
|
+
"swift",
|
|
58
|
+
"kt"
|
|
59
|
+
];
|
|
49
60
|
var watchmanResponsivePromises = /* @__PURE__ */ new Map();
|
|
50
61
|
var didWarnAboutWatchmanFallback = false;
|
|
51
62
|
var rootIndexBundleRequestPattern = /^(https?:\/\/[^/]+)?\/index\.bundle(?=$|[?#])/;
|
|
52
63
|
var expoVirtualEntryBundleRequestPattern = /^(https?:\/\/[^/]+)?\/\.expo\/\.virtual-metro-entry\.bundle(?=$|[?#])/;
|
|
53
64
|
var metroWatchExclusions = [
|
|
54
|
-
|
|
65
|
+
/^(?!.*[/\\]node_modules[/\\]).*[/\\]dist[/\\](?:static|server)(?:[/\\]|$)/,
|
|
55
66
|
/[/\\]tests[/\\][^/\\]+[/\\]dist(?:[/\\]|$)/,
|
|
56
67
|
/[/\\]\.docker(?:[/\\]|$)/,
|
|
57
68
|
/[/\\]\.vite(?:[/\\]|$)/,
|
|
@@ -76,7 +87,16 @@ function enforceWorkspaceVisibility(config, projectRoot) {
|
|
|
76
87
|
};
|
|
77
88
|
}
|
|
78
89
|
function getReactNativeDefaultConfig(projectRoot) {
|
|
79
|
-
|
|
90
|
+
var _ref;
|
|
91
|
+
var _config_resolver;
|
|
92
|
+
var config = enforceWorkspaceVisibility((0, import_metro_config.getDefaultConfig)(projectRoot), projectRoot);
|
|
93
|
+
return {
|
|
94
|
+
...config,
|
|
95
|
+
resolver: {
|
|
96
|
+
...config.resolver,
|
|
97
|
+
assetExts: [.../* @__PURE__ */ new Set([...(_ref = (_config_resolver = config.resolver) === null || _config_resolver === void 0 ? void 0 : _config_resolver.assetExts) !== null && _ref !== void 0 ? _ref : [], "glb"])]
|
|
98
|
+
}
|
|
99
|
+
};
|
|
80
100
|
}
|
|
81
101
|
function getPlatformFromBundleUrl(url) {
|
|
82
102
|
var _url_match;
|
|
@@ -101,18 +121,29 @@ function bareMainModuleForRequest(moduleName, mainModuleName) {
|
|
|
101
121
|
if (moduleName === `./${mainModuleName}`) return mainModuleName;
|
|
102
122
|
return void 0;
|
|
103
123
|
}
|
|
104
|
-
function
|
|
124
|
+
function enforcePackageResolution(config, mainModuleName, dedupe, projectRoot) {
|
|
105
125
|
var _config_resolver;
|
|
106
|
-
|
|
107
|
-
|
|
126
|
+
var dedupedPackages = new Set(dedupe);
|
|
127
|
+
if ((!mainModuleName || !isBareSpecifier(mainModuleName)) && !dedupedPackages.size) {
|
|
128
|
+
return config;
|
|
129
|
+
}
|
|
130
|
+
var rootOrigin = (0, import_path.resolve)(projectRoot, "package.json");
|
|
131
|
+
var innerResolveRequest = (_config_resolver = config.resolver) === null || _config_resolver === void 0 ? void 0 : _config_resolver.resolveRequest;
|
|
108
132
|
return {
|
|
109
133
|
...config,
|
|
110
134
|
resolver: {
|
|
111
|
-
...config
|
|
112
|
-
resolveRequest: function(context, moduleName, platform) {
|
|
135
|
+
...config.resolver,
|
|
136
|
+
resolveRequest: function resolveRequest(context, moduleName, platform) {
|
|
113
137
|
var bareMain = bareMainModuleForRequest(moduleName, mainModuleName);
|
|
114
|
-
var
|
|
115
|
-
|
|
138
|
+
var request = bareMain !== null && bareMain !== void 0 ? bareMain : moduleName;
|
|
139
|
+
var packageEnd = request.indexOf("/", request.startsWith("@") ? request.indexOf("/") + 1 : 0);
|
|
140
|
+
var packageName = packageEnd === -1 ? request : request.slice(0, packageEnd);
|
|
141
|
+
var resolutionContext = isBareSpecifier(request) && dedupedPackages.has(packageName) ? {
|
|
142
|
+
...context,
|
|
143
|
+
originModulePath: rootOrigin
|
|
144
|
+
} : context;
|
|
145
|
+
var resolveRequest2 = innerResolveRequest || context.resolveRequest;
|
|
146
|
+
return resolveRequest2(resolutionContext, request, platform);
|
|
116
147
|
}
|
|
117
148
|
}
|
|
118
149
|
};
|
|
@@ -124,7 +155,7 @@ async function isWatchmanResponsive(projectRoot) {
|
|
|
124
155
|
}
|
|
125
156
|
probe = new Promise(function(resolve2) {
|
|
126
157
|
var settled = false;
|
|
127
|
-
var finish = function(value) {
|
|
158
|
+
var finish = function finish2(value) {
|
|
128
159
|
if (settled) return;
|
|
129
160
|
settled = true;
|
|
130
161
|
clearTimeout(timeout);
|
|
@@ -158,8 +189,8 @@ function resolveNativeTransforms(projectRoot, metroPluginOptions) {
|
|
|
158
189
|
};
|
|
159
190
|
}
|
|
160
191
|
async function buildMetroConfigInputFromViteConfig(config, metroPluginOptions) {
|
|
161
|
-
var _ref, _ref1;
|
|
162
|
-
var _metroPluginOptions_argv, _defaultConfig_resolver, _defaultConfig_watcher;
|
|
192
|
+
var _ref, _ref1, _ref2;
|
|
193
|
+
var _metroPluginOptions_argv, _defaultConfig_resolver, _defaultConfig_watcher, _config_resolve;
|
|
163
194
|
var extraConfig = {};
|
|
164
195
|
var projectRoot = (0, import_path.resolve)((_ref = (_metroPluginOptions_argv = metroPluginOptions.argv) === null || _metroPluginOptions_argv === void 0 ? void 0 : _metroPluginOptions_argv.projectRoot) !== null && _ref !== void 0 ? _ref : config.root);
|
|
165
196
|
var { mainModuleName, defaultConfigOverrides, watchman, excludeModules } = metroPluginOptions;
|
|
@@ -172,16 +203,16 @@ async function buildMetroConfigInputFromViteConfig(config, metroPluginOptions) {
|
|
|
172
203
|
if (mainModuleName) {
|
|
173
204
|
var _defaultConfig_server;
|
|
174
205
|
var origRewriteRequestUrl = (_defaultConfig_server = _defaultConfig.server) === null || _defaultConfig_server === void 0 ? void 0 : _defaultConfig_server.rewriteRequestUrl;
|
|
175
|
-
var resolveMainModuleName = function() {
|
|
206
|
+
var resolveMainModuleName = function resolveMainModuleName2() {
|
|
176
207
|
return mainModuleName;
|
|
177
208
|
};
|
|
178
209
|
extraConfig.getResolveMainModuleName = resolveMainModuleName;
|
|
179
210
|
_defaultConfig.server.rewriteRequestUrl = function(url) {
|
|
180
|
-
var
|
|
211
|
+
var _ref3;
|
|
181
212
|
if (isMainModuleBundleRequest(url)) {
|
|
182
213
|
return rewriteMainModuleBundleUrl(url, resolveMainModuleName);
|
|
183
214
|
}
|
|
184
|
-
return (
|
|
215
|
+
return (_ref3 = origRewriteRequestUrl === null || origRewriteRequestUrl === void 0 ? void 0 : origRewriteRequestUrl(url)) !== null && _ref3 !== void 0 ? _ref3 : url;
|
|
185
216
|
};
|
|
186
217
|
}
|
|
187
218
|
var existingBlockList = _defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver = _defaultConfig.resolver) === null || _defaultConfig_resolver === void 0 ? void 0 : _defaultConfig_resolver.blockList;
|
|
@@ -201,16 +232,8 @@ async function buildMetroConfigInputFromViteConfig(config, metroPluginOptions) {
|
|
|
201
232
|
..._defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.resolver,
|
|
202
233
|
useWatchman,
|
|
203
234
|
blockList,
|
|
204
|
-
sourceExts:
|
|
205
|
-
|
|
206
|
-
"jsx",
|
|
207
|
-
"json",
|
|
208
|
-
"ts",
|
|
209
|
-
"tsx",
|
|
210
|
-
"mjs",
|
|
211
|
-
"cjs"
|
|
212
|
-
],
|
|
213
|
-
resolveRequest: function(context, moduleName, platform) {
|
|
235
|
+
sourceExts: metroSourceExts,
|
|
236
|
+
resolveRequest: function resolveRequest(context, moduleName, platform) {
|
|
214
237
|
var _defaultConfig_resolver2;
|
|
215
238
|
var origResolveRequestFn = (_defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver2 = _defaultConfig.resolver) === null || _defaultConfig_resolver2 === void 0 ? void 0 : _defaultConfig_resolver2.resolveRequest) || context.resolveRequest;
|
|
216
239
|
if (excludeModules && excludeModules.length > 0) {
|
|
@@ -243,14 +266,14 @@ async function buildMetroConfigInputFromViteConfig(config, metroPluginOptions) {
|
|
|
243
266
|
...typeof defaultConfigOverrides === "function" ? defaultConfigOverrides(defaultConfig) : defaultConfigOverrides
|
|
244
267
|
};
|
|
245
268
|
return {
|
|
246
|
-
defaultConfig:
|
|
269
|
+
defaultConfig: enforcePackageResolution(enforceWorkspaceVisibility(merged, projectRoot), mainModuleName, (_ref2 = (_config_resolve = config.resolve) === null || _config_resolve === void 0 ? void 0 : _config_resolve.dedupe) !== null && _ref2 !== void 0 ? _ref2 : [], projectRoot),
|
|
247
270
|
projectRoot,
|
|
248
271
|
extraConfig
|
|
249
272
|
};
|
|
250
273
|
}
|
|
251
274
|
async function getMetroConfigFromViteConfig(config, metroPluginOptions) {
|
|
252
|
-
var _ref, _ref1;
|
|
253
|
-
var _metroPluginOptions_argv, _defaultConfig_resolver, _defaultConfig_watcher;
|
|
275
|
+
var _ref, _ref1, _ref2;
|
|
276
|
+
var _metroPluginOptions_argv, _defaultConfig_resolver, _defaultConfig_watcher, _config_resolve;
|
|
254
277
|
var extraConfig = {};
|
|
255
278
|
var projectRoot = (0, import_path.resolve)((_ref = (_metroPluginOptions_argv = metroPluginOptions.argv) === null || _metroPluginOptions_argv === void 0 ? void 0 : _metroPluginOptions_argv.projectRoot) !== null && _ref !== void 0 ? _ref : config.root);
|
|
256
279
|
var { mainModuleName, argv, defaultConfigOverrides, watchman, excludeModules } = metroPluginOptions;
|
|
@@ -264,16 +287,16 @@ async function getMetroConfigFromViteConfig(config, metroPluginOptions) {
|
|
|
264
287
|
if (mainModuleName) {
|
|
265
288
|
var _defaultConfig_server;
|
|
266
289
|
var origRewriteRequestUrl = (_defaultConfig_server = _defaultConfig.server) === null || _defaultConfig_server === void 0 ? void 0 : _defaultConfig_server.rewriteRequestUrl;
|
|
267
|
-
var resolveMainModuleName = function() {
|
|
290
|
+
var resolveMainModuleName = function resolveMainModuleName2() {
|
|
268
291
|
return mainModuleName;
|
|
269
292
|
};
|
|
270
293
|
extraConfig.getResolveMainModuleName = resolveMainModuleName;
|
|
271
294
|
_defaultConfig.server.rewriteRequestUrl = function(url) {
|
|
272
|
-
var
|
|
295
|
+
var _ref3;
|
|
273
296
|
if (isMainModuleBundleRequest(url)) {
|
|
274
297
|
return rewriteMainModuleBundleUrl(url, resolveMainModuleName);
|
|
275
298
|
}
|
|
276
|
-
return (
|
|
299
|
+
return (_ref3 = origRewriteRequestUrl === null || origRewriteRequestUrl === void 0 ? void 0 : origRewriteRequestUrl(url)) !== null && _ref3 !== void 0 ? _ref3 : url;
|
|
277
300
|
};
|
|
278
301
|
}
|
|
279
302
|
var existingBlockList = _defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver = _defaultConfig.resolver) === null || _defaultConfig_resolver === void 0 ? void 0 : _defaultConfig_resolver.blockList;
|
|
@@ -293,16 +316,8 @@ async function getMetroConfigFromViteConfig(config, metroPluginOptions) {
|
|
|
293
316
|
..._defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.resolver,
|
|
294
317
|
useWatchman,
|
|
295
318
|
blockList,
|
|
296
|
-
sourceExts:
|
|
297
|
-
|
|
298
|
-
"jsx",
|
|
299
|
-
"json",
|
|
300
|
-
"ts",
|
|
301
|
-
"tsx",
|
|
302
|
-
"mjs",
|
|
303
|
-
"cjs"
|
|
304
|
-
],
|
|
305
|
-
resolveRequest: function(context, moduleName, platform) {
|
|
319
|
+
sourceExts: metroSourceExts,
|
|
320
|
+
resolveRequest: function resolveRequest(context, moduleName, platform) {
|
|
306
321
|
var _defaultConfig_resolver2;
|
|
307
322
|
var origResolveRequestFn = (_defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver2 = _defaultConfig.resolver) === null || _defaultConfig_resolver2 === void 0 ? void 0 : _defaultConfig_resolver2.resolveRequest) || context.resolveRequest;
|
|
308
323
|
if (excludeModules && excludeModules.length > 0) {
|
|
@@ -340,7 +355,7 @@ async function getMetroConfigFromViteConfig(config, metroPluginOptions) {
|
|
|
340
355
|
...typeof defaultConfigOverrides === "function" ? defaultConfigOverrides(defaultConfig) : defaultConfigOverrides
|
|
341
356
|
});
|
|
342
357
|
return {
|
|
343
|
-
...
|
|
358
|
+
...enforcePackageResolution(enforceWorkspaceVisibility(metroConfig, projectRoot), mainModuleName, (_ref2 = (_config_resolve = config.resolve) === null || _config_resolve === void 0 ? void 0 : _config_resolve.dedupe) !== null && _ref2 !== void 0 ? _ref2 : [], projectRoot),
|
|
344
359
|
...extraConfig
|
|
345
360
|
};
|
|
346
361
|
}
|