@vxrn/vite-plugin-metro 1.15.10 → 1.16.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 +42 -4
- package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.js +42 -4
- package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.js.map +1 -1
- package/dist/cjs/plugins/metroPlugin.cjs +4 -5
- package/dist/cjs/plugins/metroPlugin.native.js +4 -5
- package/dist/cjs/plugins/metroPlugin.native.js.map +1 -1
- package/dist/cjs/utils/projectImport.cjs +2 -1
- package/dist/cjs/utils/projectImport.native.js +2 -1
- package/dist/cjs/utils/projectImport.native.js.map +1 -1
- package/dist/esm/metro-config/getMetroConfigFromViteConfig.mjs +42 -4
- package/dist/esm/metro-config/getMetroConfigFromViteConfig.mjs.map +1 -1
- package/dist/esm/metro-config/getMetroConfigFromViteConfig.native.js +42 -4
- package/dist/esm/metro-config/getMetroConfigFromViteConfig.native.js.map +1 -1
- package/dist/esm/plugins/metroPlugin.mjs +4 -5
- package/dist/esm/plugins/metroPlugin.mjs.map +1 -1
- package/dist/esm/plugins/metroPlugin.native.js +4 -5
- package/dist/esm/plugins/metroPlugin.native.js.map +1 -1
- package/dist/esm/utils/projectImport.mjs +2 -1
- package/dist/esm/utils/projectImport.mjs.map +1 -1
- package/dist/esm/utils/projectImport.native.js +2 -1
- package/dist/esm/utils/projectImport.native.js.map +1 -1
- package/package.json +2 -2
- package/src/metro-config/getMetroConfigFromViteConfig.ts +54 -2
- package/src/plugins/metroPlugin.ts +2 -1
- package/src/utils/projectImport.ts +2 -1
- package/types/metro-config/getMetroConfigFromViteConfig.d.ts.map +1 -1
- package/types/plugins/metroPlugin.d.ts.map +1 -1
- package/types/utils/projectImport.d.ts.map +1 -1
|
@@ -36,13 +36,48 @@ __export(getMetroConfigFromViteConfig_exports, {
|
|
|
36
36
|
getMetroConfigFromViteConfig: () => getMetroConfigFromViteConfig
|
|
37
37
|
});
|
|
38
38
|
module.exports = __toCommonJS(getMetroConfigFromViteConfig_exports);
|
|
39
|
+
var import_node_child_process = require("node:child_process");
|
|
40
|
+
var import_node_path = require("node:path");
|
|
39
41
|
var import_micromatch = __toESM(require("micromatch"), 1);
|
|
40
42
|
var import_projectImport = require("../utils/projectImport.cjs");
|
|
41
43
|
var import_getTerminalReporter = require("../utils/getTerminalReporter.cjs");
|
|
42
44
|
var import_patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName = require("../utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.cjs");
|
|
45
|
+
const WATCHMAN_PROBE_TIMEOUT_MS = 2e3;
|
|
46
|
+
const watchmanResponsivePromises = /* @__PURE__ */new Map();
|
|
47
|
+
let didWarnAboutWatchmanFallback = false;
|
|
48
|
+
async function isWatchmanResponsive(projectRoot) {
|
|
49
|
+
let probe = watchmanResponsivePromises.get(projectRoot);
|
|
50
|
+
if (probe) {
|
|
51
|
+
return probe;
|
|
52
|
+
}
|
|
53
|
+
probe = new Promise(resolve2 => {
|
|
54
|
+
let settled = false;
|
|
55
|
+
const finish = value => {
|
|
56
|
+
if (settled) return;
|
|
57
|
+
settled = true;
|
|
58
|
+
clearTimeout(timeout);
|
|
59
|
+
resolve2(value);
|
|
60
|
+
};
|
|
61
|
+
const child = (0, import_node_child_process.spawn)("watchman", ["watch-project", projectRoot], {
|
|
62
|
+
stdio: "ignore"
|
|
63
|
+
});
|
|
64
|
+
const timeout = setTimeout(() => {
|
|
65
|
+
child.kill();
|
|
66
|
+
finish(false);
|
|
67
|
+
}, WATCHMAN_PROBE_TIMEOUT_MS);
|
|
68
|
+
child.once("error", () => {
|
|
69
|
+
finish(false);
|
|
70
|
+
});
|
|
71
|
+
child.once("exit", code => {
|
|
72
|
+
finish(code === 0);
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
watchmanResponsivePromises.set(projectRoot, probe);
|
|
76
|
+
return probe;
|
|
77
|
+
}
|
|
43
78
|
async function getMetroConfigFromViteConfig(config, metroPluginOptions) {
|
|
44
79
|
const extraConfig = {};
|
|
45
|
-
const projectRoot = metroPluginOptions.argv?.projectRoot ?? config.root;
|
|
80
|
+
const projectRoot = (0, import_node_path.resolve)(metroPluginOptions.argv?.projectRoot ?? config.root);
|
|
46
81
|
const {
|
|
47
82
|
mainModuleName,
|
|
48
83
|
argv,
|
|
@@ -50,6 +85,11 @@ async function getMetroConfigFromViteConfig(config, metroPluginOptions) {
|
|
|
50
85
|
watchman,
|
|
51
86
|
excludeModules
|
|
52
87
|
} = metroPluginOptions;
|
|
88
|
+
const useWatchman = watchman ?? (await isWatchmanResponsive(projectRoot));
|
|
89
|
+
if (watchman === void 0 && !useWatchman && !didWarnAboutWatchmanFallback) {
|
|
90
|
+
didWarnAboutWatchmanFallback = true;
|
|
91
|
+
console.warn("[vxrn/metro] Watchman is unavailable or unresponsive; falling back to Node file watching.");
|
|
92
|
+
}
|
|
53
93
|
const {
|
|
54
94
|
loadConfig
|
|
55
95
|
} = await (0, import_projectImport.projectImport)(projectRoot, "metro");
|
|
@@ -91,9 +131,7 @@ async function getMetroConfigFromViteConfig(config, metroPluginOptions) {
|
|
|
91
131
|
..._defaultConfig,
|
|
92
132
|
resolver: {
|
|
93
133
|
..._defaultConfig?.resolver,
|
|
94
|
-
|
|
95
|
-
useWatchman: watchman
|
|
96
|
-
} : {}),
|
|
134
|
+
useWatchman,
|
|
97
135
|
blockList,
|
|
98
136
|
sourceExts: ["js", "jsx", "json", "ts", "tsx", "mjs", "cjs"],
|
|
99
137
|
// `one` related packages are using `.mjs` extensions. This somehow fixes `.native` files not being resolved correctly when `.mjs` files are present.
|
|
@@ -38,15 +38,50 @@ __export(getMetroConfigFromViteConfig_exports, {
|
|
|
38
38
|
getMetroConfigFromViteConfig: () => getMetroConfigFromViteConfig
|
|
39
39
|
});
|
|
40
40
|
module.exports = __toCommonJS(getMetroConfigFromViteConfig_exports);
|
|
41
|
+
var import_child_process = require("child_process");
|
|
42
|
+
var import_path = require("path");
|
|
41
43
|
var import_micromatch = __toESM(require("micromatch"), 1);
|
|
42
44
|
var import_projectImport = require("../utils/projectImport.native.js");
|
|
43
45
|
var import_getTerminalReporter = require("../utils/getTerminalReporter.native.js");
|
|
44
46
|
var import_patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName = require("../utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js");
|
|
47
|
+
var WATCHMAN_PROBE_TIMEOUT_MS = 2e3;
|
|
48
|
+
var watchmanResponsivePromises = /* @__PURE__ */new Map();
|
|
49
|
+
var didWarnAboutWatchmanFallback = false;
|
|
50
|
+
async function isWatchmanResponsive(projectRoot) {
|
|
51
|
+
var probe = watchmanResponsivePromises.get(projectRoot);
|
|
52
|
+
if (probe) {
|
|
53
|
+
return probe;
|
|
54
|
+
}
|
|
55
|
+
probe = new Promise(function (resolve2) {
|
|
56
|
+
var settled = false;
|
|
57
|
+
var finish = function (value) {
|
|
58
|
+
if (settled) return;
|
|
59
|
+
settled = true;
|
|
60
|
+
clearTimeout(timeout);
|
|
61
|
+
resolve2(value);
|
|
62
|
+
};
|
|
63
|
+
var child = (0, import_child_process.spawn)("watchman", ["watch-project", projectRoot], {
|
|
64
|
+
stdio: "ignore"
|
|
65
|
+
});
|
|
66
|
+
var timeout = setTimeout(function () {
|
|
67
|
+
child.kill();
|
|
68
|
+
finish(false);
|
|
69
|
+
}, WATCHMAN_PROBE_TIMEOUT_MS);
|
|
70
|
+
child.once("error", function () {
|
|
71
|
+
finish(false);
|
|
72
|
+
});
|
|
73
|
+
child.once("exit", function (code) {
|
|
74
|
+
finish(code === 0);
|
|
75
|
+
});
|
|
76
|
+
});
|
|
77
|
+
watchmanResponsivePromises.set(projectRoot, probe);
|
|
78
|
+
return probe;
|
|
79
|
+
}
|
|
45
80
|
async function getMetroConfigFromViteConfig(config, metroPluginOptions) {
|
|
46
81
|
var _ref;
|
|
47
82
|
var _metroPluginOptions_argv, _defaultConfig_resolver;
|
|
48
83
|
var extraConfig = {};
|
|
49
|
-
var projectRoot = (_ref = (_metroPluginOptions_argv = metroPluginOptions.argv) === null || _metroPluginOptions_argv === void 0 ? void 0 : _metroPluginOptions_argv.projectRoot) !== null && _ref !== void 0 ? _ref : config.root;
|
|
84
|
+
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);
|
|
50
85
|
var {
|
|
51
86
|
mainModuleName,
|
|
52
87
|
argv,
|
|
@@ -54,6 +89,11 @@ async function getMetroConfigFromViteConfig(config, metroPluginOptions) {
|
|
|
54
89
|
watchman,
|
|
55
90
|
excludeModules
|
|
56
91
|
} = metroPluginOptions;
|
|
92
|
+
var useWatchman = watchman !== null && watchman !== void 0 ? watchman : await isWatchmanResponsive(projectRoot);
|
|
93
|
+
if (watchman === void 0 && !useWatchman && !didWarnAboutWatchmanFallback) {
|
|
94
|
+
didWarnAboutWatchmanFallback = true;
|
|
95
|
+
console.warn("[vxrn/metro] Watchman is unavailable or unresponsive; falling back to Node file watching.");
|
|
96
|
+
}
|
|
57
97
|
var {
|
|
58
98
|
loadConfig
|
|
59
99
|
} = await (0, import_projectImport.projectImport)(projectRoot, "metro");
|
|
@@ -94,9 +134,7 @@ async function getMetroConfigFromViteConfig(config, metroPluginOptions) {
|
|
|
94
134
|
..._defaultConfig,
|
|
95
135
|
resolver: {
|
|
96
136
|
...(_defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.resolver),
|
|
97
|
-
|
|
98
|
-
useWatchman: watchman
|
|
99
|
-
} : {}),
|
|
137
|
+
useWatchman,
|
|
100
138
|
blockList,
|
|
101
139
|
sourceExts: ["js", "jsx", "json", "ts", "tsx", "mjs", "cjs"],
|
|
102
140
|
// `one` related packages are using `.mjs` extensions. This somehow fixes `.native` files not being resolved correctly when `.mjs` files are present.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","getMetroConfigFromViteConfig_exports","__export","getMetroConfigFromViteConfig","module","exports","
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","getMetroConfigFromViteConfig_exports","__export","getMetroConfigFromViteConfig","module","exports","import_child_process","require","import_path","import_micromatch","__toESM","import_projectImport","import_getTerminalReporter","import_patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName","WATCHMAN_PROBE_TIMEOUT_MS","watchmanResponsivePromises","Map","didWarnAboutWatchmanFallback","isWatchmanResponsive","projectRoot","probe","get","Promise","resolve2","settled","finish","clearTimeout","timeout","child","spawn","stdio","setTimeout","kill","once","code","set","config","metroPluginOptions","_ref","_metroPluginOptions_argv","_defaultConfig_resolver","extraConfig","resolve","argv","root","mainModuleName","defaultConfigOverrides","watchman","excludeModules","useWatchman","console","warn","loadConfig","projectImport","getDefaultConfig","_defaultConfig","origRewriteRequestUrl","server","rewriteRequestUrl","resolveMainModuleName","ExpoGoManifestHandlerMiddleware","default","manifestHandlerMiddleware","patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName","p","pkg","main","platform","getResolveMainModuleName","url","includes","resolvedMainModulePath","replace","existingBlockList","resolver","blockList","buildOutputExclusions","Array","isArray","defaultConfig","sourceExts","resolveRequest","context","moduleName","_defaultConfig_resolver2","origResolveRequestFn","length","isMatch","startsWith","contextOverride","unstable_conditionNames","filter","c","transformer","babelTransformerPath","projectResolve","reporter","getTerminalReporter","metroConfig","cwd","process","env","METRO_RESET_CACHE"],"sources":["../../../src/metro-config/getMetroConfigFromViteConfig.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -38,6 +38,7 @@ __export(metroPlugin_exports, {
|
|
|
38
38
|
module.exports = __toCommonJS(metroPlugin_exports);
|
|
39
39
|
var import_node_fs = require("node:fs");
|
|
40
40
|
var import_promises = require("node:fs/promises");
|
|
41
|
+
var import_node_path = require("node:path");
|
|
41
42
|
var import_launch_editor = __toESM(require("launch-editor"), 1);
|
|
42
43
|
var import_debug = require("@vxrn/debug");
|
|
43
44
|
var import_metroCacheManager = require("../utils/metroCacheManager.cjs");
|
|
@@ -55,9 +56,7 @@ function metroPlugin(options = {}) {
|
|
|
55
56
|
// projectRoot = config.root
|
|
56
57
|
// },
|
|
57
58
|
configureServer(server) {
|
|
58
|
-
const
|
|
59
|
-
root: projectRoot
|
|
60
|
-
} = server.config;
|
|
59
|
+
const projectRoot = (0, import_node_path.resolve)(server.config.root);
|
|
61
60
|
let metroReady = false;
|
|
62
61
|
let middleware;
|
|
63
62
|
let metroServer;
|
|
@@ -66,9 +65,9 @@ function metroPlugin(options = {}) {
|
|
|
66
65
|
let rnDevtoolsMiddleware;
|
|
67
66
|
let metroPromise;
|
|
68
67
|
let metroPromiseResolvers;
|
|
69
|
-
metroPromise = new Promise((
|
|
68
|
+
metroPromise = new Promise((resolve2, reject) => {
|
|
70
69
|
metroPromiseResolvers = {
|
|
71
|
-
resolve,
|
|
70
|
+
resolve: resolve2,
|
|
72
71
|
reject
|
|
73
72
|
};
|
|
74
73
|
});
|
|
@@ -40,6 +40,7 @@ __export(metroPlugin_exports, {
|
|
|
40
40
|
module.exports = __toCommonJS(metroPlugin_exports);
|
|
41
41
|
var import_fs = require("fs");
|
|
42
42
|
var import_promises = require("fs/promises");
|
|
43
|
+
var import_path = require("path");
|
|
43
44
|
var import_launch_editor = __toESM(require("launch-editor"), 1);
|
|
44
45
|
var import_debug = require("@vxrn/debug");
|
|
45
46
|
var import_metroCacheManager = require("../utils/metroCacheManager.native.js");
|
|
@@ -58,9 +59,7 @@ function metroPlugin() {
|
|
|
58
59
|
// projectRoot = config.root
|
|
59
60
|
// },
|
|
60
61
|
configureServer(server) {
|
|
61
|
-
var
|
|
62
|
-
root: projectRoot
|
|
63
|
-
} = server.config;
|
|
62
|
+
var projectRoot = (0, import_path.resolve)(server.config.root);
|
|
64
63
|
var metroReady = false;
|
|
65
64
|
var middleware;
|
|
66
65
|
var metroServer;
|
|
@@ -69,9 +68,9 @@ function metroPlugin() {
|
|
|
69
68
|
var rnDevtoolsMiddleware;
|
|
70
69
|
var metroPromise;
|
|
71
70
|
var metroPromiseResolvers;
|
|
72
|
-
metroPromise = new Promise(function (
|
|
71
|
+
metroPromise = new Promise(function (resolve2, reject) {
|
|
73
72
|
metroPromiseResolvers = {
|
|
74
|
-
resolve,
|
|
73
|
+
resolve: resolve2,
|
|
75
74
|
reject
|
|
76
75
|
};
|
|
77
76
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","metroPlugin_exports","__export","metroPlugin","module","exports","import_fs","require","import_promises","import_launch_editor","__toESM","import_debug","import_metroCacheManager","import_projectImport","import_getMetroConfigFromViteConfig","import_patchMetroServerWithViteConfigAndMetroPluginOptions","debug","createDebugger","options","arguments","length","globalThis","name","configureServer","server","
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","metroPlugin_exports","__export","metroPlugin","module","exports","import_fs","require","import_promises","import_path","import_launch_editor","__toESM","import_debug","import_metroCacheManager","import_projectImport","import_getMetroConfigFromViteConfig","import_patchMetroServerWithViteConfigAndMetroPluginOptions","debug","createDebugger","options","arguments","length","globalThis","name","configureServer","server","projectRoot","resolve","config","root","metroReady","middleware","metroServer","hmrServer","websocketEndpoints","rnDevtoolsMiddleware","metroPromise","metroPromiseResolvers","Promise","resolve2","reject","startMetro","metroStartTime","Date","now","_server_httpServer","checkAndClearMetroCacheFromVite","logger","default","Metro","projectImport","MetroHmrServer","createWebsocketServer","createDevMiddleware","getMetroConfigFromViteConfig","metroResult","createConnectMiddleware","watch","patchMetroServerWithViteConfigAndMetroPluginOptions","getBundler","getCreateModuleId","reactNativeDevToolsUrl","host","port","devMiddleware","serverBaseUrl","console","websocketServer","httpServer","on","request","socket","head","pathname","URL","url","headers","endpoint","handleUpgrade","ws","emit","middlewares","use","metroElapsed","err","isLazyStartup","startup","metroStarting","ensureMetroStarted","catch","listening","waitForServer","setTimeout","req","res","next","_req_headers_useragent","_req_headers_useragent1","_req_url","isNativeRequest","includes","_req_url1","statusCode","end","_req_url2","VITE_METRO_DEBUG_BUNDLE","process","env","existsSync","content","readFile","setHeader","method","body","chunk","toString","frame","JSON","parse","file","e","error"],"sources":["../../../src/plugins/metroPlugin.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -40,6 +40,7 @@ __export(projectImport_exports, {
|
|
|
40
40
|
module.exports = __toCommonJS(projectImport_exports);
|
|
41
41
|
var import_debug = require("@vxrn/debug");
|
|
42
42
|
var import_node_module = __toESM(require("node:module"), 1);
|
|
43
|
+
var import_node_url = require("node:url");
|
|
43
44
|
const {
|
|
44
45
|
debug
|
|
45
46
|
} = (0, import_debug.createDebugger)("vite-metro:projectImport");
|
|
@@ -47,7 +48,7 @@ async function projectImport(projectRoot, path) {
|
|
|
47
48
|
try {
|
|
48
49
|
const importPath = projectResolve(projectRoot, path);
|
|
49
50
|
debug?.(`Importing "${path}" from project root: "${projectRoot}" at "${importPath}"`);
|
|
50
|
-
const out = await import(importPath);
|
|
51
|
+
const out = await import((0, import_node_url.pathToFileURL)(importPath).href);
|
|
51
52
|
if (out?.default?.default) {
|
|
52
53
|
return {
|
|
53
54
|
...out,
|
|
@@ -42,6 +42,7 @@ __export(projectImport_exports, {
|
|
|
42
42
|
module.exports = __toCommonJS(projectImport_exports);
|
|
43
43
|
var import_debug = require("@vxrn/debug");
|
|
44
44
|
var import_module = __toESM(require("module"), 1);
|
|
45
|
+
var import_url = require("url");
|
|
45
46
|
function _instanceof(left, right) {
|
|
46
47
|
if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
|
|
47
48
|
return !!right[Symbol.hasInstance](left);
|
|
@@ -57,7 +58,7 @@ async function projectImport(projectRoot, path) {
|
|
|
57
58
|
var _out_default;
|
|
58
59
|
var importPath = projectResolve(projectRoot, path);
|
|
59
60
|
debug === null || debug === void 0 ? void 0 : debug(`Importing "${path}" from project root: "${projectRoot}" at "${importPath}"`);
|
|
60
|
-
var out = await import(importPath);
|
|
61
|
+
var out = await import((0, import_url.pathToFileURL)(importPath).href);
|
|
61
62
|
if (out === null || out === void 0 ? void 0 : (_out_default = out.default) === null || _out_default === void 0 ? void 0 : _out_default.default) {
|
|
62
63
|
return {
|
|
63
64
|
...out,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","projectImport_exports","__export","debug","projectImport","projectResolve","module","exports","import_debug","require","import_module","__toESM","_instanceof","left","right","Symbol","hasInstance","createDebugger","projectRoot","path","_out_default","importPath","out","default","e","Error","message"],"sources":["../../../src/utils/projectImport.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,qBAAA;AAAAC,QAAA,CAAAD,qBAAA;EAAAE,KAAA,EAAAA,CAAA,KAAAA,KAAA;EAAAC,aAAA,EAAAA,CAAA,KAAAA,aAAA;EAAAC,cAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAX,YAA+B,CAAAK,qBAAA;AAC/B,IAAAO,YAAA,GAAAC,OAAmB;
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","projectImport_exports","__export","debug","projectImport","projectResolve","module","exports","import_debug","require","import_module","__toESM","import_url","_instanceof","left","right","Symbol","hasInstance","createDebugger","projectRoot","path","_out_default","importPath","out","pathToFileURL","href","default","e","Error","message"],"sources":["../../../src/utils/projectImport.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,qBAAA;AAAAC,QAAA,CAAAD,qBAAA;EAAAE,KAAA,EAAAA,CAAA,KAAAA,KAAA;EAAAC,aAAA,EAAAA,CAAA,KAAAA,aAAA;EAAAC,cAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAX,YAA+B,CAAAK,qBAAA;AAC/B,IAAAO,YAAA,GAAAC,OAAmB;AACnB,IAAAC,aAAA,GAAAC,OAA8B,CAAAF,OAAA;AAEvB,IAAAG,UAAc,GAAAH,OAAI;AAQzB,SAAAI,WAAsBA,CAAAC,IAAA,EAAAC,KACpB;EAGA,IAAIA,KAAA,mBAAAC,MAAA,oBAAAD,KAAA,CAAAC,MAAA,CAAAC,WAAA;IACF,OAAM,EAAAF,KAAA,CAAAC,MAAa,CAAAC,WAAA,CAAe,CAAAH,IAAA;EAElC;IAEA,OAAMA,IAAA,YAAYC,KAAA;EAGlB;AACE;AAAO;EAAAZ;AACF,QAAAK,YAAA,CAAAU,cAAA;AAAA,eACHd,aAAaA,CAAQe,WAAA,EAAAC,IAAA;EAAA,IACvB;IACF,IAAAC,YAAA;IAEA,IAAAC,UAAO,GAAAjB,cAAA,CAAAc,WAAA,EAAAC,IAAA;IACTjB,KAAA,KAAY,QAAAA,KAAA,uBAAAA,KAAA,eAAAiB,IAAA,yBAAAD,WAAA,SAAAG,UAAA;IACV,IAAIC,GAAA,eAAa,EAAO,GAAAX,UAAA,CAAAY,aAAA,EAAAF,UAAA,EAAAG,IAAA;IACtB,IAAEF,GAAA,SAAU,IAAAA,GAAA,wBAAAF,YAA4C,GAAAE,GAAA,CAAAG,OAAA,UAAuB,IAAAL,YAAiB,KAAE,KAAO,aAAAA,YAAA,CAAAK,OAAA;MAC3G;QAEA,GAAMH,GAAA;QACRG,OAAA,EAAAH,GAAA,CAAAG,OAAA,CAAAA;MACF;IAEO;IACL,OAAMH,GAAA;EACN,SAAMI,CAAA;IACN,IAAAd,WAAO,CAAAc,CAAA,EAAAC,KAAA;MACTD,CAAA,CAAAE,OAAA,2CAAAT,IAAA,uBAAAD,WAAA,MAAAQ,CAAA,CAAAE,OAAA","ignoreList":[]}
|
|
@@ -1,10 +1,45 @@
|
|
|
1
|
+
import { spawn } from "node:child_process";
|
|
2
|
+
import { resolve } from "node:path";
|
|
1
3
|
import micromatch from "micromatch";
|
|
2
4
|
import { projectImport, projectResolve } from "../utils/projectImport.mjs";
|
|
3
5
|
import { getTerminalReporter } from "../utils/getTerminalReporter.mjs";
|
|
4
6
|
import { patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName } from "../utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.mjs";
|
|
7
|
+
const WATCHMAN_PROBE_TIMEOUT_MS = 2e3;
|
|
8
|
+
const watchmanResponsivePromises = /* @__PURE__ */new Map();
|
|
9
|
+
let didWarnAboutWatchmanFallback = false;
|
|
10
|
+
async function isWatchmanResponsive(projectRoot) {
|
|
11
|
+
let probe = watchmanResponsivePromises.get(projectRoot);
|
|
12
|
+
if (probe) {
|
|
13
|
+
return probe;
|
|
14
|
+
}
|
|
15
|
+
probe = new Promise(resolve2 => {
|
|
16
|
+
let settled = false;
|
|
17
|
+
const finish = value => {
|
|
18
|
+
if (settled) return;
|
|
19
|
+
settled = true;
|
|
20
|
+
clearTimeout(timeout);
|
|
21
|
+
resolve2(value);
|
|
22
|
+
};
|
|
23
|
+
const child = spawn("watchman", ["watch-project", projectRoot], {
|
|
24
|
+
stdio: "ignore"
|
|
25
|
+
});
|
|
26
|
+
const timeout = setTimeout(() => {
|
|
27
|
+
child.kill();
|
|
28
|
+
finish(false);
|
|
29
|
+
}, WATCHMAN_PROBE_TIMEOUT_MS);
|
|
30
|
+
child.once("error", () => {
|
|
31
|
+
finish(false);
|
|
32
|
+
});
|
|
33
|
+
child.once("exit", code => {
|
|
34
|
+
finish(code === 0);
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
watchmanResponsivePromises.set(projectRoot, probe);
|
|
38
|
+
return probe;
|
|
39
|
+
}
|
|
5
40
|
async function getMetroConfigFromViteConfig(config, metroPluginOptions) {
|
|
6
41
|
const extraConfig = {};
|
|
7
|
-
const projectRoot = metroPluginOptions.argv?.projectRoot ?? config.root;
|
|
42
|
+
const projectRoot = resolve(metroPluginOptions.argv?.projectRoot ?? config.root);
|
|
8
43
|
const {
|
|
9
44
|
mainModuleName,
|
|
10
45
|
argv,
|
|
@@ -12,6 +47,11 @@ async function getMetroConfigFromViteConfig(config, metroPluginOptions) {
|
|
|
12
47
|
watchman,
|
|
13
48
|
excludeModules
|
|
14
49
|
} = metroPluginOptions;
|
|
50
|
+
const useWatchman = watchman ?? (await isWatchmanResponsive(projectRoot));
|
|
51
|
+
if (watchman === void 0 && !useWatchman && !didWarnAboutWatchmanFallback) {
|
|
52
|
+
didWarnAboutWatchmanFallback = true;
|
|
53
|
+
console.warn("[vxrn/metro] Watchman is unavailable or unresponsive; falling back to Node file watching.");
|
|
54
|
+
}
|
|
15
55
|
const {
|
|
16
56
|
loadConfig
|
|
17
57
|
} = await projectImport(projectRoot, "metro");
|
|
@@ -53,9 +93,7 @@ async function getMetroConfigFromViteConfig(config, metroPluginOptions) {
|
|
|
53
93
|
..._defaultConfig,
|
|
54
94
|
resolver: {
|
|
55
95
|
..._defaultConfig?.resolver,
|
|
56
|
-
|
|
57
|
-
useWatchman: watchman
|
|
58
|
-
} : {}),
|
|
96
|
+
useWatchman,
|
|
59
97
|
blockList,
|
|
60
98
|
sourceExts: ["js", "jsx", "json", "ts", "tsx", "mjs", "cjs"],
|
|
61
99
|
// `one` related packages are using `.mjs` extensions. This somehow fixes `.native` files not being resolved correctly when `.mjs` files are present.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["micromatch","projectImport","projectResolve","getTerminalReporter","patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName","getMetroConfigFromViteConfig","config","metroPluginOptions","extraConfig","
|
|
1
|
+
{"version":3,"names":["spawn","resolve","micromatch","projectImport","projectResolve","getTerminalReporter","patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName","WATCHMAN_PROBE_TIMEOUT_MS","watchmanResponsivePromises","Map","didWarnAboutWatchmanFallback","isWatchmanResponsive","projectRoot","probe","get","Promise","resolve2","settled","finish","value","clearTimeout","timeout","child","stdio","setTimeout","kill","once","code","set","getMetroConfigFromViteConfig","config","metroPluginOptions","extraConfig","argv","root","mainModuleName","defaultConfigOverrides","watchman","excludeModules","useWatchman","console","warn","loadConfig","getDefaultConfig","_defaultConfig","origRewriteRequestUrl","server","rewriteRequestUrl","resolveMainModuleName","ExpoGoManifestHandlerMiddleware","default","manifestHandlerMiddleware","p","pkg","main","platform","getResolveMainModuleName","url","includes","resolvedMainModulePath","replace","existingBlockList","resolver","blockList","buildOutputExclusions","Array","isArray","defaultConfig","sourceExts","resolveRequest","context","moduleName","origResolveRequestFn","length","isMatch","startsWith","contextOverride","unstable_conditionNames","filter","c","transformer","babelTransformerPath","reporter","metroConfig","cwd","process","env","METRO_RESET_CACHE"],"sources":["../../../src/metro-config/getMetroConfigFromViteConfig.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,12 +1,47 @@
|
|
|
1
|
+
import { spawn } from "child_process";
|
|
2
|
+
import { resolve } from "path";
|
|
1
3
|
import micromatch from "micromatch";
|
|
2
4
|
import { projectImport, projectResolve } from "../utils/projectImport.native.js";
|
|
3
5
|
import { getTerminalReporter } from "../utils/getTerminalReporter.native.js";
|
|
4
6
|
import { patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName } from "../utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js";
|
|
7
|
+
var WATCHMAN_PROBE_TIMEOUT_MS = 2e3;
|
|
8
|
+
var watchmanResponsivePromises = /* @__PURE__ */new Map();
|
|
9
|
+
var didWarnAboutWatchmanFallback = false;
|
|
10
|
+
async function isWatchmanResponsive(projectRoot) {
|
|
11
|
+
var probe = watchmanResponsivePromises.get(projectRoot);
|
|
12
|
+
if (probe) {
|
|
13
|
+
return probe;
|
|
14
|
+
}
|
|
15
|
+
probe = new Promise(function (resolve2) {
|
|
16
|
+
var settled = false;
|
|
17
|
+
var finish = function (value) {
|
|
18
|
+
if (settled) return;
|
|
19
|
+
settled = true;
|
|
20
|
+
clearTimeout(timeout);
|
|
21
|
+
resolve2(value);
|
|
22
|
+
};
|
|
23
|
+
var child = spawn("watchman", ["watch-project", projectRoot], {
|
|
24
|
+
stdio: "ignore"
|
|
25
|
+
});
|
|
26
|
+
var timeout = setTimeout(function () {
|
|
27
|
+
child.kill();
|
|
28
|
+
finish(false);
|
|
29
|
+
}, WATCHMAN_PROBE_TIMEOUT_MS);
|
|
30
|
+
child.once("error", function () {
|
|
31
|
+
finish(false);
|
|
32
|
+
});
|
|
33
|
+
child.once("exit", function (code) {
|
|
34
|
+
finish(code === 0);
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
watchmanResponsivePromises.set(projectRoot, probe);
|
|
38
|
+
return probe;
|
|
39
|
+
}
|
|
5
40
|
async function getMetroConfigFromViteConfig(config, metroPluginOptions) {
|
|
6
41
|
var _ref;
|
|
7
42
|
var _metroPluginOptions_argv, _defaultConfig_resolver;
|
|
8
43
|
var extraConfig = {};
|
|
9
|
-
var projectRoot = (_ref = (_metroPluginOptions_argv = metroPluginOptions.argv) === null || _metroPluginOptions_argv === void 0 ? void 0 : _metroPluginOptions_argv.projectRoot) !== null && _ref !== void 0 ? _ref : config.root;
|
|
44
|
+
var projectRoot = resolve((_ref = (_metroPluginOptions_argv = metroPluginOptions.argv) === null || _metroPluginOptions_argv === void 0 ? void 0 : _metroPluginOptions_argv.projectRoot) !== null && _ref !== void 0 ? _ref : config.root);
|
|
10
45
|
var {
|
|
11
46
|
mainModuleName,
|
|
12
47
|
argv,
|
|
@@ -14,6 +49,11 @@ async function getMetroConfigFromViteConfig(config, metroPluginOptions) {
|
|
|
14
49
|
watchman,
|
|
15
50
|
excludeModules
|
|
16
51
|
} = metroPluginOptions;
|
|
52
|
+
var useWatchman = watchman !== null && watchman !== void 0 ? watchman : await isWatchmanResponsive(projectRoot);
|
|
53
|
+
if (watchman === void 0 && !useWatchman && !didWarnAboutWatchmanFallback) {
|
|
54
|
+
didWarnAboutWatchmanFallback = true;
|
|
55
|
+
console.warn("[vxrn/metro] Watchman is unavailable or unresponsive; falling back to Node file watching.");
|
|
56
|
+
}
|
|
17
57
|
var {
|
|
18
58
|
loadConfig
|
|
19
59
|
} = await projectImport(projectRoot, "metro");
|
|
@@ -54,9 +94,7 @@ async function getMetroConfigFromViteConfig(config, metroPluginOptions) {
|
|
|
54
94
|
..._defaultConfig,
|
|
55
95
|
resolver: {
|
|
56
96
|
...(_defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.resolver),
|
|
57
|
-
|
|
58
|
-
useWatchman: watchman
|
|
59
|
-
} : {}),
|
|
97
|
+
useWatchman,
|
|
60
98
|
blockList,
|
|
61
99
|
sourceExts: ["js", "jsx", "json", "ts", "tsx", "mjs", "cjs"],
|
|
62
100
|
// `one` related packages are using `.mjs` extensions. This somehow fixes `.native` files not being resolved correctly when `.mjs` files are present.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["micromatch","projectImport","projectResolve","getTerminalReporter","patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName","getMetroConfigFromViteConfig","config","metroPluginOptions","_ref","_metroPluginOptions_argv","_defaultConfig_resolver","extraConfig","
|
|
1
|
+
{"version":3,"names":["spawn","resolve","micromatch","projectImport","projectResolve","getTerminalReporter","patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName","WATCHMAN_PROBE_TIMEOUT_MS","watchmanResponsivePromises","Map","didWarnAboutWatchmanFallback","isWatchmanResponsive","projectRoot","probe","get","Promise","resolve2","settled","finish","value","clearTimeout","timeout","child","stdio","setTimeout","kill","once","code","set","getMetroConfigFromViteConfig","config","metroPluginOptions","_ref","_metroPluginOptions_argv","_defaultConfig_resolver","extraConfig","argv","root","mainModuleName","defaultConfigOverrides","watchman","excludeModules","useWatchman","console","warn","loadConfig","getDefaultConfig","_defaultConfig","origRewriteRequestUrl","server","rewriteRequestUrl","resolveMainModuleName","ExpoGoManifestHandlerMiddleware","default","manifestHandlerMiddleware","p","pkg","main","platform","getResolveMainModuleName","url","includes","resolvedMainModulePath","replace","existingBlockList","resolver","blockList","buildOutputExclusions","Array","isArray","defaultConfig","sourceExts","resolveRequest","context","moduleName","_defaultConfig_resolver2","origResolveRequestFn","length","isMatch","startsWith","contextOverride","unstable_conditionNames","filter","c","transformer","babelTransformerPath","reporter","metroConfig","cwd","process","env","METRO_RESET_CACHE"],"sources":["../../../src/metro-config/getMetroConfigFromViteConfig.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { existsSync } from "node:fs";
|
|
2
2
|
import { readFile } from "node:fs/promises";
|
|
3
|
+
import { resolve } from "node:path";
|
|
3
4
|
import launchEditor from "launch-editor";
|
|
4
5
|
import { createDebugger } from "@vxrn/debug";
|
|
5
6
|
import { checkAndClearMetroCacheFromVite } from "../utils/metroCacheManager.mjs";
|
|
@@ -17,9 +18,7 @@ function metroPlugin(options = {}) {
|
|
|
17
18
|
// projectRoot = config.root
|
|
18
19
|
// },
|
|
19
20
|
configureServer(server) {
|
|
20
|
-
const
|
|
21
|
-
root: projectRoot
|
|
22
|
-
} = server.config;
|
|
21
|
+
const projectRoot = resolve(server.config.root);
|
|
23
22
|
let metroReady = false;
|
|
24
23
|
let middleware;
|
|
25
24
|
let metroServer;
|
|
@@ -28,9 +27,9 @@ function metroPlugin(options = {}) {
|
|
|
28
27
|
let rnDevtoolsMiddleware;
|
|
29
28
|
let metroPromise;
|
|
30
29
|
let metroPromiseResolvers;
|
|
31
|
-
metroPromise = new Promise((
|
|
30
|
+
metroPromise = new Promise((resolve2, reject) => {
|
|
32
31
|
metroPromiseResolvers = {
|
|
33
|
-
resolve,
|
|
32
|
+
resolve: resolve2,
|
|
34
33
|
reject
|
|
35
34
|
};
|
|
36
35
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["existsSync","readFile","launchEditor","createDebugger","checkAndClearMetroCacheFromVite","projectImport","getMetroConfigFromViteConfig","patchMetroServerWithViteConfigAndMetroPluginOptions","debug","metroPlugin","options","globalThis","name","configureServer","server","
|
|
1
|
+
{"version":3,"names":["existsSync","readFile","resolve","launchEditor","createDebugger","checkAndClearMetroCacheFromVite","projectImport","getMetroConfigFromViteConfig","patchMetroServerWithViteConfigAndMetroPluginOptions","debug","metroPlugin","options","globalThis","name","configureServer","server","projectRoot","config","root","metroReady","middleware","metroServer","hmrServer","websocketEndpoints","rnDevtoolsMiddleware","metroPromise","metroPromiseResolvers","Promise","resolve2","reject","startMetro","metroStartTime","Date","now","logger","default","Metro","MetroHmrServer","createWebsocketServer","createDevMiddleware","metroResult","createConnectMiddleware","watch","getBundler","getCreateModuleId","reactNativeDevToolsUrl","host","port","devMiddleware","serverBaseUrl","console","websocketServer","httpServer","on","request","socket","head","pathname","URL","url","headers","endpoint","handleUpgrade","ws","emit","middlewares","use","metroElapsed","err","isLazyStartup","startup","metroStarting","ensureMetroStarted","catch","listening","waitForServer","setTimeout","req","res","next","isNativeRequest","includes","statusCode","end","VITE_METRO_DEBUG_BUNDLE","process","env","content","setHeader","method","body","chunk","toString","frame","JSON","parse","file","e","error"],"sources":["../../../src/plugins/metroPlugin.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { existsSync } from "fs";
|
|
2
2
|
import { readFile } from "fs/promises";
|
|
3
|
+
import { resolve } from "path";
|
|
3
4
|
import launchEditor from "launch-editor";
|
|
4
5
|
import { createDebugger } from "@vxrn/debug";
|
|
5
6
|
import { checkAndClearMetroCacheFromVite } from "../utils/metroCacheManager.native.js";
|
|
@@ -18,9 +19,7 @@ function metroPlugin() {
|
|
|
18
19
|
// projectRoot = config.root
|
|
19
20
|
// },
|
|
20
21
|
configureServer(server) {
|
|
21
|
-
var
|
|
22
|
-
root: projectRoot
|
|
23
|
-
} = server.config;
|
|
22
|
+
var projectRoot = resolve(server.config.root);
|
|
24
23
|
var metroReady = false;
|
|
25
24
|
var middleware;
|
|
26
25
|
var metroServer;
|
|
@@ -29,9 +28,9 @@ function metroPlugin() {
|
|
|
29
28
|
var rnDevtoolsMiddleware;
|
|
30
29
|
var metroPromise;
|
|
31
30
|
var metroPromiseResolvers;
|
|
32
|
-
metroPromise = new Promise(function (
|
|
31
|
+
metroPromise = new Promise(function (resolve2, reject) {
|
|
33
32
|
metroPromiseResolvers = {
|
|
34
|
-
resolve,
|
|
33
|
+
resolve: resolve2,
|
|
35
34
|
reject
|
|
36
35
|
};
|
|
37
36
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["existsSync","readFile","launchEditor","createDebugger","checkAndClearMetroCacheFromVite","projectImport","getMetroConfigFromViteConfig","patchMetroServerWithViteConfigAndMetroPluginOptions","debug","metroPlugin","options","arguments","length","globalThis","name","configureServer","server","
|
|
1
|
+
{"version":3,"names":["existsSync","readFile","resolve","launchEditor","createDebugger","checkAndClearMetroCacheFromVite","projectImport","getMetroConfigFromViteConfig","patchMetroServerWithViteConfigAndMetroPluginOptions","debug","metroPlugin","options","arguments","length","globalThis","name","configureServer","server","projectRoot","config","root","metroReady","middleware","metroServer","hmrServer","websocketEndpoints","rnDevtoolsMiddleware","metroPromise","metroPromiseResolvers","Promise","resolve2","reject","startMetro","metroStartTime","Date","now","_server_httpServer","logger","default","Metro","MetroHmrServer","createWebsocketServer","createDevMiddleware","metroResult","createConnectMiddleware","watch","getBundler","getCreateModuleId","reactNativeDevToolsUrl","host","port","devMiddleware","serverBaseUrl","console","websocketServer","httpServer","on","request","socket","head","pathname","URL","url","headers","endpoint","handleUpgrade","ws","emit","middlewares","use","metroElapsed","err","isLazyStartup","startup","metroStarting","ensureMetroStarted","catch","listening","waitForServer","setTimeout","req","res","next","_req_headers_useragent","_req_headers_useragent1","_req_url","isNativeRequest","includes","_req_url1","statusCode","end","_req_url2","VITE_METRO_DEBUG_BUNDLE","process","env","content","setHeader","method","body","chunk","toString","frame","JSON","parse","file","e","error"],"sources":["../../../src/plugins/metroPlugin.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,UAAA,QAAkB;AAC3B,SAASC,QAAA,QAAgB;AACzB,SAASC,OAAA,QAAe;AAExB,OAAOC,YAAA,MAAkB;AACzB,SAASC,cAAA,QAAsB;AAC/B,SAASC,+BAAA,QAAuC;AAahD,SAASC,aAAA,QAAqB;AAE9B,SAASC,4BAAA,QAAoC;AAC7C,SAASC,mDAAA,QAA2D;AAdpE;EAAMC;AAAE,IAAML,cAAI,oBAAe;AA+D1B,SAASM,YAAA,EAAY;EAO1B,IAAAC,OAAW,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAgC,iBAAAA,SAAA;EAE3CE,UAAO,iCAAAH,OAAA;EAAA,OACL;IAAMI,IAAA;IAAA;IAAA;IAKN;IACEC,eAAMA,CAAAC,MAAc;MAEpB,IAAIC,WAAA,GAAahB,OAAA,CAAAe,MAAA,CAAAE,MAAA,CAAAC,IAAA;MAGjB,IAAIC,UAAA;MAGJ,IAAIC,UAAA;MAGJ,IAAIC,WAAA;MACJ,IAAIC,SAAA;MACJ,IAAIC,kBAAA;MAEJ,IAAIC,oBAAA;MACJ,IAAIC,YAAA;MAIJ,IAAAC,qBAAmB;MACjBD,YAAA,OAAAE,OAAwB,WAAEC,QAAA,EAAAC,MAAS,EAAO;QAC3CH,qBAAA;UAED1B,OAAM,EAAA4B,QAAa;UACjBC;QACA;MAGE;MAGA,IAAAC,UAAQ,kBAAAA,CAAA,EAAmB;QAG3B,IAAAC,cAAQ,GAASC,IAAA,CAAAC,GAAA;QAGjB;UAGA,IAAAC,kBAAQ;UAIR/B,+BAAqB,CAAAY,MAAA,EAAAA,MAAA,CAAAE,MAA6B,CAAAkB,MAAO;UAEzD;YAAMC,OAAA,EAAAC;UAAc,UAAMjC,aAAM,CAAAY,WAAwB,SAAQ;UAAA;YAAAoB,OAAA,EAAAE;UAAA,UAAAlC,aAAA,CAAAY,WAAA;UAAA;YAAAoB,OAAA,EAAAG;UAAA,UAAAnC,aAAA,CAAAY,WAAA;UAAA,IAG9D;YAAAwB;UAAO,UAAApC,aAAA,CAAAY,WAAA;UACT,IAACC,MAAA,SAAAZ,4BAAA,CAAAU,MAAA,CAAAE,MAAA,EAAAR,OAAA;UAED,IAAAgC,WAAa,SAAAJ,KAAY,CAAAK,uBAAA,CAAAzB,MAAA;YACzB;YAEA;YACE0B,KAAA;UAAA,EACA;UAAOvB,UACP,GAAAqB,WAAA,CAAArB,UAAA;UACFC,WAAA,GAAAoB,WAAA,CAAApB,WAAA;UAEAf,mDAAgB,CAAAe,WAAA,EAAAN,MAAA,CAAAE,MAAA,EAAAR,OAAA;UAAAa,SACd,OAAYgB,cAAW,CAAAjB,WAAA,CAAAuB,UAAA,IAAAvB,WAAA,CAAAwB,iBAAA,IAAA5B,MAAA;UAAA,IACvB6B,sBAAY,aAAkB,OAAA/B,MAAA,CAAAE,MAAA,CAAAF,MAAA,CAAAgC,IAAA,+BAAAhC,MAAA,CAAAE,MAAA,CAAAF,MAAA,CAAAgC,IAAA,IAAAhC,MAAA,CAAAE,MAAA,CAAAF,MAAA,CAAAiC,IAAA;UAAA,IAC9BC,aAAA,GAAAT,mBAAA;YACFU,aAAA,EAAAJ,sBAAA;YAEAX,MAAM,EAAAgB;UACN;UAA0C3B,oBACzB,GAAAyB,aAAA,CAAA7B,UAAA;UAAAG,kBACP;YACT,QAAAgB,qBAAA;cAEDa,eAAA,EAAA9B;YACA;YACE,GAAA2B,aAAQ,CAAA1B;UAAsB;UACX,CAAAW,kBAClB,GAAAnB,MAAA,CAAAsC,UAAA,cAAAnB,kBAAA,uBAAAA,kBAAA,CAAAoB,EAAA,sBAAAC,OAAA,EAAAC,MAAA,EAAAC,IAAA;YACD,IAAGC,QAAA,OAAcC,GAAA,CAAAJ,OAAA,CAAAK,GAAA,YAAAL,OAAA,CAAAM,OAAA,CAAAd,IAAA,IAAAW,QAAA;YACnB,IAAAI,QAAA,GAAAvC,kBAAA,CAAAmC,QAAA;YAIA,IAAAI,QAAO;cACLA,QAAM,CAAAC,aAAe,CAAIR,OAAA,EAAQC,MAAM,EAAAC,IAAA,EAAU,UAAQO,EAAA;gBAGzDF,QAAM,CAAAG,IAAW,eAAAD,EAAA,EAAmBT,OAAA,CAAQ;cAC5C,EAAI;YACF;UACE;UAAuCxC,MACxC,CAAAmD,WAAA,CAAAC,GAAA,CAAA3C,oBAAA;UAAAL,UACH;UAEF,IAACiD,YAAA,GAAApC,IAAA,CAAAC,GAAA,KAAAF,cAAA;UAGDxB,KAAA,KAAO,QAAAA,KAAgB,oBAAoB,GAAAA,KAAA,yBAAA6D,YAAA;UAE3C1C,qBAAa,CAAA1B,OAAA;QACb,SAAMqE,GAAA;UACN9D,KAAA,KAAQ,QAAAA,KAAA,UAAwB,aAAYA,KAAK,uCAAA8D,GAAA;UACjD3C,qBAAA,CAAsBG,MAAA,CAAAwC,GAAQ;UAChC,MAAAA,GAAS;QACP;MACA;MACA,IAAAC,aAAM,GAAA7D,OAAA,CAAA8D,OAAA;MAAA,IACRC,aAAA;MACF,IAAAC,kBAAA,YAAAA,CAAA;QAEA,IAAMD,aAAA,IAAgBrD,UAAQ;QAG9BqD,aAAI,OAAgB;QACpBjE,KAAM,aAAAA,KAAA,KAAqB,KAAM,aAAAA,KAAA;QAC/BuB,UAAI,GAAA4C,KAAA,WAAiBL,GAAA,EAAY;UACjC9D,KAAA,SAAgB,IAAAA,KAAA,uBAAAA,KAAA,2BAAA8D,GAAA;QAChB;MACA;MACE,KAAAC,aAAQ;QACV,IAACvD,MAAA,CAAAsC,UAAA;UACH,IAAAtC,MAAA,CAAAsC,UAAA,CAAAsB,SAAA;YAIK7C,UAAA,GAAA4C,KAAe,WAAAL,GAAA;cACd9D,KAAO,aAAYA,KAAA,uBAAAA,KAAA,2BAAA8D,GAAA;YACrB,EAAI;UAEF;YACEtD,MAAA,CAAAsC,UAAQ,CAAAC,EAAA,0BAA+B;cACxCxB,UAAA,GAAA4C,KAAA,WAAAL,GAAA;gBACH9D,KAAO,aAAAA,KAAA,uBAAAA,KAAA,2BAAA8D,GAAA;cACL;YACE;UACE;QAAuC,OACxC;UAAA,IACFO,aAAA,YAAAA,CAAA;YACH,IAAA7D,MAAA,CAAAsC,UAAA;cACF,IAAOtC,MAAA,CAAAsC,UAAA,CAAAsB,SAAA;gBAGC7C,UAAA,GAAA4C,KAAgB,WAAML,GAAA;kBACtB9D,KAAO,aAAYA,KAAA,uBAAAA,KAAA,2BAAA8D,GAAA;gBACrB,EAAI;cACF;gBACEtD,MAAA,CAAAsC,UAAQ,CAAAC,EAAA,0BAA+B;kBACxCxB,UAAA,GAAA4C,KAAA,WAAAL,GAAA;oBACH9D,KAAO,aAAAA,KAAA,uBAAAA,KAAA,2BAAA8D,GAAA;kBACL;gBACE;cACE;YAAuC,OACxC;cAAAQ,UACF,CAAAD,aAAA;YAAA;UACH;UAEAA,aAAA,EAAW;QAAiB;MAC9B,OACF;QACArE,KAAA,aAAcA,KAAA,uBAAAA,KAAA;MAAA;MAElBQ,MAAA,CAAOmD,WAAA,CAAAC,GAAA,iBAAAW,GAAA,EAAAC,GAAA,EAAAC,IAAA;QACL,IAAAC,sBAAQ,EAAAC,uBAAA,EAAAC,QAAA;QACV,IAAAC,eAAA,KAAAH,sBAAA,GAAAH,GAAA,CAAAjB,OAAA,4BAAAoB,sBAAA,uBAAAA,sBAAA,CAAAI,QAAA,qBAAAH,uBAAA,GAAAJ,GAAA,CAAAjB,OAAA,4BAAAqB,uBAAA,uBAAAA,uBAAA,CAAAG,QAAA;QAEA,IAAAf,aAAmB,IAAI,CAAAnD,UAAO,EAAK;UACjC,IAAMmE,SAAA;UAKN,IAAI,EAAAA,SAAA,GAAAR,GAAkB,CAAAlB,GAAA,UAAY,IAAA0B,SAAA,uBAAAA,SAAA,CAAAD,QAAA,gBAAAP,GAAA,CAAAlB,GAAA,kBAAAwB,eAAA;YAChCX,kBACW,EAAS;UAGlB;QAAmB;QAEvB,IAAAK,GAAA,CAAAlB,GAAA,kBAAAwB,eAAA;UAMAL,GAAI,CAAAQ,UAAY;UACdR,GAAA,CAAIS,GAAA,0BAAa;UACjB;QACA;QACF,MAAAL,QAAA,GAAAL,GAAA,CAAAlB,GAAA,cAAAuB,QAAA,uBAAAA,QAAA,CAAAE,QAAA,iBAAAlE,UAAA;UAGA,MAAQM,YAAK;QACX;QACF,IAAAL,UAAA;UAGA,IAAI;YACF,IAAIqE,SAAA;YAEF,IAAI,CAAAA,SAAS,GAAAX,GAAA,CAAAlB,GAAS,UAAY,IAAA6B,SAAA,uBAAAA,SAAA,CAAAJ,QAAA;cAChC,IAAAK,uBAAM,GAAAC,OAA0B,CAAAC,GAAQ,CAAAF,uBAAI;cAC5C,IAAIA,uBAAA,EAAyB;gBAC3B,IAAI5F,UAAA,CAAW4F,uBAAuB,GAAG;kBACvCnF,KAAA,KAAQ,QAAAA,KAAA,cAA6B,SAAAA,KAAA,8BAAyBmF,uBAAA;kBAC9D,IAAAG,OAAM,SAAU9F,QAAM,CAAA2F,uBAAS,SAAyB;kBACxDX,GAAA,CAAIe,SAAA,CAAU,gBAAgB,wBAAwB;kBACtDf,GAAA,CAAIS,GAAA,CAAIK,OAAO;kBACf;gBACF;cACF;YACF;YAEA,IAAIf,GAAA,CAAIlB,GAAA,KAAQ,uBAAuBkB,GAAA,CAAIiB,MAAA,KAAW,QAAQ;cAC5D,IAAIC,IAAA,GAAO;cAEXlB,GAAA,CAAIxB,EAAA,CAAG,QAAQ,UAAC2C,KAAU;gBACxBD,IAAA,IAAQC,KAAA,CAAMC,QAAA,CAAS;cACzB,CAAC;cAEDpB,GAAA,CAAIxB,EAAA,CAAG,OAAO,YAAM;gBAClB,IAAI;kBACF,IAAA6C,KAAM,GAAAC,IAAQ,CAAAC,KAAK,CAAAL,IAAM;kBAGzB/F,YAAA,CAAakG,KAAA,CAAMG,IAAI;kBACvBvB,GAAA,CAAIQ,UAAA,GAAa;kBACjBR,GAAA,CAAIS,GAAA,CAAI,8BAA8B;gBACxC,SAASe,CAAA,EAAG;kBACVhG,KAAA,KAAQ,QAAAA,KAAA,mBAAiC,CAAE,GAAAA,KAAA,iCAAAgG,CAAA;kBAC3CxB,GAAA,CAAIQ,UAAA,GAAa;kBACjB,OAAOR,GAAA,CAAIS,GAAA,CAAI,0BAA0B;gBAC3C;cACF,CAAC;cAED;YACF;YAGA,MAAOpE,UAAA,CAAmB0D,GAAA,EAAKC,GAAA,EAAKC,IAAI;UAC1C,SAASwB,KAAA,EAAO;YACdjG,KAAA,KAAQ,QAAAA,KAAA,cAA2B,KAAO,IAAAA,KAAA,4BAAAiG,KAAA;YAC1CxB,IAAA,CAAK;UACP;QACF,OAAO;UAELA,IAAA,CAAK;QACP;MACF,CAAC;IACH;EACF;AACF","ignoreList":[]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { createDebugger } from "@vxrn/debug";
|
|
2
2
|
import module from "node:module";
|
|
3
|
+
import { pathToFileURL } from "node:url";
|
|
3
4
|
const {
|
|
4
5
|
debug
|
|
5
6
|
} = createDebugger("vite-metro:projectImport");
|
|
@@ -7,7 +8,7 @@ async function projectImport(projectRoot, path) {
|
|
|
7
8
|
try {
|
|
8
9
|
const importPath = projectResolve(projectRoot, path);
|
|
9
10
|
debug?.(`Importing "${path}" from project root: "${projectRoot}" at "${importPath}"`);
|
|
10
|
-
const out = await import(importPath);
|
|
11
|
+
const out = await import(pathToFileURL(importPath).href);
|
|
11
12
|
if (out?.default?.default) {
|
|
12
13
|
return {
|
|
13
14
|
...out,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createDebugger","module","debug","projectImport","projectRoot","path","importPath","projectResolve","out","default","e","Error","message","require2","createRequire","resolve","paths"],"sources":["../../../src/utils/projectImport.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,cAAA,QAAsB;AAC/B,OAAOC,MAAA,MAAY;
|
|
1
|
+
{"version":3,"names":["createDebugger","module","pathToFileURL","debug","projectImport","projectRoot","path","importPath","projectResolve","out","href","default","e","Error","message","require2","createRequire","resolve","paths"],"sources":["../../../src/utils/projectImport.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,cAAA,QAAsB;AAC/B,OAAOC,MAAA,MAAY;AACnB,SAASC,aAAA,QAAqB;AAEvB,MAAM;EAAEC;AAAM,IAAIH,cAAA,CAAe,0BAA0B;AAQlE,eAAsBI,cACpBC,WAAA,EACAC,IAAA,EACY;EACZ,IAAI;IACF,MAAMC,UAAA,GAAaC,cAAA,CAAeH,WAAA,EAAaC,IAAI;IAEnDH,KAAA,GAAQ,cAAcG,IAAI,yBAAyBD,WAAW,SAASE,UAAU,GAAG;IAEpF,MAAME,GAAA,GAAM,MAAM,OAAOP,aAAA,CAAcK,UAAU,EAAEG,IAAA;IAGnD,IAAID,GAAA,EAAKE,OAAA,EAASA,OAAA,EAAS;MACzB,OAAO;QACL,GAAGF,GAAA;QACHE,OAAA,EAASF,GAAA,CAAIE,OAAA,CAAQA;MACvB;IACF;IAEA,OAAOF,GAAA;EACT,SAASG,CAAA,EAAG;IACV,IAAIA,CAAA,YAAaC,KAAA,EAAO;MACtBD,CAAA,CAAEE,OAAA,GAAU,wCAAwCR,IAAI,uBAAuBD,WAAW,MAAMO,CAAA,CAAEE,OAAO;IAC3G;IAEA,MAAMF,CAAA;EACR;AACF;AAEO,SAASJ,eAAeH,WAAA,EAAqBC,IAAA,EAAsB;EACxE,MAAMS,QAAA,GAAUd,MAAA,CAAOe,aAAA,CAAcX,WAAW;EAChD,MAAME,UAAA,GAAaQ,QAAA,CAAQE,OAAA,CAAQX,IAAA,EAAM;IAAEY,KAAA,EAAO,CAACb,WAAW;EAAE,CAAC;EACjE,OAAOE,UAAA;AACT","ignoreList":[]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { createDebugger } from "@vxrn/debug";
|
|
2
2
|
import module from "module";
|
|
3
|
+
import { pathToFileURL } from "url";
|
|
3
4
|
function _instanceof(left, right) {
|
|
4
5
|
if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
|
|
5
6
|
return !!right[Symbol.hasInstance](left);
|
|
@@ -15,7 +16,7 @@ async function projectImport(projectRoot, path) {
|
|
|
15
16
|
var _out_default;
|
|
16
17
|
var importPath = projectResolve(projectRoot, path);
|
|
17
18
|
debug === null || debug === void 0 ? void 0 : debug(`Importing "${path}" from project root: "${projectRoot}" at "${importPath}"`);
|
|
18
|
-
var out = await import(importPath);
|
|
19
|
+
var out = await import(pathToFileURL(importPath).href);
|
|
19
20
|
if (out === null || out === void 0 ? void 0 : (_out_default = out.default) === null || _out_default === void 0 ? void 0 : _out_default.default) {
|
|
20
21
|
return {
|
|
21
22
|
...out,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createDebugger","module","_instanceof","left","right","Symbol","hasInstance","debug","projectImport","projectRoot","path","_out_default","importPath","projectResolve","out","default","e","Error","message"],"sources":["../../../src/utils/projectImport.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,cAAA,QAAsB;AAC/B,OAAOC,MAAA,MAAY;
|
|
1
|
+
{"version":3,"names":["createDebugger","module","pathToFileURL","_instanceof","left","right","Symbol","hasInstance","debug","projectImport","projectRoot","path","_out_default","importPath","projectResolve","out","href","default","e","Error","message"],"sources":["../../../src/utils/projectImport.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,cAAA,QAAsB;AAC/B,OAAOC,MAAA,MAAY;AACnB,SAASC,aAAA,QAAqB;AAEvB,SAAQC,WAAUA,CAAAC,IAAA,EAAAC,KAAA,EAAe;EAQxC,IAAAA,KAAA,IAAsB,eACpBC,MAAA,gBAEY,IAAAD,KAAA,CAAAC,MAAA,CAAAC,WAAA;IACZ,OAAI,EAAAF,KAAA,CAAAC,MAAA,CAAAC,WAAA,EAAAH,IAAA;EACF;IAEA,OAAAA,IAAQ,YAAcC,KAAI;EAE1B;AAGA;AACE;EAAAG;AAAA,CAAO,GAAAR,cAAA;AAAA,eACFS,cAAAC,WAAA,EAAAC,IAAA;EAAA;IACkB,IACvBC,YAAA;IACF,IAAAC,UAAA,GAAAC,cAAA,CAAAJ,WAAA,EAAAC,IAAA;IAEAH,KAAA,KAAO,QAAAA,KAAA,uBAAAA,KAAA,eAAAG,IAAA,yBAAAD,WAAA,SAAAG,UAAA;IACT,IAAAE,GAAS,GAAG,aAAAb,aAAA,CAAAW,UAAA,EAAAG,IAAA;IACV,IAAID,GAAA,aAAaA,GAAA,KAAO,mBAAAH,YAAA,GAAAG,GAAA,CAAAE,OAAA,cAAAL,YAAA,uBAAAA,YAAA,CAAAK,OAAA;MACtB,OAAE;QACJ,GAAAF,GAAA;QAEAE,OAAM,EAAAF,GAAA,CAAAE,OAAA,CAAAA;MACR;IACF;IAEO,OAASF,GAAA;EACd,SAAMG,CAAA;IACN,IAAMf,WAAA,CAAAe,CAAa,EAAAC,KAAA,GAAQ;MAC3BD,CAAA,CAAAE,OAAO,2CAAAT,IAAA,uBAAAD,WAAA,MAAAQ,CAAA,CAAAE,OAAA;IACT","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vxrn/vite-plugin-metro",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.16.0",
|
|
4
4
|
"sideEffects": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/cjs",
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
"@babel/core": "^7.28.5",
|
|
62
62
|
"@babel/helper-plugin-utils": "^7.27.1",
|
|
63
63
|
"@babel/types": "^7.28.5",
|
|
64
|
-
"@vxrn/debug": "1.
|
|
64
|
+
"@vxrn/debug": "1.16.0",
|
|
65
65
|
"babel-preset-expo": "*",
|
|
66
66
|
"launch-editor": "^2.10.0",
|
|
67
67
|
"micromatch": "^4.0.8",
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import type { ResolvedConfig } from 'vite'
|
|
2
|
+
import { spawn } from 'node:child_process'
|
|
3
|
+
import { resolve } from 'node:path'
|
|
2
4
|
import micromatch from 'micromatch'
|
|
3
5
|
|
|
4
6
|
// For Metro and Expo, we only import types here.
|
|
@@ -15,6 +17,48 @@ import type { ExtraConfig, MetroConfigExtended } from './types'
|
|
|
15
17
|
|
|
16
18
|
type MetroInputConfig = Parameters<typeof loadConfigT>[1]
|
|
17
19
|
|
|
20
|
+
const WATCHMAN_PROBE_TIMEOUT_MS = 2000
|
|
21
|
+
const watchmanResponsivePromises = new Map<string, Promise<boolean>>()
|
|
22
|
+
let didWarnAboutWatchmanFallback = false
|
|
23
|
+
|
|
24
|
+
async function isWatchmanResponsive(projectRoot: string) {
|
|
25
|
+
let probe = watchmanResponsivePromises.get(projectRoot)
|
|
26
|
+
if (probe) {
|
|
27
|
+
return probe
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
probe = new Promise<boolean>((resolve) => {
|
|
31
|
+
let settled = false
|
|
32
|
+
|
|
33
|
+
const finish = (value: boolean) => {
|
|
34
|
+
if (settled) return
|
|
35
|
+
settled = true
|
|
36
|
+
clearTimeout(timeout)
|
|
37
|
+
resolve(value)
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
const child = spawn('watchman', ['watch-project', projectRoot], {
|
|
41
|
+
stdio: 'ignore',
|
|
42
|
+
})
|
|
43
|
+
|
|
44
|
+
const timeout = setTimeout(() => {
|
|
45
|
+
child.kill()
|
|
46
|
+
finish(false)
|
|
47
|
+
}, WATCHMAN_PROBE_TIMEOUT_MS)
|
|
48
|
+
|
|
49
|
+
child.once('error', () => {
|
|
50
|
+
finish(false)
|
|
51
|
+
})
|
|
52
|
+
|
|
53
|
+
child.once('exit', (code) => {
|
|
54
|
+
finish(code === 0)
|
|
55
|
+
})
|
|
56
|
+
})
|
|
57
|
+
|
|
58
|
+
watchmanResponsivePromises.set(projectRoot, probe)
|
|
59
|
+
return probe
|
|
60
|
+
}
|
|
61
|
+
|
|
18
62
|
export async function getMetroConfigFromViteConfig(
|
|
19
63
|
config: ResolvedConfig,
|
|
20
64
|
metroPluginOptions: MetroPluginOptions
|
|
@@ -23,9 +67,17 @@ export async function getMetroConfigFromViteConfig(
|
|
|
23
67
|
// prefer argv.projectRoot (user override) over config.root (vite resolved)
|
|
24
68
|
// this is needed for monorepo setups where config.root may resolve to
|
|
25
69
|
// the monorepo root instead of the app subdirectory
|
|
26
|
-
const projectRoot = metroPluginOptions.argv?.projectRoot ?? config.root
|
|
70
|
+
const projectRoot = resolve(metroPluginOptions.argv?.projectRoot ?? config.root)
|
|
27
71
|
const { mainModuleName, argv, defaultConfigOverrides, watchman, excludeModules } =
|
|
28
72
|
metroPluginOptions
|
|
73
|
+
const useWatchman = watchman ?? (await isWatchmanResponsive(projectRoot))
|
|
74
|
+
|
|
75
|
+
if (watchman === undefined && !useWatchman && !didWarnAboutWatchmanFallback) {
|
|
76
|
+
didWarnAboutWatchmanFallback = true
|
|
77
|
+
console.warn(
|
|
78
|
+
'[vxrn/metro] Watchman is unavailable or unresponsive; falling back to Node file watching.'
|
|
79
|
+
)
|
|
80
|
+
}
|
|
29
81
|
|
|
30
82
|
const { loadConfig } = await projectImport<{
|
|
31
83
|
loadConfig: typeof loadConfigT
|
|
@@ -112,7 +164,7 @@ export async function getMetroConfigFromViteConfig(
|
|
|
112
164
|
..._defaultConfig,
|
|
113
165
|
resolver: {
|
|
114
166
|
..._defaultConfig?.resolver,
|
|
115
|
-
|
|
167
|
+
useWatchman,
|
|
116
168
|
blockList,
|
|
117
169
|
sourceExts: ['js', 'jsx', 'json', 'ts', 'tsx', 'mjs', 'cjs'], // `one` related packages are using `.mjs` extensions. This somehow fixes `.native` files not being resolved correctly when `.mjs` files are present.
|
|
118
170
|
resolveRequest: (context, moduleName, platform) => {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { existsSync } from 'node:fs'
|
|
2
2
|
import { readFile } from 'node:fs/promises'
|
|
3
|
+
import { resolve } from 'node:path'
|
|
3
4
|
import type { PluginOption } from 'vite'
|
|
4
5
|
import launchEditor from 'launch-editor'
|
|
5
6
|
import { createDebugger } from '@vxrn/debug'
|
|
@@ -84,7 +85,7 @@ export function metroPlugin(options: MetroPluginOptions = {}): PluginOption {
|
|
|
84
85
|
// },
|
|
85
86
|
|
|
86
87
|
configureServer(server) {
|
|
87
|
-
const
|
|
88
|
+
const projectRoot = resolve(server.config.root)
|
|
88
89
|
|
|
89
90
|
let metroReady = false
|
|
90
91
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { createDebugger } from '@vxrn/debug'
|
|
2
2
|
import module from 'node:module'
|
|
3
|
+
import { pathToFileURL } from 'node:url'
|
|
3
4
|
|
|
4
5
|
export const { debug } = createDebugger('vite-metro:projectImport')
|
|
5
6
|
|
|
@@ -18,7 +19,7 @@ export async function projectImport<T = any>(
|
|
|
18
19
|
|
|
19
20
|
debug?.(`Importing "${path}" from project root: "${projectRoot}" at "${importPath}"`)
|
|
20
21
|
|
|
21
|
-
const out = await import(importPath)
|
|
22
|
+
const out = await import(pathToFileURL(importPath).href)
|
|
22
23
|
|
|
23
24
|
// somewhat hacky fix but for some reason in new takeout repo its double-wrapping default export
|
|
24
25
|
if (out?.default?.default) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getMetroConfigFromViteConfig.d.ts","sourceRoot":"","sources":["../../src/metro-config/getMetroConfigFromViteConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"getMetroConfigFromViteConfig.d.ts","sourceRoot":"","sources":["../../src/metro-config/getMetroConfigFromViteConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,MAAM,CAAA;AAc1C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAChE,OAAO,KAAK,EAAe,mBAAmB,EAAE,MAAM,SAAS,CAAA;AA8C/D,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,cAAc,EACtB,kBAAkB,EAAE,kBAAkB,GACrC,OAAO,CAAC,mBAAmB,CAAC,CA+K9B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metroPlugin.d.ts","sourceRoot":"","sources":["../../src/plugins/metroPlugin.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"metroPlugin.d.ts","sourceRoot":"","sources":["../../src/plugins/metroPlugin.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AAWxC,OAAO,KAAK,EAAE,UAAU,IAAI,WAAW,EAAE,MAAM,OAAO,CAAA;AAMtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAIjE,KAAK,kBAAkB,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;AAC3D,KAAK,gBAAgB,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;AAEzD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,CAAC,EAAE,kBAAkB,CAAA;IACzB,sBAAsB,CAAC,EACnB,gBAAgB,GAChB,CAAC,CAAC,aAAa,EAAE,gBAAgB,KAAK,gBAAgB,CAAC,CAAA;IAC3D;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;;;;;;;;OAUG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,kDAAkD;IAClD,WAAW,CAAC,EAAE,gBAAgB,CAAA;IAC9B,oBAAoB,CAAC,EAAE,CAAC,aAAa,EAAE,gBAAgB,KAAK,gBAAgB,CAAA;IAC5E;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;CAC3B,CAAA;AAED,wBAAgB,WAAW,CAAC,OAAO,GAAE,kBAAuB,GAAG,YAAY,CA2Q1E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projectImport.d.ts","sourceRoot":"","sources":["../../src/utils/projectImport.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"projectImport.d.ts","sourceRoot":"","sources":["../../src/utils/projectImport.ts"],"names":[],"mappings":"AAIA,eAAO,MAAQ,KAAK;;cAA+C,CAAA;AAEnE;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,CAAC,GAAG,GAAG,EACzC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,CAAC,CAAC,CAwBZ;AAED,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAIxE"}
|