@vxrn/vite-plugin-metro 2.0.0-beta.53.1 → 2.0.0-beta.56.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 (115) hide show
  1. package/dist/cjs/index.cjs +0 -2
  2. package/dist/cjs/index.native.cjs +0 -2
  3. package/dist/cjs/index.native.js +0 -2
  4. package/dist/cjs/index.native.js.map +1 -1
  5. package/dist/cjs/metro-config/getMetroConfigFromViteConfig.cjs +48 -38
  6. package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.cjs +62 -42
  7. package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.js +62 -42
  8. package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.js.map +1 -1
  9. package/dist/cjs/transformer/babel-transformer.cjs +53 -4
  10. package/dist/cjs/transformer/babel-transformer.native.cjs +65 -6
  11. package/dist/cjs/transformer/babel-transformer.native.js +65 -6
  12. package/dist/cjs/transformer/babel-transformer.native.js.map +1 -1
  13. package/dist/cjs/transformer/expoVirtualEnv.cjs +92 -0
  14. package/dist/cjs/transformer/expoVirtualEnv.native.cjs +113 -0
  15. package/dist/cjs/transformer/expoVirtualEnv.native.js +115 -0
  16. package/dist/cjs/transformer/expoVirtualEnv.native.js.map +1 -0
  17. package/dist/cjs/transformer/loadBabelConfig.cjs +1 -1
  18. package/dist/cjs/transformer/loadBabelConfig.native.cjs +1 -1
  19. package/dist/cjs/transformer/loadBabelConfig.native.js +1 -1
  20. package/dist/cjs/transformer/loadBabelConfig.native.js.map +1 -1
  21. package/dist/cjs/transformer/metroNativeWorker.cjs +8 -20
  22. package/dist/cjs/transformer/metroNativeWorker.native.cjs +8 -20
  23. package/dist/cjs/transformer/metroNativeWorker.native.js +8 -20
  24. package/dist/cjs/transformer/metroNativeWorker.native.js.map +1 -1
  25. package/dist/cjs/transformer/transformSync.cjs +3 -3
  26. package/dist/cjs/transformer/transformSync.native.cjs +3 -3
  27. package/dist/cjs/transformer/transformSync.native.js +3 -3
  28. package/dist/cjs/transformer/transformSync.native.js.map +1 -1
  29. package/dist/cjs/utils/exit.cjs +1 -1
  30. package/dist/cjs/utils/exit.native.cjs +1 -1
  31. package/dist/cjs/utils/exit.native.js +1 -1
  32. package/dist/cjs/utils/exit.native.js.map +1 -1
  33. package/dist/esm/index.js +1 -2
  34. package/dist/esm/index.mjs +1 -2
  35. package/dist/esm/index.native.js +1 -2
  36. package/dist/esm/metro-config/getMetroConfigFromViteConfig.mjs +48 -38
  37. package/dist/esm/metro-config/getMetroConfigFromViteConfig.mjs.map +1 -1
  38. package/dist/esm/metro-config/getMetroConfigFromViteConfig.native.js +62 -42
  39. package/dist/esm/metro-config/getMetroConfigFromViteConfig.native.js.map +1 -1
  40. package/dist/esm/transformer/babel-transformer.mjs +133 -96
  41. package/dist/esm/transformer/babel-transformer.mjs.map +1 -1
  42. package/dist/esm/transformer/babel-transformer.native.js +147 -103
  43. package/dist/esm/transformer/babel-transformer.native.js.map +1 -1
  44. package/dist/esm/transformer/expoVirtualEnv.mjs +67 -0
  45. package/dist/esm/transformer/expoVirtualEnv.mjs.map +1 -0
  46. package/dist/esm/transformer/expoVirtualEnv.native.js +86 -0
  47. package/dist/esm/transformer/expoVirtualEnv.native.js.map +1 -0
  48. package/dist/esm/transformer/loadBabelConfig.mjs +1 -1
  49. package/dist/esm/transformer/loadBabelConfig.mjs.map +1 -1
  50. package/dist/esm/transformer/loadBabelConfig.native.js +1 -1
  51. package/dist/esm/transformer/loadBabelConfig.native.js.map +1 -1
  52. package/dist/esm/transformer/metroNativeWorker.mjs +8 -20
  53. package/dist/esm/transformer/metroNativeWorker.mjs.map +1 -1
  54. package/dist/esm/transformer/metroNativeWorker.native.js +8 -20
  55. package/dist/esm/transformer/metroNativeWorker.native.js.map +1 -1
  56. package/dist/esm/transformer/transformSync.mjs +3 -3
  57. package/dist/esm/transformer/transformSync.mjs.map +1 -1
  58. package/dist/esm/transformer/transformSync.native.js +3 -3
  59. package/dist/esm/transformer/transformSync.native.js.map +1 -1
  60. package/dist/esm/utils/exit.mjs +1 -1
  61. package/dist/esm/utils/exit.mjs.map +1 -1
  62. package/dist/esm/utils/exit.native.js +1 -1
  63. package/dist/esm/utils/exit.native.js.map +1 -1
  64. package/package.json +7 -9
  65. package/src/index.ts +0 -2
  66. package/src/metro-config/getMetroConfigFromViteConfig.test.ts +5 -0
  67. package/src/metro-config/getMetroConfigFromViteConfig.ts +81 -96
  68. package/src/plugins/metroPlugin.ts +3 -6
  69. package/src/transformer/babel-transformer.test.ts +118 -0
  70. package/src/transformer/babel-transformer.ts +82 -15
  71. package/src/transformer/expoVirtualEnv.integration.test.ts +106 -0
  72. package/src/transformer/expoVirtualEnv.test.ts +72 -0
  73. package/src/transformer/expoVirtualEnv.ts +115 -0
  74. package/src/transformer/loadBabelConfig.ts +1 -1
  75. package/src/transformer/metroNativeWorker.test.ts +105 -1
  76. package/src/transformer/metroNativeWorker.ts +12 -33
  77. package/src/transformer/transformSync.test.ts +22 -0
  78. package/src/transformer/transformSync.ts +4 -4
  79. package/src/utils/exit.ts +2 -2
  80. package/src/utils/getTerminalReporter.ts +1 -1
  81. package/src/utils/projectImport.ts +2 -2
  82. package/types/index.d.ts +0 -2
  83. package/types/index.d.ts.map +1 -1
  84. package/types/metro-config/getMetroConfigFromViteConfig.d.ts +2 -2
  85. package/types/metro-config/getMetroConfigFromViteConfig.d.ts.map +1 -1
  86. package/types/plugins/metroPlugin.d.ts +2 -4
  87. package/types/plugins/metroPlugin.d.ts.map +1 -1
  88. package/types/transformer/babel-transformer.d.ts +10 -1
  89. package/types/transformer/babel-transformer.d.ts.map +1 -1
  90. package/types/transformer/expoVirtualEnv.d.ts +8 -0
  91. package/types/transformer/expoVirtualEnv.d.ts.map +1 -0
  92. package/types/transformer/metroNativeWorker.d.ts.map +1 -1
  93. package/types/utils/projectImport.d.ts +2 -2
  94. package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.cjs +0 -59
  95. package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.native.cjs +0 -62
  96. package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.native.js +0 -64
  97. package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.native.js.map +0 -1
  98. package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.cjs +0 -35
  99. package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.cjs +0 -37
  100. package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js +0 -39
  101. package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js.map +0 -1
  102. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.mjs +0 -40
  103. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.mjs.map +0 -1
  104. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.native.js +0 -41
  105. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.native.js.map +0 -1
  106. package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.mjs +0 -15
  107. package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.mjs.map +0 -1
  108. package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js +0 -15
  109. package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js.map +0 -1
  110. package/src/plugins/expoManifestRequestHandlerPlugin.ts +0 -88
  111. package/src/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.ts +0 -28
  112. package/types/plugins/expoManifestRequestHandlerPlugin.d.ts +0 -14
  113. package/types/plugins/expoManifestRequestHandlerPlugin.d.ts.map +0 -1
  114. package/types/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.d.ts +0 -5
  115. package/types/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.d.ts.map +0 -1
@@ -1,35 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all) __defProp(target, name, {
7
- get: all[name],
8
- enumerable: true
9
- });
10
- };
11
- var __copyProps = (to, from, except, desc) => {
12
- if (from && typeof from === "object" || typeof from === "function") {
13
- for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
14
- get: () => from[key],
15
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
- });
17
- }
18
- return to;
19
- };
20
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
21
- var patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName_exports = {};
22
- __export(patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName_exports, { patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName: () => patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName });
23
- module.exports = __toCommonJS(patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName_exports);
24
- function patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName(manifestHandlerMiddleware, mainModuleName) {
25
- const origResolveMainModuleName = manifestHandlerMiddleware.resolveMainModuleName.bind(manifestHandlerMiddleware);
26
- manifestHandlerMiddleware.resolveMainModuleName = (props) => {
27
- return origResolveMainModuleName({
28
- ...props,
29
- pkg: {
30
- ...props.pkg,
31
- main: mainModuleName
32
- }
33
- });
34
- };
35
- }
@@ -1,37 +0,0 @@
1
- "use strict";
2
-
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __export = (target, all) => {
8
- for (var name in all) __defProp(target, name, {
9
- get: all[name],
10
- enumerable: true
11
- });
12
- };
13
- var __copyProps = (to, from, except, desc) => {
14
- if (from && typeof from === "object" || typeof from === "function") {
15
- for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
- get: () => from[key],
17
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
- });
19
- }
20
- return to;
21
- };
22
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
23
- var patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName_exports = {};
24
- __export(patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName_exports, { patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName: () => patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName });
25
- module.exports = __toCommonJS(patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName_exports);
26
- function patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName(manifestHandlerMiddleware, mainModuleName) {
27
- var origResolveMainModuleName = manifestHandlerMiddleware.resolveMainModuleName.bind(manifestHandlerMiddleware);
28
- manifestHandlerMiddleware.resolveMainModuleName = function(props) {
29
- return origResolveMainModuleName({
30
- ...props,
31
- pkg: {
32
- ...props.pkg,
33
- main: mainModuleName
34
- }
35
- });
36
- };
37
- }
@@ -1,39 +0,0 @@
1
- "use strict";
2
-
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __export = (target, all) => {
8
- for (var name in all) __defProp(target, name, {
9
- get: all[name],
10
- enumerable: true
11
- });
12
- };
13
- var __copyProps = (to, from, except, desc) => {
14
- if (from && typeof from === "object" || typeof from === "function") {
15
- for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
- get: () => from[key],
17
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
- });
19
- }
20
- return to;
21
- };
22
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
23
- var patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName_exports = {};
24
- __export(patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName_exports, { patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName: () => patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName });
25
- module.exports = __toCommonJS(patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName_exports);
26
- function patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName(manifestHandlerMiddleware, mainModuleName) {
27
- var origResolveMainModuleName = manifestHandlerMiddleware.resolveMainModuleName.bind(manifestHandlerMiddleware);
28
- manifestHandlerMiddleware.resolveMainModuleName = function(props) {
29
- return origResolveMainModuleName({
30
- ...props,
31
- pkg: {
32
- ...props.pkg,
33
- main: mainModuleName
34
- }
35
- });
36
- };
37
- }
38
-
39
- //# sourceMappingURL=patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js","names":[],"sources":["cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName_exports = {};\n__export(patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName_exports, {\n patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName: () => patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName\n});\nmodule.exports = __toCommonJS(patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName_exports);\nfunction patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName(manifestHandlerMiddleware, mainModuleName) {\n var origResolveMainModuleName = manifestHandlerMiddleware.resolveMainModuleName.bind(manifestHandlerMiddleware);\n manifestHandlerMiddleware.resolveMainModuleName = function(props) {\n return origResolveMainModuleName({\n ...props,\n pkg: {\n ...props.pkg,\n main: mainModuleName\n }\n });\n };\n}\n//# sourceMappingURL=patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.js.map\n"],"mappings":";;;AACA,IAAI,YAAY,OAAO;AACvB,IAAI,mBAAmB,OAAO;AAC9B,IAAI,oBAAoB,OAAO;AAC/B,IAAI,eAAe,OAAO,UAAU;AACpC,IAAI,YAAY,QAAQ,QAAQ;CAC9B,KAAK,IAAI,QAAQ,KACf,UAAU,QAAQ,MAAM;EAAE,KAAK,IAAI;EAAO,YAAY;CAAK,CAAC;AAChE;AACA,IAAI,eAAe,IAAI,MAAM,QAAQ,SAAS;CAC5C,IAAI,QAAQ,OAAO,SAAS,YAAY,OAAO,SAAS,YAAY;EAClE,KAAK,IAAI,OAAO,kBAAkB,IAAI,GACpC,IAAI,CAAC,aAAa,KAAK,IAAI,GAAG,KAAK,QAAQ,QACzC,UAAU,IAAI,KAAK;GAAE,WAAW,KAAK;GAAM,YAAY,EAAE,OAAO,iBAAiB,MAAM,GAAG,MAAM,KAAK;EAAW,CAAC;CACvH;CACA,OAAO;AACT;AACA,IAAI,gBAAgB,QAAQ,YAAY,UAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AACzF,IAAI,uEAAuE,CAAC;AAC5E,SAAS,sEAAsE,EAC7E,oEAAoE,6DACtE,CAAC;AACD,OAAO,UAAU,aAAa,oEAAoE;AAClG,SAAS,6DAA6D,2BAA2B,gBAAgB;CAC/G,IAAI,4BAA4B,0BAA0B,sBAAsB,KAAK,yBAAyB;CAC9G,0BAA0B,wBAAwB,SAAS,OAAO;EAChE,OAAO,0BAA0B;GAC/B,GAAG;GACH,KAAK;IACH,GAAG,MAAM;IACT,MAAM;GACR;EACF,CAAC;CACH;AACF"}
@@ -1,40 +0,0 @@
1
- import { resolve } from "node:path";
2
- import { TLSSocket } from "node:tls";
3
- import { projectImport } from "../utils/projectImport.mjs";
4
- import { patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName } from "../utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.mjs";
5
-
6
- function expoManifestRequestHandlerPlugin(options) {
7
- return {
8
- name: "expo-manifest-request-handler",
9
- configureServer(server) {
10
- const projectRoot = resolve(server.config.root);
11
- let ExpoGoManifestHandlerMiddleware;
12
- const importPromise = projectImport(projectRoot, "@expo/cli/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js").then((mod) => {
13
- ExpoGoManifestHandlerMiddleware = mod.default.ExpoGoManifestHandlerMiddleware;
14
- });
15
- server.middlewares.use(async (req, res, next) => {
16
- if (!req.headers["expo-platform"]) {
17
- return next();
18
- }
19
- if (!ExpoGoManifestHandlerMiddleware) {
20
- await importPromise;
21
- }
22
- const protocol = req.socket instanceof TLSSocket && req.socket.encrypted ? "https" : "http";
23
- const manifestHandlerMiddleware = new ExpoGoManifestHandlerMiddleware(projectRoot, { constructUrl: ({ scheme, hostname }) => {
24
- const host = req.headers["x-forwarded-host"] || req.headers.host || hostname;
25
- if (!scheme) {
26
- return host;
27
- }
28
- return `${protocol || scheme}://${host}`;
29
- } });
30
- if (options?.mainModuleName) {
31
- patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName(manifestHandlerMiddleware, options.mainModuleName);
32
- }
33
- manifestHandlerMiddleware.handleRequestAsync(req, res, next);
34
- });
35
- }
36
- };
37
- }
38
-
39
- export { expoManifestRequestHandlerPlugin };
40
- //# sourceMappingURL=expoManifestRequestHandlerPlugin.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"expoManifestRequestHandlerPlugin.js","names":[],"sources":["esm/plugins/expoManifestRequestHandlerPlugin.js"],"sourcesContent":["import { resolve } from \"node:path\";\nimport { TLSSocket } from \"node:tls\";\nimport { projectImport } from \"../utils/projectImport\";\nimport { patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName } from \"../utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName\";\nfunction expoManifestRequestHandlerPlugin(options) {\n return {\n name: \"expo-manifest-request-handler\",\n // configResolved(config) {\n // projectRoot = config.root\n // },\n configureServer(server) {\n const projectRoot = resolve(server.config.root);\n let ExpoGoManifestHandlerMiddleware;\n const importPromise = projectImport(\n projectRoot,\n \"@expo/cli/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js\"\n ).then((mod) => {\n ExpoGoManifestHandlerMiddleware = mod.default.ExpoGoManifestHandlerMiddleware;\n });\n server.middlewares.use(async (req, res, next) => {\n if (!req.headers[\"expo-platform\"]) {\n return next();\n }\n if (!ExpoGoManifestHandlerMiddleware) {\n await importPromise;\n }\n const protocol = req.socket instanceof TLSSocket && req.socket.encrypted ? \"https\" : \"http\";\n const manifestHandlerMiddleware = new ExpoGoManifestHandlerMiddleware(\n projectRoot,\n {\n constructUrl: ({ scheme, hostname }) => {\n const host = req.headers[\"x-forwarded-host\"] || req.headers.host || hostname;\n if (!scheme) {\n return host;\n }\n return `${protocol || scheme}://${host}`;\n }\n }\n );\n if (options?.mainModuleName) {\n patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName(\n manifestHandlerMiddleware,\n options.mainModuleName\n );\n }\n manifestHandlerMiddleware.handleRequestAsync(req, res, next);\n });\n }\n };\n}\nexport {\n expoManifestRequestHandlerPlugin\n};\n//# sourceMappingURL=expoManifestRequestHandlerPlugin.js.map\n"],"mappings":";;;;;;AAIA,SAAS,iCAAiC,SAAS;CACjD,OAAO;EACL,MAAM;EAIN,gBAAgB,QAAQ;GACtB,MAAM,cAAc,QAAQ,OAAO,OAAO,IAAI;GAC9C,IAAI;GACJ,MAAM,gBAAgB,cACpB,aACA,gFACF,CAAC,CAAC,MAAM,QAAQ;IACd,kCAAkC,IAAI,QAAQ;GAChD,CAAC;GACD,OAAO,YAAY,IAAI,OAAO,KAAK,KAAK,SAAS;IAC/C,IAAI,CAAC,IAAI,QAAQ,kBAAkB;KACjC,OAAO,KAAK;IACd;IACA,IAAI,CAAC,iCAAiC;KACpC,MAAM;IACR;IACA,MAAM,WAAW,IAAI,kBAAkB,aAAa,IAAI,OAAO,YAAY,UAAU;IACrF,MAAM,4BAA4B,IAAI,gCACpC,aACA,EACE,eAAe,EAAE,QAAQ,eAAe;KACtC,MAAM,OAAO,IAAI,QAAQ,uBAAuB,IAAI,QAAQ,QAAQ;KACpE,IAAI,CAAC,QAAQ;MACX,OAAO;KACT;KACA,OAAO,GAAG,YAAY,OAAO,KAAK;IACpC,EACF,CACF;IACA,IAAI,SAAS,gBAAgB;KAC3B,6DACE,2BACA,QAAQ,cACV;IACF;IACA,0BAA0B,mBAAmB,KAAK,KAAK,IAAI;GAC7D,CAAC;EACH;CACF;AACF"}
@@ -1,41 +0,0 @@
1
- import { resolve } from "path";
2
- import { TLSSocket } from "tls";
3
- import { projectImport } from "../utils/projectImport.native.js";
4
- import { patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName } from "../utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js";
5
-
6
- function expoManifestRequestHandlerPlugin(options) {
7
- return {
8
- name: "expo-manifest-request-handler",
9
- configureServer(server) {
10
- var projectRoot = resolve(server.config.root);
11
- var ExpoGoManifestHandlerMiddleware;
12
- var importPromise = projectImport(projectRoot, "@expo/cli/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js").then(function(mod) {
13
- ExpoGoManifestHandlerMiddleware = mod.default.ExpoGoManifestHandlerMiddleware;
14
- });
15
- server.middlewares.use(async function(req, res, next) {
16
- if (!req.headers["expo-platform"]) {
17
- return next();
18
- }
19
- if (!ExpoGoManifestHandlerMiddleware) {
20
- await importPromise;
21
- }
22
- var protocol = req.socket instanceof TLSSocket && req.socket.encrypted ? "https" : "http";
23
- var manifestHandlerMiddleware = new ExpoGoManifestHandlerMiddleware(projectRoot, { constructUrl: function(param) {
24
- var { scheme, hostname } = param;
25
- var host = req.headers["x-forwarded-host"] || req.headers.host || hostname;
26
- if (!scheme) {
27
- return host;
28
- }
29
- return `${protocol || scheme}://${host}`;
30
- } });
31
- if (options === null || options === void 0 ? void 0 : options.mainModuleName) {
32
- patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName(manifestHandlerMiddleware, options.mainModuleName);
33
- }
34
- manifestHandlerMiddleware.handleRequestAsync(req, res, next);
35
- });
36
- }
37
- };
38
- }
39
-
40
- export { expoManifestRequestHandlerPlugin };
41
- //# sourceMappingURL=expoManifestRequestHandlerPlugin.native.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"expoManifestRequestHandlerPlugin.native.js","names":[],"sources":["esm/plugins/expoManifestRequestHandlerPlugin.native.js"],"sourcesContent":["import { resolve } from \"path\";\nimport { TLSSocket } from \"tls\";\nimport { projectImport } from \"../utils/projectImport\";\nimport { patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName } from \"../utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName\";\nfunction expoManifestRequestHandlerPlugin(options) {\n return {\n name: \"expo-manifest-request-handler\",\n // configResolved(config) {\n // projectRoot = config.root\n // },\n configureServer(server) {\n var projectRoot = resolve(server.config.root);\n var ExpoGoManifestHandlerMiddleware;\n var importPromise = projectImport(projectRoot, \"@expo/cli/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js\").then(function(mod) {\n ExpoGoManifestHandlerMiddleware = mod.default.ExpoGoManifestHandlerMiddleware;\n });\n server.middlewares.use(async function(req, res, next) {\n if (!req.headers[\"expo-platform\"]) {\n return next();\n }\n if (!ExpoGoManifestHandlerMiddleware) {\n await importPromise;\n }\n var protocol = req.socket instanceof TLSSocket && req.socket.encrypted ? \"https\" : \"http\";\n var manifestHandlerMiddleware = new ExpoGoManifestHandlerMiddleware(projectRoot, {\n constructUrl: function(param) {\n var { scheme, hostname } = param;\n var host = req.headers[\"x-forwarded-host\"] || req.headers.host || hostname;\n if (!scheme) {\n return host;\n }\n return `${protocol || scheme}://${host}`;\n }\n });\n if (options === null || options === void 0 ? void 0 : options.mainModuleName) {\n patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName(manifestHandlerMiddleware, options.mainModuleName);\n }\n manifestHandlerMiddleware.handleRequestAsync(req, res, next);\n });\n }\n };\n}\nexport {\n expoManifestRequestHandlerPlugin\n};\n//# sourceMappingURL=expoManifestRequestHandlerPlugin.js.map\n"],"mappings":";;;;;;AAIA,SAAS,iCAAiC,SAAS;CACjD,OAAO;EACL,MAAM;EAIN,gBAAgB,QAAQ;GACtB,IAAI,cAAc,QAAQ,OAAO,OAAO,IAAI;GAC5C,IAAI;GACJ,IAAI,gBAAgB,cAAc,aAAa,gFAAgF,CAAC,CAAC,KAAK,SAAS,KAAK;IAClJ,kCAAkC,IAAI,QAAQ;GAChD,CAAC;GACD,OAAO,YAAY,IAAI,eAAe,KAAK,KAAK,MAAM;IACpD,IAAI,CAAC,IAAI,QAAQ,kBAAkB;KACjC,OAAO,KAAK;IACd;IACA,IAAI,CAAC,iCAAiC;KACpC,MAAM;IACR;IACA,IAAI,WAAW,IAAI,kBAAkB,aAAa,IAAI,OAAO,YAAY,UAAU;IACnF,IAAI,4BAA4B,IAAI,gCAAgC,aAAa,EAC/E,cAAc,SAAS,OAAO;KAC5B,IAAI,EAAE,QAAQ,aAAa;KAC3B,IAAI,OAAO,IAAI,QAAQ,uBAAuB,IAAI,QAAQ,QAAQ;KAClE,IAAI,CAAC,QAAQ;MACX,OAAO;KACT;KACA,OAAO,GAAG,YAAY,OAAO,KAAK;IACpC,EACF,CAAC;IACD,IAAI,YAAY,QAAQ,YAAY,KAAK,IAAI,KAAK,IAAI,QAAQ,gBAAgB;KAC5E,6DAA6D,2BAA2B,QAAQ,cAAc;IAChH;IACA,0BAA0B,mBAAmB,KAAK,KAAK,IAAI;GAC7D,CAAC;EACH;CACF;AACF"}
@@ -1,15 +0,0 @@
1
- function patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName(manifestHandlerMiddleware, mainModuleName) {
2
- const origResolveMainModuleName = manifestHandlerMiddleware.resolveMainModuleName.bind(manifestHandlerMiddleware);
3
- manifestHandlerMiddleware.resolveMainModuleName = (props) => {
4
- return origResolveMainModuleName({
5
- ...props,
6
- pkg: {
7
- ...props.pkg,
8
- main: mainModuleName
9
- }
10
- });
11
- };
12
- }
13
-
14
- export { patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName };
15
- //# sourceMappingURL=patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.js","names":[],"sources":["esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.js"],"sourcesContent":["function patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName(manifestHandlerMiddleware, mainModuleName) {\n const origResolveMainModuleName = manifestHandlerMiddleware.resolveMainModuleName.bind(\n manifestHandlerMiddleware\n );\n manifestHandlerMiddleware.resolveMainModuleName = (props) => {\n return origResolveMainModuleName({\n ...props,\n pkg: {\n ...props.pkg,\n main: mainModuleName\n }\n });\n };\n}\nexport {\n patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName\n};\n//# sourceMappingURL=patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.js.map\n"],"mappings":";AAAA,SAAS,6DAA6D,2BAA2B,gBAAgB;CAC/G,MAAM,4BAA4B,0BAA0B,sBAAsB,KAChF,yBACF;CACA,0BAA0B,yBAAyB,UAAU;EAC3D,OAAO,0BAA0B;GAC/B,GAAG;GACH,KAAK;IACH,GAAG,MAAM;IACT,MAAM;GACR;EACF,CAAC;CACH;AACF"}
@@ -1,15 +0,0 @@
1
- function patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName(manifestHandlerMiddleware, mainModuleName) {
2
- var origResolveMainModuleName = manifestHandlerMiddleware.resolveMainModuleName.bind(manifestHandlerMiddleware);
3
- manifestHandlerMiddleware.resolveMainModuleName = function(props) {
4
- return origResolveMainModuleName({
5
- ...props,
6
- pkg: {
7
- ...props.pkg,
8
- main: mainModuleName
9
- }
10
- });
11
- };
12
- }
13
-
14
- export { patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName };
15
- //# sourceMappingURL=patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js","names":[],"sources":["esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js"],"sourcesContent":["function patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName(manifestHandlerMiddleware, mainModuleName) {\n var origResolveMainModuleName = manifestHandlerMiddleware.resolveMainModuleName.bind(manifestHandlerMiddleware);\n manifestHandlerMiddleware.resolveMainModuleName = function(props) {\n return origResolveMainModuleName({\n ...props,\n pkg: {\n ...props.pkg,\n main: mainModuleName\n }\n });\n };\n}\nexport {\n patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName\n};\n//# sourceMappingURL=patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.js.map\n"],"mappings":";AAAA,SAAS,6DAA6D,2BAA2B,gBAAgB;CAC/G,IAAI,4BAA4B,0BAA0B,sBAAsB,KAAK,yBAAyB;CAC9G,0BAA0B,wBAAwB,SAAS,OAAO;EAChE,OAAO,0BAA0B;GAC/B,GAAG;GACH,KAAK;IACH,GAAG,MAAM;IACT,MAAM;GACR;EACF,CAAC;CACH;AACF"}
@@ -1,88 +0,0 @@
1
- import { resolve } from 'node:path'
2
- import { TLSSocket } from 'node:tls'
3
- import type { PluginOption } from 'vite'
4
-
5
- import { projectImport } from '../utils/projectImport'
6
- import { patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName } from '../utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName'
7
-
8
- export type ExpoManifestRequestHandlerPluginPluginOptions = {
9
- /**
10
- * Overrides the main module name which is normally defined as the `main` field in `package.json`.
11
- *
12
- * This will affect the `launchAsset.url` field in the Expo manifest response.
13
- *
14
- * It can be used to change the entry point of the React Native app without the need of using
15
- * the `main` field in `package.json`.
16
- */
17
- mainModuleName?: string
18
- }
19
-
20
- export function expoManifestRequestHandlerPlugin(
21
- options?: ExpoManifestRequestHandlerPluginPluginOptions
22
- ): PluginOption {
23
- // let projectRoot = ''
24
-
25
- return {
26
- name: 'expo-manifest-request-handler',
27
- // configResolved(config) {
28
- // projectRoot = config.root
29
- // },
30
- configureServer(server) {
31
- // mirrors metroPlugin.ts: Expo middleware expects native-separator projectRoot
32
- const projectRoot = resolve(server.config.root)
33
-
34
- // Lazy load the ExpoGoManifestHandlerMiddleware to avoid blocking Vite startup
35
- let ExpoGoManifestHandlerMiddleware: any
36
- const importPromise = projectImport(
37
- projectRoot,
38
- '@expo/cli/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js'
39
- ).then((mod) => {
40
- ExpoGoManifestHandlerMiddleware = mod.default.ExpoGoManifestHandlerMiddleware
41
- })
42
-
43
- server.middlewares.use(async (req, res, next) => {
44
- if (!req.headers['expo-platform']) {
45
- // Not an Expo manifest request, skip this middleware and proceed.
46
- return next()
47
- }
48
-
49
- // Wait for the import to complete if it hasn't yet
50
- if (!ExpoGoManifestHandlerMiddleware) {
51
- await importPromise
52
- }
53
-
54
- const protocol =
55
- req.socket instanceof TLSSocket && req.socket.encrypted ? 'https' : 'http'
56
-
57
- const manifestHandlerMiddleware = new ExpoGoManifestHandlerMiddleware(
58
- projectRoot,
59
- {
60
- constructUrl: ({ scheme, hostname }) => {
61
- // Make the dev server work well behind a reverse proxy by deriving the host from request headers.
62
- const host = req.headers['x-forwarded-host'] || req.headers.host || hostname
63
-
64
- if (!scheme) {
65
- // Some manifest fields (e.g., extra.expoClient.hostUri) must omit the scheme
66
- // (e.g., use `127.0.0.1:8081` instead of `http://127.0.0.1:8081`).
67
- // Including a scheme here can cause issues like images not loading in dev mode.
68
- return host
69
- }
70
-
71
- return `${protocol || scheme}://${host}`
72
- },
73
- }
74
- )
75
-
76
- if (options?.mainModuleName) {
77
- patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName(
78
- manifestHandlerMiddleware,
79
- options.mainModuleName
80
- )
81
- }
82
-
83
- // Handle the Expo manifest request.
84
- manifestHandlerMiddleware.handleRequestAsync(req, res, next)
85
- })
86
- },
87
- }
88
- }
@@ -1,28 +0,0 @@
1
- /**
2
- * Patches a ExpoGoManifestHandlerMiddleware instance in-place to use a custom main module name.
3
- */
4
- export function patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName(
5
- manifestHandlerMiddleware: any,
6
- mainModuleName: string
7
- ) {
8
- // (`ExpoGoManifestHandlerMiddleware` extends `ManifestMiddleware`)
9
- //
10
- // `ExpoGoManifestHandlerMiddleware._getManifestResponseAsync`
11
- // (`bundleUrl` is used as `launchAsset.url`)
12
- // ↑ `bundleUrl`
13
- // `ManifestMiddleware._resolveProjectSettingsAsync`
14
- // ↑ `mainModuleName`
15
- // `ManifestMiddleware.resolveMainModuleName`
16
- const origResolveMainModuleName = manifestHandlerMiddleware.resolveMainModuleName.bind(
17
- manifestHandlerMiddleware
18
- )
19
- manifestHandlerMiddleware.resolveMainModuleName = (props) => {
20
- return origResolveMainModuleName({
21
- ...props,
22
- pkg: {
23
- ...props.pkg,
24
- main: mainModuleName,
25
- },
26
- })
27
- }
28
- }
@@ -1,14 +0,0 @@
1
- import type { PluginOption } from 'vite';
2
- export type ExpoManifestRequestHandlerPluginPluginOptions = {
3
- /**
4
- * Overrides the main module name which is normally defined as the `main` field in `package.json`.
5
- *
6
- * This will affect the `launchAsset.url` field in the Expo manifest response.
7
- *
8
- * It can be used to change the entry point of the React Native app without the need of using
9
- * the `main` field in `package.json`.
10
- */
11
- mainModuleName?: string;
12
- };
13
- export declare function expoManifestRequestHandlerPlugin(options?: ExpoManifestRequestHandlerPluginPluginOptions): PluginOption;
14
- //# sourceMappingURL=expoManifestRequestHandlerPlugin.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"expoManifestRequestHandlerPlugin.d.ts","sourceRoot":"","sources":["../../src/plugins/expoManifestRequestHandlerPlugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AAKxC,MAAM,MAAM,6CAA6C,GAAG;IAC1D;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,wBAAgB,gCAAgC,CAC9C,OAAO,CAAC,EAAE,6CAA6C,GACtD,YAAY,CAkEd"}
@@ -1,5 +0,0 @@
1
- /**
2
- * Patches a ExpoGoManifestHandlerMiddleware instance in-place to use a custom main module name.
3
- */
4
- export declare function patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName(manifestHandlerMiddleware: any, mainModuleName: string): void;
5
- //# sourceMappingURL=patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.d.ts","sourceRoot":"","sources":["../../src/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,4DAA4D,CAC1E,yBAAyB,EAAE,GAAG,EAC9B,cAAc,EAAE,MAAM,QAsBvB"}