vxrn 1.2.57 → 1.2.58

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 (141) hide show
  1. package/dist/plugins/autoPreBundleDepsForSsrPlugin.js +54 -0
  2. package/dist/plugins/autoPreBundleDepsForSsrPlugin.js.map +6 -0
  3. package/dist/plugins/autoPreBundleDepsForSsrPlugin.mjs +49 -0
  4. package/dist/plugins/autoPreBundleDepsForSsrPlugin.mjs.map +1 -0
  5. package/dist/plugins/autoPreBundleDepsForSsrPlugin.native.js +45 -0
  6. package/dist/plugins/autoPreBundleDepsForSsrPlugin.native.js.map +6 -0
  7. package/dist/plugins/babelReanimated.js +53 -0
  8. package/dist/plugins/babelReanimated.js.map +6 -0
  9. package/dist/plugins/babelReanimated.mjs +28 -0
  10. package/dist/plugins/babelReanimated.mjs.map +1 -0
  11. package/dist/plugins/babelReanimated.native.js +53 -0
  12. package/dist/plugins/babelReanimated.native.js.map +6 -0
  13. package/dist/serve/vercel.js +16 -0
  14. package/dist/serve/vercel.js.map +6 -0
  15. package/dist/serve/vercel.mjs +14 -0
  16. package/dist/serve/vercel.mjs.map +1 -0
  17. package/dist/serve/vercel.native.js +16 -0
  18. package/dist/serve/vercel.native.js.map +6 -0
  19. package/dist/utils/depPatches.js +266 -0
  20. package/dist/utils/depPatches.js.map +6 -0
  21. package/dist/utils/depPatches.mjs +219 -0
  22. package/dist/utils/depPatches.mjs.map +1 -0
  23. package/dist/utils/depPatches.native.js +264 -0
  24. package/dist/utils/depPatches.native.js.map +6 -0
  25. package/dist/utils/fork/vite/build.js +285 -0
  26. package/dist/utils/fork/vite/build.js.map +6 -0
  27. package/dist/utils/fork/vite/build.mjs +257 -0
  28. package/dist/utils/fork/vite/build.mjs.map +1 -0
  29. package/dist/utils/fork/vite/build.native.js +339 -0
  30. package/dist/utils/fork/vite/build.native.js.map +6 -0
  31. package/dist/utils/fork/vite/constants.js +31 -0
  32. package/dist/utils/fork/vite/constants.js.map +6 -0
  33. package/dist/utils/fork/vite/constants.mjs +3 -0
  34. package/dist/utils/fork/vite/constants.mjs.map +1 -0
  35. package/dist/utils/fork/vite/constants.native.js +31 -0
  36. package/dist/utils/fork/vite/constants.native.js.map +6 -0
  37. package/dist/utils/fork/vite/plugins.js +7 -0
  38. package/dist/utils/fork/vite/plugins.js.map +6 -0
  39. package/dist/utils/fork/vite/plugins.mjs +5 -0
  40. package/dist/utils/fork/vite/plugins.mjs.map +1 -0
  41. package/dist/utils/fork/vite/plugins.native.js +7 -0
  42. package/dist/utils/fork/vite/plugins.native.js.map +6 -0
  43. package/dist/utils/fork/vite/typeUtils.js +1 -0
  44. package/dist/utils/fork/vite/typeUtils.js.map +6 -0
  45. package/dist/utils/fork/vite/typeUtils.mjs +2 -0
  46. package/dist/utils/fork/vite/typeUtils.mjs.map +1 -0
  47. package/dist/utils/fork/vite/typeUtils.native.js +1 -0
  48. package/dist/utils/fork/vite/typeUtils.native.js.map +6 -0
  49. package/dist/utils/fork/vite/utils.js +12 -0
  50. package/dist/utils/fork/vite/utils.js.map +6 -0
  51. package/dist/utils/fork/vite/utils.mjs +9 -0
  52. package/dist/utils/fork/vite/utils.mjs.map +1 -0
  53. package/dist/utils/fork/vite/utils.native.js +12 -0
  54. package/dist/utils/fork/vite/utils.native.js.map +6 -0
  55. package/dist/utils/getBaseViteConfig.js +88 -0
  56. package/dist/utils/getBaseViteConfig.js.map +6 -0
  57. package/dist/utils/getBaseViteConfig.mjs +67 -0
  58. package/dist/utils/getBaseViteConfig.mjs.map +1 -0
  59. package/dist/utils/getBaseViteConfig.native.js +92 -0
  60. package/dist/utils/getBaseViteConfig.native.js.map +6 -0
  61. package/dist/utils/getOptimizeDeps.js +164 -0
  62. package/dist/utils/getOptimizeDeps.js.map +6 -0
  63. package/dist/utils/getOptimizeDeps.mjs +24 -0
  64. package/dist/utils/getOptimizeDeps.mjs.map +1 -0
  65. package/dist/utils/getOptimizeDeps.native.js +169 -0
  66. package/dist/utils/getOptimizeDeps.native.js.map +6 -0
  67. package/dist/utils/getOptionsFilled.js +64 -0
  68. package/dist/utils/getOptionsFilled.js.map +6 -0
  69. package/dist/utils/getOptionsFilled.mjs +75 -0
  70. package/dist/utils/getOptionsFilled.mjs.map +1 -0
  71. package/dist/utils/getOptionsFilled.native.js +74 -0
  72. package/dist/utils/getOptionsFilled.native.js.map +6 -0
  73. package/dist/utils/getReactNativeConfig.js +191 -0
  74. package/dist/utils/getReactNativeConfig.js.map +6 -0
  75. package/dist/utils/getReactNativeConfig.mjs +177 -0
  76. package/dist/utils/getReactNativeConfig.mjs.map +1 -0
  77. package/dist/utils/getReactNativeConfig.native.js +209 -0
  78. package/dist/utils/getReactNativeConfig.native.js.map +6 -0
  79. package/dist/utils/getViteServerConfig.js +106 -0
  80. package/dist/utils/getViteServerConfig.js.map +6 -0
  81. package/dist/utils/getViteServerConfig.mjs +101 -0
  82. package/dist/utils/getViteServerConfig.mjs.map +1 -0
  83. package/dist/utils/getViteServerConfig.native.js +105 -0
  84. package/dist/utils/getViteServerConfig.native.js.map +6 -0
  85. package/dist/utils/mergeUserConfig.js +46 -0
  86. package/dist/utils/mergeUserConfig.js.map +6 -0
  87. package/dist/utils/mergeUserConfig.mjs +21 -0
  88. package/dist/utils/mergeUserConfig.mjs.map +1 -0
  89. package/dist/utils/mergeUserConfig.native.js +48 -0
  90. package/dist/utils/mergeUserConfig.native.js.map +6 -0
  91. package/dist/utils/prependMiddleware.js +7 -0
  92. package/dist/utils/prependMiddleware.js.map +6 -0
  93. package/dist/utils/prependMiddleware.mjs +5 -0
  94. package/dist/utils/prependMiddleware.mjs.map +1 -0
  95. package/dist/utils/prependMiddleware.native.js +7 -0
  96. package/dist/utils/prependMiddleware.native.js.map +6 -0
  97. package/dist/utils/readVXRNConfig.js +32 -0
  98. package/dist/utils/readVXRNConfig.js.map +6 -0
  99. package/dist/utils/readVXRNConfig.mjs +29 -0
  100. package/dist/utils/readVXRNConfig.mjs.map +1 -0
  101. package/dist/utils/readVXRNConfig.native.js +34 -0
  102. package/dist/utils/readVXRNConfig.native.js.map +6 -0
  103. package/dist/utils/scanDepsToPreBundleForSsr.js +94 -0
  104. package/dist/utils/scanDepsToPreBundleForSsr.js.map +6 -0
  105. package/dist/utils/scanDepsToPreBundleForSsr.mjs +65 -0
  106. package/dist/utils/scanDepsToPreBundleForSsr.mjs.map +1 -0
  107. package/dist/utils/scanDepsToPreBundleForSsr.native.js +99 -0
  108. package/dist/utils/scanDepsToPreBundleForSsr.native.js.map +6 -0
  109. package/package.json +12 -12
  110. package/types/plugins/autoPreBundleDepsForSsrPlugin.d.ts.map +1 -0
  111. package/types/plugins/babelReanimated.d.ts.map +1 -0
  112. package/types/serve/vercel.d.ts.map +1 -0
  113. package/types/utils/depPatches.d.ts.map +1 -0
  114. package/types/utils/fork/vite/build.d.ts.map +1 -0
  115. package/types/utils/fork/vite/constants.d.ts.map +1 -0
  116. package/types/utils/fork/vite/plugins.d.ts.map +1 -0
  117. package/types/utils/fork/vite/typeUtils.d.ts.map +1 -0
  118. package/types/utils/fork/vite/utils.d.ts.map +1 -0
  119. package/types/utils/getBaseViteConfig.d.ts.map +1 -0
  120. package/types/utils/getOptimizeDeps.d.ts.map +1 -0
  121. package/types/utils/getOptionsFilled.d.ts.map +1 -0
  122. package/types/utils/getReactNativeConfig.d.ts.map +1 -0
  123. package/types/utils/getViteServerConfig.d.ts.map +1 -0
  124. package/types/utils/mergeUserConfig.d.ts.map +1 -0
  125. package/types/utils/prependMiddleware.d.ts.map +1 -0
  126. package/types/utils/readVXRNConfig.d.ts.map +1 -0
  127. package/types/utils/scanDepsToPreBundleForSsr.d.ts.map +1 -0
  128. package/dist/stubs/config-default-stub.js +0 -7
  129. package/dist/stubs/config-default-stub.js.map +0 -6
  130. package/dist/stubs/config-default-stub.mjs +0 -4
  131. package/dist/stubs/config-default-stub.mjs.map +0 -1
  132. package/dist/stubs/config-default-stub.native.js +0 -6
  133. package/dist/stubs/config-default-stub.native.js.map +0 -1
  134. package/dist/stubs/moti-stub.js +0 -8
  135. package/dist/stubs/moti-stub.js.map +0 -6
  136. package/dist/stubs/moti-stub.mjs +0 -5
  137. package/dist/stubs/moti-stub.mjs.map +0 -1
  138. package/dist/stubs/moti-stub.native.js +0 -9
  139. package/dist/stubs/moti-stub.native.js.map +0 -1
  140. package/types/stubs/config-default-stub.d.ts.map +0 -1
  141. package/types/stubs/moti-stub.d.ts.map +0 -1
@@ -0,0 +1,266 @@
1
+ import { assertString } from "./assert";
2
+ import { bailIfExists } from "./patches";
3
+ const depPatches = [
4
+ {
5
+ module: "h3",
6
+ patchFiles: {
7
+ "dist/index.mjs": (contents) => (assertString(contents), bailIfExists(contents, "/** patch-version-1 **/"), contents.replace(
8
+ `function getProxyRequestHeaders(event) {
9
+ const headers = /* @__PURE__ */ Object.create(null);
10
+ const reqHeaders = getRequestHeaders(event);
11
+ for (const name in reqHeaders) {
12
+ if (!ignoredHeaders.has(name)) {
13
+ headers[name] = reqHeaders[name];
14
+ }
15
+ }
16
+ return headers;
17
+ }`,
18
+ `function getProxyRequestHeaders(event) {
19
+ const headers = /* @__PURE__ */ Object.create(null);
20
+ const reqHeaders = getRequestHeaders(event);
21
+ for (const name in reqHeaders) {
22
+ if (!ignoredHeaders.has(name)) {
23
+ headers[name] = reqHeaders[name];
24
+ }
25
+ }
26
+
27
+ // The expoManifestRequestHandlerPlugin (Vite plugin) needs the original request host so that it can compose URLs that can be accessed by physical devices. This won't be needed once we retire h3 and use the Vite Dev Server directly.
28
+ // This may not work if one installed vxrn from NPM since this patch may not apply.
29
+ const originalHost = reqHeaders.host;
30
+ if (originalHost) {
31
+ headers['X-Forwarded-Host'] = originalHost;
32
+ }
33
+
34
+ return headers;
35
+ }`
36
+ ))
37
+ }
38
+ },
39
+ {
40
+ module: "react",
41
+ patchFiles: {
42
+ version: "18.*",
43
+ "index.vxrn-web.js": "module.exports = require('@vxrn/vendor/react-19');",
44
+ "jsx-dev-runtime.vxrn-web.js": "module.exports = require('@vxrn/vendor/react-jsx-dev-19');",
45
+ "jsx-runtime.vxrn-web.js": "module.exports = require('@vxrn/vendor/react-jsx-19');",
46
+ "package.json": (contents) => {
47
+ assertString(contents), bailIfExists(contents, "index.vxrn-web.js");
48
+ const pkg = JSON.parse(contents);
49
+ if (!pkg.version.startsWith("19.")) {
50
+ if (!pkg.exports["."])
51
+ throw new Error("Expected a version of React that has package.json exports defined");
52
+ return pkg.exports["."] = {
53
+ "react-server": "./react.shared-subset.js",
54
+ "vxrn-web": "./index.vxrn-web.js",
55
+ default: "./index.js"
56
+ }, pkg.exports["./jsx-runtime"] = {
57
+ "vxrn-web": "./jsx-runtime.vxrn-web.js",
58
+ default: "./jsx-runtime.js"
59
+ }, pkg.exports["./jsx-dev-runtime"] = {
60
+ "vxrn-web": "./jsx-dev-runtime.vxrn-web.js",
61
+ default: "./jsx-dev-runtime.js"
62
+ }, JSON.stringify(pkg, null, 2);
63
+ }
64
+ },
65
+ // for prod builds we have to actually change the entries:
66
+ // to avoid terrible metro we have to eval :(
67
+ "index.js": (contents) => (assertString(contents), `
68
+ if (process.env.VXRN_REACT_19) { Object.assign(exports, eval("require('@vxrn/vendor/react-19')")) } else {
69
+ ${contents}
70
+ }`),
71
+ // to avoid terrible metro we have to eval :(
72
+ "jsx-runtime.js": (contents) => (assertString(contents), `
73
+ if (process.env.VXRN_REACT_19) { Object.assign(exports, eval("require('@vxrn/vendor/react-jsx-19')")) } else {
74
+ ${contents}
75
+ }`)
76
+ }
77
+ },
78
+ {
79
+ module: "react-dom",
80
+ patchFiles: {
81
+ version: "18.*",
82
+ // for prod builds we have to actually change the entries:
83
+ "index.js": (contents) => (assertString(contents), `
84
+ if (process.env.VXRN_REACT_19) { Object.assign(exports, eval("require('@vxrn/vendor/react-dom-19')")) } else {
85
+ ${contents}
86
+ }`),
87
+ "client.js": (contents) => (assertString(contents), `
88
+ if (process.env.VXRN_REACT_19) { Object.assign(exports, eval("require('@vxrn/vendor/react-dom-client-19')")) } else {
89
+ ${contents}
90
+ }`),
91
+ "server.browser.js": (contents) => (assertString(contents), `
92
+ if (process.env.VXRN_REACT_19) { Object.assign(exports, require('@vxrn/vendor/react-dom-server.browser-19')) } else {
93
+ ${contents}
94
+ }`),
95
+ "client.vxrn-web.js": "module.exports = require('@vxrn/vendor/react-dom-client-19')",
96
+ "index.vxrn-web.js": "module.exports = require('@vxrn/vendor/react-dom-19')",
97
+ "server.browser.vxrn-web.js": "module.exports = require('@vxrn/vendor/react-dom-server.browser-19')",
98
+ "test-utils.vxrn-web.js": "module.exports = require('@vxrn/vendor/react-dom-test-utils-19')",
99
+ "package.json": (contents) => {
100
+ assertString(contents), bailIfExists(contents, "index.vxrn-web.js");
101
+ const pkg = JSON.parse(contents);
102
+ if (!pkg.version.startsWith("19.")) {
103
+ if (!pkg.exports["."])
104
+ throw new Error("Expected a version of React that has package.json exports defined");
105
+ return pkg.exports["."] = {
106
+ "vxrn-web": "./index.vxrn-web.js",
107
+ default: "./index.js"
108
+ }, pkg.exports["./client"] = {
109
+ "vxrn-web": "./client.vxrn-web.js",
110
+ default: "./client.js"
111
+ }, pkg.exports["./server.browser"] = {
112
+ "vxrn-web": "./server.browser.vxrn-web.js",
113
+ default: "./server.browser.js"
114
+ }, pkg.exports["./test-utils"] = {
115
+ "vxrn-web": "./test-utils.vxrn-web.js",
116
+ default: "./test-utils.js"
117
+ }, JSON.stringify(pkg, null, 2);
118
+ }
119
+ }
120
+ }
121
+ },
122
+ // Older versions of the cli-config package will not look for `.cjs` files when loading the config. This isn't necessary for v14.x (which comes with RN 0.75). See: https://hackmd.io/@z/SJghMPN6C.
123
+ {
124
+ module: "@react-native-community/cli-config",
125
+ patchFiles: {
126
+ version: "^13",
127
+ "build/readConfigFromDisk.js": (contents) => (assertString(contents), contents.replace(
128
+ "['react-native.config.js']",
129
+ "['react-native.config.js', 'react-native.config.cjs']"
130
+ ).replace(
131
+ "searchPlaces,",
132
+ "searchPlaces, loaders: { '.cjs': _cosmiconfig().default.loadJs },"
133
+ ).replace(
134
+ "stopDir: rootFolder,",
135
+ "stopDir: rootFolder, loaders: { '.cjs': _cosmiconfig().default.loadJs },"
136
+ ))
137
+ }
138
+ },
139
+ {
140
+ module: "@react-native-masked-view/masked-view",
141
+ patchFiles: {
142
+ "**/*.js": ["flow", "swc"]
143
+ }
144
+ },
145
+ {
146
+ module: "react-native-webview",
147
+ patchFiles: {
148
+ "**/*.js": ["jsx"]
149
+ }
150
+ },
151
+ {
152
+ module: "rollup",
153
+ patchFiles: {
154
+ "dist/es/shared/node-entry.js": (contents) => (assertString(contents), contents.replace(
155
+ "return this.exportNamesByVariable.get(variable)[0];",
156
+ "return this.exportNamesByVariable.get(variable)?.[0];"
157
+ ))
158
+ }
159
+ },
160
+ {
161
+ module: "@react-native/assets-registry",
162
+ patchFiles: {
163
+ "**/*.js": ["flow"]
164
+ }
165
+ },
166
+ {
167
+ module: "expo",
168
+ patchFiles: {
169
+ "build/**/*.js": ["jsx"]
170
+ }
171
+ },
172
+ {
173
+ module: "expo-clipboard",
174
+ patchFiles: {
175
+ "build/**/*.js": ["jsx"]
176
+ }
177
+ },
178
+ {
179
+ module: "@expo/vector-icons",
180
+ patchFiles: {
181
+ "build/**/*.js": ["jsx"]
182
+ }
183
+ },
184
+ {
185
+ module: "@sentry/react-native",
186
+ patchFiles: {
187
+ version: ">=5.6.0",
188
+ "dist/**/*.js": ["jsx"]
189
+ }
190
+ },
191
+ {
192
+ module: "@sentry/react-native",
193
+ patchFiles: {
194
+ version: ">=5.0.0 <5.6.0",
195
+ "dist/js/utils/environment.js": (contents) => (assertString(contents), contents.replace(
196
+ "import { version as RNV } from 'react-native/Libraries/Core/ReactNativeVersion';",
197
+ `import { Platform } from 'react-native';
198
+ const RNV = Platform.constants.reactNativeVersion;
199
+ `
200
+ )),
201
+ "dist/**/*.js": ["jsx"]
202
+ }
203
+ },
204
+ {
205
+ module: "qrcode",
206
+ patchFiles: {
207
+ version: "<=1.5.1",
208
+ "lib/server.js": (contents) => (assertString(contents), contents.replace(
209
+ "const TerminalRenderer = require('./renderer/terminal')",
210
+ "const TerminalRenderer = require('./renderer/terminal.js')"
211
+ ))
212
+ }
213
+ },
214
+ {
215
+ module: "vite",
216
+ patchFiles: {
217
+ version: "6.0.0-beta.2",
218
+ // vite is going nuts when i install outside the monorepo
219
+ // expo touches .expo/devices.json and for some strange reason vite
220
+ // treats any .json changing in the entire repo as a reason to reload the entire app?
221
+ "dist/node/chunks/dep-DXWVQosX.js": (contents) => (assertString(contents), contents.replace(
222
+ "// any tsconfig.json that's added in the workspace could be closer to a code file than a previously cached one",
223
+ "return"
224
+ ))
225
+ }
226
+ },
227
+ {
228
+ module: "@hono/node-server",
229
+ patchFiles: {
230
+ "dist/serve-static.mjs": (contents) => (assertString(contents), contents.replace(
231
+ "const chunksize = end - start + 1;",
232
+ `if (isNaN(start) || isNaN(end)) console.log('nan start or end', start, end, range, parts)
233
+ const chunksize = end - start + 1;`
234
+ ))
235
+ }
236
+ },
237
+ {
238
+ module: "expo-camera",
239
+ patchFiles: {
240
+ version: "<=16.0.0",
241
+ "**/*.js": ["jsx"]
242
+ }
243
+ }
244
+ // {
245
+ // module: 'react-native-reanimated',
246
+ // patchFiles: {
247
+ // 'package.json': (contents) => {
248
+ // assertString(contents)
249
+ // const pkg = JSON.parse(contents)
250
+ // pkg.type = 'module'
251
+ // return JSON.stringify(pkg, null, 2)
252
+ // },
253
+ // },
254
+ // },
255
+ // could almost do this? it has a couple errors though
256
+ // {
257
+ // module: 'react-native',
258
+ // patchFiles: {
259
+ // '**/*.js': ['flow'],
260
+ // },
261
+ // },
262
+ ];
263
+ export {
264
+ depPatches
265
+ };
266
+ //# sourceMappingURL=depPatches.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/utils/depPatches.ts"],
4
+ "mappings": "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",
5
+ "names": []
6
+ }
@@ -0,0 +1,219 @@
1
+ import { assertString } from "./assert.mjs";
2
+ import { bailIfExists } from "./patches.mjs";
3
+ const depPatches = [{
4
+ module: "h3",
5
+ patchFiles: {
6
+ "dist/index.mjs": contents => (assertString(contents), bailIfExists(contents, "/** patch-version-1 **/"), contents.replace(`function getProxyRequestHeaders(event) {
7
+ const headers = /* @__PURE__ */ Object.create(null);
8
+ const reqHeaders = getRequestHeaders(event);
9
+ for (const name in reqHeaders) {
10
+ if (!ignoredHeaders.has(name)) {
11
+ headers[name] = reqHeaders[name];
12
+ }
13
+ }
14
+ return headers;
15
+ }`, `function getProxyRequestHeaders(event) {
16
+ const headers = /* @__PURE__ */ Object.create(null);
17
+ const reqHeaders = getRequestHeaders(event);
18
+ for (const name in reqHeaders) {
19
+ if (!ignoredHeaders.has(name)) {
20
+ headers[name] = reqHeaders[name];
21
+ }
22
+ }
23
+
24
+ // The expoManifestRequestHandlerPlugin (Vite plugin) needs the original request host so that it can compose URLs that can be accessed by physical devices. This won't be needed once we retire h3 and use the Vite Dev Server directly.
25
+ // This may not work if one installed vxrn from NPM since this patch may not apply.
26
+ const originalHost = reqHeaders.host;
27
+ if (originalHost) {
28
+ headers['X-Forwarded-Host'] = originalHost;
29
+ }
30
+
31
+ return headers;
32
+ }`))
33
+ }
34
+ }, {
35
+ module: "react",
36
+ patchFiles: {
37
+ version: "18.*",
38
+ "index.vxrn-web.js": "module.exports = require('@vxrn/vendor/react-19');",
39
+ "jsx-dev-runtime.vxrn-web.js": "module.exports = require('@vxrn/vendor/react-jsx-dev-19');",
40
+ "jsx-runtime.vxrn-web.js": "module.exports = require('@vxrn/vendor/react-jsx-19');",
41
+ "package.json": contents => {
42
+ assertString(contents), bailIfExists(contents, "index.vxrn-web.js");
43
+ const pkg = JSON.parse(contents);
44
+ if (!pkg.version.startsWith("19.")) {
45
+ if (!pkg.exports["."]) throw new Error("Expected a version of React that has package.json exports defined");
46
+ return pkg.exports["."] = {
47
+ "react-server": "./react.shared-subset.js",
48
+ "vxrn-web": "./index.vxrn-web.js",
49
+ default: "./index.js"
50
+ }, pkg.exports["./jsx-runtime"] = {
51
+ "vxrn-web": "./jsx-runtime.vxrn-web.js",
52
+ default: "./jsx-runtime.js"
53
+ }, pkg.exports["./jsx-dev-runtime"] = {
54
+ "vxrn-web": "./jsx-dev-runtime.vxrn-web.js",
55
+ default: "./jsx-dev-runtime.js"
56
+ }, JSON.stringify(pkg, null, 2);
57
+ }
58
+ },
59
+ // for prod builds we have to actually change the entries:
60
+ // to avoid terrible metro we have to eval :(
61
+ "index.js": contents => (assertString(contents), `
62
+ if (process.env.VXRN_REACT_19) { Object.assign(exports, eval("require('@vxrn/vendor/react-19')")) } else {
63
+ ${contents}
64
+ }`),
65
+ // to avoid terrible metro we have to eval :(
66
+ "jsx-runtime.js": contents => (assertString(contents), `
67
+ if (process.env.VXRN_REACT_19) { Object.assign(exports, eval("require('@vxrn/vendor/react-jsx-19')")) } else {
68
+ ${contents}
69
+ }`)
70
+ }
71
+ }, {
72
+ module: "react-dom",
73
+ patchFiles: {
74
+ version: "18.*",
75
+ // for prod builds we have to actually change the entries:
76
+ "index.js": contents => (assertString(contents), `
77
+ if (process.env.VXRN_REACT_19) { Object.assign(exports, eval("require('@vxrn/vendor/react-dom-19')")) } else {
78
+ ${contents}
79
+ }`),
80
+ "client.js": contents => (assertString(contents), `
81
+ if (process.env.VXRN_REACT_19) { Object.assign(exports, eval("require('@vxrn/vendor/react-dom-client-19')")) } else {
82
+ ${contents}
83
+ }`),
84
+ "server.browser.js": contents => (assertString(contents), `
85
+ if (process.env.VXRN_REACT_19) { Object.assign(exports, require('@vxrn/vendor/react-dom-server.browser-19')) } else {
86
+ ${contents}
87
+ }`),
88
+ "client.vxrn-web.js": "module.exports = require('@vxrn/vendor/react-dom-client-19')",
89
+ "index.vxrn-web.js": "module.exports = require('@vxrn/vendor/react-dom-19')",
90
+ "server.browser.vxrn-web.js": "module.exports = require('@vxrn/vendor/react-dom-server.browser-19')",
91
+ "test-utils.vxrn-web.js": "module.exports = require('@vxrn/vendor/react-dom-test-utils-19')",
92
+ "package.json": contents => {
93
+ assertString(contents), bailIfExists(contents, "index.vxrn-web.js");
94
+ const pkg = JSON.parse(contents);
95
+ if (!pkg.version.startsWith("19.")) {
96
+ if (!pkg.exports["."]) throw new Error("Expected a version of React that has package.json exports defined");
97
+ return pkg.exports["."] = {
98
+ "vxrn-web": "./index.vxrn-web.js",
99
+ default: "./index.js"
100
+ }, pkg.exports["./client"] = {
101
+ "vxrn-web": "./client.vxrn-web.js",
102
+ default: "./client.js"
103
+ }, pkg.exports["./server.browser"] = {
104
+ "vxrn-web": "./server.browser.vxrn-web.js",
105
+ default: "./server.browser.js"
106
+ }, pkg.exports["./test-utils"] = {
107
+ "vxrn-web": "./test-utils.vxrn-web.js",
108
+ default: "./test-utils.js"
109
+ }, JSON.stringify(pkg, null, 2);
110
+ }
111
+ }
112
+ }
113
+ },
114
+ // Older versions of the cli-config package will not look for `.cjs` files when loading the config. This isn't necessary for v14.x (which comes with RN 0.75). See: https://hackmd.io/@z/SJghMPN6C.
115
+ {
116
+ module: "@react-native-community/cli-config",
117
+ patchFiles: {
118
+ version: "^13",
119
+ "build/readConfigFromDisk.js": contents => (assertString(contents), contents.replace("['react-native.config.js']", "['react-native.config.js', 'react-native.config.cjs']").replace("searchPlaces,", "searchPlaces, loaders: { '.cjs': _cosmiconfig().default.loadJs },").replace("stopDir: rootFolder,", "stopDir: rootFolder, loaders: { '.cjs': _cosmiconfig().default.loadJs },"))
120
+ }
121
+ }, {
122
+ module: "@react-native-masked-view/masked-view",
123
+ patchFiles: {
124
+ "**/*.js": ["flow", "swc"]
125
+ }
126
+ }, {
127
+ module: "react-native-webview",
128
+ patchFiles: {
129
+ "**/*.js": ["jsx"]
130
+ }
131
+ }, {
132
+ module: "rollup",
133
+ patchFiles: {
134
+ "dist/es/shared/node-entry.js": contents => (assertString(contents), contents.replace("return this.exportNamesByVariable.get(variable)[0];", "return this.exportNamesByVariable.get(variable)?.[0];"))
135
+ }
136
+ }, {
137
+ module: "@react-native/assets-registry",
138
+ patchFiles: {
139
+ "**/*.js": ["flow"]
140
+ }
141
+ }, {
142
+ module: "expo",
143
+ patchFiles: {
144
+ "build/**/*.js": ["jsx"]
145
+ }
146
+ }, {
147
+ module: "expo-clipboard",
148
+ patchFiles: {
149
+ "build/**/*.js": ["jsx"]
150
+ }
151
+ }, {
152
+ module: "@expo/vector-icons",
153
+ patchFiles: {
154
+ "build/**/*.js": ["jsx"]
155
+ }
156
+ }, {
157
+ module: "@sentry/react-native",
158
+ patchFiles: {
159
+ version: ">=5.6.0",
160
+ "dist/**/*.js": ["jsx"]
161
+ }
162
+ }, {
163
+ module: "@sentry/react-native",
164
+ patchFiles: {
165
+ version: ">=5.0.0 <5.6.0",
166
+ "dist/js/utils/environment.js": contents => (assertString(contents), contents.replace("import { version as RNV } from 'react-native/Libraries/Core/ReactNativeVersion';", `import { Platform } from 'react-native';
167
+ const RNV = Platform.constants.reactNativeVersion;
168
+ `)),
169
+ "dist/**/*.js": ["jsx"]
170
+ }
171
+ }, {
172
+ module: "qrcode",
173
+ patchFiles: {
174
+ version: "<=1.5.1",
175
+ "lib/server.js": contents => (assertString(contents), contents.replace("const TerminalRenderer = require('./renderer/terminal')", "const TerminalRenderer = require('./renderer/terminal.js')"))
176
+ }
177
+ }, {
178
+ module: "vite",
179
+ patchFiles: {
180
+ version: "6.0.0-beta.2",
181
+ // vite is going nuts when i install outside the monorepo
182
+ // expo touches .expo/devices.json and for some strange reason vite
183
+ // treats any .json changing in the entire repo as a reason to reload the entire app?
184
+ "dist/node/chunks/dep-DXWVQosX.js": contents => (assertString(contents), contents.replace("// any tsconfig.json that's added in the workspace could be closer to a code file than a previously cached one", "return"))
185
+ }
186
+ }, {
187
+ module: "@hono/node-server",
188
+ patchFiles: {
189
+ "dist/serve-static.mjs": contents => (assertString(contents), contents.replace("const chunksize = end - start + 1;", `if (isNaN(start) || isNaN(end)) console.log('nan start or end', start, end, range, parts)
190
+ const chunksize = end - start + 1;`))
191
+ }
192
+ }, {
193
+ module: "expo-camera",
194
+ patchFiles: {
195
+ version: "<=16.0.0",
196
+ "**/*.js": ["jsx"]
197
+ }
198
+ }
199
+ // {
200
+ // module: 'react-native-reanimated',
201
+ // patchFiles: {
202
+ // 'package.json': (contents) => {
203
+ // assertString(contents)
204
+ // const pkg = JSON.parse(contents)
205
+ // pkg.type = 'module'
206
+ // return JSON.stringify(pkg, null, 2)
207
+ // },
208
+ // },
209
+ // },
210
+ // could almost do this? it has a couple errors though
211
+ // {
212
+ // module: 'react-native',
213
+ // patchFiles: {
214
+ // '**/*.js': ['flow'],
215
+ // },
216
+ // },
217
+ ];
218
+ export { depPatches };
219
+ //# sourceMappingURL=depPatches.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["assertString","bailIfExists","depPatches","module","patchFiles","contents","replace","version","pkg","JSON","parse","startsWith","exports","Error","default","stringify"],"sources":["../../src/utils/depPatches.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}