@vxrn/vite-plugin-metro 2.0.0-beta.99.1 → 2.6.1
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
|
@@ -37,7 +37,7 @@ module.exports = __toCommonJS(exit_exports);
|
|
|
37
37
|
var import_child_process = require("child_process");
|
|
38
38
|
var import_process = __toESM(require("process"), 1);
|
|
39
39
|
var import_picocolors = __toESM(require("picocolors"), 1);
|
|
40
|
-
var debug = function() {
|
|
40
|
+
var debug = function debug2() {
|
|
41
41
|
for (var _len = arguments.length, _ = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
42
42
|
_[_key] = arguments[_key];
|
|
43
43
|
}
|
|
@@ -244,7 +244,7 @@ function tryWarnActiveProcesses() {
|
|
|
244
244
|
function guardAsync(fn) {
|
|
245
245
|
var invoked = false;
|
|
246
246
|
var returnValue;
|
|
247
|
-
var guard = async function() {
|
|
247
|
+
var guard = async function guard2() {
|
|
248
248
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
249
249
|
args[_key] = arguments[_key];
|
|
250
250
|
}
|
|
@@ -37,7 +37,7 @@ module.exports = __toCommonJS(exit_exports);
|
|
|
37
37
|
var import_child_process = require("child_process");
|
|
38
38
|
var import_process = __toESM(require("process"), 1);
|
|
39
39
|
var import_picocolors = __toESM(require("picocolors"), 1);
|
|
40
|
-
var debug = function() {
|
|
40
|
+
var debug = function debug2() {
|
|
41
41
|
for (var _len = arguments.length, _ = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
42
42
|
_[_key] = arguments[_key];
|
|
43
43
|
}
|
|
@@ -244,7 +244,7 @@ function tryWarnActiveProcesses() {
|
|
|
244
244
|
function guardAsync(fn) {
|
|
245
245
|
var invoked = false;
|
|
246
246
|
var returnValue;
|
|
247
|
-
var guard = async function() {
|
|
247
|
+
var guard = async function guard2() {
|
|
248
248
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
249
249
|
args[_key] = arguments[_key];
|
|
250
250
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exit.native.js","names":[],"sources":["cjs/utils/exit.native.js"],"sourcesContent":["\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar exit_exports = {};\n__export(exit_exports, {\n ensureProcessExitsAfterDelay: () => ensureProcessExitsAfterDelay,\n guardAsync: () => guardAsync,\n installExitHooks: () => installExitHooks,\n warn: () => warn\n});\nmodule.exports = __toCommonJS(exit_exports);\nvar import_child_process = require(\"child_process\");\nvar import_process = __toESM(require(\"process\"), 1);\nvar import_picocolors = __toESM(require(\"picocolors\"), 1);\nvar debug = function() {\n for (var _len = arguments.length, _ = new Array(_len), _key = 0; _key < _len; _key++) {\n _[_key] = arguments[_key];\n }\n};\nvar PRE_EXIT_SIGNALS = [\n \"SIGHUP\",\n \"SIGINT\",\n \"SIGTERM\",\n \"SIGBREAK\"\n];\nvar queue = [];\nvar unsubscribe = null;\nfunction installExitHooks(asyncExitHook) {\n if (!queue.length) {\n unsubscribe = attachMasterListener();\n }\n queue.push(asyncExitHook);\n return function() {\n var index = queue.indexOf(asyncExitHook);\n if (index >= 0) {\n queue.splice(index, 1);\n }\n if (!queue.length) {\n unsubscribe === null || unsubscribe === void 0 ? void 0 : unsubscribe();\n }\n };\n}\nfunction createExitHook(signal) {\n return guardAsync(async function() {\n var _process_exitCode;\n debug(`pre-exit (signal: ${signal}, queue length: ${queue.length})`);\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = Object.entries(queue)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var [index, hookAsync] = _step.value;\n try {\n await hookAsync(signal);\n } catch (error) {\n debug(`Error in exit hook: %O (queue: ${index})`, error);\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n debug(`post-exit (code: ${(_process_exitCode = import_process.default.exitCode) !== null && _process_exitCode !== void 0 ? _process_exitCode : 0})`);\n import_process.default.exit();\n });\n}\nfunction attachMasterListener() {\n var hooks = [];\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = PRE_EXIT_SIGNALS[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var signal = _step.value;\n var hook = createExitHook(signal);\n hooks.push([\n signal,\n hook\n ]);\n import_process.default.on(signal, hook);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return function() {\n var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n try {\n for (var _iterator2 = hooks[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var [signal2, hook2] = _step2.value;\n import_process.default.removeListener(signal2, hook2);\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n };\n}\nfunction ensureProcessExitsAfterDelay() {\n var waitUntilExitMs = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 1e4, startedAtMs = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : Date.now();\n var expectedResources = [\n import_process.default.stdout.isTTY ? \"TTYWrap\" : \"PipeWrap\",\n import_process.default.stderr.isTTY ? \"TTYWrap\" : \"PipeWrap\",\n import_process.default.stdin.isTTY ? \"TTYWrap\" : \"PipeWrap\"\n ];\n var activeResources = import_process.default.getActiveResourcesInfo();\n var unexpectedActiveResources = activeResources.filter(function(activeResource) {\n var index = expectedResources.indexOf(activeResource);\n if (index >= 0) {\n expectedResources.splice(index, 1);\n return false;\n }\n return true;\n });\n var canExitProcess = !unexpectedActiveResources.length;\n if (canExitProcess) {\n return debug(\"no active resources detected, process can safely exit\");\n }\n debug(`process is trying to exit, but is stuck on unexpected active resources:`, unexpectedActiveResources);\n var elapsedTime = Date.now() - startedAtMs;\n var killedChildren = killActiveChildProcesses(elapsedTime < 200 ? \"SIGTERM\" : \"SIGKILL\");\n if (killedChildren > 0) {\n var recheck = setTimeout(function() {\n clearTimeout(recheck);\n ensureProcessExitsAfterDelay(waitUntilExitMs, startedAtMs);\n }, 50);\n return;\n }\n if (elapsedTime > waitUntilExitMs) {\n debug(\"active handles detected past the exit delay, forcefully exiting:\", activeResources);\n tryWarnActiveProcesses();\n return import_process.default.exit(0);\n }\n var timeoutId = setTimeout(function() {\n clearTimeout(timeoutId);\n ensureProcessExitsAfterDelay(waitUntilExitMs, startedAtMs);\n }, 100);\n}\nfunction killActiveChildProcesses(signal) {\n try {\n var children = import_process.default._getActiveHandles().filter(function(handle) {\n return handle instanceof import_child_process.ChildProcess;\n });\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = children[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var child = _step.value;\n try {\n child.kill(signal);\n } catch (err) {\n debug(\"failed to kill child process:\", err);\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return children.length;\n } catch (err) {\n debug(\"failed to enumerate active child processes:\", err);\n return 0;\n }\n}\nfunction tryWarnActiveProcesses() {\n var activeProcesses = [];\n try {\n var children = import_process.default._getActiveHandles().filter(function(handle) {\n return handle instanceof import_child_process.ChildProcess;\n });\n if (children.length) {\n activeProcesses = children.map(function(child) {\n return child.spawnargs.join(\" \");\n });\n }\n } catch (error) {\n debug(\"failed to get active process information:\", error);\n }\n if (!activeProcesses.length) {\n warn(\"Something prevented the command from exiting, forcefully exiting now.\");\n } else {\n var singularOrPlural = activeProcesses.length === 1 ? \"1 process\" : `${activeProcesses.length} processes`;\n warn(`Detected ${singularOrPlural} preventing process from exiting, forcefully exiting now.`);\n warn(\" - \" + activeProcesses.join(\"\\n - \"));\n }\n}\nfunction guardAsync(fn) {\n var invoked = false;\n var returnValue;\n var guard = async function() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (!invoked) {\n invoked = true;\n returnValue = await fn(...args);\n }\n return returnValue;\n };\n return guard;\n}\nfunction warn() {\n for (var _len = arguments.length, message = new Array(_len), _key = 0; _key < _len; _key++) {\n message[_key] = arguments[_key];\n }\n console.warn(...message.map(function(value) {\n return import_picocolors.default.yellow(value);\n }));\n}\n//# sourceMappingURL=exit.js.map\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"exit.native.js","names":[],"sources":["cjs/utils/exit.native.js"],"sourcesContent":["\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar exit_exports = {};\n__export(exit_exports, {\n ensureProcessExitsAfterDelay: () => ensureProcessExitsAfterDelay,\n guardAsync: () => guardAsync,\n installExitHooks: () => installExitHooks,\n warn: () => warn\n});\nmodule.exports = __toCommonJS(exit_exports);\nvar import_child_process = require(\"child_process\");\nvar import_process = __toESM(require(\"process\"), 1);\nvar import_picocolors = __toESM(require(\"picocolors\"), 1);\nvar debug = function debug2() {\n for (var _len = arguments.length, _ = new Array(_len), _key = 0; _key < _len; _key++) {\n _[_key] = arguments[_key];\n }\n};\nvar PRE_EXIT_SIGNALS = [\n \"SIGHUP\",\n \"SIGINT\",\n \"SIGTERM\",\n \"SIGBREAK\"\n];\nvar queue = [];\nvar unsubscribe = null;\nfunction installExitHooks(asyncExitHook) {\n if (!queue.length) {\n unsubscribe = attachMasterListener();\n }\n queue.push(asyncExitHook);\n return function() {\n var index = queue.indexOf(asyncExitHook);\n if (index >= 0) {\n queue.splice(index, 1);\n }\n if (!queue.length) {\n unsubscribe === null || unsubscribe === void 0 ? void 0 : unsubscribe();\n }\n };\n}\nfunction createExitHook(signal) {\n return guardAsync(async function() {\n var _process_exitCode;\n debug(`pre-exit (signal: ${signal}, queue length: ${queue.length})`);\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = Object.entries(queue)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var [index, hookAsync] = _step.value;\n try {\n await hookAsync(signal);\n } catch (error) {\n debug(`Error in exit hook: %O (queue: ${index})`, error);\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n debug(`post-exit (code: ${(_process_exitCode = import_process.default.exitCode) !== null && _process_exitCode !== void 0 ? _process_exitCode : 0})`);\n import_process.default.exit();\n });\n}\nfunction attachMasterListener() {\n var hooks = [];\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = PRE_EXIT_SIGNALS[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var signal = _step.value;\n var hook = createExitHook(signal);\n hooks.push([\n signal,\n hook\n ]);\n import_process.default.on(signal, hook);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return function() {\n var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n try {\n for (var _iterator2 = hooks[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var [signal2, hook2] = _step2.value;\n import_process.default.removeListener(signal2, hook2);\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n };\n}\nfunction ensureProcessExitsAfterDelay() {\n var waitUntilExitMs = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 1e4, startedAtMs = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : Date.now();\n var expectedResources = [\n import_process.default.stdout.isTTY ? \"TTYWrap\" : \"PipeWrap\",\n import_process.default.stderr.isTTY ? \"TTYWrap\" : \"PipeWrap\",\n import_process.default.stdin.isTTY ? \"TTYWrap\" : \"PipeWrap\"\n ];\n var activeResources = import_process.default.getActiveResourcesInfo();\n var unexpectedActiveResources = activeResources.filter(function(activeResource) {\n var index = expectedResources.indexOf(activeResource);\n if (index >= 0) {\n expectedResources.splice(index, 1);\n return false;\n }\n return true;\n });\n var canExitProcess = !unexpectedActiveResources.length;\n if (canExitProcess) {\n return debug(\"no active resources detected, process can safely exit\");\n }\n debug(`process is trying to exit, but is stuck on unexpected active resources:`, unexpectedActiveResources);\n var elapsedTime = Date.now() - startedAtMs;\n var killedChildren = killActiveChildProcesses(elapsedTime < 200 ? \"SIGTERM\" : \"SIGKILL\");\n if (killedChildren > 0) {\n var recheck = setTimeout(function() {\n clearTimeout(recheck);\n ensureProcessExitsAfterDelay(waitUntilExitMs, startedAtMs);\n }, 50);\n return;\n }\n if (elapsedTime > waitUntilExitMs) {\n debug(\"active handles detected past the exit delay, forcefully exiting:\", activeResources);\n tryWarnActiveProcesses();\n return import_process.default.exit(0);\n }\n var timeoutId = setTimeout(function() {\n clearTimeout(timeoutId);\n ensureProcessExitsAfterDelay(waitUntilExitMs, startedAtMs);\n }, 100);\n}\nfunction killActiveChildProcesses(signal) {\n try {\n var children = import_process.default._getActiveHandles().filter(function(handle) {\n return handle instanceof import_child_process.ChildProcess;\n });\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = children[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var child = _step.value;\n try {\n child.kill(signal);\n } catch (err) {\n debug(\"failed to kill child process:\", err);\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return children.length;\n } catch (err) {\n debug(\"failed to enumerate active child processes:\", err);\n return 0;\n }\n}\nfunction tryWarnActiveProcesses() {\n var activeProcesses = [];\n try {\n var children = import_process.default._getActiveHandles().filter(function(handle) {\n return handle instanceof import_child_process.ChildProcess;\n });\n if (children.length) {\n activeProcesses = children.map(function(child) {\n return child.spawnargs.join(\" \");\n });\n }\n } catch (error) {\n debug(\"failed to get active process information:\", error);\n }\n if (!activeProcesses.length) {\n warn(\"Something prevented the command from exiting, forcefully exiting now.\");\n } else {\n var singularOrPlural = activeProcesses.length === 1 ? \"1 process\" : `${activeProcesses.length} processes`;\n warn(`Detected ${singularOrPlural} preventing process from exiting, forcefully exiting now.`);\n warn(\" - \" + activeProcesses.join(\"\\n - \"));\n }\n}\nfunction guardAsync(fn) {\n var invoked = false;\n var returnValue;\n var guard = async function guard2() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (!invoked) {\n invoked = true;\n returnValue = await fn(...args);\n }\n return returnValue;\n };\n return guard;\n}\nfunction warn() {\n for (var _len = arguments.length, message = new Array(_len), _key = 0; _key < _len; _key++) {\n message[_key] = arguments[_key];\n }\n console.warn(...message.map(function(value) {\n return import_picocolors.default.yellow(value);\n }));\n}\n//# sourceMappingURL=exit.js.map\n"],"mappings":"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"}
|
|
@@ -13,12 +13,23 @@ const expoEnvAdditionalExts = [
|
|
|
13
13
|
"local",
|
|
14
14
|
"development"
|
|
15
15
|
];
|
|
16
|
+
const metroSourceExts = [
|
|
17
|
+
"js",
|
|
18
|
+
"jsx",
|
|
19
|
+
"json",
|
|
20
|
+
"ts",
|
|
21
|
+
"tsx",
|
|
22
|
+
"mjs",
|
|
23
|
+
"cjs",
|
|
24
|
+
"swift",
|
|
25
|
+
"kt"
|
|
26
|
+
];
|
|
16
27
|
const watchmanResponsivePromises = /* @__PURE__ */ new Map();
|
|
17
28
|
let didWarnAboutWatchmanFallback = false;
|
|
18
29
|
const rootIndexBundleRequestPattern = /^(https?:\/\/[^/]+)?\/index\.bundle(?=$|[?#])/;
|
|
19
30
|
const expoVirtualEntryBundleRequestPattern = /^(https?:\/\/[^/]+)?\/\.expo\/\.virtual-metro-entry\.bundle(?=$|[?#])/;
|
|
20
31
|
const metroWatchExclusions = [
|
|
21
|
-
|
|
32
|
+
/^(?!.*[/\\]node_modules[/\\]).*[/\\]dist[/\\](?:static|server)(?:[/\\]|$)/,
|
|
22
33
|
/[/\\]tests[/\\][^/\\]+[/\\]dist(?:[/\\]|$)/,
|
|
23
34
|
/[/\\]\.docker(?:[/\\]|$)/,
|
|
24
35
|
/[/\\]\.vite(?:[/\\]|$)/,
|
|
@@ -41,7 +52,14 @@ function enforceWorkspaceVisibility(config, projectRoot) {
|
|
|
41
52
|
};
|
|
42
53
|
}
|
|
43
54
|
function getReactNativeDefaultConfig(projectRoot) {
|
|
44
|
-
|
|
55
|
+
const config = enforceWorkspaceVisibility(getDefaultConfig(projectRoot), projectRoot);
|
|
56
|
+
return {
|
|
57
|
+
...config,
|
|
58
|
+
resolver: {
|
|
59
|
+
...config.resolver,
|
|
60
|
+
assetExts: [.../* @__PURE__ */ new Set([...config.resolver?.assetExts ?? [], "glb"])]
|
|
61
|
+
}
|
|
62
|
+
};
|
|
45
63
|
}
|
|
46
64
|
function getPlatformFromBundleUrl(url) {
|
|
47
65
|
const platform = url.match(/[?&]platform=(ios|android)(?:&|$)/)?.[1];
|
|
@@ -65,17 +83,28 @@ function bareMainModuleForRequest(moduleName, mainModuleName) {
|
|
|
65
83
|
if (moduleName === `./${mainModuleName}`) return mainModuleName;
|
|
66
84
|
return void 0;
|
|
67
85
|
}
|
|
68
|
-
function
|
|
69
|
-
|
|
70
|
-
|
|
86
|
+
function enforcePackageResolution(config, mainModuleName, dedupe, projectRoot) {
|
|
87
|
+
const dedupedPackages = new Set(dedupe);
|
|
88
|
+
if ((!mainModuleName || !isBareSpecifier(mainModuleName)) && !dedupedPackages.size) {
|
|
89
|
+
return config;
|
|
90
|
+
}
|
|
91
|
+
const rootOrigin = resolve(projectRoot, "package.json");
|
|
92
|
+
const innerResolveRequest = config.resolver?.resolveRequest;
|
|
71
93
|
return {
|
|
72
94
|
...config,
|
|
73
95
|
resolver: {
|
|
74
|
-
...config
|
|
96
|
+
...config.resolver,
|
|
75
97
|
resolveRequest: (context, moduleName, platform) => {
|
|
76
98
|
const bareMain = bareMainModuleForRequest(moduleName, mainModuleName);
|
|
99
|
+
const request = bareMain ?? moduleName;
|
|
100
|
+
const packageEnd = request.indexOf("/", request.startsWith("@") ? request.indexOf("/") + 1 : 0);
|
|
101
|
+
const packageName = packageEnd === -1 ? request : request.slice(0, packageEnd);
|
|
102
|
+
const resolutionContext = isBareSpecifier(request) && dedupedPackages.has(packageName) ? {
|
|
103
|
+
...context,
|
|
104
|
+
originModulePath: rootOrigin
|
|
105
|
+
} : context;
|
|
77
106
|
const resolveRequest = innerResolveRequest || context.resolveRequest;
|
|
78
|
-
return resolveRequest(
|
|
107
|
+
return resolveRequest(resolutionContext, request, platform);
|
|
79
108
|
}
|
|
80
109
|
}
|
|
81
110
|
};
|
|
@@ -158,15 +187,7 @@ async function buildMetroConfigInputFromViteConfig(config, metroPluginOptions) {
|
|
|
158
187
|
..._defaultConfig?.resolver,
|
|
159
188
|
useWatchman,
|
|
160
189
|
blockList,
|
|
161
|
-
sourceExts:
|
|
162
|
-
"js",
|
|
163
|
-
"jsx",
|
|
164
|
-
"json",
|
|
165
|
-
"ts",
|
|
166
|
-
"tsx",
|
|
167
|
-
"mjs",
|
|
168
|
-
"cjs"
|
|
169
|
-
],
|
|
190
|
+
sourceExts: metroSourceExts,
|
|
170
191
|
resolveRequest: (context, moduleName, platform) => {
|
|
171
192
|
const origResolveRequestFn = _defaultConfig?.resolver?.resolveRequest || context.resolveRequest;
|
|
172
193
|
if (excludeModules && excludeModules.length > 0) {
|
|
@@ -197,7 +218,7 @@ async function buildMetroConfigInputFromViteConfig(config, metroPluginOptions) {
|
|
|
197
218
|
...typeof defaultConfigOverrides === "function" ? defaultConfigOverrides(defaultConfig) : defaultConfigOverrides
|
|
198
219
|
};
|
|
199
220
|
return {
|
|
200
|
-
defaultConfig:
|
|
221
|
+
defaultConfig: enforcePackageResolution(enforceWorkspaceVisibility(merged, projectRoot), mainModuleName, config.resolve?.dedupe ?? [], projectRoot),
|
|
201
222
|
projectRoot,
|
|
202
223
|
extraConfig
|
|
203
224
|
};
|
|
@@ -241,15 +262,7 @@ async function getMetroConfigFromViteConfig(config, metroPluginOptions) {
|
|
|
241
262
|
..._defaultConfig?.resolver,
|
|
242
263
|
useWatchman,
|
|
243
264
|
blockList,
|
|
244
|
-
sourceExts:
|
|
245
|
-
"js",
|
|
246
|
-
"jsx",
|
|
247
|
-
"json",
|
|
248
|
-
"ts",
|
|
249
|
-
"tsx",
|
|
250
|
-
"mjs",
|
|
251
|
-
"cjs"
|
|
252
|
-
],
|
|
265
|
+
sourceExts: metroSourceExts,
|
|
253
266
|
resolveRequest: (context, moduleName, platform) => {
|
|
254
267
|
const origResolveRequestFn = _defaultConfig?.resolver?.resolveRequest || context.resolveRequest;
|
|
255
268
|
if (excludeModules && excludeModules.length > 0) {
|
|
@@ -285,7 +298,7 @@ async function getMetroConfigFromViteConfig(config, metroPluginOptions) {
|
|
|
285
298
|
...typeof defaultConfigOverrides === "function" ? defaultConfigOverrides(defaultConfig) : defaultConfigOverrides
|
|
286
299
|
});
|
|
287
300
|
return {
|
|
288
|
-
...
|
|
301
|
+
...enforcePackageResolution(enforceWorkspaceVisibility(metroConfig, projectRoot), mainModuleName, config.resolve?.dedupe ?? [], projectRoot),
|
|
289
302
|
...extraConfig
|
|
290
303
|
};
|
|
291
304
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getMetroConfigFromViteConfig.js","names":[],"sources":["esm/metro-config/getMetroConfigFromViteConfig.js"],"sourcesContent":["import { searchForWorkspaceRoot } from \"vite\";\nimport { spawn } from \"node:child_process\";\nimport { resolve } from \"node:path\";\nimport micromatch from \"micromatch\";\nimport { getDefaultConfig } from \"@react-native/metro-config\";\nimport { findUserBabelConfig } from \"@vxrn/compiler\";\nimport { projectImport, projectResolve } from \"../utils/projectImport\";\nimport { getTerminalReporter } from \"../utils/getTerminalReporter\";\nconst WATCHMAN_PROBE_TIMEOUT_MS = 2e3;\nconst expoEnvAdditionalExts = [\"env\", \"local\", \"development\"];\nconst watchmanResponsivePromises = /* @__PURE__ */ new Map();\nlet didWarnAboutWatchmanFallback = false;\nconst rootIndexBundleRequestPattern = /^(https?:\\/\\/[^/]+)?\\/index\\.bundle(?=$|[?#])/;\nconst expoVirtualEntryBundleRequestPattern = /^(https?:\\/\\/[^/]+)?\\/\\.expo\\/\\.virtual-metro-entry\\.bundle(?=$|[?#])/;\nconst metroWatchExclusions = [\n /[/\\\\]dist[/\\\\](?:static|server)(?:[/\\\\]|$)/,\n /[/\\\\]tests[/\\\\][^/\\\\]+[/\\\\]dist(?:[/\\\\]|$)/,\n /[/\\\\]\\.docker(?:[/\\\\]|$)/,\n /[/\\\\]\\.vite(?:[/\\\\]|$)/,\n /[/\\\\]node_modules[/\\\\]\\.vxrn(?:[/\\\\]|$)/\n];\nfunction enforceWorkspaceVisibility(config, projectRoot) {\n const workspaceRoot = searchForWorkspaceRoot(projectRoot);\n if (workspaceRoot === projectRoot) return config;\n return {\n ...config,\n watchFolders: [.../* @__PURE__ */ new Set([...config.watchFolders ?? [], workspaceRoot])],\n resolver: {\n ...config.resolver,\n nodeModulesPaths: [\n .../* @__PURE__ */ new Set([\n ...config.resolver?.nodeModulesPaths ?? [],\n resolve(projectRoot, \"node_modules\"),\n resolve(workspaceRoot, \"node_modules\")\n ])\n ]\n }\n };\n}\nfunction getReactNativeDefaultConfig(projectRoot) {\n return enforceWorkspaceVisibility(\n getDefaultConfig(projectRoot),\n projectRoot\n );\n}\nfunction getPlatformFromBundleUrl(url) {\n const platform = url.match(/[?&]platform=(ios|android)(?:&|$)/)?.[1];\n return platform === \"android\" ? \"android\" : \"ios\";\n}\nfunction rewriteMainModuleBundleUrl(url, resolveMainModuleName) {\n const resolvedMainModulePath = resolveMainModuleName({\n platform: getPlatformFromBundleUrl(url)\n });\n if (rootIndexBundleRequestPattern.test(url)) {\n return url.replace(rootIndexBundleRequestPattern, `$1/${resolvedMainModulePath}.bundle`);\n }\n return url.replace(\n expoVirtualEntryBundleRequestPattern,\n `$1/${resolvedMainModulePath}.bundle`\n );\n}\nfunction isMainModuleBundleRequest(url) {\n return rootIndexBundleRequestPattern.test(url) || expoVirtualEntryBundleRequestPattern.test(url);\n}\nfunction isBareSpecifier(name) {\n return name !== \"\" && !name.startsWith(\".\") && !name.startsWith(\"/\");\n}\nfunction bareMainModuleForRequest(moduleName, mainModuleName) {\n if (!mainModuleName || !isBareSpecifier(mainModuleName)) return void 0;\n if (moduleName === `./${mainModuleName}`) return mainModuleName;\n return void 0;\n}\nfunction enforceBareMainModuleEntry(config, mainModuleName) {\n if (!mainModuleName || !isBareSpecifier(mainModuleName)) return config;\n const innerResolveRequest = config?.resolver?.resolveRequest;\n return {\n ...config,\n resolver: {\n ...config?.resolver,\n resolveRequest: (context, moduleName, platform) => {\n const bareMain = bareMainModuleForRequest(moduleName, mainModuleName);\n const resolveRequest = innerResolveRequest || context.resolveRequest;\n return resolveRequest(context, bareMain ?? moduleName, platform);\n }\n }\n };\n}\nasync function isWatchmanResponsive(projectRoot) {\n let probe = watchmanResponsivePromises.get(projectRoot);\n if (probe) {\n return probe;\n }\n probe = new Promise((resolve2) => {\n let settled = false;\n const finish = (value) => {\n if (settled) return;\n settled = true;\n clearTimeout(timeout);\n resolve2(value);\n };\n const child = spawn(\"watchman\", [\"watch-project\", projectRoot], {\n stdio: \"ignore\"\n });\n const timeout = setTimeout(() => {\n child.kill();\n finish(false);\n }, WATCHMAN_PROBE_TIMEOUT_MS);\n child.once(\"error\", () => {\n finish(false);\n });\n child.once(\"exit\", (code) => {\n finish(code === 0);\n });\n });\n watchmanResponsivePromises.set(projectRoot, probe);\n return probe;\n}\nfunction resolveNativeTransforms(projectRoot, metroPluginOptions) {\n const userBabelConfigPath = projectRoot ? findUserBabelConfig(projectRoot) : null;\n const hasUserBabelConfig = Boolean(userBabelConfigPath);\n const isNativeTransforms = process.env.ONE_METRO_NATIVE_TRANSFORMS === \"0\" ? false : process.env.ONE_METRO_NATIVE_TRANSFORMS === \"1\" ? true : metroPluginOptions.nativeTransforms === false ? false : metroPluginOptions.nativeTransforms === true ? true : hasUserBabelConfig ? false : true;\n if (userBabelConfigPath && isNativeTransforms) {\n console.warn(\n `[vxrn/metro] Ignoring user babel config at ${userBabelConfigPath} because native transforms are explicitly enabled (nativeTransforms: true or ONE_METRO_NATIVE_TRANSFORMS=1). Port its plugins to nativeTransformModules, or set nativeTransforms: false (or ONE_METRO_NATIVE_TRANSFORMS=0) to use the babel transformer.`\n );\n }\n return { isNativeTransforms, userBabelConfigPath };\n}\nasync function buildMetroConfigInputFromViteConfig(config, metroPluginOptions) {\n const extraConfig = {};\n const projectRoot = resolve(metroPluginOptions.argv?.projectRoot ?? config.root);\n const { mainModuleName, defaultConfigOverrides, watchman, excludeModules } = metroPluginOptions;\n const useWatchman = watchman ?? await isWatchmanResponsive(projectRoot);\n if (watchman === void 0 && !useWatchman && !didWarnAboutWatchmanFallback) {\n didWarnAboutWatchmanFallback = true;\n console.warn(\n \"[vxrn/metro] Watchman is unavailable or unresponsive; falling back to Node file watching.\"\n );\n }\n const _defaultConfig = getReactNativeDefaultConfig(projectRoot);\n if (mainModuleName) {\n const origRewriteRequestUrl = _defaultConfig.server?.rewriteRequestUrl;\n const resolveMainModuleName = () => mainModuleName;\n extraConfig.getResolveMainModuleName = resolveMainModuleName;\n _defaultConfig.server.rewriteRequestUrl = (url) => {\n if (isMainModuleBundleRequest(url)) {\n return rewriteMainModuleBundleUrl(url, resolveMainModuleName);\n }\n return origRewriteRequestUrl?.(url) ?? url;\n };\n }\n const existingBlockList = _defaultConfig?.resolver?.blockList;\n const blockList = [\n ...existingBlockList ? Array.isArray(existingBlockList) ? existingBlockList : [existingBlockList] : [],\n ...metroWatchExclusions\n ];\n const { isNativeTransforms } = resolveNativeTransforms(projectRoot, metroPluginOptions);\n let nativeWorkerPath;\n if (isNativeTransforms) {\n nativeWorkerPath = projectResolve(\n projectRoot,\n \"@vxrn/vite-plugin-metro/transformer/metroNativeWorker\"\n );\n }\n const defaultConfig = {\n ..._defaultConfig,\n watcher: {\n ..._defaultConfig?.watcher,\n additionalExts: [\n .../* @__PURE__ */ new Set([\n ..._defaultConfig?.watcher?.additionalExts ?? [],\n ...expoEnvAdditionalExts\n ])\n ]\n },\n resolver: {\n ..._defaultConfig?.resolver,\n useWatchman,\n blockList,\n sourceExts: [\"js\", \"jsx\", \"json\", \"ts\", \"tsx\", \"mjs\", \"cjs\"],\n // `one` related packages are using `.mjs` extensions. This fixes `.native` files not being resolved correctly when `.mjs` files are present.\n resolveRequest: (context, moduleName, platform) => {\n const origResolveRequestFn = _defaultConfig?.resolver?.resolveRequest || context.resolveRequest;\n if (excludeModules && excludeModules.length > 0) {\n if (micromatch.isMatch(moduleName, excludeModules)) {\n return origResolveRequestFn(\n context,\n \"@vxrn/vite-plugin-metro/empty\",\n platform\n );\n }\n }\n if (moduleName.startsWith(\"@babel/runtime\")) {\n const contextOverride = {\n ...context,\n unstable_conditionNames: context.unstable_conditionNames.filter(\n (c) => c !== \"import\"\n )\n };\n return origResolveRequestFn(contextOverride, moduleName, platform);\n }\n return origResolveRequestFn(context, moduleName, platform);\n }\n },\n transformer: {\n ..._defaultConfig?.transformer,\n // one's router and Expo's optional development env module both use\n // require.context. Metro installs a throwing runtime stub unless this\n // graph feature is enabled.\n unstable_allowRequireContext: true,\n babelTransformerPath: projectResolve(\n projectRoot,\n \"@vxrn/vite-plugin-metro/babel-transformer\"\n )\n },\n // transformerPath is a TOP-LEVEL metro config key, not a transformer option.\n // nesting it under transformer silently leaves metro on its default worker.\n ...nativeWorkerPath ? { transformerPath: nativeWorkerPath } : {},\n reporter: await getTerminalReporter(projectRoot)\n };\n const merged = {\n ...defaultConfig,\n ...typeof defaultConfigOverrides === \"function\" ? defaultConfigOverrides(defaultConfig) : defaultConfigOverrides\n };\n return {\n defaultConfig: enforceBareMainModuleEntry(\n enforceWorkspaceVisibility(merged, projectRoot),\n mainModuleName\n ),\n projectRoot,\n extraConfig\n };\n}\nasync function getMetroConfigFromViteConfig(config, metroPluginOptions) {\n const extraConfig = {};\n const projectRoot = resolve(metroPluginOptions.argv?.projectRoot ?? config.root);\n const { mainModuleName, argv, defaultConfigOverrides, watchman, excludeModules } = metroPluginOptions;\n const useWatchman = watchman ?? await isWatchmanResponsive(projectRoot);\n if (watchman === void 0 && !useWatchman && !didWarnAboutWatchmanFallback) {\n didWarnAboutWatchmanFallback = true;\n console.warn(\n \"[vxrn/metro] Watchman is unavailable or unresponsive; falling back to Node file watching.\"\n );\n }\n const { loadConfig } = await projectImport(projectRoot, \"metro\");\n const _defaultConfig = getReactNativeDefaultConfig(projectRoot);\n if (mainModuleName) {\n const origRewriteRequestUrl = _defaultConfig.server?.rewriteRequestUrl;\n const resolveMainModuleName = () => mainModuleName;\n extraConfig.getResolveMainModuleName = resolveMainModuleName;\n _defaultConfig.server.rewriteRequestUrl = (url) => {\n if (isMainModuleBundleRequest(url)) {\n return rewriteMainModuleBundleUrl(url, resolveMainModuleName);\n }\n return origRewriteRequestUrl?.(url) ?? url;\n };\n }\n const existingBlockList = _defaultConfig?.resolver?.blockList;\n const blockList = [\n ...existingBlockList ? Array.isArray(existingBlockList) ? existingBlockList : [existingBlockList] : [],\n ...metroWatchExclusions\n ];\n const { isNativeTransforms } = resolveNativeTransforms(projectRoot, metroPluginOptions);\n let nativeWorkerPath;\n if (isNativeTransforms) {\n nativeWorkerPath = projectResolve(\n projectRoot,\n \"@vxrn/vite-plugin-metro/transformer/metroNativeWorker\"\n );\n }\n const defaultConfig = {\n ..._defaultConfig,\n watcher: {\n ..._defaultConfig?.watcher,\n additionalExts: [\n .../* @__PURE__ */ new Set([\n ..._defaultConfig?.watcher?.additionalExts ?? [],\n ...expoEnvAdditionalExts\n ])\n ]\n },\n resolver: {\n ..._defaultConfig?.resolver,\n useWatchman,\n blockList,\n sourceExts: [\"js\", \"jsx\", \"json\", \"ts\", \"tsx\", \"mjs\", \"cjs\"],\n // `one` related packages are using `.mjs` extensions. This somehow fixes `.native` files not being resolved correctly when `.mjs` files are present.\n resolveRequest: (context, moduleName, platform) => {\n const origResolveRequestFn = _defaultConfig?.resolver?.resolveRequest || context.resolveRequest;\n if (excludeModules && excludeModules.length > 0) {\n if (micromatch.isMatch(moduleName, excludeModules)) {\n return origResolveRequestFn(\n context,\n \"@vxrn/vite-plugin-metro/empty\",\n platform\n );\n }\n }\n if (moduleName.startsWith(\"@babel/runtime\")) {\n const contextOverride = {\n ...context,\n unstable_conditionNames: context.unstable_conditionNames.filter(\n (c) => c !== \"import\"\n )\n };\n return origResolveRequestFn(contextOverride, moduleName, platform);\n }\n return origResolveRequestFn(context, moduleName, platform);\n }\n },\n transformer: {\n ..._defaultConfig?.transformer,\n // one's router and Expo's optional development env module both use\n // require.context. Metro installs a throwing runtime stub unless this\n // graph feature is enabled.\n unstable_allowRequireContext: true,\n babelTransformerPath: projectResolve(\n projectRoot,\n \"@vxrn/vite-plugin-metro/babel-transformer\"\n )\n },\n // transformerPath is a TOP-LEVEL metro config key, not a transformer option.\n // nesting it under transformer silently leaves metro on its default worker.\n ...nativeWorkerPath ? { transformerPath: nativeWorkerPath } : {},\n reporter: await getTerminalReporter(projectRoot)\n };\n const metroConfig = await loadConfig(\n {\n cwd: projectRoot,\n projectRoot,\n \"reset-cache\": !!process.env.METRO_RESET_CACHE,\n ...argv\n },\n {\n ...defaultConfig,\n ...typeof defaultConfigOverrides === \"function\" ? defaultConfigOverrides(defaultConfig) : defaultConfigOverrides\n }\n );\n return {\n ...enforceBareMainModuleEntry(\n enforceWorkspaceVisibility(metroConfig, projectRoot),\n mainModuleName\n ),\n ...extraConfig\n };\n}\nexport {\n buildMetroConfigInputFromViteConfig,\n getMetroConfigFromViteConfig\n};\n//# sourceMappingURL=getMetroConfigFromViteConfig.js.map\n"],"mappings":";;;;;;;;;;AAQA,MAAM,4BAA4B;AAClC,MAAM,wBAAwB;CAAC;CAAO;CAAS;AAAa;AAC5D,MAAM,6CAA6C,IAAI,IAAI;AAC3D,IAAI,+BAA+B;AACnC,MAAM,gCAAgC;AACtC,MAAM,uCAAuC;AAC7C,MAAM,uBAAuB;CAC3B;CACA;CACA;CACA;CACA;AACF;AACA,SAAS,2BAA2B,QAAQ,aAAa;CACvD,MAAM,gBAAgB,uBAAuB,WAAW;CACxD,IAAI,kBAAkB,aAAa,OAAO;CAC1C,OAAO;EACL,GAAG;EACH,cAAc,CAAC,mBAAmB,IAAI,IAAI,CAAC,GAAG,OAAO,gBAAgB,CAAC,GAAG,aAAa,CAAC,CAAC;EACxF,UAAU;GACR,GAAG,OAAO;GACV,kBAAkB,CAChB,mBAAmB,IAAI,IAAI;IACzB,GAAG,OAAO,UAAU,oBAAoB,CAAC;IACzC,QAAQ,aAAa,cAAc;IACnC,QAAQ,eAAe,cAAc;GACvC,CAAC,CACH;EACF;CACF;AACF;AACA,SAAS,4BAA4B,aAAa;CAChD,OAAO,2BACL,iBAAiB,WAAW,GAC5B,WACF;AACF;AACA,SAAS,yBAAyB,KAAK;CACrC,MAAM,WAAW,IAAI,MAAM,mCAAmC,CAAC,GAAG;CAClE,OAAO,aAAa,YAAY,YAAY;AAC9C;AACA,SAAS,2BAA2B,KAAK,uBAAuB;CAC9D,MAAM,yBAAyB,sBAAsB,EACnD,UAAU,yBAAyB,GAAG,EACxC,CAAC;CACD,IAAI,8BAA8B,KAAK,GAAG,GAAG;EAC3C,OAAO,IAAI,QAAQ,+BAA+B,MAAM,uBAAuB,QAAQ;CACzF;CACA,OAAO,IAAI,QACT,sCACA,MAAM,uBAAuB,QAC/B;AACF;AACA,SAAS,0BAA0B,KAAK;CACtC,OAAO,8BAA8B,KAAK,GAAG,KAAK,qCAAqC,KAAK,GAAG;AACjG;AACA,SAAS,gBAAgB,MAAM;CAC7B,OAAO,SAAS,MAAM,CAAC,KAAK,WAAW,GAAG,KAAK,CAAC,KAAK,WAAW,GAAG;AACrE;AACA,SAAS,yBAAyB,YAAY,gBAAgB;CAC5D,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,cAAc,GAAG,OAAO,KAAK;CACrE,IAAI,eAAe,KAAK,kBAAkB,OAAO;CACjD,OAAO,KAAK;AACd;AACA,SAAS,2BAA2B,QAAQ,gBAAgB;CAC1D,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,cAAc,GAAG,OAAO;CAChE,MAAM,sBAAsB,QAAQ,UAAU;CAC9C,OAAO;EACL,GAAG;EACH,UAAU;GACR,GAAG,QAAQ;GACX,iBAAiB,SAAS,YAAY,aAAa;IACjD,MAAM,WAAW,yBAAyB,YAAY,cAAc;IACpE,MAAM,iBAAiB,uBAAuB,QAAQ;IACtD,OAAO,eAAe,SAAS,YAAY,YAAY,QAAQ;GACjE;EACF;CACF;AACF;AACA,eAAe,qBAAqB,aAAa;CAC/C,IAAI,QAAQ,2BAA2B,IAAI,WAAW;CACtD,IAAI,OAAO;EACT,OAAO;CACT;CACA,QAAQ,IAAI,SAAS,aAAa;EAChC,IAAI,UAAU;EACd,MAAM,UAAU,UAAU;GACxB,IAAI,SAAS;GACb,UAAU;GACV,aAAa,OAAO;GACpB,SAAS,KAAK;EAChB;EACA,MAAM,QAAQ,MAAM,YAAY,CAAC,iBAAiB,WAAW,GAAG,EAC9D,OAAO,SACT,CAAC;EACD,MAAM,UAAU,iBAAiB;GAC/B,MAAM,KAAK;GACX,OAAO,KAAK;EACd,GAAG,yBAAyB;EAC5B,MAAM,KAAK,eAAe;GACxB,OAAO,KAAK;EACd,CAAC;EACD,MAAM,KAAK,SAAS,SAAS;GAC3B,OAAO,SAAS,CAAC;EACnB,CAAC;CACH,CAAC;CACD,2BAA2B,IAAI,aAAa,KAAK;CACjD,OAAO;AACT;AACA,SAAS,wBAAwB,aAAa,oBAAoB;CAChE,MAAM,sBAAsB,cAAc,oBAAoB,WAAW,IAAI;CAC7E,MAAM,qBAAqB,QAAQ,mBAAmB;CACtD,MAAM,qBAAqB,QAAQ,IAAI,gCAAgC,MAAM,QAAQ,QAAQ,IAAI,gCAAgC,MAAM,OAAO,mBAAmB,qBAAqB,QAAQ,QAAQ,mBAAmB,qBAAqB,OAAO,OAAO,qBAAqB,QAAQ;CACzR,IAAI,uBAAuB,oBAAoB;EAC7C,QAAQ,KACN,8CAA8C,oBAAoB,yPACpE;CACF;CACA,OAAO;EAAE;EAAoB;CAAoB;AACnD;AACA,eAAe,oCAAoC,QAAQ,oBAAoB;CAC7E,MAAM,cAAc,CAAC;CACrB,MAAM,cAAc,QAAQ,mBAAmB,MAAM,eAAe,OAAO,IAAI;CAC/E,MAAM,EAAE,gBAAgB,wBAAwB,UAAU,mBAAmB;CAC7E,MAAM,cAAc,YAAY,MAAM,qBAAqB,WAAW;CACtE,IAAI,aAAa,KAAK,KAAK,CAAC,eAAe,CAAC,8BAA8B;EACxE,+BAA+B;EAC/B,QAAQ,KACN,2FACF;CACF;CACA,MAAM,iBAAiB,4BAA4B,WAAW;CAC9D,IAAI,gBAAgB;EAClB,MAAM,wBAAwB,eAAe,QAAQ;EACrD,MAAM,8BAA8B;EACpC,YAAY,2BAA2B;EACvC,eAAe,OAAO,qBAAqB,QAAQ;GACjD,IAAI,0BAA0B,GAAG,GAAG;IAClC,OAAO,2BAA2B,KAAK,qBAAqB;GAC9D;GACA,OAAO,wBAAwB,GAAG,KAAK;EACzC;CACF;CACA,MAAM,oBAAoB,gBAAgB,UAAU;CACpD,MAAM,YAAY,CAChB,GAAG,oBAAoB,MAAM,QAAQ,iBAAiB,IAAI,oBAAoB,CAAC,iBAAiB,IAAI,CAAC,GACrG,GAAG,oBACL;CACA,MAAM,EAAE,uBAAuB,wBAAwB,aAAa,kBAAkB;CACtF,IAAI;CACJ,IAAI,oBAAoB;EACtB,mBAAmB,eACjB,aACA,uDACF;CACF;CACA,MAAM,gBAAgB;EACpB,GAAG;EACH,SAAS;GACP,GAAG,gBAAgB;GACnB,gBAAgB,CACd,mBAAmB,IAAI,IAAI,CACzB,GAAG,gBAAgB,SAAS,kBAAkB,CAAC,GAC/C,GAAG,qBACL,CAAC,CACH;EACF;EACA,UAAU;GACR,GAAG,gBAAgB;GACnB;GACA;GACA,YAAY;IAAC;IAAM;IAAO;IAAQ;IAAM;IAAO;IAAO;GAAK;GAE3D,iBAAiB,SAAS,YAAY,aAAa;IACjD,MAAM,uBAAuB,gBAAgB,UAAU,kBAAkB,QAAQ;IACjF,IAAI,kBAAkB,eAAe,SAAS,GAAG;KAC/C,IAAI,WAAW,QAAQ,YAAY,cAAc,GAAG;MAClD,OAAO,qBACL,SACA,iCACA,QACF;KACF;IACF;IACA,IAAI,WAAW,WAAW,gBAAgB,GAAG;KAC3C,MAAM,kBAAkB;MACtB,GAAG;MACH,yBAAyB,QAAQ,wBAAwB,QACtD,MAAM,MAAM,QACf;KACF;KACA,OAAO,qBAAqB,iBAAiB,YAAY,QAAQ;IACnE;IACA,OAAO,qBAAqB,SAAS,YAAY,QAAQ;GAC3D;EACF;EACA,aAAa;GACX,GAAG,gBAAgB;GAInB,8BAA8B;GAC9B,sBAAsB,eACpB,aACA,2CACF;EACF;EAGA,GAAG,mBAAmB,EAAE,iBAAiB,iBAAiB,IAAI,CAAC;EAC/D,UAAU,MAAM,oBAAoB,WAAW;CACjD;CACA,MAAM,SAAS;EACb,GAAG;EACH,GAAG,OAAO,2BAA2B,aAAa,uBAAuB,aAAa,IAAI;CAC5F;CACA,OAAO;EACL,eAAe,2BACb,2BAA2B,QAAQ,WAAW,GAC9C,cACF;EACA;EACA;CACF;AACF;AACA,eAAe,6BAA6B,QAAQ,oBAAoB;CACtE,MAAM,cAAc,CAAC;CACrB,MAAM,cAAc,QAAQ,mBAAmB,MAAM,eAAe,OAAO,IAAI;CAC/E,MAAM,EAAE,gBAAgB,MAAM,wBAAwB,UAAU,mBAAmB;CACnF,MAAM,cAAc,YAAY,MAAM,qBAAqB,WAAW;CACtE,IAAI,aAAa,KAAK,KAAK,CAAC,eAAe,CAAC,8BAA8B;EACxE,+BAA+B;EAC/B,QAAQ,KACN,2FACF;CACF;CACA,MAAM,EAAE,eAAe,MAAM,cAAc,aAAa,OAAO;CAC/D,MAAM,iBAAiB,4BAA4B,WAAW;CAC9D,IAAI,gBAAgB;EAClB,MAAM,wBAAwB,eAAe,QAAQ;EACrD,MAAM,8BAA8B;EACpC,YAAY,2BAA2B;EACvC,eAAe,OAAO,qBAAqB,QAAQ;GACjD,IAAI,0BAA0B,GAAG,GAAG;IAClC,OAAO,2BAA2B,KAAK,qBAAqB;GAC9D;GACA,OAAO,wBAAwB,GAAG,KAAK;EACzC;CACF;CACA,MAAM,oBAAoB,gBAAgB,UAAU;CACpD,MAAM,YAAY,CAChB,GAAG,oBAAoB,MAAM,QAAQ,iBAAiB,IAAI,oBAAoB,CAAC,iBAAiB,IAAI,CAAC,GACrG,GAAG,oBACL;CACA,MAAM,EAAE,uBAAuB,wBAAwB,aAAa,kBAAkB;CACtF,IAAI;CACJ,IAAI,oBAAoB;EACtB,mBAAmB,eACjB,aACA,uDACF;CACF;CACA,MAAM,gBAAgB;EACpB,GAAG;EACH,SAAS;GACP,GAAG,gBAAgB;GACnB,gBAAgB,CACd,mBAAmB,IAAI,IAAI,CACzB,GAAG,gBAAgB,SAAS,kBAAkB,CAAC,GAC/C,GAAG,qBACL,CAAC,CACH;EACF;EACA,UAAU;GACR,GAAG,gBAAgB;GACnB;GACA;GACA,YAAY;IAAC;IAAM;IAAO;IAAQ;IAAM;IAAO;IAAO;GAAK;GAE3D,iBAAiB,SAAS,YAAY,aAAa;IACjD,MAAM,uBAAuB,gBAAgB,UAAU,kBAAkB,QAAQ;IACjF,IAAI,kBAAkB,eAAe,SAAS,GAAG;KAC/C,IAAI,WAAW,QAAQ,YAAY,cAAc,GAAG;MAClD,OAAO,qBACL,SACA,iCACA,QACF;KACF;IACF;IACA,IAAI,WAAW,WAAW,gBAAgB,GAAG;KAC3C,MAAM,kBAAkB;MACtB,GAAG;MACH,yBAAyB,QAAQ,wBAAwB,QACtD,MAAM,MAAM,QACf;KACF;KACA,OAAO,qBAAqB,iBAAiB,YAAY,QAAQ;IACnE;IACA,OAAO,qBAAqB,SAAS,YAAY,QAAQ;GAC3D;EACF;EACA,aAAa;GACX,GAAG,gBAAgB;GAInB,8BAA8B;GAC9B,sBAAsB,eACpB,aACA,2CACF;EACF;EAGA,GAAG,mBAAmB,EAAE,iBAAiB,iBAAiB,IAAI,CAAC;EAC/D,UAAU,MAAM,oBAAoB,WAAW;CACjD;CACA,MAAM,cAAc,MAAM,WACxB;EACE,KAAK;EACL;EACA,eAAe,CAAC,CAAC,QAAQ,IAAI;EAC7B,GAAG;CACL,GACA;EACE,GAAG;EACH,GAAG,OAAO,2BAA2B,aAAa,uBAAuB,aAAa,IAAI;CAC5F,CACF;CACA,OAAO;EACL,GAAG,2BACD,2BAA2B,aAAa,WAAW,GACnD,cACF;EACA,GAAG;CACL;AACF"}
|
|
1
|
+
{"version":3,"file":"getMetroConfigFromViteConfig.js","names":[],"sources":["esm/metro-config/getMetroConfigFromViteConfig.js"],"sourcesContent":["import { searchForWorkspaceRoot } from \"vite\";\nimport { spawn } from \"node:child_process\";\nimport { resolve } from \"node:path\";\nimport micromatch from \"micromatch\";\nimport { getDefaultConfig } from \"@react-native/metro-config\";\nimport { findUserBabelConfig } from \"@vxrn/compiler\";\nimport { projectImport, projectResolve } from \"../utils/projectImport\";\nimport { getTerminalReporter } from \"../utils/getTerminalReporter\";\nconst WATCHMAN_PROBE_TIMEOUT_MS = 2e3;\nconst expoEnvAdditionalExts = [\"env\", \"local\", \"development\"];\nconst metroSourceExts = [\"js\", \"jsx\", \"json\", \"ts\", \"tsx\", \"mjs\", \"cjs\", \"swift\", \"kt\"];\nconst watchmanResponsivePromises = /* @__PURE__ */ new Map();\nlet didWarnAboutWatchmanFallback = false;\nconst rootIndexBundleRequestPattern = /^(https?:\\/\\/[^/]+)?\\/index\\.bundle(?=$|[?#])/;\nconst expoVirtualEntryBundleRequestPattern = /^(https?:\\/\\/[^/]+)?\\/\\.expo\\/\\.virtual-metro-entry\\.bundle(?=$|[?#])/;\nconst metroWatchExclusions = [\n /^(?!.*[/\\\\]node_modules[/\\\\]).*[/\\\\]dist[/\\\\](?:static|server)(?:[/\\\\]|$)/,\n /[/\\\\]tests[/\\\\][^/\\\\]+[/\\\\]dist(?:[/\\\\]|$)/,\n /[/\\\\]\\.docker(?:[/\\\\]|$)/,\n /[/\\\\]\\.vite(?:[/\\\\]|$)/,\n /[/\\\\]node_modules[/\\\\]\\.vxrn(?:[/\\\\]|$)/\n];\nfunction enforceWorkspaceVisibility(config, projectRoot) {\n const workspaceRoot = searchForWorkspaceRoot(projectRoot);\n if (workspaceRoot === projectRoot) return config;\n return {\n ...config,\n watchFolders: [.../* @__PURE__ */ new Set([...config.watchFolders ?? [], workspaceRoot])],\n resolver: {\n ...config.resolver,\n nodeModulesPaths: [\n .../* @__PURE__ */ new Set([\n ...config.resolver?.nodeModulesPaths ?? [],\n resolve(projectRoot, \"node_modules\"),\n resolve(workspaceRoot, \"node_modules\")\n ])\n ]\n }\n };\n}\nfunction getReactNativeDefaultConfig(projectRoot) {\n const config = enforceWorkspaceVisibility(\n getDefaultConfig(projectRoot),\n projectRoot\n );\n return {\n ...config,\n resolver: {\n ...config.resolver,\n assetExts: [.../* @__PURE__ */ new Set([...config.resolver?.assetExts ?? [], \"glb\"])]\n }\n };\n}\nfunction getPlatformFromBundleUrl(url) {\n const platform = url.match(/[?&]platform=(ios|android)(?:&|$)/)?.[1];\n return platform === \"android\" ? \"android\" : \"ios\";\n}\nfunction rewriteMainModuleBundleUrl(url, resolveMainModuleName) {\n const resolvedMainModulePath = resolveMainModuleName({\n platform: getPlatformFromBundleUrl(url)\n });\n if (rootIndexBundleRequestPattern.test(url)) {\n return url.replace(\n rootIndexBundleRequestPattern,\n `$1/${resolvedMainModulePath}.bundle`\n );\n }\n return url.replace(\n expoVirtualEntryBundleRequestPattern,\n `$1/${resolvedMainModulePath}.bundle`\n );\n}\nfunction isMainModuleBundleRequest(url) {\n return rootIndexBundleRequestPattern.test(url) || expoVirtualEntryBundleRequestPattern.test(url);\n}\nfunction isBareSpecifier(name) {\n return name !== \"\" && !name.startsWith(\".\") && !name.startsWith(\"/\");\n}\nfunction bareMainModuleForRequest(moduleName, mainModuleName) {\n if (!mainModuleName || !isBareSpecifier(mainModuleName)) return void 0;\n if (moduleName === `./${mainModuleName}`) return mainModuleName;\n return void 0;\n}\nfunction enforcePackageResolution(config, mainModuleName, dedupe, projectRoot) {\n const dedupedPackages = new Set(dedupe);\n if ((!mainModuleName || !isBareSpecifier(mainModuleName)) && !dedupedPackages.size) {\n return config;\n }\n const rootOrigin = resolve(projectRoot, \"package.json\");\n const innerResolveRequest = config.resolver?.resolveRequest;\n return {\n ...config,\n resolver: {\n ...config.resolver,\n resolveRequest: (context, moduleName, platform) => {\n const bareMain = bareMainModuleForRequest(moduleName, mainModuleName);\n const request = bareMain ?? moduleName;\n const packageEnd = request.indexOf(\n \"/\",\n request.startsWith(\"@\") ? request.indexOf(\"/\") + 1 : 0\n );\n const packageName = packageEnd === -1 ? request : request.slice(0, packageEnd);\n const resolutionContext = isBareSpecifier(request) && dedupedPackages.has(packageName) ? { ...context, originModulePath: rootOrigin } : context;\n const resolveRequest = innerResolveRequest || context.resolveRequest;\n return resolveRequest(resolutionContext, request, platform);\n }\n }\n };\n}\nasync function isWatchmanResponsive(projectRoot) {\n let probe = watchmanResponsivePromises.get(projectRoot);\n if (probe) {\n return probe;\n }\n probe = new Promise((resolve2) => {\n let settled = false;\n const finish = (value) => {\n if (settled) return;\n settled = true;\n clearTimeout(timeout);\n resolve2(value);\n };\n const child = spawn(\"watchman\", [\"watch-project\", projectRoot], {\n stdio: \"ignore\"\n });\n const timeout = setTimeout(() => {\n child.kill();\n finish(false);\n }, WATCHMAN_PROBE_TIMEOUT_MS);\n child.once(\"error\", () => {\n finish(false);\n });\n child.once(\"exit\", (code) => {\n finish(code === 0);\n });\n });\n watchmanResponsivePromises.set(projectRoot, probe);\n return probe;\n}\nfunction resolveNativeTransforms(projectRoot, metroPluginOptions) {\n const userBabelConfigPath = projectRoot ? findUserBabelConfig(projectRoot) : null;\n const hasUserBabelConfig = Boolean(userBabelConfigPath);\n const isNativeTransforms = process.env.ONE_METRO_NATIVE_TRANSFORMS === \"0\" ? false : process.env.ONE_METRO_NATIVE_TRANSFORMS === \"1\" ? true : metroPluginOptions.nativeTransforms === false ? false : metroPluginOptions.nativeTransforms === true ? true : hasUserBabelConfig ? false : true;\n if (userBabelConfigPath && isNativeTransforms) {\n console.warn(\n `[vxrn/metro] Ignoring user babel config at ${userBabelConfigPath} because native transforms are explicitly enabled (nativeTransforms: true or ONE_METRO_NATIVE_TRANSFORMS=1). Port its plugins to nativeTransformModules, or set nativeTransforms: false (or ONE_METRO_NATIVE_TRANSFORMS=0) to use the babel transformer.`\n );\n }\n return { isNativeTransforms, userBabelConfigPath };\n}\nasync function buildMetroConfigInputFromViteConfig(config, metroPluginOptions) {\n const extraConfig = {};\n const projectRoot = resolve(metroPluginOptions.argv?.projectRoot ?? config.root);\n const { mainModuleName, defaultConfigOverrides, watchman, excludeModules } = metroPluginOptions;\n const useWatchman = watchman ?? await isWatchmanResponsive(projectRoot);\n if (watchman === void 0 && !useWatchman && !didWarnAboutWatchmanFallback) {\n didWarnAboutWatchmanFallback = true;\n console.warn(\n \"[vxrn/metro] Watchman is unavailable or unresponsive; falling back to Node file watching.\"\n );\n }\n const _defaultConfig = getReactNativeDefaultConfig(projectRoot);\n if (mainModuleName) {\n const origRewriteRequestUrl = _defaultConfig.server?.rewriteRequestUrl;\n const resolveMainModuleName = () => mainModuleName;\n extraConfig.getResolveMainModuleName = resolveMainModuleName;\n _defaultConfig.server.rewriteRequestUrl = (url) => {\n if (isMainModuleBundleRequest(url)) {\n return rewriteMainModuleBundleUrl(url, resolveMainModuleName);\n }\n return origRewriteRequestUrl?.(url) ?? url;\n };\n }\n const existingBlockList = _defaultConfig?.resolver?.blockList;\n const blockList = [\n ...existingBlockList ? Array.isArray(existingBlockList) ? existingBlockList : [existingBlockList] : [],\n ...metroWatchExclusions\n ];\n const { isNativeTransforms } = resolveNativeTransforms(projectRoot, metroPluginOptions);\n let nativeWorkerPath;\n if (isNativeTransforms) {\n nativeWorkerPath = projectResolve(\n projectRoot,\n \"@vxrn/vite-plugin-metro/transformer/metroNativeWorker\"\n );\n }\n const defaultConfig = {\n ..._defaultConfig,\n watcher: {\n ..._defaultConfig?.watcher,\n additionalExts: [\n .../* @__PURE__ */ new Set([\n ..._defaultConfig?.watcher?.additionalExts ?? [],\n ...expoEnvAdditionalExts\n ])\n ]\n },\n resolver: {\n ..._defaultConfig?.resolver,\n useWatchman,\n blockList,\n sourceExts: metroSourceExts,\n resolveRequest: (context, moduleName, platform) => {\n const origResolveRequestFn = _defaultConfig?.resolver?.resolveRequest || context.resolveRequest;\n if (excludeModules && excludeModules.length > 0) {\n if (micromatch.isMatch(moduleName, excludeModules)) {\n return origResolveRequestFn(\n context,\n \"@vxrn/vite-plugin-metro/empty\",\n platform\n );\n }\n }\n if (moduleName.startsWith(\"@babel/runtime\")) {\n const contextOverride = {\n ...context,\n unstable_conditionNames: context.unstable_conditionNames.filter(\n (c) => c !== \"import\"\n )\n };\n return origResolveRequestFn(contextOverride, moduleName, platform);\n }\n return origResolveRequestFn(context, moduleName, platform);\n }\n },\n transformer: {\n ..._defaultConfig?.transformer,\n // one's router and Expo's optional development env module both use\n // require.context. Metro installs a throwing runtime stub unless this\n // graph feature is enabled.\n unstable_allowRequireContext: true,\n babelTransformerPath: projectResolve(\n projectRoot,\n \"@vxrn/vite-plugin-metro/babel-transformer\"\n )\n },\n // transformerPath is a TOP-LEVEL metro config key, not a transformer option.\n // nesting it under transformer silently leaves metro on its default worker.\n ...nativeWorkerPath ? { transformerPath: nativeWorkerPath } : {},\n reporter: await getTerminalReporter(projectRoot)\n };\n const merged = {\n ...defaultConfig,\n ...typeof defaultConfigOverrides === \"function\" ? defaultConfigOverrides(defaultConfig) : defaultConfigOverrides\n };\n return {\n defaultConfig: enforcePackageResolution(\n enforceWorkspaceVisibility(merged, projectRoot),\n mainModuleName,\n config.resolve?.dedupe ?? [],\n projectRoot\n ),\n projectRoot,\n extraConfig\n };\n}\nasync function getMetroConfigFromViteConfig(config, metroPluginOptions) {\n const extraConfig = {};\n const projectRoot = resolve(metroPluginOptions.argv?.projectRoot ?? config.root);\n const { mainModuleName, argv, defaultConfigOverrides, watchman, excludeModules } = metroPluginOptions;\n const useWatchman = watchman ?? await isWatchmanResponsive(projectRoot);\n if (watchman === void 0 && !useWatchman && !didWarnAboutWatchmanFallback) {\n didWarnAboutWatchmanFallback = true;\n console.warn(\n \"[vxrn/metro] Watchman is unavailable or unresponsive; falling back to Node file watching.\"\n );\n }\n const { loadConfig } = await projectImport(projectRoot, \"metro\");\n const _defaultConfig = getReactNativeDefaultConfig(projectRoot);\n if (mainModuleName) {\n const origRewriteRequestUrl = _defaultConfig.server?.rewriteRequestUrl;\n const resolveMainModuleName = () => mainModuleName;\n extraConfig.getResolveMainModuleName = resolveMainModuleName;\n _defaultConfig.server.rewriteRequestUrl = (url) => {\n if (isMainModuleBundleRequest(url)) {\n return rewriteMainModuleBundleUrl(url, resolveMainModuleName);\n }\n return origRewriteRequestUrl?.(url) ?? url;\n };\n }\n const existingBlockList = _defaultConfig?.resolver?.blockList;\n const blockList = [\n ...existingBlockList ? Array.isArray(existingBlockList) ? existingBlockList : [existingBlockList] : [],\n ...metroWatchExclusions\n ];\n const { isNativeTransforms } = resolveNativeTransforms(projectRoot, metroPluginOptions);\n let nativeWorkerPath;\n if (isNativeTransforms) {\n nativeWorkerPath = projectResolve(\n projectRoot,\n \"@vxrn/vite-plugin-metro/transformer/metroNativeWorker\"\n );\n }\n const defaultConfig = {\n ..._defaultConfig,\n watcher: {\n ..._defaultConfig?.watcher,\n additionalExts: [\n .../* @__PURE__ */ new Set([\n ..._defaultConfig?.watcher?.additionalExts ?? [],\n ...expoEnvAdditionalExts\n ])\n ]\n },\n resolver: {\n ..._defaultConfig?.resolver,\n useWatchman,\n blockList,\n sourceExts: metroSourceExts,\n resolveRequest: (context, moduleName, platform) => {\n const origResolveRequestFn = _defaultConfig?.resolver?.resolveRequest || context.resolveRequest;\n if (excludeModules && excludeModules.length > 0) {\n if (micromatch.isMatch(moduleName, excludeModules)) {\n return origResolveRequestFn(\n context,\n \"@vxrn/vite-plugin-metro/empty\",\n platform\n );\n }\n }\n if (moduleName.startsWith(\"@babel/runtime\")) {\n const contextOverride = {\n ...context,\n unstable_conditionNames: context.unstable_conditionNames.filter(\n (c) => c !== \"import\"\n )\n };\n return origResolveRequestFn(contextOverride, moduleName, platform);\n }\n return origResolveRequestFn(context, moduleName, platform);\n }\n },\n transformer: {\n ..._defaultConfig?.transformer,\n // one's router and Expo's optional development env module both use\n // require.context. Metro installs a throwing runtime stub unless this\n // graph feature is enabled.\n unstable_allowRequireContext: true,\n babelTransformerPath: projectResolve(\n projectRoot,\n \"@vxrn/vite-plugin-metro/babel-transformer\"\n )\n },\n // transformerPath is a TOP-LEVEL metro config key, not a transformer option.\n // nesting it under transformer silently leaves metro on its default worker.\n ...nativeWorkerPath ? { transformerPath: nativeWorkerPath } : {},\n reporter: await getTerminalReporter(projectRoot)\n };\n const metroConfig = await loadConfig(\n {\n cwd: projectRoot,\n projectRoot,\n \"reset-cache\": !!process.env.METRO_RESET_CACHE,\n ...argv\n },\n {\n ...defaultConfig,\n ...typeof defaultConfigOverrides === \"function\" ? defaultConfigOverrides(defaultConfig) : defaultConfigOverrides\n }\n );\n return {\n ...enforcePackageResolution(\n enforceWorkspaceVisibility(metroConfig, projectRoot),\n mainModuleName,\n config.resolve?.dedupe ?? [],\n projectRoot\n ),\n ...extraConfig\n };\n}\nexport {\n buildMetroConfigInputFromViteConfig,\n getMetroConfigFromViteConfig\n};\n//# sourceMappingURL=getMetroConfigFromViteConfig.js.map\n"],"mappings":"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"}
|
|
@@ -13,12 +13,23 @@ var expoEnvAdditionalExts = [
|
|
|
13
13
|
"local",
|
|
14
14
|
"development"
|
|
15
15
|
];
|
|
16
|
+
var metroSourceExts = [
|
|
17
|
+
"js",
|
|
18
|
+
"jsx",
|
|
19
|
+
"json",
|
|
20
|
+
"ts",
|
|
21
|
+
"tsx",
|
|
22
|
+
"mjs",
|
|
23
|
+
"cjs",
|
|
24
|
+
"swift",
|
|
25
|
+
"kt"
|
|
26
|
+
];
|
|
16
27
|
var watchmanResponsivePromises = /* @__PURE__ */ new Map();
|
|
17
28
|
var didWarnAboutWatchmanFallback = false;
|
|
18
29
|
var rootIndexBundleRequestPattern = /^(https?:\/\/[^/]+)?\/index\.bundle(?=$|[?#])/;
|
|
19
30
|
var expoVirtualEntryBundleRequestPattern = /^(https?:\/\/[^/]+)?\/\.expo\/\.virtual-metro-entry\.bundle(?=$|[?#])/;
|
|
20
31
|
var metroWatchExclusions = [
|
|
21
|
-
|
|
32
|
+
/^(?!.*[/\\]node_modules[/\\]).*[/\\]dist[/\\](?:static|server)(?:[/\\]|$)/,
|
|
22
33
|
/[/\\]tests[/\\][^/\\]+[/\\]dist(?:[/\\]|$)/,
|
|
23
34
|
/[/\\]\.docker(?:[/\\]|$)/,
|
|
24
35
|
/[/\\]\.vite(?:[/\\]|$)/,
|
|
@@ -43,7 +54,16 @@ function enforceWorkspaceVisibility(config, projectRoot) {
|
|
|
43
54
|
};
|
|
44
55
|
}
|
|
45
56
|
function getReactNativeDefaultConfig(projectRoot) {
|
|
46
|
-
|
|
57
|
+
var _ref;
|
|
58
|
+
var _config_resolver;
|
|
59
|
+
var config = enforceWorkspaceVisibility(getDefaultConfig(projectRoot), projectRoot);
|
|
60
|
+
return {
|
|
61
|
+
...config,
|
|
62
|
+
resolver: {
|
|
63
|
+
...config.resolver,
|
|
64
|
+
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"])]
|
|
65
|
+
}
|
|
66
|
+
};
|
|
47
67
|
}
|
|
48
68
|
function getPlatformFromBundleUrl(url) {
|
|
49
69
|
var _url_match;
|
|
@@ -68,18 +88,29 @@ function bareMainModuleForRequest(moduleName, mainModuleName) {
|
|
|
68
88
|
if (moduleName === `./${mainModuleName}`) return mainModuleName;
|
|
69
89
|
return void 0;
|
|
70
90
|
}
|
|
71
|
-
function
|
|
91
|
+
function enforcePackageResolution(config, mainModuleName, dedupe, projectRoot) {
|
|
72
92
|
var _config_resolver;
|
|
73
|
-
|
|
74
|
-
|
|
93
|
+
var dedupedPackages = new Set(dedupe);
|
|
94
|
+
if ((!mainModuleName || !isBareSpecifier(mainModuleName)) && !dedupedPackages.size) {
|
|
95
|
+
return config;
|
|
96
|
+
}
|
|
97
|
+
var rootOrigin = resolve(projectRoot, "package.json");
|
|
98
|
+
var innerResolveRequest = (_config_resolver = config.resolver) === null || _config_resolver === void 0 ? void 0 : _config_resolver.resolveRequest;
|
|
75
99
|
return {
|
|
76
100
|
...config,
|
|
77
101
|
resolver: {
|
|
78
|
-
...config
|
|
79
|
-
resolveRequest: function(context, moduleName, platform) {
|
|
102
|
+
...config.resolver,
|
|
103
|
+
resolveRequest: function resolveRequest(context, moduleName, platform) {
|
|
80
104
|
var bareMain = bareMainModuleForRequest(moduleName, mainModuleName);
|
|
81
|
-
var
|
|
82
|
-
|
|
105
|
+
var request = bareMain !== null && bareMain !== void 0 ? bareMain : moduleName;
|
|
106
|
+
var packageEnd = request.indexOf("/", request.startsWith("@") ? request.indexOf("/") + 1 : 0);
|
|
107
|
+
var packageName = packageEnd === -1 ? request : request.slice(0, packageEnd);
|
|
108
|
+
var resolutionContext = isBareSpecifier(request) && dedupedPackages.has(packageName) ? {
|
|
109
|
+
...context,
|
|
110
|
+
originModulePath: rootOrigin
|
|
111
|
+
} : context;
|
|
112
|
+
var resolveRequest2 = innerResolveRequest || context.resolveRequest;
|
|
113
|
+
return resolveRequest2(resolutionContext, request, platform);
|
|
83
114
|
}
|
|
84
115
|
}
|
|
85
116
|
};
|
|
@@ -91,7 +122,7 @@ async function isWatchmanResponsive(projectRoot) {
|
|
|
91
122
|
}
|
|
92
123
|
probe = new Promise(function(resolve2) {
|
|
93
124
|
var settled = false;
|
|
94
|
-
var finish = function(value) {
|
|
125
|
+
var finish = function finish2(value) {
|
|
95
126
|
if (settled) return;
|
|
96
127
|
settled = true;
|
|
97
128
|
clearTimeout(timeout);
|
|
@@ -125,8 +156,8 @@ function resolveNativeTransforms(projectRoot, metroPluginOptions) {
|
|
|
125
156
|
};
|
|
126
157
|
}
|
|
127
158
|
async function buildMetroConfigInputFromViteConfig(config, metroPluginOptions) {
|
|
128
|
-
var _ref, _ref1;
|
|
129
|
-
var _metroPluginOptions_argv, _defaultConfig_resolver, _defaultConfig_watcher;
|
|
159
|
+
var _ref, _ref1, _ref2;
|
|
160
|
+
var _metroPluginOptions_argv, _defaultConfig_resolver, _defaultConfig_watcher, _config_resolve;
|
|
130
161
|
var extraConfig = {};
|
|
131
162
|
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);
|
|
132
163
|
var { mainModuleName, defaultConfigOverrides, watchman, excludeModules } = metroPluginOptions;
|
|
@@ -139,16 +170,16 @@ async function buildMetroConfigInputFromViteConfig(config, metroPluginOptions) {
|
|
|
139
170
|
if (mainModuleName) {
|
|
140
171
|
var _defaultConfig_server;
|
|
141
172
|
var origRewriteRequestUrl = (_defaultConfig_server = _defaultConfig.server) === null || _defaultConfig_server === void 0 ? void 0 : _defaultConfig_server.rewriteRequestUrl;
|
|
142
|
-
var resolveMainModuleName = function() {
|
|
173
|
+
var resolveMainModuleName = function resolveMainModuleName2() {
|
|
143
174
|
return mainModuleName;
|
|
144
175
|
};
|
|
145
176
|
extraConfig.getResolveMainModuleName = resolveMainModuleName;
|
|
146
177
|
_defaultConfig.server.rewriteRequestUrl = function(url) {
|
|
147
|
-
var
|
|
178
|
+
var _ref3;
|
|
148
179
|
if (isMainModuleBundleRequest(url)) {
|
|
149
180
|
return rewriteMainModuleBundleUrl(url, resolveMainModuleName);
|
|
150
181
|
}
|
|
151
|
-
return (
|
|
182
|
+
return (_ref3 = origRewriteRequestUrl === null || origRewriteRequestUrl === void 0 ? void 0 : origRewriteRequestUrl(url)) !== null && _ref3 !== void 0 ? _ref3 : url;
|
|
152
183
|
};
|
|
153
184
|
}
|
|
154
185
|
var existingBlockList = _defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver = _defaultConfig.resolver) === null || _defaultConfig_resolver === void 0 ? void 0 : _defaultConfig_resolver.blockList;
|
|
@@ -168,16 +199,8 @@ async function buildMetroConfigInputFromViteConfig(config, metroPluginOptions) {
|
|
|
168
199
|
..._defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.resolver,
|
|
169
200
|
useWatchman,
|
|
170
201
|
blockList,
|
|
171
|
-
sourceExts:
|
|
172
|
-
|
|
173
|
-
"jsx",
|
|
174
|
-
"json",
|
|
175
|
-
"ts",
|
|
176
|
-
"tsx",
|
|
177
|
-
"mjs",
|
|
178
|
-
"cjs"
|
|
179
|
-
],
|
|
180
|
-
resolveRequest: function(context, moduleName, platform) {
|
|
202
|
+
sourceExts: metroSourceExts,
|
|
203
|
+
resolveRequest: function resolveRequest(context, moduleName, platform) {
|
|
181
204
|
var _defaultConfig_resolver2;
|
|
182
205
|
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;
|
|
183
206
|
if (excludeModules && excludeModules.length > 0) {
|
|
@@ -210,14 +233,14 @@ async function buildMetroConfigInputFromViteConfig(config, metroPluginOptions) {
|
|
|
210
233
|
...typeof defaultConfigOverrides === "function" ? defaultConfigOverrides(defaultConfig) : defaultConfigOverrides
|
|
211
234
|
};
|
|
212
235
|
return {
|
|
213
|
-
defaultConfig:
|
|
236
|
+
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),
|
|
214
237
|
projectRoot,
|
|
215
238
|
extraConfig
|
|
216
239
|
};
|
|
217
240
|
}
|
|
218
241
|
async function getMetroConfigFromViteConfig(config, metroPluginOptions) {
|
|
219
|
-
var _ref, _ref1;
|
|
220
|
-
var _metroPluginOptions_argv, _defaultConfig_resolver, _defaultConfig_watcher;
|
|
242
|
+
var _ref, _ref1, _ref2;
|
|
243
|
+
var _metroPluginOptions_argv, _defaultConfig_resolver, _defaultConfig_watcher, _config_resolve;
|
|
221
244
|
var extraConfig = {};
|
|
222
245
|
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);
|
|
223
246
|
var { mainModuleName, argv, defaultConfigOverrides, watchman, excludeModules } = metroPluginOptions;
|
|
@@ -231,16 +254,16 @@ async function getMetroConfigFromViteConfig(config, metroPluginOptions) {
|
|
|
231
254
|
if (mainModuleName) {
|
|
232
255
|
var _defaultConfig_server;
|
|
233
256
|
var origRewriteRequestUrl = (_defaultConfig_server = _defaultConfig.server) === null || _defaultConfig_server === void 0 ? void 0 : _defaultConfig_server.rewriteRequestUrl;
|
|
234
|
-
var resolveMainModuleName = function() {
|
|
257
|
+
var resolveMainModuleName = function resolveMainModuleName2() {
|
|
235
258
|
return mainModuleName;
|
|
236
259
|
};
|
|
237
260
|
extraConfig.getResolveMainModuleName = resolveMainModuleName;
|
|
238
261
|
_defaultConfig.server.rewriteRequestUrl = function(url) {
|
|
239
|
-
var
|
|
262
|
+
var _ref3;
|
|
240
263
|
if (isMainModuleBundleRequest(url)) {
|
|
241
264
|
return rewriteMainModuleBundleUrl(url, resolveMainModuleName);
|
|
242
265
|
}
|
|
243
|
-
return (
|
|
266
|
+
return (_ref3 = origRewriteRequestUrl === null || origRewriteRequestUrl === void 0 ? void 0 : origRewriteRequestUrl(url)) !== null && _ref3 !== void 0 ? _ref3 : url;
|
|
244
267
|
};
|
|
245
268
|
}
|
|
246
269
|
var existingBlockList = _defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver = _defaultConfig.resolver) === null || _defaultConfig_resolver === void 0 ? void 0 : _defaultConfig_resolver.blockList;
|
|
@@ -260,16 +283,8 @@ async function getMetroConfigFromViteConfig(config, metroPluginOptions) {
|
|
|
260
283
|
..._defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.resolver,
|
|
261
284
|
useWatchman,
|
|
262
285
|
blockList,
|
|
263
|
-
sourceExts:
|
|
264
|
-
|
|
265
|
-
"jsx",
|
|
266
|
-
"json",
|
|
267
|
-
"ts",
|
|
268
|
-
"tsx",
|
|
269
|
-
"mjs",
|
|
270
|
-
"cjs"
|
|
271
|
-
],
|
|
272
|
-
resolveRequest: function(context, moduleName, platform) {
|
|
286
|
+
sourceExts: metroSourceExts,
|
|
287
|
+
resolveRequest: function resolveRequest(context, moduleName, platform) {
|
|
273
288
|
var _defaultConfig_resolver2;
|
|
274
289
|
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;
|
|
275
290
|
if (excludeModules && excludeModules.length > 0) {
|
|
@@ -307,7 +322,7 @@ async function getMetroConfigFromViteConfig(config, metroPluginOptions) {
|
|
|
307
322
|
...typeof defaultConfigOverrides === "function" ? defaultConfigOverrides(defaultConfig) : defaultConfigOverrides
|
|
308
323
|
});
|
|
309
324
|
return {
|
|
310
|
-
...
|
|
325
|
+
...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),
|
|
311
326
|
...extraConfig
|
|
312
327
|
};
|
|
313
328
|
}
|