@vxrn/vite-plugin-metro 2.7.7 → 2.8.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.
Files changed (65) hide show
  1. package/dist/cjs/babel-plugins/import-meta-env-plugin.cjs +1 -1
  2. package/dist/cjs/babel-plugins/import-meta-env-plugin.native.cjs +1 -1
  3. package/dist/cjs/babel-plugins/import-meta-env-plugin.native.js +1 -1
  4. package/dist/cjs/babel-plugins/import-meta-env-plugin.native.js.map +1 -1
  5. package/dist/cjs/index.cjs +0 -4
  6. package/dist/cjs/index.native.cjs +0 -4
  7. package/dist/cjs/index.native.js +0 -4
  8. package/dist/cjs/index.native.js.map +1 -1
  9. package/dist/cjs/metro-config/getMetroConfigFromViteConfig.cjs +2 -2
  10. package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.cjs +2 -2
  11. package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.js +2 -2
  12. package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.js.map +1 -1
  13. package/dist/cjs/rn-commands/bundle/getBuildBundleFn.cjs +5 -11
  14. package/dist/cjs/rn-commands/bundle/getBuildBundleFn.native.cjs +5 -11
  15. package/dist/cjs/rn-commands/bundle/getBuildBundleFn.native.js +5 -11
  16. package/dist/cjs/rn-commands/bundle/getBuildBundleFn.native.js.map +1 -1
  17. package/dist/cjs/transformer/metroNativeWorker.cjs +1 -1
  18. package/dist/cjs/transformer/metroNativeWorker.native.cjs +1 -1
  19. package/dist/cjs/transformer/metroNativeWorker.native.js +1 -1
  20. package/dist/cjs/transformer/metroNativeWorker.native.js.map +1 -1
  21. package/dist/esm/babel-plugins/import-meta-env-plugin.mjs +1 -1
  22. package/dist/esm/babel-plugins/import-meta-env-plugin.mjs.map +1 -1
  23. package/dist/esm/babel-plugins/import-meta-env-plugin.native.js +1 -1
  24. package/dist/esm/babel-plugins/import-meta-env-plugin.native.js.map +1 -1
  25. package/dist/esm/index.js +1 -2
  26. package/dist/esm/index.mjs +1 -2
  27. package/dist/esm/index.native.js +1 -2
  28. package/dist/esm/metro-config/getMetroConfigFromViteConfig.mjs +2 -2
  29. package/dist/esm/metro-config/getMetroConfigFromViteConfig.mjs.map +1 -1
  30. package/dist/esm/metro-config/getMetroConfigFromViteConfig.native.js +2 -2
  31. package/dist/esm/metro-config/getMetroConfigFromViteConfig.native.js.map +1 -1
  32. package/dist/esm/rn-commands/bundle/getBuildBundleFn.mjs +5 -11
  33. package/dist/esm/rn-commands/bundle/getBuildBundleFn.mjs.map +1 -1
  34. package/dist/esm/rn-commands/bundle/getBuildBundleFn.native.js +5 -11
  35. package/dist/esm/rn-commands/bundle/getBuildBundleFn.native.js.map +1 -1
  36. package/dist/esm/transformer/metroNativeWorker.mjs +1 -1
  37. package/dist/esm/transformer/metroNativeWorker.mjs.map +1 -1
  38. package/dist/esm/transformer/metroNativeWorker.native.js +1 -1
  39. package/dist/esm/transformer/metroNativeWorker.native.js.map +1 -1
  40. package/package.json +17 -22
  41. package/src/babel-plugins/import-meta-env-plugin.ts +1 -1
  42. package/src/index.ts +0 -8
  43. package/src/metro-config/getMetroConfigFromViteConfig.ts +2 -2
  44. package/src/plugins/metroPlugin.ts +1 -2
  45. package/src/rn-commands/bundle/getBuildBundleFn.ts +8 -26
  46. package/src/transformer/expoVirtualEnv.integration.test.ts +7 -1
  47. package/src/transformer/metroNativeWorker.ts +1 -1
  48. package/types/index.d.ts +0 -1
  49. package/types/index.d.ts.map +1 -1
  50. package/types/plugins/metroPlugin.d.ts.map +1 -1
  51. package/types/rn-commands/bundle/getBuildBundleFn.d.ts +4 -4
  52. package/types/rn-commands/bundle/getBuildBundleFn.d.ts.map +1 -1
  53. package/dist/cjs/env/platformEnv.cjs +0 -76
  54. package/dist/cjs/env/platformEnv.native.cjs +0 -95
  55. package/dist/cjs/env/platformEnv.native.js +0 -97
  56. package/dist/cjs/env/platformEnv.native.js.map +0 -1
  57. package/dist/esm/env/platformEnv.mjs +0 -52
  58. package/dist/esm/env/platformEnv.mjs.map +0 -1
  59. package/dist/esm/env/platformEnv.native.js +0 -69
  60. package/dist/esm/env/platformEnv.native.js.map +0 -1
  61. package/empty.js +0 -1
  62. package/src/env/platformEnv.test.ts +0 -44
  63. package/src/env/platformEnv.ts +0 -75
  64. package/types/env/platformEnv.d.ts +0 -19
  65. package/types/env/platformEnv.d.ts.map +0 -1
@@ -1,6 +1,6 @@
1
1
  import { types } from "@babel/core";
2
2
  import { declare } from "@babel/helper-plugin-utils";
3
- import { getPlatformEnv, metroPlatformToViteEnvironment } from "../env/platformEnv.mjs";
3
+ import { getPlatformEnv, metroPlatformToViteEnvironment } from "@vxrn/utils/platformEnv";
4
4
 
5
5
  const importMetaEnvPlugin = declare((api, options) => {
6
6
  api.assertVersion(7);
@@ -1 +1 @@
1
- {"version":3,"file":"import-meta-env-plugin.js","names":["t"],"sources":["esm/babel-plugins/import-meta-env-plugin.js"],"sourcesContent":["import { types as t } from \"@babel/core\";\nimport { declare } from \"@babel/helper-plugin-utils\";\nimport { getPlatformEnv, metroPlatformToViteEnvironment } from \"../env/platformEnv\";\nconst importMetaEnvPlugin = declare((api, options) => {\n api.assertVersion(7);\n const platform = api.caller((caller) => caller?.platform);\n const platformEnv = getPlatformEnv(metroPlatformToViteEnvironment(platform));\n const env = {\n ...options.env,\n ...platformEnv\n };\n const replacedNodes = /* @__PURE__ */ new Set();\n return {\n name: \"import-meta-env\",\n visitor: {\n MemberExpression(path) {\n const { node } = path;\n if (path.parentPath.isAssignmentExpression({ left: node })) return;\n const isImportMeta = t.isMetaProperty(node.object) && node.object.meta.name === \"import\" && node.object.property.name === \"meta\";\n if (isImportMeta && t.isIdentifier(node.property, { name: \"env\" })) {\n const envEntries = Object.entries(env).map(\n ([key, value]) => t.objectProperty(\n t.identifier(key),\n value === void 0 ? t.identifier(\"undefined\") : t.valueToNode(value)\n )\n );\n path.replaceWith(t.objectExpression(envEntries));\n return;\n }\n if (t.isMemberExpression(node.object) && t.isMetaProperty(node.object.object) && node.object.object.meta.name === \"import\" && node.object.object.property.name === \"meta\" && t.isIdentifier(node.object.property, { name: \"env\" })) {\n const envKey = t.isIdentifier(node.property) ? node.property.name : t.isStringLiteral(node.property) ? node.property.value : null;\n if (!envKey) return;\n const value = env[envKey];\n path.replaceWith(\n value === void 0 ? t.identifier(\"undefined\") : t.valueToNode(value)\n );\n return;\n }\n if (t.isMemberExpression(node.object) && t.isIdentifier(node.object.object, { name: \"process\" }) && t.isIdentifier(node.object.property, { name: \"env\" })) {\n const envKey = t.isIdentifier(node.property) ? node.property.name : t.isStringLiteral(node.property) ? node.property.value : null;\n if (!envKey || !(envKey in env)) return;\n const value = env[envKey];\n path.replaceWith(\n value === void 0 ? t.identifier(\"undefined\") : t.valueToNode(value)\n );\n }\n },\n // second pass: after all env values are inlined, eliminate dead branches.\n // runs once at Program exit so there's no re-visitation loop.\n Program: {\n exit(programPath) {\n programPath.traverse({\n ConditionalExpression(cePath) {\n const result = cePath.get(\"test\").evaluate();\n if (result.confident) {\n cePath.replaceWith(\n result.value ? cePath.node.consequent : cePath.node.alternate\n );\n }\n },\n IfStatement(ifPath) {\n const result = ifPath.get(\"test\").evaluate();\n if (!result.confident) return;\n if (result.value) {\n const c = ifPath.node.consequent;\n if (t.isBlockStatement(c)) {\n ifPath.replaceWithMultiple(c.body);\n } else {\n ifPath.replaceWith(c);\n }\n } else {\n const a = ifPath.node.alternate;\n if (a) {\n if (t.isBlockStatement(a)) {\n ifPath.replaceWithMultiple(a.body);\n } else {\n ifPath.replaceWith(a);\n }\n } else {\n ifPath.remove();\n }\n }\n }\n });\n }\n }\n }\n };\n});\nvar import_meta_env_plugin_default = importMetaEnvPlugin;\nexport {\n import_meta_env_plugin_default as default,\n importMetaEnvPlugin\n};\n//# sourceMappingURL=import-meta-env-plugin.js.map\n"],"mappings":";;;;;AAGA,MAAM,sBAAsB,SAAS,KAAK,YAAY;CACpD,IAAI,cAAc,CAAC;CACnB,MAAM,WAAW,IAAI,QAAQ,WAAW,QAAQ,QAAQ;CACxD,MAAM,cAAc,eAAe,+BAA+B,QAAQ,CAAC;CAC3E,MAAM,MAAM;EACV,GAAG,QAAQ;EACX,GAAG;CACL;CACA,MAAM,gCAAgC,IAAI,IAAI;CAC9C,OAAO;EACL,MAAM;EACN,SAAS;GACP,iBAAiB,MAAM;IACrB,MAAM,EAAE,SAAS;IACjB,IAAI,KAAK,WAAW,uBAAuB,EAAE,MAAM,KAAK,CAAC,GAAG;IAC5D,MAAM,eAAeA,MAAE,eAAe,KAAK,MAAM,KAAK,KAAK,OAAO,KAAK,SAAS,YAAY,KAAK,OAAO,SAAS,SAAS;IAC1H,IAAI,gBAAgBA,MAAE,aAAa,KAAK,UAAU,EAAE,MAAM,MAAM,CAAC,GAAG;KAClE,MAAM,aAAa,OAAO,QAAQ,GAAG,CAAC,CAAC,KACpC,CAAC,KAAK,WAAWA,MAAE,eAClBA,MAAE,WAAW,GAAG,GAChB,UAAU,KAAK,IAAIA,MAAE,WAAW,WAAW,IAAIA,MAAE,YAAY,KAAK,CACpE,CACF;KACA,KAAK,YAAYA,MAAE,iBAAiB,UAAU,CAAC;KAC/C;IACF;IACA,IAAIA,MAAE,mBAAmB,KAAK,MAAM,KAAKA,MAAE,eAAe,KAAK,OAAO,MAAM,KAAK,KAAK,OAAO,OAAO,KAAK,SAAS,YAAY,KAAK,OAAO,OAAO,SAAS,SAAS,UAAUA,MAAE,aAAa,KAAK,OAAO,UAAU,EAAE,MAAM,MAAM,CAAC,GAAG;KAClO,MAAM,SAASA,MAAE,aAAa,KAAK,QAAQ,IAAI,KAAK,SAAS,OAAOA,MAAE,gBAAgB,KAAK,QAAQ,IAAI,KAAK,SAAS,QAAQ;KAC7H,IAAI,CAAC,QAAQ;KACb,MAAM,QAAQ,IAAI;KAClB,KAAK,YACH,UAAU,KAAK,IAAIA,MAAE,WAAW,WAAW,IAAIA,MAAE,YAAY,KAAK,CACpE;KACA;IACF;IACA,IAAIA,MAAE,mBAAmB,KAAK,MAAM,KAAKA,MAAE,aAAa,KAAK,OAAO,QAAQ,EAAE,MAAM,UAAU,CAAC,KAAKA,MAAE,aAAa,KAAK,OAAO,UAAU,EAAE,MAAM,MAAM,CAAC,GAAG;KACzJ,MAAM,SAASA,MAAE,aAAa,KAAK,QAAQ,IAAI,KAAK,SAAS,OAAOA,MAAE,gBAAgB,KAAK,QAAQ,IAAI,KAAK,SAAS,QAAQ;KAC7H,IAAI,CAAC,UAAU,EAAE,UAAU,MAAM;KACjC,MAAM,QAAQ,IAAI;KAClB,KAAK,YACH,UAAU,KAAK,IAAIA,MAAE,WAAW,WAAW,IAAIA,MAAE,YAAY,KAAK,CACpE;IACF;GACF;GAGA,SAAS,EACP,KAAK,aAAa;IAChB,YAAY,SAAS;KACnB,sBAAsB,QAAQ;MAC5B,MAAM,SAAS,OAAO,IAAI,MAAM,CAAC,CAAC,SAAS;MAC3C,IAAI,OAAO,WAAW;OACpB,OAAO,YACL,OAAO,QAAQ,OAAO,KAAK,aAAa,OAAO,KAAK,SACtD;MACF;KACF;KACA,YAAY,QAAQ;MAClB,MAAM,SAAS,OAAO,IAAI,MAAM,CAAC,CAAC,SAAS;MAC3C,IAAI,CAAC,OAAO,WAAW;MACvB,IAAI,OAAO,OAAO;OAChB,MAAM,IAAI,OAAO,KAAK;OACtB,IAAIA,MAAE,iBAAiB,CAAC,GAAG;QACzB,OAAO,oBAAoB,EAAE,IAAI;OACnC,OAAO;QACL,OAAO,YAAY,CAAC;OACtB;MACF,OAAO;OACL,MAAM,IAAI,OAAO,KAAK;OACtB,IAAI,GAAG;QACL,IAAIA,MAAE,iBAAiB,CAAC,GAAG;SACzB,OAAO,oBAAoB,EAAE,IAAI;QACnC,OAAO;SACL,OAAO,YAAY,CAAC;QACtB;OACF,OAAO;QACL,OAAO,OAAO;OAChB;MACF;KACF;IACF,CAAC;GACH,EACF;EACF;CACF;AACF,CAAC;AACD,IAAI,iCAAiC"}
1
+ {"version":3,"file":"import-meta-env-plugin.js","names":["t"],"sources":["esm/babel-plugins/import-meta-env-plugin.js"],"sourcesContent":["import { types as t } from \"@babel/core\";\nimport { declare } from \"@babel/helper-plugin-utils\";\nimport { getPlatformEnv, metroPlatformToViteEnvironment } from \"@vxrn/utils/platformEnv\";\nconst importMetaEnvPlugin = declare((api, options) => {\n api.assertVersion(7);\n const platform = api.caller((caller) => caller?.platform);\n const platformEnv = getPlatformEnv(metroPlatformToViteEnvironment(platform));\n const env = {\n ...options.env,\n ...platformEnv\n };\n const replacedNodes = /* @__PURE__ */ new Set();\n return {\n name: \"import-meta-env\",\n visitor: {\n MemberExpression(path) {\n const { node } = path;\n if (path.parentPath.isAssignmentExpression({ left: node })) return;\n const isImportMeta = t.isMetaProperty(node.object) && node.object.meta.name === \"import\" && node.object.property.name === \"meta\";\n if (isImportMeta && t.isIdentifier(node.property, { name: \"env\" })) {\n const envEntries = Object.entries(env).map(\n ([key, value]) => t.objectProperty(\n t.identifier(key),\n value === void 0 ? t.identifier(\"undefined\") : t.valueToNode(value)\n )\n );\n path.replaceWith(t.objectExpression(envEntries));\n return;\n }\n if (t.isMemberExpression(node.object) && t.isMetaProperty(node.object.object) && node.object.object.meta.name === \"import\" && node.object.object.property.name === \"meta\" && t.isIdentifier(node.object.property, { name: \"env\" })) {\n const envKey = t.isIdentifier(node.property) ? node.property.name : t.isStringLiteral(node.property) ? node.property.value : null;\n if (!envKey) return;\n const value = env[envKey];\n path.replaceWith(\n value === void 0 ? t.identifier(\"undefined\") : t.valueToNode(value)\n );\n return;\n }\n if (t.isMemberExpression(node.object) && t.isIdentifier(node.object.object, { name: \"process\" }) && t.isIdentifier(node.object.property, { name: \"env\" })) {\n const envKey = t.isIdentifier(node.property) ? node.property.name : t.isStringLiteral(node.property) ? node.property.value : null;\n if (!envKey || !(envKey in env)) return;\n const value = env[envKey];\n path.replaceWith(\n value === void 0 ? t.identifier(\"undefined\") : t.valueToNode(value)\n );\n }\n },\n // second pass: after all env values are inlined, eliminate dead branches.\n // runs once at Program exit so there's no re-visitation loop.\n Program: {\n exit(programPath) {\n programPath.traverse({\n ConditionalExpression(cePath) {\n const result = cePath.get(\"test\").evaluate();\n if (result.confident) {\n cePath.replaceWith(\n result.value ? cePath.node.consequent : cePath.node.alternate\n );\n }\n },\n IfStatement(ifPath) {\n const result = ifPath.get(\"test\").evaluate();\n if (!result.confident) return;\n if (result.value) {\n const c = ifPath.node.consequent;\n if (t.isBlockStatement(c)) {\n ifPath.replaceWithMultiple(c.body);\n } else {\n ifPath.replaceWith(c);\n }\n } else {\n const a = ifPath.node.alternate;\n if (a) {\n if (t.isBlockStatement(a)) {\n ifPath.replaceWithMultiple(a.body);\n } else {\n ifPath.replaceWith(a);\n }\n } else {\n ifPath.remove();\n }\n }\n }\n });\n }\n }\n }\n };\n});\nvar import_meta_env_plugin_default = importMetaEnvPlugin;\nexport {\n import_meta_env_plugin_default as default,\n importMetaEnvPlugin\n};\n//# sourceMappingURL=import-meta-env-plugin.js.map\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { types } from "@babel/core";
2
2
  import { declare } from "@babel/helper-plugin-utils";
3
- import { getPlatformEnv, metroPlatformToViteEnvironment } from "../env/platformEnv.native.js";
3
+ import { getPlatformEnv, metroPlatformToViteEnvironment } from "@vxrn/utils/platformEnv";
4
4
 
5
5
  var importMetaEnvPlugin = declare(function(api, options) {
6
6
  api.assertVersion(7);
@@ -1 +1 @@
1
- {"version":3,"file":"import-meta-env-plugin.native.js","names":["t"],"sources":["esm/babel-plugins/import-meta-env-plugin.native.js"],"sourcesContent":["import { types as t } from \"@babel/core\";\nimport { declare } from \"@babel/helper-plugin-utils\";\nimport { getPlatformEnv, metroPlatformToViteEnvironment } from \"../env/platformEnv\";\nvar importMetaEnvPlugin = declare(function(api, options) {\n api.assertVersion(7);\n var platform = api.caller(function(caller) {\n return caller === null || caller === void 0 ? void 0 : caller.platform;\n });\n var platformEnv = getPlatformEnv(metroPlatformToViteEnvironment(platform));\n var env = {\n ...options.env,\n ...platformEnv\n };\n var replacedNodes = /* @__PURE__ */ new Set();\n return {\n name: \"import-meta-env\",\n visitor: {\n MemberExpression(path) {\n var { node } = path;\n if (path.parentPath.isAssignmentExpression({\n left: node\n })) return;\n var isImportMeta = t.isMetaProperty(node.object) && node.object.meta.name === \"import\" && node.object.property.name === \"meta\";\n if (isImportMeta && t.isIdentifier(node.property, {\n name: \"env\"\n })) {\n var envEntries = Object.entries(env).map(function(param) {\n var [key, value2] = param;\n return t.objectProperty(t.identifier(key), value2 === void 0 ? t.identifier(\"undefined\") : t.valueToNode(value2));\n });\n path.replaceWith(t.objectExpression(envEntries));\n return;\n }\n if (t.isMemberExpression(node.object) && t.isMetaProperty(node.object.object) && node.object.object.meta.name === \"import\" && node.object.object.property.name === \"meta\" && t.isIdentifier(node.object.property, {\n name: \"env\"\n })) {\n var envKey = t.isIdentifier(node.property) ? node.property.name : t.isStringLiteral(node.property) ? node.property.value : null;\n if (!envKey) return;\n var value = env[envKey];\n path.replaceWith(value === void 0 ? t.identifier(\"undefined\") : t.valueToNode(value));\n return;\n }\n if (t.isMemberExpression(node.object) && t.isIdentifier(node.object.object, {\n name: \"process\"\n }) && t.isIdentifier(node.object.property, {\n name: \"env\"\n })) {\n var envKey1 = t.isIdentifier(node.property) ? node.property.name : t.isStringLiteral(node.property) ? node.property.value : null;\n if (!envKey1 || !(envKey1 in env)) return;\n var value1 = env[envKey1];\n path.replaceWith(value1 === void 0 ? t.identifier(\"undefined\") : t.valueToNode(value1));\n }\n },\n // second pass: after all env values are inlined, eliminate dead branches.\n // runs once at Program exit so there's no re-visitation loop.\n Program: {\n exit(programPath) {\n programPath.traverse({\n ConditionalExpression(cePath) {\n var result = cePath.get(\"test\").evaluate();\n if (result.confident) {\n cePath.replaceWith(result.value ? cePath.node.consequent : cePath.node.alternate);\n }\n },\n IfStatement(ifPath) {\n var result = ifPath.get(\"test\").evaluate();\n if (!result.confident) return;\n if (result.value) {\n var c = ifPath.node.consequent;\n if (t.isBlockStatement(c)) {\n ifPath.replaceWithMultiple(c.body);\n } else {\n ifPath.replaceWith(c);\n }\n } else {\n var a = ifPath.node.alternate;\n if (a) {\n if (t.isBlockStatement(a)) {\n ifPath.replaceWithMultiple(a.body);\n } else {\n ifPath.replaceWith(a);\n }\n } else {\n ifPath.remove();\n }\n }\n }\n });\n }\n }\n }\n };\n});\nvar import_meta_env_plugin_default = importMetaEnvPlugin;\nexport {\n import_meta_env_plugin_default as default,\n importMetaEnvPlugin\n};\n//# sourceMappingURL=import-meta-env-plugin.js.map\n"],"mappings":";;;;;AAGA,IAAI,sBAAsB,QAAQ,SAAS,KAAK,SAAS;CACvD,IAAI,cAAc,CAAC;CACnB,IAAI,WAAW,IAAI,OAAO,SAAS,QAAQ;EACzC,OAAO,WAAW,QAAQ,WAAW,KAAK,IAAI,KAAK,IAAI,OAAO;CAChE,CAAC;CACD,IAAI,cAAc,eAAe,+BAA+B,QAAQ,CAAC;CACzE,IAAI,MAAM;EACR,GAAG,QAAQ;EACX,GAAG;CACL;CACA,IAAI,gCAAgC,IAAI,IAAI;CAC5C,OAAO;EACL,MAAM;EACN,SAAS;GACP,iBAAiB,MAAM;IACrB,IAAI,EAAE,SAAS;IACf,IAAI,KAAK,WAAW,uBAAuB,EACzC,MAAM,KACR,CAAC,GAAG;IACJ,IAAI,eAAeA,MAAE,eAAe,KAAK,MAAM,KAAK,KAAK,OAAO,KAAK,SAAS,YAAY,KAAK,OAAO,SAAS,SAAS;IACxH,IAAI,gBAAgBA,MAAE,aAAa,KAAK,UAAU,EAChD,MAAM,MACR,CAAC,GAAG;KACF,IAAI,aAAa,OAAO,QAAQ,GAAG,CAAC,CAAC,IAAI,SAAS,OAAO;MACvD,IAAI,CAAC,KAAK,UAAU;MACpB,OAAOA,MAAE,eAAeA,MAAE,WAAW,GAAG,GAAG,WAAW,KAAK,IAAIA,MAAE,WAAW,WAAW,IAAIA,MAAE,YAAY,MAAM,CAAC;KAClH,CAAC;KACD,KAAK,YAAYA,MAAE,iBAAiB,UAAU,CAAC;KAC/C;IACF;IACA,IAAIA,MAAE,mBAAmB,KAAK,MAAM,KAAKA,MAAE,eAAe,KAAK,OAAO,MAAM,KAAK,KAAK,OAAO,OAAO,KAAK,SAAS,YAAY,KAAK,OAAO,OAAO,SAAS,SAAS,UAAUA,MAAE,aAAa,KAAK,OAAO,UAAU,EAChN,MAAM,MACR,CAAC,GAAG;KACF,IAAI,SAASA,MAAE,aAAa,KAAK,QAAQ,IAAI,KAAK,SAAS,OAAOA,MAAE,gBAAgB,KAAK,QAAQ,IAAI,KAAK,SAAS,QAAQ;KAC3H,IAAI,CAAC,QAAQ;KACb,IAAI,QAAQ,IAAI;KAChB,KAAK,YAAY,UAAU,KAAK,IAAIA,MAAE,WAAW,WAAW,IAAIA,MAAE,YAAY,KAAK,CAAC;KACpF;IACF;IACA,IAAIA,MAAE,mBAAmB,KAAK,MAAM,KAAKA,MAAE,aAAa,KAAK,OAAO,QAAQ,EAC1E,MAAM,UACR,CAAC,KAAKA,MAAE,aAAa,KAAK,OAAO,UAAU,EACzC,MAAM,MACR,CAAC,GAAG;KACF,IAAI,UAAUA,MAAE,aAAa,KAAK,QAAQ,IAAI,KAAK,SAAS,OAAOA,MAAE,gBAAgB,KAAK,QAAQ,IAAI,KAAK,SAAS,QAAQ;KAC5H,IAAI,CAAC,WAAW,EAAE,WAAW,MAAM;KACnC,IAAI,SAAS,IAAI;KACjB,KAAK,YAAY,WAAW,KAAK,IAAIA,MAAE,WAAW,WAAW,IAAIA,MAAE,YAAY,MAAM,CAAC;IACxF;GACF;GAGA,SAAS,EACP,KAAK,aAAa;IAChB,YAAY,SAAS;KACnB,sBAAsB,QAAQ;MAC5B,IAAI,SAAS,OAAO,IAAI,MAAM,CAAC,CAAC,SAAS;MACzC,IAAI,OAAO,WAAW;OACpB,OAAO,YAAY,OAAO,QAAQ,OAAO,KAAK,aAAa,OAAO,KAAK,SAAS;MAClF;KACF;KACA,YAAY,QAAQ;MAClB,IAAI,SAAS,OAAO,IAAI,MAAM,CAAC,CAAC,SAAS;MACzC,IAAI,CAAC,OAAO,WAAW;MACvB,IAAI,OAAO,OAAO;OAChB,IAAI,IAAI,OAAO,KAAK;OACpB,IAAIA,MAAE,iBAAiB,CAAC,GAAG;QACzB,OAAO,oBAAoB,EAAE,IAAI;OACnC,OAAO;QACL,OAAO,YAAY,CAAC;OACtB;MACF,OAAO;OACL,IAAI,IAAI,OAAO,KAAK;OACpB,IAAI,GAAG;QACL,IAAIA,MAAE,iBAAiB,CAAC,GAAG;SACzB,OAAO,oBAAoB,EAAE,IAAI;QACnC,OAAO;SACL,OAAO,YAAY,CAAC;QACtB;OACF,OAAO;QACL,OAAO,OAAO;OAChB;MACF;KACF;IACF,CAAC;GACH,EACF;EACF;CACF;AACF,CAAC;AACD,IAAI,iCAAiC"}
1
+ {"version":3,"file":"import-meta-env-plugin.native.js","names":["t"],"sources":["esm/babel-plugins/import-meta-env-plugin.native.js"],"sourcesContent":["import { types as t } from \"@babel/core\";\nimport { declare } from \"@babel/helper-plugin-utils\";\nimport { getPlatformEnv, metroPlatformToViteEnvironment } from \"@vxrn/utils/platformEnv\";\nvar importMetaEnvPlugin = declare(function(api, options) {\n api.assertVersion(7);\n var platform = api.caller(function(caller) {\n return caller === null || caller === void 0 ? void 0 : caller.platform;\n });\n var platformEnv = getPlatformEnv(metroPlatformToViteEnvironment(platform));\n var env = {\n ...options.env,\n ...platformEnv\n };\n var replacedNodes = /* @__PURE__ */ new Set();\n return {\n name: \"import-meta-env\",\n visitor: {\n MemberExpression(path) {\n var { node } = path;\n if (path.parentPath.isAssignmentExpression({\n left: node\n })) return;\n var isImportMeta = t.isMetaProperty(node.object) && node.object.meta.name === \"import\" && node.object.property.name === \"meta\";\n if (isImportMeta && t.isIdentifier(node.property, {\n name: \"env\"\n })) {\n var envEntries = Object.entries(env).map(function(param) {\n var [key, value2] = param;\n return t.objectProperty(t.identifier(key), value2 === void 0 ? t.identifier(\"undefined\") : t.valueToNode(value2));\n });\n path.replaceWith(t.objectExpression(envEntries));\n return;\n }\n if (t.isMemberExpression(node.object) && t.isMetaProperty(node.object.object) && node.object.object.meta.name === \"import\" && node.object.object.property.name === \"meta\" && t.isIdentifier(node.object.property, {\n name: \"env\"\n })) {\n var envKey = t.isIdentifier(node.property) ? node.property.name : t.isStringLiteral(node.property) ? node.property.value : null;\n if (!envKey) return;\n var value = env[envKey];\n path.replaceWith(value === void 0 ? t.identifier(\"undefined\") : t.valueToNode(value));\n return;\n }\n if (t.isMemberExpression(node.object) && t.isIdentifier(node.object.object, {\n name: \"process\"\n }) && t.isIdentifier(node.object.property, {\n name: \"env\"\n })) {\n var envKey1 = t.isIdentifier(node.property) ? node.property.name : t.isStringLiteral(node.property) ? node.property.value : null;\n if (!envKey1 || !(envKey1 in env)) return;\n var value1 = env[envKey1];\n path.replaceWith(value1 === void 0 ? t.identifier(\"undefined\") : t.valueToNode(value1));\n }\n },\n // second pass: after all env values are inlined, eliminate dead branches.\n // runs once at Program exit so there's no re-visitation loop.\n Program: {\n exit(programPath) {\n programPath.traverse({\n ConditionalExpression(cePath) {\n var result = cePath.get(\"test\").evaluate();\n if (result.confident) {\n cePath.replaceWith(result.value ? cePath.node.consequent : cePath.node.alternate);\n }\n },\n IfStatement(ifPath) {\n var result = ifPath.get(\"test\").evaluate();\n if (!result.confident) return;\n if (result.value) {\n var c = ifPath.node.consequent;\n if (t.isBlockStatement(c)) {\n ifPath.replaceWithMultiple(c.body);\n } else {\n ifPath.replaceWith(c);\n }\n } else {\n var a = ifPath.node.alternate;\n if (a) {\n if (t.isBlockStatement(a)) {\n ifPath.replaceWithMultiple(a.body);\n } else {\n ifPath.replaceWith(a);\n }\n } else {\n ifPath.remove();\n }\n }\n }\n });\n }\n }\n }\n };\n});\nvar import_meta_env_plugin_default = importMetaEnvPlugin;\nexport {\n import_meta_env_plugin_default as default,\n importMetaEnvPlugin\n};\n//# sourceMappingURL=import-meta-env-plugin.js.map\n"],"mappings":"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"}
package/dist/esm/index.js CHANGED
@@ -1,7 +1,6 @@
1
1
  import { metroPlugin } from "./plugins/metroPlugin.mjs";
2
- import { getPlatformEnv, getPlatformEnvDefine, metroPlatformToViteEnvironment } from "./env/platformEnv.mjs";
3
2
  import { checkAndClearMetroCacheFromVite } from "./utils/metroCacheManager.mjs";
4
3
  import { buildMetroConfigInputFromViteConfig, getMetroConfigFromViteConfig } from "./metro-config/getMetroConfigFromViteConfig.mjs";
5
4
  import { patchMetroServerWithViteConfigAndMetroPluginOptions } from "./metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.mjs";
6
5
 
7
- export { buildMetroConfigInputFromViteConfig, checkAndClearMetroCacheFromVite, getMetroConfigFromViteConfig, getPlatformEnv, getPlatformEnvDefine, metroPlatformToViteEnvironment, metroPlugin, patchMetroServerWithViteConfigAndMetroPluginOptions };
6
+ export { buildMetroConfigInputFromViteConfig, checkAndClearMetroCacheFromVite, getMetroConfigFromViteConfig, metroPlugin, patchMetroServerWithViteConfigAndMetroPluginOptions };
@@ -1,7 +1,6 @@
1
1
  import { metroPlugin } from "./plugins/metroPlugin.mjs";
2
- import { getPlatformEnv, getPlatformEnvDefine, metroPlatformToViteEnvironment } from "./env/platformEnv.mjs";
3
2
  import { checkAndClearMetroCacheFromVite } from "./utils/metroCacheManager.mjs";
4
3
  import { buildMetroConfigInputFromViteConfig, getMetroConfigFromViteConfig } from "./metro-config/getMetroConfigFromViteConfig.mjs";
5
4
  import { patchMetroServerWithViteConfigAndMetroPluginOptions } from "./metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.mjs";
6
5
 
7
- export { buildMetroConfigInputFromViteConfig, checkAndClearMetroCacheFromVite, getMetroConfigFromViteConfig, getPlatformEnv, getPlatformEnvDefine, metroPlatformToViteEnvironment, metroPlugin, patchMetroServerWithViteConfigAndMetroPluginOptions };
6
+ export { buildMetroConfigInputFromViteConfig, checkAndClearMetroCacheFromVite, getMetroConfigFromViteConfig, metroPlugin, patchMetroServerWithViteConfigAndMetroPluginOptions };
@@ -1,7 +1,6 @@
1
1
  import { metroPlugin } from "./plugins/metroPlugin.native.js";
2
- import { getPlatformEnv, getPlatformEnvDefine, metroPlatformToViteEnvironment } from "./env/platformEnv.native.js";
3
2
  import { checkAndClearMetroCacheFromVite } from "./utils/metroCacheManager.native.js";
4
3
  import { buildMetroConfigInputFromViteConfig, getMetroConfigFromViteConfig } from "./metro-config/getMetroConfigFromViteConfig.native.js";
5
4
  import { patchMetroServerWithViteConfigAndMetroPluginOptions } from "./metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js";
6
5
 
7
- export { buildMetroConfigInputFromViteConfig, checkAndClearMetroCacheFromVite, getMetroConfigFromViteConfig, getPlatformEnv, getPlatformEnvDefine, metroPlatformToViteEnvironment, metroPlugin, patchMetroServerWithViteConfigAndMetroPluginOptions };
6
+ export { buildMetroConfigInputFromViteConfig, checkAndClearMetroCacheFromVite, getMetroConfigFromViteConfig, metroPlugin, patchMetroServerWithViteConfigAndMetroPluginOptions };
@@ -192,7 +192,7 @@ async function buildMetroConfigInputFromViteConfig(config, metroPluginOptions) {
192
192
  const origResolveRequestFn = _defaultConfig?.resolver?.resolveRequest || context.resolveRequest;
193
193
  if (excludeModules && excludeModules.length > 0) {
194
194
  if (micromatch.isMatch(moduleName, excludeModules)) {
195
- return origResolveRequestFn(context, "@vxrn/vite-plugin-metro/empty", platform);
195
+ return origResolveRequestFn(context, "@vxrn/utils/empty", platform);
196
196
  }
197
197
  }
198
198
  if (moduleName.startsWith("@babel/runtime")) {
@@ -267,7 +267,7 @@ async function getMetroConfigFromViteConfig(config, metroPluginOptions) {
267
267
  const origResolveRequestFn = _defaultConfig?.resolver?.resolveRequest || context.resolveRequest;
268
268
  if (excludeModules && excludeModules.length > 0) {
269
269
  if (micromatch.isMatch(moduleName, excludeModules)) {
270
- return origResolveRequestFn(context, "@vxrn/vite-plugin-metro/empty", platform);
270
+ return origResolveRequestFn(context, "@vxrn/utils/empty", platform);
271
271
  }
272
272
  }
273
273
  if (moduleName.startsWith("@babel/runtime")) {
@@ -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 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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"}
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/utils/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/utils/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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"}
@@ -205,7 +205,7 @@ async function buildMetroConfigInputFromViteConfig(config, metroPluginOptions) {
205
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;
206
206
  if (excludeModules && excludeModules.length > 0) {
207
207
  if (micromatch.isMatch(moduleName, excludeModules)) {
208
- return origResolveRequestFn(context, "@vxrn/vite-plugin-metro/empty", platform);
208
+ return origResolveRequestFn(context, "@vxrn/utils/empty", platform);
209
209
  }
210
210
  }
211
211
  if (moduleName.startsWith("@babel/runtime")) {
@@ -289,7 +289,7 @@ async function getMetroConfigFromViteConfig(config, metroPluginOptions) {
289
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;
290
290
  if (excludeModules && excludeModules.length > 0) {
291
291
  if (micromatch.isMatch(moduleName, excludeModules)) {
292
- return origResolveRequestFn(context, "@vxrn/vite-plugin-metro/empty", platform);
292
+ return origResolveRequestFn(context, "@vxrn/utils/empty", platform);
293
293
  }
294
294
  }
295
295
  if (moduleName.startsWith("@babel/runtime")) {
@@ -1 +1 @@
1
- {"version":3,"file":"getMetroConfigFromViteConfig.native.js","names":[],"sources":["esm/metro-config/getMetroConfigFromViteConfig.native.js"],"sourcesContent":["import { searchForWorkspaceRoot } from \"vite\";\nimport { spawn } from \"child_process\";\nimport { resolve } from \"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\";\nvar WATCHMAN_PROBE_TIMEOUT_MS = 2e3;\nvar expoEnvAdditionalExts = [\n \"env\",\n \"local\",\n \"development\"\n];\nvar metroSourceExts = [\n \"js\",\n \"jsx\",\n \"json\",\n \"ts\",\n \"tsx\",\n \"mjs\",\n \"cjs\",\n \"swift\",\n \"kt\"\n];\nvar watchmanResponsivePromises = /* @__PURE__ */ new Map();\nvar didWarnAboutWatchmanFallback = false;\nvar rootIndexBundleRequestPattern = /^(https?:\\/\\/[^/]+)?\\/index\\.bundle(?=$|[?#])/;\nvar expoVirtualEntryBundleRequestPattern = /^(https?:\\/\\/[^/]+)?\\/\\.expo\\/\\.virtual-metro-entry\\.bundle(?=$|[?#])/;\nvar metroWatchExclusions = [\n /^(?!.*[/\\\\]node_modules[/\\\\]).*[/\\\\]dist[/\\\\](?:static|server)(?:[/\\\\]|$)/,\n /[/\\\\]tests[/\\\\][^/\\\\]+[/\\\\]dist(?:[/\\\\]|$)/,\n /[/\\\\]\\.docker(?:[/\\\\]|$)/,\n /[/\\\\]\\.vite(?:[/\\\\]|$)/,\n /[/\\\\]node_modules[/\\\\]\\.vxrn(?:[/\\\\]|$)/\n];\nfunction enforceWorkspaceVisibility(config, projectRoot) {\n var _config_watchFolders, _ref;\n var _config_resolver;\n var workspaceRoot = searchForWorkspaceRoot(projectRoot);\n if (workspaceRoot === projectRoot) return config;\n return {\n ...config,\n watchFolders: [\n .../* @__PURE__ */ new Set([\n ...(_config_watchFolders = config.watchFolders) !== null && _config_watchFolders !== void 0 ? _config_watchFolders : [],\n workspaceRoot\n ])\n ],\n resolver: {\n ...config.resolver,\n nodeModulesPaths: [\n .../* @__PURE__ */ new Set([\n ...(_ref = (_config_resolver = config.resolver) === null || _config_resolver === void 0 ? void 0 : _config_resolver.nodeModulesPaths) !== null && _ref !== void 0 ? _ref : [],\n resolve(projectRoot, \"node_modules\"),\n resolve(workspaceRoot, \"node_modules\")\n ])\n ]\n }\n };\n}\nfunction getReactNativeDefaultConfig(projectRoot) {\n var _ref;\n var _config_resolver;\n var config = enforceWorkspaceVisibility(getDefaultConfig(projectRoot), projectRoot);\n return {\n ...config,\n resolver: {\n ...config.resolver,\n assetExts: [\n .../* @__PURE__ */ new Set([\n ...(_ref = (_config_resolver = config.resolver) === null || _config_resolver === void 0 ? void 0 : _config_resolver.assetExts) !== null && _ref !== void 0 ? _ref : [],\n \"glb\"\n ])\n ]\n }\n };\n}\nfunction getPlatformFromBundleUrl(url) {\n var _url_match;\n var platform = (_url_match = url.match(/[?&]platform=(ios|android)(?:&|$)/)) === null || _url_match === void 0 ? void 0 : _url_match[1];\n return platform === \"android\" ? \"android\" : \"ios\";\n}\nfunction rewriteMainModuleBundleUrl(url, resolveMainModuleName) {\n var 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(expoVirtualEntryBundleRequestPattern, `$1/${resolvedMainModulePath}.bundle`);\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 var _config_resolver;\n var dedupedPackages = new Set(dedupe);\n if ((!mainModuleName || !isBareSpecifier(mainModuleName)) && !dedupedPackages.size) {\n return config;\n }\n var rootOrigin = resolve(projectRoot, \"package.json\");\n var innerResolveRequest = (_config_resolver = config.resolver) === null || _config_resolver === void 0 ? void 0 : _config_resolver.resolveRequest;\n return {\n ...config,\n resolver: {\n ...config.resolver,\n resolveRequest: function resolveRequest(context, moduleName, platform) {\n var bareMain = bareMainModuleForRequest(moduleName, mainModuleName);\n var request = bareMain !== null && bareMain !== void 0 ? bareMain : moduleName;\n var packageEnd = request.indexOf(\"/\", request.startsWith(\"@\") ? request.indexOf(\"/\") + 1 : 0);\n var packageName = packageEnd === -1 ? request : request.slice(0, packageEnd);\n var resolutionContext = isBareSpecifier(request) && dedupedPackages.has(packageName) ? {\n ...context,\n originModulePath: rootOrigin\n } : context;\n var resolveRequest2 = innerResolveRequest || context.resolveRequest;\n return resolveRequest2(resolutionContext, request, platform);\n }\n }\n };\n}\nasync function isWatchmanResponsive(projectRoot) {\n var probe = watchmanResponsivePromises.get(projectRoot);\n if (probe) {\n return probe;\n }\n probe = new Promise(function(resolve2) {\n var settled = false;\n var finish = function finish2(value) {\n if (settled) return;\n settled = true;\n clearTimeout(timeout);\n resolve2(value);\n };\n var child = spawn(\"watchman\", [\n \"watch-project\",\n projectRoot\n ], {\n stdio: \"ignore\"\n });\n var timeout = setTimeout(function() {\n child.kill();\n finish(false);\n }, WATCHMAN_PROBE_TIMEOUT_MS);\n child.once(\"error\", function() {\n finish(false);\n });\n child.once(\"exit\", function(code) {\n finish(code === 0);\n });\n });\n watchmanResponsivePromises.set(projectRoot, probe);\n return probe;\n}\nfunction resolveNativeTransforms(projectRoot, metroPluginOptions) {\n var userBabelConfigPath = projectRoot ? findUserBabelConfig(projectRoot) : null;\n var hasUserBabelConfig = Boolean(userBabelConfigPath);\n var 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(`[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 return {\n isNativeTransforms,\n userBabelConfigPath\n };\n}\nasync function buildMetroConfigInputFromViteConfig(config, metroPluginOptions) {\n var _ref, _ref1, _ref2;\n var _metroPluginOptions_argv, _defaultConfig_resolver, _defaultConfig_watcher, _config_resolve;\n var extraConfig = {};\n 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);\n var { mainModuleName, defaultConfigOverrides, watchman, excludeModules } = metroPluginOptions;\n var useWatchman = watchman !== null && watchman !== void 0 ? watchman : await isWatchmanResponsive(projectRoot);\n if (watchman === void 0 && !useWatchman && !didWarnAboutWatchmanFallback) {\n didWarnAboutWatchmanFallback = true;\n console.warn(\"[vxrn/metro] Watchman is unavailable or unresponsive; falling back to Node file watching.\");\n }\n var _defaultConfig = getReactNativeDefaultConfig(projectRoot);\n if (mainModuleName) {\n var _defaultConfig_server;\n var origRewriteRequestUrl = (_defaultConfig_server = _defaultConfig.server) === null || _defaultConfig_server === void 0 ? void 0 : _defaultConfig_server.rewriteRequestUrl;\n var resolveMainModuleName = function resolveMainModuleName2() {\n return mainModuleName;\n };\n extraConfig.getResolveMainModuleName = resolveMainModuleName;\n _defaultConfig.server.rewriteRequestUrl = function(url) {\n var _ref3;\n if (isMainModuleBundleRequest(url)) {\n return rewriteMainModuleBundleUrl(url, resolveMainModuleName);\n }\n return (_ref3 = origRewriteRequestUrl === null || origRewriteRequestUrl === void 0 ? void 0 : origRewriteRequestUrl(url)) !== null && _ref3 !== void 0 ? _ref3 : url;\n };\n }\n var existingBlockList = _defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver = _defaultConfig.resolver) === null || _defaultConfig_resolver === void 0 ? void 0 : _defaultConfig_resolver.blockList;\n var blockList = [\n ...existingBlockList ? Array.isArray(existingBlockList) ? existingBlockList : [\n existingBlockList\n ] : [],\n ...metroWatchExclusions\n ];\n var { isNativeTransforms } = resolveNativeTransforms(projectRoot, metroPluginOptions);\n var nativeWorkerPath;\n if (isNativeTransforms) {\n nativeWorkerPath = projectResolve(projectRoot, \"@vxrn/vite-plugin-metro/transformer/metroNativeWorker\");\n }\n var defaultConfig = {\n ..._defaultConfig,\n watcher: {\n ..._defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.watcher,\n additionalExts: [\n .../* @__PURE__ */ new Set([\n ...(_ref1 = _defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_watcher = _defaultConfig.watcher) === null || _defaultConfig_watcher === void 0 ? void 0 : _defaultConfig_watcher.additionalExts) !== null && _ref1 !== void 0 ? _ref1 : [],\n ...expoEnvAdditionalExts\n ])\n ]\n },\n resolver: {\n ..._defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.resolver,\n useWatchman,\n blockList,\n sourceExts: metroSourceExts,\n resolveRequest: function resolveRequest(context, moduleName, platform) {\n var _defaultConfig_resolver2;\n 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;\n if (excludeModules && excludeModules.length > 0) {\n if (micromatch.isMatch(moduleName, excludeModules)) {\n return origResolveRequestFn(context, \"@vxrn/vite-plugin-metro/empty\", platform);\n }\n }\n if (moduleName.startsWith(\"@babel/runtime\")) {\n var contextOverride = {\n ...context,\n unstable_conditionNames: context.unstable_conditionNames.filter(function(c) {\n return c !== \"import\";\n })\n };\n return origResolveRequestFn(contextOverride, moduleName, platform);\n }\n return origResolveRequestFn(context, moduleName, platform);\n }\n },\n transformer: {\n ..._defaultConfig === null || _defaultConfig === void 0 ? void 0 : _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(projectRoot, \"@vxrn/vite-plugin-metro/babel-transformer\")\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 ? {\n transformerPath: nativeWorkerPath\n } : {},\n reporter: await getTerminalReporter(projectRoot)\n };\n var merged = {\n ...defaultConfig,\n ...typeof defaultConfigOverrides === \"function\" ? defaultConfigOverrides(defaultConfig) : defaultConfigOverrides\n };\n return {\n 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),\n projectRoot,\n extraConfig\n };\n}\nasync function getMetroConfigFromViteConfig(config, metroPluginOptions) {\n var _ref, _ref1, _ref2;\n var _metroPluginOptions_argv, _defaultConfig_resolver, _defaultConfig_watcher, _config_resolve;\n var extraConfig = {};\n 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);\n var { mainModuleName, argv, defaultConfigOverrides, watchman, excludeModules } = metroPluginOptions;\n var useWatchman = watchman !== null && watchman !== void 0 ? watchman : await isWatchmanResponsive(projectRoot);\n if (watchman === void 0 && !useWatchman && !didWarnAboutWatchmanFallback) {\n didWarnAboutWatchmanFallback = true;\n console.warn(\"[vxrn/metro] Watchman is unavailable or unresponsive; falling back to Node file watching.\");\n }\n var { loadConfig } = await projectImport(projectRoot, \"metro\");\n var _defaultConfig = getReactNativeDefaultConfig(projectRoot);\n if (mainModuleName) {\n var _defaultConfig_server;\n var origRewriteRequestUrl = (_defaultConfig_server = _defaultConfig.server) === null || _defaultConfig_server === void 0 ? void 0 : _defaultConfig_server.rewriteRequestUrl;\n var resolveMainModuleName = function resolveMainModuleName2() {\n return mainModuleName;\n };\n extraConfig.getResolveMainModuleName = resolveMainModuleName;\n _defaultConfig.server.rewriteRequestUrl = function(url) {\n var _ref3;\n if (isMainModuleBundleRequest(url)) {\n return rewriteMainModuleBundleUrl(url, resolveMainModuleName);\n }\n return (_ref3 = origRewriteRequestUrl === null || origRewriteRequestUrl === void 0 ? void 0 : origRewriteRequestUrl(url)) !== null && _ref3 !== void 0 ? _ref3 : url;\n };\n }\n var existingBlockList = _defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver = _defaultConfig.resolver) === null || _defaultConfig_resolver === void 0 ? void 0 : _defaultConfig_resolver.blockList;\n var blockList = [\n ...existingBlockList ? Array.isArray(existingBlockList) ? existingBlockList : [\n existingBlockList\n ] : [],\n ...metroWatchExclusions\n ];\n var { isNativeTransforms } = resolveNativeTransforms(projectRoot, metroPluginOptions);\n var nativeWorkerPath;\n if (isNativeTransforms) {\n nativeWorkerPath = projectResolve(projectRoot, \"@vxrn/vite-plugin-metro/transformer/metroNativeWorker\");\n }\n var defaultConfig = {\n ..._defaultConfig,\n watcher: {\n ..._defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.watcher,\n additionalExts: [\n .../* @__PURE__ */ new Set([\n ...(_ref1 = _defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_watcher = _defaultConfig.watcher) === null || _defaultConfig_watcher === void 0 ? void 0 : _defaultConfig_watcher.additionalExts) !== null && _ref1 !== void 0 ? _ref1 : [],\n ...expoEnvAdditionalExts\n ])\n ]\n },\n resolver: {\n ..._defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.resolver,\n useWatchman,\n blockList,\n sourceExts: metroSourceExts,\n resolveRequest: function resolveRequest(context, moduleName, platform) {\n var _defaultConfig_resolver2;\n 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;\n if (excludeModules && excludeModules.length > 0) {\n if (micromatch.isMatch(moduleName, excludeModules)) {\n return origResolveRequestFn(context, \"@vxrn/vite-plugin-metro/empty\", platform);\n }\n }\n if (moduleName.startsWith(\"@babel/runtime\")) {\n var contextOverride = {\n ...context,\n unstable_conditionNames: context.unstable_conditionNames.filter(function(c) {\n return c !== \"import\";\n })\n };\n return origResolveRequestFn(contextOverride, moduleName, platform);\n }\n return origResolveRequestFn(context, moduleName, platform);\n }\n },\n transformer: {\n ..._defaultConfig === null || _defaultConfig === void 0 ? void 0 : _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(projectRoot, \"@vxrn/vite-plugin-metro/babel-transformer\")\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 ? {\n transformerPath: nativeWorkerPath\n } : {},\n reporter: await getTerminalReporter(projectRoot)\n };\n var metroConfig = await loadConfig({\n cwd: projectRoot,\n projectRoot,\n \"reset-cache\": !!process.env.METRO_RESET_CACHE,\n ...argv\n }, {\n ...defaultConfig,\n ...typeof defaultConfigOverrides === \"function\" ? defaultConfigOverrides(defaultConfig) : defaultConfigOverrides\n });\n return {\n ...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),\n ...extraConfig\n };\n}\nexport {\n buildMetroConfigInputFromViteConfig,\n getMetroConfigFromViteConfig\n};\n//# sourceMappingURL=getMetroConfigFromViteConfig.js.map\n"],"mappings":"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"}
1
+ {"version":3,"file":"getMetroConfigFromViteConfig.native.js","names":[],"sources":["esm/metro-config/getMetroConfigFromViteConfig.native.js"],"sourcesContent":["import { searchForWorkspaceRoot } from \"vite\";\nimport { spawn } from \"child_process\";\nimport { resolve } from \"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\";\nvar WATCHMAN_PROBE_TIMEOUT_MS = 2e3;\nvar expoEnvAdditionalExts = [\n \"env\",\n \"local\",\n \"development\"\n];\nvar metroSourceExts = [\n \"js\",\n \"jsx\",\n \"json\",\n \"ts\",\n \"tsx\",\n \"mjs\",\n \"cjs\",\n \"swift\",\n \"kt\"\n];\nvar watchmanResponsivePromises = /* @__PURE__ */ new Map();\nvar didWarnAboutWatchmanFallback = false;\nvar rootIndexBundleRequestPattern = /^(https?:\\/\\/[^/]+)?\\/index\\.bundle(?=$|[?#])/;\nvar expoVirtualEntryBundleRequestPattern = /^(https?:\\/\\/[^/]+)?\\/\\.expo\\/\\.virtual-metro-entry\\.bundle(?=$|[?#])/;\nvar metroWatchExclusions = [\n /^(?!.*[/\\\\]node_modules[/\\\\]).*[/\\\\]dist[/\\\\](?:static|server)(?:[/\\\\]|$)/,\n /[/\\\\]tests[/\\\\][^/\\\\]+[/\\\\]dist(?:[/\\\\]|$)/,\n /[/\\\\]\\.docker(?:[/\\\\]|$)/,\n /[/\\\\]\\.vite(?:[/\\\\]|$)/,\n /[/\\\\]node_modules[/\\\\]\\.vxrn(?:[/\\\\]|$)/\n];\nfunction enforceWorkspaceVisibility(config, projectRoot) {\n var _config_watchFolders, _ref;\n var _config_resolver;\n var workspaceRoot = searchForWorkspaceRoot(projectRoot);\n if (workspaceRoot === projectRoot) return config;\n return {\n ...config,\n watchFolders: [\n .../* @__PURE__ */ new Set([\n ...(_config_watchFolders = config.watchFolders) !== null && _config_watchFolders !== void 0 ? _config_watchFolders : [],\n workspaceRoot\n ])\n ],\n resolver: {\n ...config.resolver,\n nodeModulesPaths: [\n .../* @__PURE__ */ new Set([\n ...(_ref = (_config_resolver = config.resolver) === null || _config_resolver === void 0 ? void 0 : _config_resolver.nodeModulesPaths) !== null && _ref !== void 0 ? _ref : [],\n resolve(projectRoot, \"node_modules\"),\n resolve(workspaceRoot, \"node_modules\")\n ])\n ]\n }\n };\n}\nfunction getReactNativeDefaultConfig(projectRoot) {\n var _ref;\n var _config_resolver;\n var config = enforceWorkspaceVisibility(getDefaultConfig(projectRoot), projectRoot);\n return {\n ...config,\n resolver: {\n ...config.resolver,\n assetExts: [\n .../* @__PURE__ */ new Set([\n ...(_ref = (_config_resolver = config.resolver) === null || _config_resolver === void 0 ? void 0 : _config_resolver.assetExts) !== null && _ref !== void 0 ? _ref : [],\n \"glb\"\n ])\n ]\n }\n };\n}\nfunction getPlatformFromBundleUrl(url) {\n var _url_match;\n var platform = (_url_match = url.match(/[?&]platform=(ios|android)(?:&|$)/)) === null || _url_match === void 0 ? void 0 : _url_match[1];\n return platform === \"android\" ? \"android\" : \"ios\";\n}\nfunction rewriteMainModuleBundleUrl(url, resolveMainModuleName) {\n var 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(expoVirtualEntryBundleRequestPattern, `$1/${resolvedMainModulePath}.bundle`);\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 var _config_resolver;\n var dedupedPackages = new Set(dedupe);\n if ((!mainModuleName || !isBareSpecifier(mainModuleName)) && !dedupedPackages.size) {\n return config;\n }\n var rootOrigin = resolve(projectRoot, \"package.json\");\n var innerResolveRequest = (_config_resolver = config.resolver) === null || _config_resolver === void 0 ? void 0 : _config_resolver.resolveRequest;\n return {\n ...config,\n resolver: {\n ...config.resolver,\n resolveRequest: function resolveRequest(context, moduleName, platform) {\n var bareMain = bareMainModuleForRequest(moduleName, mainModuleName);\n var request = bareMain !== null && bareMain !== void 0 ? bareMain : moduleName;\n var packageEnd = request.indexOf(\"/\", request.startsWith(\"@\") ? request.indexOf(\"/\") + 1 : 0);\n var packageName = packageEnd === -1 ? request : request.slice(0, packageEnd);\n var resolutionContext = isBareSpecifier(request) && dedupedPackages.has(packageName) ? {\n ...context,\n originModulePath: rootOrigin\n } : context;\n var resolveRequest2 = innerResolveRequest || context.resolveRequest;\n return resolveRequest2(resolutionContext, request, platform);\n }\n }\n };\n}\nasync function isWatchmanResponsive(projectRoot) {\n var probe = watchmanResponsivePromises.get(projectRoot);\n if (probe) {\n return probe;\n }\n probe = new Promise(function(resolve2) {\n var settled = false;\n var finish = function finish2(value) {\n if (settled) return;\n settled = true;\n clearTimeout(timeout);\n resolve2(value);\n };\n var child = spawn(\"watchman\", [\n \"watch-project\",\n projectRoot\n ], {\n stdio: \"ignore\"\n });\n var timeout = setTimeout(function() {\n child.kill();\n finish(false);\n }, WATCHMAN_PROBE_TIMEOUT_MS);\n child.once(\"error\", function() {\n finish(false);\n });\n child.once(\"exit\", function(code) {\n finish(code === 0);\n });\n });\n watchmanResponsivePromises.set(projectRoot, probe);\n return probe;\n}\nfunction resolveNativeTransforms(projectRoot, metroPluginOptions) {\n var userBabelConfigPath = projectRoot ? findUserBabelConfig(projectRoot) : null;\n var hasUserBabelConfig = Boolean(userBabelConfigPath);\n var 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(`[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 return {\n isNativeTransforms,\n userBabelConfigPath\n };\n}\nasync function buildMetroConfigInputFromViteConfig(config, metroPluginOptions) {\n var _ref, _ref1, _ref2;\n var _metroPluginOptions_argv, _defaultConfig_resolver, _defaultConfig_watcher, _config_resolve;\n var extraConfig = {};\n 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);\n var { mainModuleName, defaultConfigOverrides, watchman, excludeModules } = metroPluginOptions;\n var useWatchman = watchman !== null && watchman !== void 0 ? watchman : await isWatchmanResponsive(projectRoot);\n if (watchman === void 0 && !useWatchman && !didWarnAboutWatchmanFallback) {\n didWarnAboutWatchmanFallback = true;\n console.warn(\"[vxrn/metro] Watchman is unavailable or unresponsive; falling back to Node file watching.\");\n }\n var _defaultConfig = getReactNativeDefaultConfig(projectRoot);\n if (mainModuleName) {\n var _defaultConfig_server;\n var origRewriteRequestUrl = (_defaultConfig_server = _defaultConfig.server) === null || _defaultConfig_server === void 0 ? void 0 : _defaultConfig_server.rewriteRequestUrl;\n var resolveMainModuleName = function resolveMainModuleName2() {\n return mainModuleName;\n };\n extraConfig.getResolveMainModuleName = resolveMainModuleName;\n _defaultConfig.server.rewriteRequestUrl = function(url) {\n var _ref3;\n if (isMainModuleBundleRequest(url)) {\n return rewriteMainModuleBundleUrl(url, resolveMainModuleName);\n }\n return (_ref3 = origRewriteRequestUrl === null || origRewriteRequestUrl === void 0 ? void 0 : origRewriteRequestUrl(url)) !== null && _ref3 !== void 0 ? _ref3 : url;\n };\n }\n var existingBlockList = _defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver = _defaultConfig.resolver) === null || _defaultConfig_resolver === void 0 ? void 0 : _defaultConfig_resolver.blockList;\n var blockList = [\n ...existingBlockList ? Array.isArray(existingBlockList) ? existingBlockList : [\n existingBlockList\n ] : [],\n ...metroWatchExclusions\n ];\n var { isNativeTransforms } = resolveNativeTransforms(projectRoot, metroPluginOptions);\n var nativeWorkerPath;\n if (isNativeTransforms) {\n nativeWorkerPath = projectResolve(projectRoot, \"@vxrn/vite-plugin-metro/transformer/metroNativeWorker\");\n }\n var defaultConfig = {\n ..._defaultConfig,\n watcher: {\n ..._defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.watcher,\n additionalExts: [\n .../* @__PURE__ */ new Set([\n ...(_ref1 = _defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_watcher = _defaultConfig.watcher) === null || _defaultConfig_watcher === void 0 ? void 0 : _defaultConfig_watcher.additionalExts) !== null && _ref1 !== void 0 ? _ref1 : [],\n ...expoEnvAdditionalExts\n ])\n ]\n },\n resolver: {\n ..._defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.resolver,\n useWatchman,\n blockList,\n sourceExts: metroSourceExts,\n resolveRequest: function resolveRequest(context, moduleName, platform) {\n var _defaultConfig_resolver2;\n 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;\n if (excludeModules && excludeModules.length > 0) {\n if (micromatch.isMatch(moduleName, excludeModules)) {\n return origResolveRequestFn(context, \"@vxrn/utils/empty\", platform);\n }\n }\n if (moduleName.startsWith(\"@babel/runtime\")) {\n var contextOverride = {\n ...context,\n unstable_conditionNames: context.unstable_conditionNames.filter(function(c) {\n return c !== \"import\";\n })\n };\n return origResolveRequestFn(contextOverride, moduleName, platform);\n }\n return origResolveRequestFn(context, moduleName, platform);\n }\n },\n transformer: {\n ..._defaultConfig === null || _defaultConfig === void 0 ? void 0 : _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(projectRoot, \"@vxrn/vite-plugin-metro/babel-transformer\")\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 ? {\n transformerPath: nativeWorkerPath\n } : {},\n reporter: await getTerminalReporter(projectRoot)\n };\n var merged = {\n ...defaultConfig,\n ...typeof defaultConfigOverrides === \"function\" ? defaultConfigOverrides(defaultConfig) : defaultConfigOverrides\n };\n return {\n 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),\n projectRoot,\n extraConfig\n };\n}\nasync function getMetroConfigFromViteConfig(config, metroPluginOptions) {\n var _ref, _ref1, _ref2;\n var _metroPluginOptions_argv, _defaultConfig_resolver, _defaultConfig_watcher, _config_resolve;\n var extraConfig = {};\n 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);\n var { mainModuleName, argv, defaultConfigOverrides, watchman, excludeModules } = metroPluginOptions;\n var useWatchman = watchman !== null && watchman !== void 0 ? watchman : await isWatchmanResponsive(projectRoot);\n if (watchman === void 0 && !useWatchman && !didWarnAboutWatchmanFallback) {\n didWarnAboutWatchmanFallback = true;\n console.warn(\"[vxrn/metro] Watchman is unavailable or unresponsive; falling back to Node file watching.\");\n }\n var { loadConfig } = await projectImport(projectRoot, \"metro\");\n var _defaultConfig = getReactNativeDefaultConfig(projectRoot);\n if (mainModuleName) {\n var _defaultConfig_server;\n var origRewriteRequestUrl = (_defaultConfig_server = _defaultConfig.server) === null || _defaultConfig_server === void 0 ? void 0 : _defaultConfig_server.rewriteRequestUrl;\n var resolveMainModuleName = function resolveMainModuleName2() {\n return mainModuleName;\n };\n extraConfig.getResolveMainModuleName = resolveMainModuleName;\n _defaultConfig.server.rewriteRequestUrl = function(url) {\n var _ref3;\n if (isMainModuleBundleRequest(url)) {\n return rewriteMainModuleBundleUrl(url, resolveMainModuleName);\n }\n return (_ref3 = origRewriteRequestUrl === null || origRewriteRequestUrl === void 0 ? void 0 : origRewriteRequestUrl(url)) !== null && _ref3 !== void 0 ? _ref3 : url;\n };\n }\n var existingBlockList = _defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver = _defaultConfig.resolver) === null || _defaultConfig_resolver === void 0 ? void 0 : _defaultConfig_resolver.blockList;\n var blockList = [\n ...existingBlockList ? Array.isArray(existingBlockList) ? existingBlockList : [\n existingBlockList\n ] : [],\n ...metroWatchExclusions\n ];\n var { isNativeTransforms } = resolveNativeTransforms(projectRoot, metroPluginOptions);\n var nativeWorkerPath;\n if (isNativeTransforms) {\n nativeWorkerPath = projectResolve(projectRoot, \"@vxrn/vite-plugin-metro/transformer/metroNativeWorker\");\n }\n var defaultConfig = {\n ..._defaultConfig,\n watcher: {\n ..._defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.watcher,\n additionalExts: [\n .../* @__PURE__ */ new Set([\n ...(_ref1 = _defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_watcher = _defaultConfig.watcher) === null || _defaultConfig_watcher === void 0 ? void 0 : _defaultConfig_watcher.additionalExts) !== null && _ref1 !== void 0 ? _ref1 : [],\n ...expoEnvAdditionalExts\n ])\n ]\n },\n resolver: {\n ..._defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.resolver,\n useWatchman,\n blockList,\n sourceExts: metroSourceExts,\n resolveRequest: function resolveRequest(context, moduleName, platform) {\n var _defaultConfig_resolver2;\n 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;\n if (excludeModules && excludeModules.length > 0) {\n if (micromatch.isMatch(moduleName, excludeModules)) {\n return origResolveRequestFn(context, \"@vxrn/utils/empty\", platform);\n }\n }\n if (moduleName.startsWith(\"@babel/runtime\")) {\n var contextOverride = {\n ...context,\n unstable_conditionNames: context.unstable_conditionNames.filter(function(c) {\n return c !== \"import\";\n })\n };\n return origResolveRequestFn(contextOverride, moduleName, platform);\n }\n return origResolveRequestFn(context, moduleName, platform);\n }\n },\n transformer: {\n ..._defaultConfig === null || _defaultConfig === void 0 ? void 0 : _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(projectRoot, \"@vxrn/vite-plugin-metro/babel-transformer\")\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 ? {\n transformerPath: nativeWorkerPath\n } : {},\n reporter: await getTerminalReporter(projectRoot)\n };\n var metroConfig = await loadConfig({\n cwd: projectRoot,\n projectRoot,\n \"reset-cache\": !!process.env.METRO_RESET_CACHE,\n ...argv\n }, {\n ...defaultConfig,\n ...typeof defaultConfigOverrides === \"function\" ? defaultConfigOverrides(defaultConfig) : defaultConfigOverrides\n });\n return {\n ...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),\n ...extraConfig\n };\n}\nexport {\n buildMetroConfigInputFromViteConfig,\n getMetroConfigFromViteConfig\n};\n//# sourceMappingURL=getMetroConfigFromViteConfig.js.map\n"],"mappings":"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"}
@@ -1,16 +1,10 @@
1
- import { resolveConfig } from "vite";
2
1
  import { buildBundle } from "./buildBundle.mjs";
3
2
 
4
- async function getBuildBundleFn() {
5
- const viteConfig = await resolveConfig({}, "build", "production");
6
- if (globalThis["__viteMetroPluginOptions__"]) {
7
- const metroBuildBundle = buildBundle.bind({
8
- viteConfig,
9
- metroPluginOptions: globalThis["__viteMetroPluginOptions__"]
10
- });
11
- return metroBuildBundle;
12
- }
13
- return null;
3
+ function getBuildBundleFn(viteConfig) {
4
+ return buildBundle.bind({
5
+ viteConfig,
6
+ metroPluginOptions: globalThis["__viteMetroPluginOptions__"]
7
+ });
14
8
  }
15
9
 
16
10
  export { getBuildBundleFn };
@@ -1 +1 @@
1
- {"version":3,"file":"getBuildBundleFn.js","names":[],"sources":["esm/rn-commands/bundle/getBuildBundleFn.js"],"sourcesContent":["import { resolveConfig } from \"vite\";\nimport { buildBundle } from \"./buildBundle\";\nasync function getBuildBundleFn() {\n const viteConfig = await resolveConfig(\n {\n // configFile,\n // configLoader,\n // envFile,\n // forceOptimizeDeps,\n },\n \"build\",\n \"production\"\n );\n if (globalThis[\"__viteMetroPluginOptions__\"]) {\n const metroBuildBundle = buildBundle.bind({\n viteConfig,\n metroPluginOptions: globalThis[\"__viteMetroPluginOptions__\"]\n });\n return metroBuildBundle;\n }\n return null;\n}\nexport {\n getBuildBundleFn\n};\n//# sourceMappingURL=getBuildBundleFn.js.map\n"],"mappings":";;;;AAEA,eAAe,mBAAmB;CAChC,MAAM,aAAa,MAAM,cACvB,CAKA,GACA,SACA,YACF;CACA,IAAI,WAAW,+BAA+B;EAC5C,MAAM,mBAAmB,YAAY,KAAK;GACxC;GACA,oBAAoB,WAAW;EACjC,CAAC;EACD,OAAO;CACT;CACA,OAAO;AACT"}
1
+ {"version":3,"file":"getBuildBundleFn.js","names":[],"sources":["esm/rn-commands/bundle/getBuildBundleFn.js"],"sourcesContent":["import { buildBundle } from \"./buildBundle\";\nfunction getBuildBundleFn(viteConfig) {\n return buildBundle.bind({\n viteConfig,\n metroPluginOptions: globalThis[\"__viteMetroPluginOptions__\"]\n });\n}\nexport {\n getBuildBundleFn\n};\n//# sourceMappingURL=getBuildBundleFn.js.map\n"],"mappings":";;;AACA,SAAS,iBAAiB,YAAY;CACpC,OAAO,YAAY,KAAK;EACtB;EACA,oBAAoB,WAAW;CACjC,CAAC;AACH"}
@@ -1,16 +1,10 @@
1
- import { resolveConfig } from "vite";
2
1
  import { buildBundle } from "./buildBundle.native.js";
3
2
 
4
- async function getBuildBundleFn() {
5
- var viteConfig = await resolveConfig({}, "build", "production");
6
- if (globalThis["__viteMetroPluginOptions__"]) {
7
- var metroBuildBundle = buildBundle.bind({
8
- viteConfig,
9
- metroPluginOptions: globalThis["__viteMetroPluginOptions__"]
10
- });
11
- return metroBuildBundle;
12
- }
13
- return null;
3
+ function getBuildBundleFn(viteConfig) {
4
+ return buildBundle.bind({
5
+ viteConfig,
6
+ metroPluginOptions: globalThis["__viteMetroPluginOptions__"]
7
+ });
14
8
  }
15
9
 
16
10
  export { getBuildBundleFn };
@@ -1 +1 @@
1
- {"version":3,"file":"getBuildBundleFn.native.js","names":[],"sources":["esm/rn-commands/bundle/getBuildBundleFn.native.js"],"sourcesContent":["import { resolveConfig } from \"vite\";\nimport { buildBundle } from \"./buildBundle\";\nasync function getBuildBundleFn() {\n var viteConfig = await resolveConfig(\n {},\n // configFile,\n // configLoader,\n // envFile,\n // forceOptimizeDeps,\n \"build\",\n \"production\"\n );\n if (globalThis[\"__viteMetroPluginOptions__\"]) {\n var metroBuildBundle = buildBundle.bind({\n viteConfig,\n metroPluginOptions: globalThis[\"__viteMetroPluginOptions__\"]\n });\n return metroBuildBundle;\n }\n return null;\n}\nexport {\n getBuildBundleFn\n};\n//# sourceMappingURL=getBuildBundleFn.js.map\n"],"mappings":";;;;AAEA,eAAe,mBAAmB;CAChC,IAAI,aAAa,MAAM,cACrB,CAAC,GAKD,SACA,YACF;CACA,IAAI,WAAW,+BAA+B;EAC5C,IAAI,mBAAmB,YAAY,KAAK;GACtC;GACA,oBAAoB,WAAW;EACjC,CAAC;EACD,OAAO;CACT;CACA,OAAO;AACT"}
1
+ {"version":3,"file":"getBuildBundleFn.native.js","names":[],"sources":["esm/rn-commands/bundle/getBuildBundleFn.native.js"],"sourcesContent":["import { buildBundle } from \"./buildBundle\";\nfunction getBuildBundleFn(viteConfig) {\n return buildBundle.bind({\n viteConfig,\n metroPluginOptions: globalThis[\"__viteMetroPluginOptions__\"]\n });\n}\nexport {\n getBuildBundleFn\n};\n//# sourceMappingURL=getBuildBundleFn.js.map\n"],"mappings":";;;AACA,SAAS,iBAAiB,YAAY;CACpC,OAAO,YAAY,KAAK;EACtB;EACA,oBAAoB,WAAW;CACjC,CAAC;AACH"}
@@ -9,7 +9,7 @@ import { TraceMap, eachMapping } from "@jridgewell/trace-mapping";
9
9
  import { shouldStripFlow, stripFlowTypes, transformHermesAsync, transformHermesLoops, transformReactNativeCodegen } from "@vxrn/compiler";
10
10
  import { withExpoPublicEnvAliases } from "@vxrn/utils/publicEnv";
11
11
  import { substituteExpoVirtualEnvSource } from "./expoVirtualEnv.mjs";
12
- import { getPlatformEnv, metroPlatformToViteEnvironment } from "../env/platformEnv.mjs";
12
+ import { getPlatformEnv, metroPlatformToViteEnvironment } from "@vxrn/utils/platformEnv";
13
13
 
14
14
  function collectModuleLiteralBindings(program) {
15
15
  const reassigned = /* @__PURE__ */ new Set();