vxrn 1.12.2 → 1.12.4

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 (178) hide show
  1. package/dist/exports/createServer.mjs +10 -6
  2. package/dist/exports/createServer.mjs.map +1 -1
  3. package/dist/exports/createServer.native.js +4 -2
  4. package/dist/exports/createServer.native.js.map +1 -1
  5. package/dist/index.js +22 -39
  6. package/dist/index.js.map +1 -6
  7. package/dist/patches/builtInDepPatches.mjs +0 -8
  8. package/dist/patches/builtInDepPatches.mjs.map +1 -1
  9. package/dist/patches/builtInDepPatches.native.js +0 -10
  10. package/dist/patches/builtInDepPatches.native.js.map +1 -1
  11. package/dist/serve/node.mjs +27 -11
  12. package/dist/serve/node.mjs.map +1 -1
  13. package/dist/serve/node.native.js +32 -14
  14. package/dist/serve/node.native.js.map +1 -1
  15. package/package.json +13 -13
  16. package/src/exports/createServer.ts +8 -1
  17. package/src/patches/builtInDepPatches.ts +0 -15
  18. package/src/serve/node.ts +36 -10
  19. package/types/exports/createServer.d.ts.map +1 -1
  20. package/types/patches/builtInDepPatches.d.ts.map +1 -1
  21. package/types/serve/node.d.ts +2 -0
  22. package/types/serve/node.d.ts.map +1 -1
  23. package/dist/cli.js +0 -224
  24. package/dist/cli.js.map +0 -6
  25. package/dist/config/getAdditionalViteConfig.js +0 -41
  26. package/dist/config/getAdditionalViteConfig.js.map +0 -6
  27. package/dist/config/getBaseViteConfigOnly.js +0 -110
  28. package/dist/config/getBaseViteConfigOnly.js.map +0 -6
  29. package/dist/config/getBaseViteConfigWithPlugins.js +0 -12
  30. package/dist/config/getBaseViteConfigWithPlugins.js.map +0 -6
  31. package/dist/config/getBaseVitePlugins.js +0 -84
  32. package/dist/config/getBaseVitePlugins.js.map +0 -6
  33. package/dist/config/getNonCliModeOnlyVitePlugins.js +0 -11
  34. package/dist/config/getNonCliModeOnlyVitePlugins.js.map +0 -6
  35. package/dist/config/getOptimizeDeps.js +0 -150
  36. package/dist/config/getOptimizeDeps.js.map +0 -6
  37. package/dist/config/getOptionsFilled.js +0 -52
  38. package/dist/config/getOptionsFilled.js.map +0 -6
  39. package/dist/config/getReactNativeBuildConfig.js +0 -217
  40. package/dist/config/getReactNativeBuildConfig.js.map +0 -6
  41. package/dist/config/getReactNativePlugins.js +0 -37
  42. package/dist/config/getReactNativePlugins.js.map +0 -6
  43. package/dist/config/getServerOptionsFilled.js +0 -28
  44. package/dist/config/getServerOptionsFilled.js.map +0 -6
  45. package/dist/config/getViteServerConfig.js +0 -35
  46. package/dist/config/getViteServerConfig.js.map +0 -6
  47. package/dist/config/mergeUserConfig.js +0 -46
  48. package/dist/config/mergeUserConfig.js.map +0 -6
  49. package/dist/config/mergeUserConfig.test.js +0 -80
  50. package/dist/config/mergeUserConfig.test.js.map +0 -6
  51. package/dist/constants/defaults.js +0 -39
  52. package/dist/constants/defaults.js.map +0 -6
  53. package/dist/constants.js +0 -20
  54. package/dist/constants.js.map +0 -6
  55. package/dist/exports/build.js +0 -250
  56. package/dist/exports/build.js.map +0 -6
  57. package/dist/exports/clean.js +0 -31
  58. package/dist/exports/clean.js.map +0 -6
  59. package/dist/exports/createServer.js +0 -32
  60. package/dist/exports/createServer.js.map +0 -6
  61. package/dist/exports/dev.js +0 -86
  62. package/dist/exports/dev.js.map +0 -6
  63. package/dist/exports/loadEnv.js +0 -60
  64. package/dist/exports/loadEnv.js.map +0 -6
  65. package/dist/exports/patch.js +0 -11
  66. package/dist/exports/patch.js.map +0 -6
  67. package/dist/exports/prebuild.js +0 -131
  68. package/dist/exports/prebuild.js.map +0 -6
  69. package/dist/exports/prebuildWithoutExpo.js +0 -45
  70. package/dist/exports/prebuildWithoutExpo.js.map +0 -6
  71. package/dist/exports/runAndroid.js +0 -6
  72. package/dist/exports/runAndroid.js.map +0 -6
  73. package/dist/exports/runIos.js +0 -6
  74. package/dist/exports/runIos.js.map +0 -6
  75. package/dist/exports/serve.js +0 -28
  76. package/dist/exports/serve.js.map +0 -6
  77. package/dist/exports/serveStaticAssets.js +0 -23
  78. package/dist/exports/serveStaticAssets.js.map +0 -6
  79. package/dist/patches/builtInDepPatches.js +0 -462
  80. package/dist/patches/builtInDepPatches.js.map +0 -6
  81. package/dist/plugins/applyBuiltInPatchesPlugin.js +0 -17
  82. package/dist/plugins/applyBuiltInPatchesPlugin.js.map +0 -6
  83. package/dist/plugins/autoDepOptimizePlugin.js +0 -93
  84. package/dist/plugins/autoDepOptimizePlugin.js.map +0 -6
  85. package/dist/plugins/autoDepOptimizePlugin.test.js +0 -19
  86. package/dist/plugins/autoDepOptimizePlugin.test.js.map +0 -6
  87. package/dist/plugins/clientInjectPlugin.js +0 -61
  88. package/dist/plugins/clientInjectPlugin.js.map +0 -6
  89. package/dist/plugins/defaultDepOptimizePlugin.js +0 -29
  90. package/dist/plugins/defaultDepOptimizePlugin.js.map +0 -6
  91. package/dist/plugins/expoManifestRequestHandlerPlugin.js +0 -140
  92. package/dist/plugins/expoManifestRequestHandlerPlugin.js.map +0 -6
  93. package/dist/plugins/getResolvedConfigSubset.js +0 -14
  94. package/dist/plugins/getResolvedConfigSubset.js.map +0 -6
  95. package/dist/plugins/reactNativeCommonJsPlugin.js +0 -227
  96. package/dist/plugins/reactNativeCommonJsPlugin.js.map +0 -6
  97. package/dist/plugins/reactNativeDevAssetPlugin.js +0 -103
  98. package/dist/plugins/reactNativeDevAssetPlugin.js.map +0 -6
  99. package/dist/plugins/reactNativeDevServer.js +0 -141
  100. package/dist/plugins/reactNativeDevServer.js.map +0 -6
  101. package/dist/plugins/reactNativeHMRPlugin.js +0 -139
  102. package/dist/plugins/reactNativeHMRPlugin.js.map +0 -6
  103. package/dist/plugins/resolveIdScan.test.js +0 -20
  104. package/dist/plugins/resolveIdScan.test.js.map +0 -6
  105. package/dist/plugins/rollupRemoveUnusedImports.js +0 -13
  106. package/dist/plugins/rollupRemoveUnusedImports.js.map +0 -6
  107. package/dist/plugins/serverExtensions.test.js +0 -54
  108. package/dist/plugins/serverExtensions.test.js.map +0 -6
  109. package/dist/rn-commands/bundle/buildBundle.js +0 -75
  110. package/dist/rn-commands/bundle/buildBundle.js.map +0 -6
  111. package/dist/serve/node.js +0 -40
  112. package/dist/serve/node.js.map +0 -6
  113. package/dist/types.js +0 -1
  114. package/dist/types.js.map +0 -6
  115. package/dist/user-interface/index.js +0 -257
  116. package/dist/user-interface/index.js.map +0 -6
  117. package/dist/utils/assert.js +0 -13
  118. package/dist/utils/assert.js.map +0 -6
  119. package/dist/utils/bindKeypressInput.js +0 -47
  120. package/dist/utils/bindKeypressInput.js.map +0 -6
  121. package/dist/utils/coerceToArray.js +0 -7
  122. package/dist/utils/coerceToArray.js.map +0 -6
  123. package/dist/utils/connectedNativeClients.js +0 -13
  124. package/dist/utils/connectedNativeClients.js.map +0 -6
  125. package/dist/utils/dispose.js +0 -12
  126. package/dist/utils/dispose.js.map +0 -6
  127. package/dist/utils/environmentUtils.js +0 -19
  128. package/dist/utils/environmentUtils.js.map +0 -6
  129. package/dist/utils/execSync.js +0 -9
  130. package/dist/utils/execSync.js.map +0 -6
  131. package/dist/utils/expoRun.js +0 -35
  132. package/dist/utils/expoRun.js.map +0 -6
  133. package/dist/utils/filterPluginsForNative.js +0 -29
  134. package/dist/utils/filterPluginsForNative.js.map +0 -6
  135. package/dist/utils/filterViteServerResolvedUrls.js +0 -19
  136. package/dist/utils/filterViteServerResolvedUrls.js.map +0 -6
  137. package/dist/utils/getCacheDir.js +0 -8
  138. package/dist/utils/getCacheDir.js.map +0 -6
  139. package/dist/utils/getReactNativeBundle.js +0 -124
  140. package/dist/utils/getReactNativeBundle.js.map +0 -6
  141. package/dist/utils/getServerEntry.js +0 -13
  142. package/dist/utils/getServerEntry.js.map +0 -6
  143. package/dist/utils/getVitePath.js +0 -37
  144. package/dist/utils/getVitePath.js.map +0 -6
  145. package/dist/utils/globDir.js +0 -13
  146. package/dist/utils/globDir.js.map +0 -6
  147. package/dist/utils/hotUpdateCache.js +0 -5
  148. package/dist/utils/hotUpdateCache.js.map +0 -6
  149. package/dist/utils/isBuildingNativeBundle.js +0 -9
  150. package/dist/utils/isBuildingNativeBundle.js.map +0 -6
  151. package/dist/utils/isWithin.js +0 -9
  152. package/dist/utils/isWithin.js.map +0 -6
  153. package/dist/utils/patches.js +0 -173
  154. package/dist/utils/patches.js.map +0 -6
  155. package/dist/utils/printServerUrls.js +0 -12
  156. package/dist/utils/printServerUrls.js.map +0 -6
  157. package/dist/utils/removeUndefined.js +0 -10
  158. package/dist/utils/removeUndefined.js.map +0 -6
  159. package/dist/utils/scanDepsToOptimize.js +0 -199
  160. package/dist/utils/scanDepsToOptimize.js.map +0 -6
  161. package/dist/utils/state.js +0 -19
  162. package/dist/utils/state.js.map +0 -6
  163. package/dist/utils/swapPrebuiltReactModules.js +0 -205
  164. package/dist/utils/swapPrebuiltReactModules.js.map +0 -6
  165. package/dist/utils/uniq.js +0 -7
  166. package/dist/utils/uniq.js.map +0 -6
  167. package/dist/utils/utils.js +0 -35
  168. package/dist/utils/utils.js.map +0 -6
  169. package/dist/vendor/debugger-app/index.js +0 -1
  170. package/dist/vendor/debugger-app/index.js.map +0 -6
  171. package/dist/vendor/debugger-app/src/debuggerWorker.js +0 -1
  172. package/dist/vendor/debugger-app/src/debuggerWorker.js.map +0 -6
  173. package/dist/vendor/debugger-app/src/index.js +0 -1
  174. package/dist/vendor/debugger-app/src/index.js.map +0 -6
  175. package/dist/vxrn-vite-plugin.js +0 -47
  176. package/dist/vxrn-vite-plugin.js.map +0 -6
  177. package/dist/worker.js +0 -49
  178. package/dist/worker.js.map +0 -6
@@ -1,61 +0,0 @@
1
- import path from "node:path";
2
- import { isNativeEnvironment } from "../utils/environmentUtils";
3
- import { getResolvedConfig, setResolvedConfig } from "./getResolvedConfigSubset";
4
- const isObject = (x) => x && typeof x == "object";
5
- function getServerConfigPlugin() {
6
- return {
7
- name: "get-server-config",
8
- configResolved(conf) {
9
- setResolvedConfig({
10
- base: conf.base,
11
- mode: conf.mode,
12
- server: conf.server,
13
- define: conf.define
14
- });
15
- }
16
- };
17
- }
18
- function nativeClientInjectPlugin() {
19
- let injectConfigValues;
20
- return {
21
- name: "vite:native-client-inject",
22
- async buildStart() {
23
- const config = getResolvedConfig(), resolvedServerHostname = config.server.host || "127.0.0.1", resolvedServerPort = config.server.port || 5173, devBase = config.base || "/", serverHost = `${resolvedServerHostname}:${resolvedServerPort}${devBase}`;
24
- let hmrConfig = config.server.hmr;
25
- hmrConfig = isObject(hmrConfig) ? hmrConfig : void 0;
26
- const host = hmrConfig?.host || null, protocol = hmrConfig?.protocol || null, timeout = hmrConfig?.timeout || 3e4, overlay = hmrConfig?.overlay !== !1, isHmrServerSpecified = !!hmrConfig?.server;
27
- let port = hmrConfig?.clientPort || hmrConfig?.port || null;
28
- config.server.middlewareMode && !isHmrServerSpecified && (port ||= 24678);
29
- let directTarget = hmrConfig?.host || resolvedServerHostname;
30
- directTarget += `:${hmrConfig?.port || resolvedServerPort}`, directTarget += devBase;
31
- let hmrBase = devBase;
32
- hmrConfig?.path && (hmrBase = path.posix.join(hmrBase, hmrConfig.path));
33
- const serializedDefines = serializeDefine(config.define || {}), modeReplacement = escapeReplacement(config.mode), baseReplacement = escapeReplacement(devBase), definesReplacement = () => serializedDefines, serverHostReplacement = escapeReplacement(serverHost), hmrProtocolReplacement = escapeReplacement(protocol), hmrHostnameReplacement = escapeReplacement(host), hmrPortReplacement = escapeReplacement(port), hmrDirectTargetReplacement = escapeReplacement(directTarget), hmrBaseReplacement = escapeReplacement(hmrBase), hmrTimeoutReplacement = escapeReplacement(timeout), hmrEnableOverlayReplacement = escapeReplacement(overlay);
34
- injectConfigValues = (code) => code.replace("__MODE__", modeReplacement).replace(/__BASE__/g, baseReplacement).replace("__DEFINES__", definesReplacement).replace("__SERVER_HOST__", serverHostReplacement).replace("__HMR_PROTOCOL__", hmrProtocolReplacement).replace("__HMR_HOSTNAME__", hmrHostnameReplacement).replace("__HMR_PORT__", hmrPortReplacement).replace("__HMR_DIRECT_TARGET__", hmrDirectTargetReplacement).replace("__HMR_BASE__", hmrBaseReplacement).replace("__HMR_TIMEOUT__", hmrTimeoutReplacement).replace("__HMR_ENABLE_OVERLAY__", hmrEnableOverlayReplacement);
35
- },
36
- applyToEnvironment(environment) {
37
- return isNativeEnvironment(environment);
38
- },
39
- transform(code, id) {
40
- if (id.includes("vite-native-client/dist/esm/client."))
41
- return injectConfigValues(code);
42
- }
43
- };
44
- }
45
- function escapeReplacement(value) {
46
- const jsonValue = JSON.stringify(value);
47
- return () => jsonValue;
48
- }
49
- function serializeDefine(define) {
50
- let res = "{";
51
- for (const key in define) {
52
- const val = define[key];
53
- res += `${JSON.stringify(key)}: ${typeof val == "string" ? `(${val})` : JSON.stringify(val)}, `;
54
- }
55
- return res + "}";
56
- }
57
- export {
58
- getServerConfigPlugin,
59
- nativeClientInjectPlugin
60
- };
61
- //# sourceMappingURL=clientInjectPlugin.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/plugins/clientInjectPlugin.ts"],
4
- "mappings": "AAAA,OAAO,UAAU;AAGjB,SAAS,2BAA2B;AACpC,SAAS,mBAAmB,yBAAyB;AAIrD,MAAM,WAAW,CAAC,MAAwB,KAAK,OAAO,KAAM;AAErD,SAAS,wBAAwB;AACtC,SAAO;AAAA,IACL,MAAM;AAAA,IAEN,eAAe,MAAM;AACnB,wBAAkB;AAAA,QAChB,MAAM,KAAK;AAAA,QACX,MAAM,KAAK;AAAA,QACX,QAAQ,KAAK;AAAA,QACb,QAAQ,KAAK;AAAA,MACf,CAAC;AAAA,IACH;AAAA,EACF;AACF;AAMO,SAAS,2BAAmC;AACjD,MAAI;AAEJ,SAAO;AAAA,IACL,MAAM;AAAA,IAEN,MAAM,aAAa;AACjB,YAAM,SAAS,kBAAkB,GAE3B,yBAAyB,OAAO,OAAO,QAAQ,aAC/C,qBAAqB,OAAO,OAAQ,QAAS,MAC7C,UAAU,OAAO,QAAQ,KAEzB,aAAa,GAAG,sBAAsB,IAAI,kBAAkB,GAAG,OAAO;AAE5E,UAAI,YAAY,OAAO,OAAQ;AAC/B,kBAAY,SAAS,SAAS,IAAK,YAA2B;AAE9D,YAAM,OAAO,WAAW,QAAQ,MAC1B,WAAW,WAAW,YAAY,MAClC,UAAU,WAAW,WAAW,KAChC,UAAU,WAAW,YAAY,IACjC,uBAAuB,CAAC,CAAC,WAAW;AAI1C,UAAI,OAAO,WAAW,cAAc,WAAW,QAAQ;AACvD,MAAI,OAAO,OAAO,kBAAkB,CAAC,yBACnC,SAAS;AAGX,UAAI,eAAe,WAAW,QAAQ;AACtC,sBAAgB,IAAI,WAAW,QAAQ,kBAAkB,IACzD,gBAAgB;AAEhB,UAAI,UAAU;AACd,MAAI,WAAW,SACb,UAAU,KAAK,MAAM,KAAK,SAAS,UAAU,IAAI;AAGnD,YAAM,oBAAoB,gBAAgB,OAAO,UAAU,CAAC,CAAC,GAEvD,kBAAkB,kBAAkB,OAAO,IAAK,GAChD,kBAAkB,kBAAkB,OAAO,GAC3C,qBAAqB,MAAM,mBAC3B,wBAAwB,kBAAkB,UAAU,GACpD,yBAAyB,kBAAkB,QAAQ,GACnD,yBAAyB,kBAAkB,IAAI,GAC/C,qBAAqB,kBAAkB,IAAI,GAC3C,6BAA6B,kBAAkB,YAAY,GAC3D,qBAAqB,kBAAkB,OAAO,GAC9C,wBAAwB,kBAAkB,OAAO,GACjD,8BAA8B,kBAAkB,OAAO;AAE7D,2BAAqB,CAAC,SACb,KACJ,QAAQ,YAAY,eAAe,EACnC,QAAQ,aAAa,eAAe,EACpC,QAAQ,eAAe,kBAAkB,EACzC,QAAQ,mBAAmB,qBAAqB,EAChD,QAAQ,oBAAoB,sBAAsB,EAClD,QAAQ,oBAAoB,sBAAsB,EAClD,QAAQ,gBAAgB,kBAAkB,EAC1C,QAAQ,yBAAyB,0BAA0B,EAC3D,QAAQ,gBAAgB,kBAAkB,EAC1C,QAAQ,mBAAmB,qBAAqB,EAChD,QAAQ,0BAA0B,2BAA2B;AAAA,IAEpE;AAAA,IAEA,mBAAmB,aAAa;AAC9B,aAAO,oBAAoB,WAAW;AAAA,IACxC;AAAA,IAEA,UAAU,MAAM,IAAI;AAClB,UAAI,GAAG,SAAS,qCAAqC;AACnD,eAAO,mBAAmB,IAAI;AAAA,IAElC;AAAA,EACF;AACF;AAEA,SAAS,kBAAkB,OAAyC;AAClE,QAAM,YAAY,KAAK,UAAU,KAAK;AACtC,SAAO,MAAM;AACf;AAEA,SAAS,gBAAgB,QAAqC;AAC5D,MAAI,MAAM;AACV,aAAW,OAAO,QAAQ;AACxB,UAAM,MAAM,OAAO,GAAG;AACtB,WAAO,GAAG,KAAK,UAAU,GAAG,CAAC,KAAK,OAAO,OAAQ,WAAW,IAAI,GAAG,MAAM,KAAK,UAAU,GAAG,CAAC;AAAA,EAC9F;AACA,SAAO,MAAM;AACf;",
5
- "names": []
6
- }
@@ -1,29 +0,0 @@
1
- import { getOptimizeDeps } from "../config/getOptimizeDeps";
2
- import { deepMergeOptimizeDeps } from "../config/mergeUserConfig";
3
- const pluginName = "vxrn:default-dep-optimize";
4
- function defaultDepOptimizePlugin() {
5
- return {
6
- name: pluginName,
7
- enforce: "pre",
8
- config(config, env) {
9
- if (env.command !== "build" && env.command !== "serve")
10
- throw new Error(
11
- `[${pluginName}]: Unknown env.command "${env.command}". This plugin should only be used in "build" or "serve" modes.`
12
- );
13
- const { optimizeDeps } = getOptimizeDeps(env.command);
14
- return config.ssr || (config.ssr = {}), deepMergeOptimizeDeps(config.ssr, {}, optimizeDeps), {
15
- environments: {
16
- ssr: {
17
- optimizeDeps: {
18
- rolldownOptions: optimizeDeps.rolldownOptions
19
- }
20
- }
21
- }
22
- };
23
- }
24
- };
25
- }
26
- export {
27
- defaultDepOptimizePlugin
28
- };
29
- //# sourceMappingURL=defaultDepOptimizePlugin.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/plugins/defaultDepOptimizePlugin.ts"],
4
- "mappings": "AAEA,SAAS,uBAAuB;AAChC,SAAS,6BAA6B;AAEtC,MAAM,aAAa;AAUZ,SAAS,2BAAmC;AACjD,SAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,IACT,OAAO,QAAQ,KAAK;AAClB,UAAI,IAAI,YAAY,WAAW,IAAI,YAAY;AAC7C,cAAM,IAAI;AAAA,UACR,IAAI,UAAU,2BAA2B,IAAI,OAAO;AAAA,QACtD;AAGF,YAAM,EAAE,aAAa,IAAI,gBAAgB,IAAI,OAAO;AAUpD,aAAK,OAAO,QAAK,OAAO,MAAM,CAAC,IAE/B,sBAAsB,OAAO,KAAK,CAAC,GAAG,YAAY,GAK3C;AAAA,QACL,cAAc;AAAA,UACZ,KAAK;AAAA,YACH,cAAc;AAAA,cACZ,iBAAiB,aAAa;AAAA,YAChC;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;",
5
- "names": []
6
- }
@@ -1,140 +0,0 @@
1
- import { join } from "node:path";
2
- import module from "node:module";
3
- import { TLSSocket } from "node:tls";
4
- import colors from "picocolors";
5
- function expoManifestRequestHandlerPlugin(options) {
6
- return {
7
- name: "vxrn:expo-manifest-request-handler",
8
- configureServer(server) {
9
- const projectRoot = server.config.root, port = server.config.server.port, { logger } = server.config, defaultLogOptions = { timestamp: !0 };
10
- server.middlewares.use(async (req, res, next) => {
11
- if (!req.headers["expo-platform"])
12
- return next();
13
- const protocol = req.socket instanceof TLSSocket && req.socket.encrypted ? "https" : "http", host = `${req.headers["x-forwarded-host"] || req.headers.host || "127.0.0.1"}`;
14
- let ExpoGoManifestHandlerMiddleware, expoGoManifestHandlerMiddlewareImportError;
15
- try {
16
- ExpoGoManifestHandlerMiddleware = (await import(module.createRequire(projectRoot).resolve(
17
- "@expo/cli/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js",
18
- { paths: [projectRoot] }
19
- ))).default.ExpoGoManifestHandlerMiddleware;
20
- } catch (e) {
21
- expoGoManifestHandlerMiddlewareImportError = e;
22
- }
23
- if (!ExpoGoManifestHandlerMiddleware) {
24
- expoGoManifestHandlerMiddlewareImportError instanceof Error && expoGoManifestHandlerMiddlewareImportError.code === "MODULE_NOT_FOUND" ? logger.warn(
25
- colors.yellow(
26
- `Failed to locate Expo SDK in your project: ${expoGoManifestHandlerMiddlewareImportError}`
27
- ),
28
- defaultLogOptions
29
- ) : logger.warn(
30
- colors.yellow(
31
- `Failed to import Expo SDK from your project: ${expoGoManifestHandlerMiddlewareImportError}`
32
- ),
33
- defaultLogOptions
34
- ), logger.warn(
35
- "Ignoring the error and responding with preset manifest, this may not work with Expo Go or your development build.",
36
- defaultLogOptions
37
- ), logger.warn(
38
- colors.yellow(
39
- `Is this a Expo project, or are you using a supported version of Expo SDK? (${projectRoot})`
40
- ),
41
- defaultLogOptions
42
- );
43
- const json = getIndexJsonResponse({ projectRoot, port });
44
- res.setHeader("content-type", "application/json"), res.write(JSON.stringify(json)), res.end();
45
- return;
46
- }
47
- const manifestHandlerMiddleware = new ExpoGoManifestHandlerMiddleware(
48
- projectRoot,
49
- {
50
- constructUrl: () => `${protocol}://${host}`
51
- }
52
- ), origGetBundleUrl = manifestHandlerMiddleware._getBundleUrl.bind(
53
- manifestHandlerMiddleware
54
- );
55
- manifestHandlerMiddleware._getBundleUrl = (...args) => {
56
- const origBundleUrl = origGetBundleUrl(...args);
57
- let url = new URL(origBundleUrl);
58
- return host && (url.host = host), url.protocol = protocol, url.pathname = "/index.bundle", url.toString();
59
- }, manifestHandlerMiddleware._origGetManifestResponseAsync = manifestHandlerMiddleware._getManifestResponseAsync, manifestHandlerMiddleware._getManifestResponseAsync = async (...args) => {
60
- try {
61
- const results = await manifestHandlerMiddleware._origGetManifestResponseAsync(
62
- ...args
63
- ), [, beforeBodyJson, bodyJson, afterBodyJson] = results.body.match(/([^{]*)({.*})([^}]*)/) || [];
64
- if (!bodyJson)
65
- throw new Error(`Unrecognized manifest response from expo: ${results.body}`);
66
- const parsedBody = JSON.parse(bodyJson);
67
- return parsedBody.extra || (parsedBody.extra = {}), parsedBody.extra.expoClient || (parsedBody.extra.expoClient = {}), typeof parsedBody.extra.expoClient.hostUri == "string" && (parsedBody.extra.expoClient.hostUri = parsedBody.extra.expoClient.hostUri.replace(/^https?:\/\//, "")), typeof parsedBody.extra.expoGo.debuggerHost == "string" && (parsedBody.extra.expoGo.debuggerHost = parsedBody.extra.expoGo.debuggerHost.replace(/^https?:\/\//, "")), parsedBody.extra.expoClient.iconUrl = "https://github.com/user-attachments/assets/6894506b-df81-417c-a4cd-9c125c7ba37f", parsedBody.extra.expoClient.splash = {
68
- image: "__vxrn_unstable_internal/icon.png",
69
- resizeMode: "contain",
70
- backgroundColor: "#000000",
71
- imageUrl: "https://github.com/user-attachments/assets/e816c207-e7d2-4c2e-8aa5-0d4cbaa622bf"
72
- // TODO: Host this image somewhere.
73
- }, results.body = beforeBodyJson + JSON.stringify(parsedBody) + afterBodyJson, results;
74
- } catch (e) {
75
- throw e instanceof Error ? (e.message = `[vxrn:expo-manifest-request-handler] Failed to parse the Expo manifest response from expo: ${e.message}`, e) : new Error(
76
- `[vxrn:expo-manifest-request-handler] Failed to parse the Expo manifest response from expo: ${e}`
77
- );
78
- }
79
- }, manifestHandlerMiddleware.handleRequestAsync(req, res, next);
80
- });
81
- }
82
- };
83
- }
84
- function getIndexJsonResponse({
85
- port,
86
- projectRoot
87
- }) {
88
- return {
89
- name: "myapp",
90
- slug: "myapp",
91
- scheme: "myapp",
92
- version: "1.0.0",
93
- jsEngine: "jsc",
94
- orientation: "portrait",
95
- icon: "./assets/icon.png",
96
- userInterfaceStyle: "light",
97
- splash: {
98
- image: "./assets/splash.png",
99
- resizeMode: "contain",
100
- backgroundColor: "#ffffff",
101
- imageUrl: "http://127.0.0.1:8081/assets/./assets/splash.png"
102
- },
103
- updates: { fallbackToCacheTimeout: 0 },
104
- assetBundlePatterns: ["**/*"],
105
- ios: { supportsTablet: !0, bundleIdentifier: "com.natew.myapp" },
106
- android: {
107
- package: "com.tamagui.myapp",
108
- adaptiveIcon: {
109
- foregroundImage: "./assets/adaptive-icon.png",
110
- backgroundColor: "#FFFFFF",
111
- foregroundImageUrl: "http://127.0.0.1:8081/assets/./assets/adaptive-icon.png"
112
- }
113
- },
114
- web: { favicon: "./assets/favicon.png" },
115
- extra: { eas: { projectId: "061b4470-78c7-4d6a-b850-8167fb0a3434" } },
116
- _internal: {
117
- isDebug: !1,
118
- projectRoot,
119
- dynamicConfigPath: null,
120
- staticConfigPath: join(projectRoot, "app.json"),
121
- packageJsonPath: join(projectRoot, "package.json")
122
- },
123
- sdkVersion: "50.0.0",
124
- platforms: ["ios", "android", "web"],
125
- iconUrl: `http://127.0.0.1:${port}/assets/./assets/icon.png`,
126
- debuggerHost: `127.0.0.1:${port}`,
127
- logUrl: `http://127.0.0.1:${port}/logs`,
128
- developer: { tool: "expo-cli", projectRoot },
129
- packagerOpts: { dev: !0 },
130
- mainModuleName: "index",
131
- __flipperHack: "React Native packager is running",
132
- hostUri: `127.0.0.1:${port}`,
133
- bundleUrl: `http://127.0.0.1:${port}/index.bundle?platform=ios&dev=true&hot=false&lazy=true`,
134
- id: "@anonymous/myapp-473c4543-3c36-4786-9db1-c66a62ac9b78"
135
- };
136
- }
137
- export {
138
- expoManifestRequestHandlerPlugin
139
- };
140
- //# sourceMappingURL=expoManifestRequestHandlerPlugin.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/plugins/expoManifestRequestHandlerPlugin.ts"],
4
- "mappings": "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",
5
- "names": []
6
- }
@@ -1,14 +0,0 @@
1
- let config;
2
- function setResolvedConfig(_) {
3
- config = JSON.parse(JSON.stringify(_));
4
- }
5
- function getResolvedConfig() {
6
- if (!config)
7
- throw new Error("Must call setConfig first");
8
- return config;
9
- }
10
- export {
11
- getResolvedConfig,
12
- setResolvedConfig
13
- };
14
- //# sourceMappingURL=getResolvedConfigSubset.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/plugins/getResolvedConfigSubset.ts"],
4
- "mappings": "AAQA,IAAI;AAEG,SAAS,kBAAkB,GAAiB;AACjD,WAAS,KAAK,MAAM,KAAK,UAAU,CAAC,CAAC;AACvC;AAEO,SAAS,oBAAoB;AAClC,MAAI,CAAC;AACH,UAAM,IAAI,MAAM,2BAA2B;AAE7C,SAAO;AACT;",
5
- "names": []
6
- }
@@ -1,227 +0,0 @@
1
- import { parse } from "es-module-lexer";
2
- import { mergeConfig } from "vite";
3
- import { isNativeEnvironment } from "../utils/environmentUtils";
4
- const getNativeExtensions = (platform) => [
5
- `.${platform}.tsx`,
6
- `.${platform}.ts`,
7
- `.${platform}.jsx`,
8
- `.${platform}.js`,
9
- ".native.js",
10
- ".native.ts",
11
- ".native.tsx",
12
- ".tsx",
13
- ".ts",
14
- ".js",
15
- ".jsx",
16
- ".json"
17
- ], conditions = ["react-native", "import", "require"], mainFields = ["react-native", "module", "jsnext:main", "jsnext"];
18
- function reactNativeCommonJsPlugin(options) {
19
- return {
20
- name: "native",
21
- enforce: "pre",
22
- config: async () => {
23
- const sharedNativeConfig = {
24
- // Subfolder bases are not supported, and shouldn't be needed because we're embedding everything
25
- base: void 0,
26
- define: {
27
- "process.env.REACT_NATIVE_SERVER_PUBLIC_PORT": JSON.stringify(
28
- `${options.port}`
29
- )
30
- },
31
- build: {
32
- modulePreload: {
33
- polyfill: !1
34
- },
35
- // Ensures that even very large assets are inlined in your JavaScript.
36
- assetsInlineLimit: 1e8,
37
- // Avoid warnings about large chunks
38
- chunkSizeWarningLimit: 1e8,
39
- // Emit all CSS as a single file, which `vite-plugin-singlefile` can then inline
40
- cssCodeSplit: !1,
41
- // Avoids the extra step of testing Brotli compression, which isn't really pertinent to a file served locally
42
- reportCompressedSize: !1,
43
- rolldownOptions: {
44
- treeshake: !1,
45
- output: {
46
- preserveModules: !0,
47
- manualChunks: void 0,
48
- // Ensure that as many resources as possible are inlined.
49
- // inlineDynamicImports: true,
50
- // this fixes some warnings but breaks import { default as config }
51
- exports: "named",
52
- // ensures we have clean names for our require paths
53
- entryFileNames: () => "[name].js"
54
- },
55
- plugins: [
56
- {
57
- name: "force-export-all",
58
- async transform(code, id) {
59
- if (isNativeEnvironment(this.environment) && !id.includes("?commonjs"))
60
- try {
61
- const [foundImports, foundExports] = parse(code), idToModule = {};
62
- for (const imp of foundImports)
63
- if (imp.n) {
64
- const line = code.slice(imp.ss, imp.se), imports = getAllImportedIdentifiers(line);
65
- for (const id2 of imports)
66
- idToModule[id2] = imp.n;
67
- }
68
- const toReExport = {};
69
- for (const exp of foundExports) {
70
- const expName = exp.ln || exp.n;
71
- if (RESERVED_WORDS.has(expName))
72
- continue;
73
- const moduleName = idToModule[expName];
74
- moduleName && (toReExport[moduleName] ||= [], toReExport[moduleName].push(expName));
75
- }
76
- let forceExports = "", found = 0;
77
- for (const line of code.split(`
78
- `))
79
- if (line.startsWith("export * from")) {
80
- const [_, exportedName] = line.match(/export \* from ['"]([^'"]+)['"]/) || [];
81
- if (exportedName) {
82
- found++;
83
- const name = `__vxrnExp${found}`;
84
- forceExports += `
85
- import * as ${name} from '${exportedName}';
86
- globalThis.__forceExport${name} = ${name}
87
- Object.assign(exports, globalThis.__forceExport${name});
88
- `;
89
- continue;
90
- }
91
- }
92
- return forceExports += Object.keys(toReExport).map((path) => {
93
- const exportedNames = toReExport[path];
94
- found++;
95
- const name = `__vxrnExp${found}`;
96
- return `
97
- import * as ${name} from '${path}';
98
- globalThis.__forceExport${name} = [${exportedNames.map((n) => n === "default" ? name : `${name}.${n}`).join(",")}]
99
- `;
100
- }).join(";"), {
101
- code: code + `
102
- ` + forceExports,
103
- moduleSideEffects: "no-treeshake"
104
- };
105
- } catch {
106
- console.warn("Error forcing exports, probably ok", id);
107
- }
108
- }
109
- }
110
- ]
111
- }
112
- },
113
- optimizeDeps: {
114
- noDiscovery: !0,
115
- include: void 0,
116
- rolldownOptions: {
117
- moduleTypes: {
118
- ".js": "jsx"
119
- }
120
- }
121
- }
122
- };
123
- return {
124
- environments: {
125
- ios: mergeConfig(sharedNativeConfig, {
126
- define: {
127
- "process.env.REACT_NATIVE_PLATFORM": JSON.stringify("ios")
128
- },
129
- resolve: {
130
- extensions: getNativeExtensions("ios"),
131
- conditions,
132
- mainFields
133
- },
134
- optimizeDeps: {
135
- rolldownOptions: {
136
- resolve: {
137
- extensions: getNativeExtensions("ios")
138
- },
139
- plugins: [
140
- {
141
- name: "react-native-assets",
142
- resolveId(source) {
143
- if (/\.(png|jpg|gif|webp)$/.test(source))
144
- return { id: "", external: !0 };
145
- }
146
- }
147
- ]
148
- }
149
- }
150
- }),
151
- android: mergeConfig(sharedNativeConfig, {
152
- define: {
153
- "process.env.REACT_NATIVE_PLATFORM": JSON.stringify("android")
154
- },
155
- resolve: {
156
- extensions: getNativeExtensions("android"),
157
- conditions,
158
- mainFields
159
- },
160
- optimizeDeps: {
161
- rolldownOptions: {
162
- resolve: {
163
- extensions: getNativeExtensions("android")
164
- }
165
- }
166
- }
167
- })
168
- }
169
- };
170
- }
171
- };
172
- }
173
- function getAllImportedIdentifiers(importStatement) {
174
- const importRegex = /{([^}]+)}/, match = importStatement.match(importRegex);
175
- return match ? match[1].split(",").map((name) => {
176
- const parts = name.split(/\s+as\s+/);
177
- return parts[parts.length - 1].trim();
178
- }).filter(Boolean) : [];
179
- }
180
- const RESERVED_WORDS = /* @__PURE__ */ new Set([
181
- "toString",
182
- "break",
183
- "case",
184
- "catch",
185
- "class",
186
- "const",
187
- "continue",
188
- "debugger",
189
- "default",
190
- "delete",
191
- "do",
192
- "else",
193
- "export",
194
- "extends",
195
- "false",
196
- "finally",
197
- "for",
198
- "function",
199
- "if",
200
- "import",
201
- "in",
202
- "instanceof",
203
- "new",
204
- "null",
205
- "return",
206
- "super",
207
- "switch",
208
- "this",
209
- "throw",
210
- "true",
211
- "try",
212
- "typeof",
213
- "var",
214
- "void",
215
- "while",
216
- "with",
217
- "let",
218
- "static",
219
- "yield",
220
- "enum"
221
- ]);
222
- export {
223
- conditions,
224
- mainFields,
225
- reactNativeCommonJsPlugin
226
- };
227
- //# sourceMappingURL=reactNativeCommonJsPlugin.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/plugins/reactNativeCommonJsPlugin.ts"],
4
- "mappings": "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",
5
- "names": ["id"]
6
- }
@@ -1,103 +0,0 @@
1
- import path from "node:path";
2
- import FSExtra from "fs-extra";
3
- import colors from "picocolors";
4
- import { isNativeEnvironment } from "../utils/environmentUtils";
5
- const IMAGE_ASSET_EXTS = [
6
- "png",
7
- "jpg",
8
- "jpeg",
9
- "bmp",
10
- "gif",
11
- "webp",
12
- "psd",
13
- "svg",
14
- "tiff",
15
- "ktx"
16
- ], IMAGE_ASSET_EXTS_SET = new Set(IMAGE_ASSET_EXTS), ASSET_DEST_DIR = "assets", DEV_ASSET_DEST_PATH = "__vxrn_dev_native_assets";
17
- function reactNativeDevAssetPlugin(options) {
18
- const { assetExts } = options, assetExtsRegExp = new RegExp(`\\.(${assetExts.join("|")})$`), isAssetFile = (id) => assetExtsRegExp.test(id);
19
- let config;
20
- async function getAssetData(id) {
21
- const projectRoot = config.root, relativeAssetPath = path.relative(projectRoot, id);
22
- let assetUrlPath = relativeAssetPath;
23
- path.sep === "\\" && (assetUrlPath = assetUrlPath.replaceAll("\\", "/"));
24
- const relativeAssetDir = path.dirname(relativeAssetPath), assetBasename = path.basename(relativeAssetPath), assetExt = path.extname(assetBasename).slice(1), assetName = assetBasename.slice(
25
- 0,
26
- -(assetExt.length + 1)
27
- );
28
- return {
29
- __packager_asset: !0,
30
- fileSystemLocation: path.dirname(id),
31
- relativeFileSystemLocation: relativeAssetDir,
32
- httpServerLocation: `/${options.mode === "dev" ? DEV_ASSET_DEST_PATH : ASSET_DEST_DIR}/${assetUrlPath.slice(
33
- 0,
34
- -(assetBasename.length + 1)
35
- /* removing the `/filename.ext` at the end */
36
- )}`,
37
- scales: [1],
38
- // TODO
39
- name: assetName,
40
- type: assetExt
41
- };
42
- }
43
- return {
44
- name: "vxrn:react-native-dev-asset",
45
- enforce: "pre",
46
- configResolved(resolvedConfig) {
47
- config = resolvedConfig;
48
- },
49
- // resolveId(source, importer, options) {
50
- // if (!isNativeEnvironment(this.environment)) return
51
- // if (!isAssetFile(source)) return
52
- // // TODO: May need to handle platform specific extensions here.
53
- // },
54
- async load(id, _options) {
55
- if (!isNativeEnvironment(this.environment) || !isAssetFile(id)) return;
56
- const assetData = await getAssetData(id);
57
- if (options.mode === "prod" && options.assetsDest) {
58
- const assetsDestDir = path.join(
59
- options.assetsDest,
60
- ASSET_DEST_DIR,
61
- assetData.relativeFileSystemLocation
62
- );
63
- await FSExtra.ensureDir(assetsDestDir), await FSExtra.copyFile(
64
- id,
65
- path.join(assetsDestDir, `${assetData.name}.${assetData.type}`)
66
- );
67
- }
68
- return `
69
- import { AssetRegistry } from 'react-native';
70
-
71
- export const asset = AssetRegistry.registerAsset(${JSON.stringify(assetData, null, 2)});
72
-
73
- export default asset;
74
- `;
75
- },
76
- /**
77
- * Extend the dev server to serve assets during development.
78
- */
79
- configureServer(server) {
80
- const { logger } = server.config, defaultLogOptions = { timestamp: !0 };
81
- server.middlewares.use(async (req, res, next) => {
82
- if (!req.url?.startsWith(`/${DEV_ASSET_DEST_PATH}/`))
83
- return next();
84
- const assetPath = "./" + new URL("http://example.com" + req.url).pathname.slice(`/${DEV_ASSET_DEST_PATH}/`.length).replace(/\.*$/, "");
85
- try {
86
- const asset = await FSExtra.readFile(assetPath);
87
- res.setHeader("content-type", "image/png"), res.write(asset), res.end();
88
- } catch (e) {
89
- logger.error(
90
- colors.red(
91
- `[vxrn] Failed to serve asset: ${assetPath}: ${e instanceof Error ? e.message : "unknown error"}`
92
- ),
93
- defaultLogOptions
94
- ), res.statusCode = e instanceof Error && e.code === "ENOENT" ? 404 : 500, res.end();
95
- }
96
- });
97
- }
98
- };
99
- }
100
- export {
101
- reactNativeDevAssetPlugin
102
- };
103
- //# sourceMappingURL=reactNativeDevAssetPlugin.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/plugins/reactNativeDevAssetPlugin.ts"],
4
- "mappings": "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",
5
- "names": []
6
- }