@vxrn/vite-plugin-metro 1.1.501-1751155612296

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 (142) hide show
  1. package/dist/cjs/index.cjs +28 -0
  2. package/dist/cjs/index.js +22 -0
  3. package/dist/cjs/index.js.map +6 -0
  4. package/dist/cjs/index.native.js +28 -0
  5. package/dist/cjs/index.native.js.map +6 -0
  6. package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.cjs +56 -0
  7. package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.js +49 -0
  8. package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.js.map +6 -0
  9. package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.native.js +48 -0
  10. package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.native.js.map +6 -0
  11. package/dist/cjs/plugins/metroPlugin.cjs +214 -0
  12. package/dist/cjs/plugins/metroPlugin.js +186 -0
  13. package/dist/cjs/plugins/metroPlugin.js.map +6 -0
  14. package/dist/cjs/plugins/metroPlugin.native.js +179 -0
  15. package/dist/cjs/plugins/metroPlugin.native.js.map +6 -0
  16. package/dist/cjs/transformer/babel-core.cjs +27 -0
  17. package/dist/cjs/transformer/babel-core.js +22 -0
  18. package/dist/cjs/transformer/babel-core.js.map +6 -0
  19. package/dist/cjs/transformer/babel-core.native.js +28 -0
  20. package/dist/cjs/transformer/babel-core.native.js.map +6 -0
  21. package/dist/cjs/transformer/babel-transformer.cjs +148 -0
  22. package/dist/cjs/transformer/babel-transformer.js +129 -0
  23. package/dist/cjs/transformer/babel-transformer.js.map +6 -0
  24. package/dist/cjs/transformer/babel-transformer.native.js +135 -0
  25. package/dist/cjs/transformer/babel-transformer.native.js.map +6 -0
  26. package/dist/cjs/transformer/loadBabelConfig.cjs +53 -0
  27. package/dist/cjs/transformer/loadBabelConfig.js +46 -0
  28. package/dist/cjs/transformer/loadBabelConfig.js.map +6 -0
  29. package/dist/cjs/transformer/loadBabelConfig.native.js +55 -0
  30. package/dist/cjs/transformer/loadBabelConfig.native.js.map +6 -0
  31. package/dist/cjs/transformer/transformSync.cjs +64 -0
  32. package/dist/cjs/transformer/transformSync.js +53 -0
  33. package/dist/cjs/transformer/transformSync.js.map +6 -0
  34. package/dist/cjs/transformer/transformSync.native.js +58 -0
  35. package/dist/cjs/transformer/transformSync.native.js.map +6 -0
  36. package/dist/cjs/utils/getTerminalReporter.cjs +59 -0
  37. package/dist/cjs/utils/getTerminalReporter.js +48 -0
  38. package/dist/cjs/utils/getTerminalReporter.js.map +6 -0
  39. package/dist/cjs/utils/getTerminalReporter.native.js +53 -0
  40. package/dist/cjs/utils/getTerminalReporter.native.js.map +6 -0
  41. package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.cjs +35 -0
  42. package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.js +30 -0
  43. package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.js.map +6 -0
  44. package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js +37 -0
  45. package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js.map +6 -0
  46. package/dist/cjs/utils/projectImport.cjs +56 -0
  47. package/dist/cjs/utils/projectImport.js +43 -0
  48. package/dist/cjs/utils/projectImport.js.map +6 -0
  49. package/dist/cjs/utils/projectImport.native.js +54 -0
  50. package/dist/cjs/utils/projectImport.native.js.map +6 -0
  51. package/dist/esm/index.js +7 -0
  52. package/dist/esm/index.js.map +6 -0
  53. package/dist/esm/index.mjs +4 -0
  54. package/dist/esm/index.mjs.map +1 -0
  55. package/dist/esm/index.native.js +4 -0
  56. package/dist/esm/index.native.js.map +1 -0
  57. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.js +35 -0
  58. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.js.map +6 -0
  59. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.mjs +33 -0
  60. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.mjs.map +1 -0
  61. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.native.js +34 -0
  62. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.native.js.map +1 -0
  63. package/dist/esm/plugins/metroPlugin.js +168 -0
  64. package/dist/esm/plugins/metroPlugin.js.map +6 -0
  65. package/dist/esm/plugins/metroPlugin.mjs +180 -0
  66. package/dist/esm/plugins/metroPlugin.mjs.map +1 -0
  67. package/dist/esm/plugins/metroPlugin.native.js +189 -0
  68. package/dist/esm/plugins/metroPlugin.native.js.map +1 -0
  69. package/dist/esm/transformer/babel-core.js +9 -0
  70. package/dist/esm/transformer/babel-core.js.map +6 -0
  71. package/dist/esm/transformer/babel-core.mjs +3 -0
  72. package/dist/esm/transformer/babel-core.mjs.map +1 -0
  73. package/dist/esm/transformer/babel-core.native.js +3 -0
  74. package/dist/esm/transformer/babel-core.native.js.map +1 -0
  75. package/dist/esm/transformer/babel-transformer.js +110 -0
  76. package/dist/esm/transformer/babel-transformer.js.map +6 -0
  77. package/dist/esm/transformer/babel-transformer.mjs +122 -0
  78. package/dist/esm/transformer/babel-transformer.mjs.map +1 -0
  79. package/dist/esm/transformer/babel-transformer.native.js +136 -0
  80. package/dist/esm/transformer/babel-transformer.native.js.map +1 -0
  81. package/dist/esm/transformer/loadBabelConfig.js +23 -0
  82. package/dist/esm/transformer/loadBabelConfig.js.map +6 -0
  83. package/dist/esm/transformer/loadBabelConfig.mjs +19 -0
  84. package/dist/esm/transformer/loadBabelConfig.mjs.map +1 -0
  85. package/dist/esm/transformer/loadBabelConfig.native.js +23 -0
  86. package/dist/esm/transformer/loadBabelConfig.native.js.map +1 -0
  87. package/dist/esm/transformer/transformSync.js +29 -0
  88. package/dist/esm/transformer/transformSync.js.map +6 -0
  89. package/dist/esm/transformer/transformSync.mjs +30 -0
  90. package/dist/esm/transformer/transformSync.mjs.map +1 -0
  91. package/dist/esm/transformer/transformSync.native.js +31 -0
  92. package/dist/esm/transformer/transformSync.native.js.map +1 -0
  93. package/dist/esm/utils/getTerminalReporter.js +25 -0
  94. package/dist/esm/utils/getTerminalReporter.js.map +6 -0
  95. package/dist/esm/utils/getTerminalReporter.mjs +25 -0
  96. package/dist/esm/utils/getTerminalReporter.mjs.map +1 -0
  97. package/dist/esm/utils/getTerminalReporter.native.js +26 -0
  98. package/dist/esm/utils/getTerminalReporter.native.js.map +1 -0
  99. package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.js +14 -0
  100. package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.js.map +6 -0
  101. package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.mjs +12 -0
  102. package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.mjs.map +1 -0
  103. package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js +14 -0
  104. package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js.map +1 -0
  105. package/dist/esm/utils/projectImport.js +20 -0
  106. package/dist/esm/utils/projectImport.js.map +6 -0
  107. package/dist/esm/utils/projectImport.mjs +20 -0
  108. package/dist/esm/utils/projectImport.mjs.map +1 -0
  109. package/dist/esm/utils/projectImport.native.js +22 -0
  110. package/dist/esm/utils/projectImport.native.js.map +1 -0
  111. package/empty.js +0 -0
  112. package/package.json +68 -0
  113. package/src/index.ts +4 -0
  114. package/src/plugins/expoManifestRequestHandlerPlugin.ts +75 -0
  115. package/src/plugins/metroPlugin.ts +314 -0
  116. package/src/transformer/babel-core.ts +7 -0
  117. package/src/transformer/babel-transformer.ts +211 -0
  118. package/src/transformer/loadBabelConfig.ts +53 -0
  119. package/src/transformer/transformSync.ts +54 -0
  120. package/src/utils/getTerminalReporter.ts +42 -0
  121. package/src/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.ts +27 -0
  122. package/src/utils/projectImport.ts +32 -0
  123. package/types/index.d.ts +5 -0
  124. package/types/index.d.ts.map +1 -0
  125. package/types/plugins/expoManifestRequestHandlerPlugin.d.ts +14 -0
  126. package/types/plugins/expoManifestRequestHandlerPlugin.d.ts.map +1 -0
  127. package/types/plugins/metroPlugin.d.ts +22 -0
  128. package/types/plugins/metroPlugin.d.ts.map +1 -0
  129. package/types/transformer/babel-core.d.ts +2 -0
  130. package/types/transformer/babel-core.d.ts.map +1 -0
  131. package/types/transformer/babel-transformer.d.ts +18 -0
  132. package/types/transformer/babel-transformer.d.ts.map +1 -0
  133. package/types/transformer/loadBabelConfig.d.ts +10 -0
  134. package/types/transformer/loadBabelConfig.d.ts.map +1 -0
  135. package/types/transformer/transformSync.d.ts +11 -0
  136. package/types/transformer/transformSync.d.ts.map +1 -0
  137. package/types/utils/getTerminalReporter.d.ts +3 -0
  138. package/types/utils/getTerminalReporter.d.ts.map +1 -0
  139. package/types/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.d.ts +5 -0
  140. package/types/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.d.ts.map +1 -0
  141. package/types/utils/projectImport.d.ts +12 -0
  142. package/types/utils/projectImport.d.ts.map +1 -0
@@ -0,0 +1,28 @@
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: !0
9
+ });
10
+ },
11
+ __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
13
+ get: () => from[key],
14
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
15
+ });
16
+ return to;
17
+ };
18
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
19
+ value: !0
20
+ }), mod);
21
+ var index_exports = {};
22
+ __export(index_exports, {
23
+ expoManifestRequestHandlerPlugin: () => import_expoManifestRequestHandlerPlugin.expoManifestRequestHandlerPlugin,
24
+ metroPlugin: () => import_metroPlugin.metroPlugin
25
+ });
26
+ module.exports = __toCommonJS(index_exports);
27
+ var import_metroPlugin = require("./plugins/metroPlugin.cjs"),
28
+ import_expoManifestRequestHandlerPlugin = require("./plugins/expoManifestRequestHandlerPlugin.cjs");
@@ -0,0 +1,22 @@
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)
7
+ __defProp(target, name, { get: all[name], enumerable: !0 });
8
+ }, __copyProps = (to, from, except, desc) => {
9
+ if (from && typeof from == "object" || typeof from == "function")
10
+ for (let key of __getOwnPropNames(from))
11
+ !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
15
+ var index_exports = {};
16
+ __export(index_exports, {
17
+ expoManifestRequestHandlerPlugin: () => import_expoManifestRequestHandlerPlugin.expoManifestRequestHandlerPlugin,
18
+ metroPlugin: () => import_metroPlugin.metroPlugin
19
+ });
20
+ module.exports = __toCommonJS(index_exports);
21
+ var import_metroPlugin = require("./plugins/metroPlugin"), import_expoManifestRequestHandlerPlugin = require("./plugins/expoManifestRequestHandlerPlugin");
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/index.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,yBAA4B,kCAE5B,0CAAiD;",
5
+ "names": []
6
+ }
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: !0 });
9
+ }, __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from == "object" || typeof from == "function")
11
+ for (let key of __getOwnPropNames(from))
12
+ !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
13
+ return to;
14
+ };
15
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
16
+ var index_exports = {};
17
+ __export(index_exports, {
18
+ expoManifestRequestHandlerPlugin: () => import_expoManifestRequestHandlerPlugin.expoManifestRequestHandlerPlugin,
19
+ metroPlugin: () => import_metroPlugin.metroPlugin
20
+ });
21
+ module.exports = __toCommonJS(index_exports);
22
+ var import_metroPlugin = require("./plugins/metroPlugin"), import_expoManifestRequestHandlerPlugin = require("./plugins/expoManifestRequestHandlerPlugin");
23
+ // Annotate the CommonJS export names for ESM import in node:
24
+ 0 && (module.exports = {
25
+ expoManifestRequestHandlerPlugin,
26
+ metroPlugin
27
+ });
28
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/index.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;AAAA;;;;;;yBAA4B,kCAE5B,0CAAiD;",
5
+ "names": []
6
+ }
@@ -0,0 +1,56 @@
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: !0
9
+ });
10
+ },
11
+ __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
13
+ get: () => from[key],
14
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
15
+ });
16
+ return to;
17
+ };
18
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
19
+ value: !0
20
+ }), mod);
21
+ var expoManifestRequestHandlerPlugin_exports = {};
22
+ __export(expoManifestRequestHandlerPlugin_exports, {
23
+ expoManifestRequestHandlerPlugin: () => expoManifestRequestHandlerPlugin
24
+ });
25
+ module.exports = __toCommonJS(expoManifestRequestHandlerPlugin_exports);
26
+ var import_node_tls = require("node:tls"),
27
+ import_projectImport = require("../utils/projectImport.cjs"),
28
+ import_patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName = require("../utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.cjs");
29
+ function expoManifestRequestHandlerPlugin(options) {
30
+ return {
31
+ name: "expo-manifest-request-handler",
32
+ // configResolved(config) {
33
+ // projectRoot = config.root
34
+ // },
35
+ async configureServer(server) {
36
+ const {
37
+ root: projectRoot
38
+ } = server.config,
39
+ ExpoGoManifestHandlerMiddleware = (await (0, import_projectImport.projectImport)(projectRoot, "@expo/cli/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js")).default.ExpoGoManifestHandlerMiddleware;
40
+ server.middlewares.use(async (req, res, next) => {
41
+ if (!req.headers["expo-platform"]) return next();
42
+ const protocol = req.socket instanceof import_node_tls.TLSSocket && req.socket.encrypted ? "https" : "http",
43
+ manifestHandlerMiddleware = new ExpoGoManifestHandlerMiddleware(projectRoot, {
44
+ constructUrl: ({
45
+ scheme,
46
+ hostname
47
+ }) => {
48
+ const host = req.headers["x-forwarded-host"] || req.headers.host || hostname;
49
+ return scheme ? `${protocol || scheme}://${host}` : host;
50
+ }
51
+ });
52
+ options.mainModuleName && (0, import_patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName)(manifestHandlerMiddleware, options.mainModuleName), manifestHandlerMiddleware.handleRequestAsync(req, res, next);
53
+ });
54
+ }
55
+ };
56
+ }
@@ -0,0 +1,49 @@
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)
7
+ __defProp(target, name, { get: all[name], enumerable: !0 });
8
+ }, __copyProps = (to, from, except, desc) => {
9
+ if (from && typeof from == "object" || typeof from == "function")
10
+ for (let key of __getOwnPropNames(from))
11
+ !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
15
+ var expoManifestRequestHandlerPlugin_exports = {};
16
+ __export(expoManifestRequestHandlerPlugin_exports, {
17
+ expoManifestRequestHandlerPlugin: () => expoManifestRequestHandlerPlugin
18
+ });
19
+ module.exports = __toCommonJS(expoManifestRequestHandlerPlugin_exports);
20
+ var import_node_tls = require("node:tls"), import_projectImport = require("../utils/projectImport"), import_patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName = require("../utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName");
21
+ function expoManifestRequestHandlerPlugin(options) {
22
+ return {
23
+ name: "expo-manifest-request-handler",
24
+ // configResolved(config) {
25
+ // projectRoot = config.root
26
+ // },
27
+ async configureServer(server) {
28
+ const { root: projectRoot } = server.config, ExpoGoManifestHandlerMiddleware = (await (0, import_projectImport.projectImport)(
29
+ projectRoot,
30
+ "@expo/cli/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js"
31
+ )).default.ExpoGoManifestHandlerMiddleware;
32
+ server.middlewares.use(async (req, res, next) => {
33
+ if (!req.headers["expo-platform"])
34
+ return next();
35
+ const protocol = req.socket instanceof import_node_tls.TLSSocket && req.socket.encrypted ? "https" : "http", manifestHandlerMiddleware = new ExpoGoManifestHandlerMiddleware(projectRoot, {
36
+ constructUrl: ({ scheme, hostname }) => {
37
+ const host = req.headers["x-forwarded-host"] || req.headers.host || hostname;
38
+ return scheme ? `${protocol || scheme}://${host}` : host;
39
+ }
40
+ });
41
+ options.mainModuleName && (0, import_patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName)(
42
+ manifestHandlerMiddleware,
43
+ options.mainModuleName
44
+ ), manifestHandlerMiddleware.handleRequestAsync(req, res, next);
45
+ });
46
+ }
47
+ };
48
+ }
49
+ //# sourceMappingURL=expoManifestRequestHandlerPlugin.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/plugins/expoManifestRequestHandlerPlugin.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAA0B,qBAG1B,uBAA8B,mCAC9B,sEAA6E;AActE,SAAS,iCACd,SACc;AAGd,SAAO;AAAA,IACL,MAAM;AAAA;AAAA;AAAA;AAAA,IAIN,MAAM,gBAAgB,QAAQ;AAC5B,YAAM,EAAE,MAAM,YAAY,IAAI,OAAO,QAE/B,mCACJ,UAAM;AAAA,QACJ;AAAA,QACA;AAAA,MACF,GACA,QAAQ;AAEV,aAAO,YAAY,IAAI,OAAO,KAAK,KAAK,SAAS;AAC/C,YAAI,CAAC,IAAI,QAAQ,eAAe;AAE9B,iBAAO,KAAK;AAGd,cAAM,WAAW,IAAI,kBAAkB,6BAAa,IAAI,OAAO,YAAY,UAAU,QAE/E,4BAA4B,IAAI,gCAAgC,aAAa;AAAA,UACjF,cAAc,CAAC,EAAE,QAAQ,SAAS,MAAM;AAEtC,kBAAM,OAAO,IAAI,QAAQ,kBAAkB,KAAK,IAAI,QAAQ,QAAQ;AAEpE,mBAAK,SAOE,GAAG,YAAY,MAAM,MAAM,IAAI,KAH7B;AAAA,UAIX;AAAA,QACF,CAAC;AAED,QAAI,QAAQ,sBACV;AAAA,UACE;AAAA,UACA,QAAQ;AAAA,QACV,GAIF,0BAA0B,mBAAmB,KAAK,KAAK,IAAI;AAAA,MAC7D,CAAC;AAAA,IACH;AAAA,EACF;AACF;",
5
+ "names": []
6
+ }
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: !0 });
9
+ }, __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from == "object" || typeof from == "function")
11
+ for (let key of __getOwnPropNames(from))
12
+ !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
13
+ return to;
14
+ };
15
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
16
+ var expoManifestRequestHandlerPlugin_exports = {};
17
+ __export(expoManifestRequestHandlerPlugin_exports, {
18
+ expoManifestRequestHandlerPlugin: () => expoManifestRequestHandlerPlugin
19
+ });
20
+ module.exports = __toCommonJS(expoManifestRequestHandlerPlugin_exports);
21
+ var import_node_tls = require("node:tls"), import_projectImport = require("../utils/projectImport"), import_patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName = require("../utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName");
22
+ function expoManifestRequestHandlerPlugin(options) {
23
+ return {
24
+ name: "expo-manifest-request-handler",
25
+ // configResolved(config) {
26
+ // projectRoot = config.root
27
+ // },
28
+ async configureServer(server) {
29
+ var { root: projectRoot } = server.config, ExpoGoManifestHandlerMiddleware = (await (0, import_projectImport.projectImport)(projectRoot, "@expo/cli/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js")).default.ExpoGoManifestHandlerMiddleware;
30
+ server.middlewares.use(async function(req, res, next) {
31
+ if (!req.headers["expo-platform"])
32
+ return next();
33
+ var protocol = req.socket instanceof import_node_tls.TLSSocket && req.socket.encrypted ? "https" : "http", manifestHandlerMiddleware = new ExpoGoManifestHandlerMiddleware(projectRoot, {
34
+ constructUrl: function(param) {
35
+ var { scheme, hostname } = param, host = req.headers["x-forwarded-host"] || req.headers.host || hostname;
36
+ return scheme ? `${protocol || scheme}://${host}` : host;
37
+ }
38
+ });
39
+ options.mainModuleName && (0, import_patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName)(manifestHandlerMiddleware, options.mainModuleName), manifestHandlerMiddleware.handleRequestAsync(req, res, next);
40
+ });
41
+ }
42
+ };
43
+ }
44
+ // Annotate the CommonJS export names for ESM import in node:
45
+ 0 && (module.exports = {
46
+ expoManifestRequestHandlerPlugin
47
+ });
48
+ //# sourceMappingURL=expoManifestRequestHandlerPlugin.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/plugins/expoManifestRequestHandlerPlugin.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;AAAA;;;;;sBAA0B,qBAG1B,uBAA8B,mCAC9B,sEAA6E;AActE,SAASA,iCACdC,SAAsD;AAItD,SAAO;IACLC,MAAM;;;;IAIN,MAAMC,gBAAgBC,QAAM;AAC1B,UAAM,EAAEC,MAAMC,YAAW,IAAKF,OAAOG,QAE/BC,mCACJ,UAAMC,oCACJH,aACA,gFAAA,GAEFI,QAAQF;AAEVJ,aAAOO,YAAYC,IAAI,eAAOC,KAAKC,KAAKC,MAAAA;AACtC,YAAI,CAACF,IAAIG,QAAQ,eAAA;AAEf,iBAAOD,KAAAA;AAGT,YAAME,WAAWJ,IAAIK,kBAAkBC,6BAAaN,IAAIK,OAAOE,YAAY,UAAU,QAE/EC,4BAA4B,IAAIb,gCAAgCF,aAAa;UACjFgB,cAAc,SAAA,OAAA;gBAAC,EAAEC,QAAQC,SAAQ,IAAE,OAE3BC,OAAOZ,IAAIG,QAAQ,kBAAA,KAAuBH,IAAIG,QAAQS,QAAQD;AAEpE,mBAAKD,SAOE,GAAGN,YAAYM,MAAAA,MAAYE,IAAAA,KAHzBA;UAIX;QACF,CAAA;AAEA,QAAIxB,QAAQyB,sBACVC,kIACEN,2BACApB,QAAQyB,cAAc,GAK1BL,0BAA0BO,mBAAmBf,KAAKC,KAAKC,IAAAA;MACzD,CAAA;IACF;EACF;AACF;",
5
+ "names": ["expoManifestRequestHandlerPlugin", "options", "name", "configureServer", "server", "root", "projectRoot", "config", "ExpoGoManifestHandlerMiddleware", "projectImport", "default", "middlewares", "use", "req", "res", "next", "headers", "protocol", "socket", "TLSSocket", "encrypted", "manifestHandlerMiddleware", "constructUrl", "scheme", "hostname", "host", "mainModuleName", "patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName", "handleRequestAsync"]
6
+ }
@@ -0,0 +1,214 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf,
6
+ __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: !0
11
+ });
12
+ },
13
+ __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
15
+ get: () => from[key],
16
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
17
+ });
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
26
+ value: mod,
27
+ enumerable: !0
28
+ }) : target, mod)),
29
+ __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
30
+ value: !0
31
+ }), mod);
32
+ var metroPlugin_exports = {};
33
+ __export(metroPlugin_exports, {
34
+ metroPlugin: () => metroPlugin
35
+ });
36
+ module.exports = __toCommonJS(metroPlugin_exports);
37
+ var import_node_fs = require("node:fs"),
38
+ import_promises = require("node:fs/promises"),
39
+ import_node_url = require("node:url"),
40
+ import_launch_editor = __toESM(require("launch-editor"), 1),
41
+ import_projectImport = require("../utils/projectImport.cjs"),
42
+ import_getTerminalReporter = require("../utils/getTerminalReporter.cjs"),
43
+ import_patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName = require("../utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.cjs");
44
+ function metroPlugin({
45
+ argv,
46
+ defaultConfigOverrides,
47
+ babelConfig,
48
+ mainModuleName
49
+ } = {}) {
50
+ return {
51
+ name: "metro",
52
+ // configResolved(config) {
53
+ // projectRoot = config.root
54
+ // },
55
+ async configureServer(server) {
56
+ const {
57
+ logger,
58
+ root: projectRoot
59
+ } = server.config,
60
+ {
61
+ default: Metro,
62
+ loadConfig
63
+ } = await (0, import_projectImport.projectImport)(projectRoot, "metro"),
64
+ {
65
+ default: MetroHmrServer
66
+ } = await (0, import_projectImport.projectImport)(projectRoot, "metro/src/HmrServer"),
67
+ {
68
+ default: createWebsocketServer
69
+ } = await (0, import_projectImport.projectImport)(projectRoot, "metro/src/lib/createWebsocketServer"),
70
+ {
71
+ getDefaultConfig
72
+ } = await (0, import_projectImport.projectImport)(projectRoot, "@expo/metro-config"),
73
+ {
74
+ createDevMiddleware
75
+ } = await (0, import_projectImport.projectImport)(projectRoot, "@react-native/dev-middleware"),
76
+ _defaultConfig = getDefaultConfig(projectRoot);
77
+ if (mainModuleName) {
78
+ const origRewriteRequestUrl = _defaultConfig.server.rewriteRequestUrl,
79
+ resolveMainModuleName = await (async () => {
80
+ const ExpoGoManifestHandlerMiddleware = (await (0, import_projectImport.projectImport)(projectRoot, "@expo/cli/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js")).default.ExpoGoManifestHandlerMiddleware,
81
+ manifestHandlerMiddleware = new ExpoGoManifestHandlerMiddleware(projectRoot, {});
82
+ return (0, import_patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName)(manifestHandlerMiddleware, mainModuleName), p => manifestHandlerMiddleware.resolveMainModuleName({
83
+ pkg: {
84
+ main: mainModuleName
85
+ },
86
+ platform: p.platform
87
+ });
88
+ })();
89
+ _defaultConfig.server.rewriteRequestUrl = url => {
90
+ if (url.includes("/.expo/.virtual-metro-entry.bundle?")) {
91
+ const resolvedMainModulePath = resolveMainModuleName({
92
+ platform: "ios"
93
+ // we probably need to handle android here, but currently in our use case this won't affect the result
94
+ });
95
+ return url.replace(".expo/.virtual-metro-entry", resolvedMainModulePath);
96
+ }
97
+ return origRewriteRequestUrl(url);
98
+ };
99
+ }
100
+ const defaultConfig = {
101
+ ..._defaultConfig,
102
+ resolver: {
103
+ ..._defaultConfig?.resolver,
104
+ sourceExts: ["js", "jsx", "json", "ts", "tsx", "mjs", "cjs"],
105
+ // `one` related packages are using `.mjs` extensions. This somehow fixes `.native` files not being resolved correctly when `.mjs` files are present.
106
+ resolveRequest: (context, moduleName, platform) => {
107
+ const origResolveRequestFn = _defaultConfig?.resolver?.resolveRequest || context.resolveRequest;
108
+ if (moduleName.startsWith("@babel/runtime")) {
109
+ const contextOverride = {
110
+ ...context,
111
+ unstable_conditionNames: context.unstable_conditionNames.filter(c => c !== "import")
112
+ };
113
+ return origResolveRequestFn(contextOverride, moduleName, platform);
114
+ }
115
+ return origResolveRequestFn(context, moduleName, platform);
116
+ }
117
+ },
118
+ transformer: {
119
+ ..._defaultConfig?.transformer,
120
+ babelTransformerPath: (0, import_projectImport.projectResolve)(projectRoot, "@vxrn/vite-plugin-metro/babel-transformer"),
121
+ // TODO: This is what Expo is doing, but do we really need this?
122
+ publicPath: "/assets/?unstable_path=."
123
+ },
124
+ reporter: await (0, import_getTerminalReporter.getTerminalReporter)(projectRoot)
125
+ },
126
+ config = await loadConfig({
127
+ cwd: projectRoot,
128
+ projectRoot,
129
+ "reset-cache": !!process.env.METRO_RESET_CACHE,
130
+ ...argv
131
+ }, {
132
+ ...defaultConfig,
133
+ ...(typeof defaultConfigOverrides == "function" ? defaultConfigOverrides(defaultConfig) : defaultConfigOverrides)
134
+ }),
135
+ {
136
+ middleware,
137
+ end,
138
+ metroServer
139
+ } = await Metro.createConnectMiddleware(config, {
140
+ // Force enable file watching, even on CI.
141
+ // This is needed for HMR tests to work on CI.
142
+ watch: !0
143
+ }),
144
+ originalTransformFile = metroServer.getBundler().getBundler().transformFile.bind(metroServer.getBundler().getBundler());
145
+ metroServer.getBundler().getBundler().transformFile = async (filePath, transformOptions, fileBuffer) => originalTransformFile(filePath, {
146
+ ...transformOptions,
147
+ customTransformOptions: {
148
+ ...transformOptions.customTransformOptions,
149
+ vite: {
150
+ babelConfig
151
+ }
152
+ }
153
+ }, fileBuffer);
154
+ const hmrServer = new MetroHmrServer(metroServer.getBundler(), metroServer.getCreateModuleId(), config),
155
+ reactNativeDevToolsUrl = `http://${typeof server.config.server.host == "boolean" ? "localhost" : server.config.server.host}:${server.config.server.port}`,
156
+ {
157
+ middleware: rnDevtoolsMiddleware,
158
+ websocketEndpoints: rnDevtoolsWebsocketEndpoints
159
+ } = createDevMiddleware({
160
+ projectRoot,
161
+ serverBaseUrl: reactNativeDevToolsUrl,
162
+ logger: console
163
+ });
164
+ server.middlewares.use(async (req, res, next) => {
165
+ try {
166
+ if (req.url?.includes(".bundle")) {
167
+ const VITE_METRO_DEBUG_BUNDLE = process.env.VITE_METRO_DEBUG_BUNDLE;
168
+ if (VITE_METRO_DEBUG_BUNDLE && (0, import_node_fs.existsSync)(VITE_METRO_DEBUG_BUNDLE)) {
169
+ console.info(" !!! - serving debug bundle from", VITE_METRO_DEBUG_BUNDLE);
170
+ const content = await (0, import_promises.readFile)(VITE_METRO_DEBUG_BUNDLE, "utf-8");
171
+ res.setHeader("Content-Type", "application/javascript"), res.end(content);
172
+ return;
173
+ }
174
+ }
175
+ if (req.url === "/status" && req.headers["user-agent"]?.includes("CFNetwork/")) {
176
+ res.statusCode = 200, res.end("packager-status:running");
177
+ return;
178
+ }
179
+ if (req.url === "/open-stack-frame" && req.method === "POST") {
180
+ let body = "";
181
+ req.on("data", chunk => {
182
+ body += chunk.toString();
183
+ }), req.on("end", () => {
184
+ try {
185
+ const frame = JSON.parse(body);
186
+ (0, import_launch_editor.default)(frame.file), res.statusCode = 200, res.end("Stack frame opened in editor");
187
+ } catch (e) {
188
+ return console.error("Failed to parse stack frame:", e), res.statusCode = 400, res.end("Invalid stack frame JSON");
189
+ }
190
+ });
191
+ return;
192
+ }
193
+ await middleware(req, res, next);
194
+ } catch (error) {
195
+ console.error("Metro middleware error:", error), next();
196
+ }
197
+ }), server.middlewares.use(rnDevtoolsMiddleware);
198
+ const websocketEndpoints = {
199
+ "/hot": createWebsocketServer({
200
+ websocketServer: hmrServer
201
+ }),
202
+ ...rnDevtoolsWebsocketEndpoints
203
+ };
204
+ server.httpServer?.on("upgrade", (request, socket, head) => {
205
+ const {
206
+ pathname
207
+ } = (0, import_node_url.parse)(request.url);
208
+ pathname != null && websocketEndpoints[pathname] && websocketEndpoints[pathname].handleUpgrade(request, socket, head, ws => {
209
+ websocketEndpoints[pathname].emit("connection", ws, request);
210
+ });
211
+ });
212
+ }
213
+ };
214
+ }