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,462 +0,0 @@
1
- import { assertString } from "../utils/assert";
2
- import { bailIfExists, bailIfUnchanged } from "../utils/patches";
3
- const builtInDepPatches = [
4
- // fix broken ESM: NavigationContainer.js uses extensionless relative imports
5
- // which fail in Node.js ESM (lib/module has "type": "module")
6
- {
7
- module: "@react-navigation/native",
8
- patchFiles: {
9
- "lib/module/NavigationContainer.js": (contents) => (assertString(contents), contents.replace("from './useBackButton'", "from './useBackButton.js'").replace("from './useDocumentTitle'", "from './useDocumentTitle.js'").replace("from './useLinking'", "from './useLinking.js'"))
10
- }
11
- },
12
- // expose internal contexts for SSR-optimized NavigationContainer
13
- {
14
- module: "@react-navigation/core",
15
- patchFiles: {
16
- "package.json": (contents) => {
17
- assertString(contents);
18
- const pkg = JSON.parse(contents), exports = pkg.exports || {};
19
- let changed = !1;
20
- for (const path of [
21
- "./lib/module/NavigationBuilderContext",
22
- "./lib/module/NavigationStateContext",
23
- "./lib/module/EnsureSingleNavigator"
24
- ])
25
- exports[path] || (exports[path] = path + ".js", changed = !0);
26
- if (changed)
27
- return pkg.exports = exports, JSON.stringify(pkg, null, 2);
28
- }
29
- }
30
- },
31
- // react-native-web doesn't export unstable_batchedUpdates but react-native does,
32
- // so libraries like @legendapp/list break when aliased to rnw on web
33
- {
34
- module: "react-native-web",
35
- patchFiles: {
36
- "dist/index.js": (contents) => (assertString(contents), bailIfExists(contents, "unstable_batchedUpdates"), `${contents}
37
- export { unstable_batchedUpdates } from 'react-dom';
38
- `)
39
- }
40
- },
41
- {
42
- module: "react",
43
- patchFiles: {
44
- version: "18.*",
45
- "compiler-runtime.js": "module.exports = require('@vxrn/vendor/react-19-compiler-runtime');",
46
- "index.vxrn-web.js": "module.exports = require('@vxrn/vendor/react-19');",
47
- "jsx-dev-runtime.vxrn-web.js": "module.exports = require('@vxrn/vendor/react-jsx-dev-19');",
48
- "jsx-runtime.vxrn-web.js": "module.exports = require('@vxrn/vendor/react-jsx-19');",
49
- "package.json": (contents) => {
50
- assertString(contents);
51
- const pkg = JSON.parse(contents);
52
- if (pkg.version.startsWith("19."))
53
- return;
54
- const existingExports = { ...pkg.exports };
55
- if (!pkg.exports["."])
56
- throw new Error(
57
- "Expected a version of React that has package.json exports defined"
58
- );
59
- return pkg.exports["."] = {
60
- "react-server": "./react.shared-subset.js",
61
- "vxrn-web": "./index.vxrn-web.js",
62
- default: "./index.js"
63
- }, pkg.exports["./jsx-runtime"] = {
64
- "vxrn-web": "./jsx-runtime.vxrn-web.js",
65
- default: "./jsx-runtime.js"
66
- }, pkg.exports["./compiler-runtime"] = {
67
- default: "./compiler-runtime.js"
68
- }, pkg.exports["./jsx-dev-runtime"] = {
69
- "vxrn-web": "./jsx-dev-runtime.vxrn-web.js",
70
- default: "./jsx-dev-runtime.js"
71
- }, bailIfUnchanged(existingExports, pkg.exports), JSON.stringify(pkg, null, 2);
72
- },
73
- // for prod builds we have to actually change the entries:
74
- // to avoid terrible metro we have to eval :(
75
- "index.js": (contents) => (assertString(contents), `
76
- if (process.env.VXRN_REACT_19) { Object.assign(exports, eval("require('@vxrn/vendor/react-19')")) } else {
77
- ${contents}
78
- }`),
79
- // to avoid terrible metro we have to eval :(
80
- "jsx-runtime.js": (contents) => (assertString(contents), `
81
- if (process.env.VXRN_REACT_19) { Object.assign(exports, eval("require('@vxrn/vendor/react-jsx-19')")) } else {
82
- ${contents}
83
- }`)
84
- }
85
- },
86
- {
87
- module: "react-dom",
88
- patchFiles: {
89
- version: "18.*",
90
- // for prod builds we have to actually change the entries:
91
- "index.js": (contents) => (assertString(contents), `
92
- if (process.env.VXRN_REACT_19) { Object.assign(exports, eval("require('@vxrn/vendor/react-dom-19')")) } else {
93
- ${contents}
94
- }`),
95
- "client.js": (contents) => (assertString(contents), `
96
- if (process.env.VXRN_REACT_19) { Object.assign(exports, eval("require('@vxrn/vendor/react-dom-client-19')")) } else {
97
- ${contents}
98
- }`),
99
- "server.browser.js": (contents) => (assertString(contents), `
100
- if (process.env.VXRN_REACT_19) { Object.assign(exports, require('@vxrn/vendor/react-dom-server.browser-19')) } else {
101
- ${contents}
102
- }`),
103
- "client.vxrn-web.js": "module.exports = require('@vxrn/vendor/react-dom-client-19')",
104
- "index.vxrn-web.js": "module.exports = require('@vxrn/vendor/react-dom-19')",
105
- "server.browser.vxrn-web.js": "module.exports = require('@vxrn/vendor/react-dom-server.browser-19')",
106
- "test-utils.vxrn-web.js": "module.exports = require('@vxrn/vendor/react-dom-test-utils-19')",
107
- "package.json": (contents) => {
108
- assertString(contents);
109
- const pkg = JSON.parse(contents);
110
- if (pkg.version.startsWith("19."))
111
- return;
112
- const existingExports = { ...pkg.exports };
113
- if (!pkg.exports["."])
114
- throw new Error(
115
- "Expected a version of React that has package.json exports defined"
116
- );
117
- return pkg.exports["."] = {
118
- "vxrn-web": "./index.vxrn-web.js",
119
- default: "./index.js"
120
- }, pkg.exports["./client"] = {
121
- "vxrn-web": "./client.vxrn-web.js",
122
- default: "./client.js"
123
- }, pkg.exports["./server.browser"] = {
124
- "vxrn-web": "./server.browser.vxrn-web.js",
125
- default: "./server.browser.js"
126
- }, pkg.exports["./test-utils"] = {
127
- "vxrn-web": "./test-utils.vxrn-web.js",
128
- default: "./test-utils.js"
129
- }, bailIfUnchanged(existingExports, pkg.exports), JSON.stringify(pkg, null, 2);
130
- }
131
- }
132
- },
133
- // 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.
134
- {
135
- module: "@react-native-community/cli-config",
136
- patchFiles: {
137
- version: ">=13.0.0 <16.0.0",
138
- "build/readConfigFromDisk.js": (contents) => (assertString(contents), contents.replace(
139
- "['react-native.config.js']",
140
- "['react-native.config.js', 'react-native.config.cjs']"
141
- ).replace(
142
- "searchPlaces,",
143
- "searchPlaces, loaders: { '.cjs': _cosmiconfig().default.loadJs },"
144
- ).replace(
145
- "stopDir: rootFolder,",
146
- "stopDir: rootFolder, loaders: { '.cjs': _cosmiconfig().default.loadJs },"
147
- ))
148
- }
149
- },
150
- {
151
- module: "react-native-reanimated",
152
- patchFiles: {
153
- "**/*.js": ["jsx"]
154
- }
155
- },
156
- // fix RNGH crash on RN 0.81+ new architecture
157
- // getShadowNodeFromRef crashes when findHostInstance_DEPRECATED returns null
158
- {
159
- module: "react-native-gesture-handler",
160
- patchFiles: {
161
- version: ">=2.0.0 <=2.30.0",
162
- "lib/module/getShadowNodeFromRef.js": (contents) => contents?.replace(
163
- "return getInternalInstanceHandleFromPublicInstance(findHostInstance_DEPRECATED(ref)).stateNode.node;",
164
- `const hostInstance = findHostInstance_DEPRECATED(ref);
165
- if (hostInstance === null || hostInstance === undefined) {
166
- return null;
167
- }
168
- const internalHandle = getInternalInstanceHandleFromPublicInstance(hostInstance);
169
- if (internalHandle === null || internalHandle === undefined) {
170
- return null;
171
- }
172
- return internalHandle.stateNode?.node ?? null;`
173
- ),
174
- "lib/commonjs/getShadowNodeFromRef.js": (contents) => contents?.replace(
175
- "return getInternalInstanceHandleFromPublicInstance(findHostInstance_DEPRECATED(ref)).stateNode.node;",
176
- `const hostInstance = findHostInstance_DEPRECATED(ref);
177
- if (hostInstance === null || hostInstance === undefined) {
178
- return null;
179
- }
180
- const internalHandle = getInternalInstanceHandleFromPublicInstance(hostInstance);
181
- if (internalHandle === null || internalHandle === undefined) {
182
- return null;
183
- }
184
- return internalHandle.stateNode?.node ?? null;`
185
- ),
186
- // metro uses src/ directly via "react-native" field in package.json
187
- "src/getShadowNodeFromRef.ts": (contents) => contents?.replace(
188
- `return getInternalInstanceHandleFromPublicInstance(
189
- findHostInstance_DEPRECATED(ref)
190
- ).stateNode.node;`,
191
- `const hostInstance = findHostInstance_DEPRECATED(ref);
192
- if (hostInstance === null || hostInstance === undefined) {
193
- return null;
194
- }
195
- const internalHandle = getInternalInstanceHandleFromPublicInstance(hostInstance);
196
- if (internalHandle === null || internalHandle === undefined) {
197
- return null;
198
- }
199
- return internalHandle.stateNode?.node ?? null;`
200
- )
201
- }
202
- },
203
- {
204
- module: "@react-native-masked-view/masked-view",
205
- patchFiles: {
206
- "**/*.js": ["flow", "swc"]
207
- }
208
- },
209
- {
210
- module: "react-native-vector-icons",
211
- patchFiles: {
212
- "**/*.js": ["jsx", "flow"]
213
- }
214
- },
215
- {
216
- module: "react-native-webview",
217
- patchFiles: {
218
- "**/*.js": ["jsx"]
219
- }
220
- },
221
- {
222
- module: "@react-native/assets-registry",
223
- patchFiles: {
224
- "**/*.js": ["flow"]
225
- }
226
- },
227
- {
228
- module: "expo",
229
- patchFiles: {
230
- "build/**/*.js": ["jsx"]
231
- }
232
- },
233
- {
234
- module: "expo",
235
- patchFiles: {
236
- version: ">=52.0.0 <56.0.0",
237
- "src/winter/runtime.native.ts": (contents) => (assertString(contents), contents.replace(
238
- `
239
- // https://encoding.spec.whatwg.org/#textdecoder
240
- install('TextDecoder', () => require('./TextDecoder').TextDecoder);
241
- // https://url.spec.whatwg.org/#url
242
- install('URL', () => require('./url').URL);
243
- // https://url.spec.whatwg.org/#urlsearchparams
244
- install('URLSearchParams', () => require('./url').URLSearchParams);
245
- `.trim(),
246
- `
247
- import { TextDecoder } from './TextDecoder';
248
- import { URL } from './url';
249
- import { URLSearchParams } from './url';
250
-
251
- // https://encoding.spec.whatwg.org/#textdecoder
252
- install('TextDecoder', () => TextDecoder);
253
- // https://url.spec.whatwg.org/#url
254
- install('URL', () => URL);
255
- // https://url.spec.whatwg.org/#urlsearchparams
256
- install('URLSearchParams', () => URLSearchParams);
257
- `.trim()
258
- ))
259
- }
260
- },
261
- {
262
- module: "expo-modules-core",
263
- patchFiles: {
264
- version: "<=55.*",
265
- "src/**/*.ts": addNoCheck,
266
- "src/**/*.tsx": addNoCheck
267
- }
268
- },
269
- {
270
- module: "@expo/cli",
271
- patchFiles: {
272
- version: "<=55",
273
- "build/src/export/embed/exportEmbedAsync.js": (contents) => contents?.replace(
274
- "exportEmbedAsync(projectRoot, options) {",
275
- 'exportEmbedAsync(projectRoot, options) { console.warn("[one] skipping expo export:embed since it will not work properly, we just let the JS bundle build during the native build process where VxRN has control"); return;'
276
- )
277
- }
278
- },
279
- {
280
- module: "expo-liquid-glass-view",
281
- patchFiles: {
282
- "build/**/*.js": ["jsx"]
283
- }
284
- },
285
- {
286
- module: "expo-ios-popover-tip",
287
- patchFiles: {
288
- "build/**/*.js": ["jsx"]
289
- }
290
- },
291
- {
292
- module: "expo-ios-text-animations",
293
- patchFiles: {
294
- "build/**/*.js": ["jsx"]
295
- }
296
- },
297
- {
298
- module: "expo-ios-mesh-gradient",
299
- patchFiles: {
300
- "build/**/*.js": ["jsx"]
301
- }
302
- },
303
- {
304
- module: "expo-glass-effect",
305
- patchFiles: {
306
- "build/**/*.js": ["jsx"]
307
- }
308
- },
309
- {
310
- module: "@expo/ui",
311
- patchFiles: {
312
- "build/**/*.js": ["jsx"]
313
- }
314
- },
315
- {
316
- module: "expo-image",
317
- patchFiles: {
318
- "build/**/*.js": ["jsx"]
319
- }
320
- },
321
- {
322
- module: "expo-linear-gradient",
323
- patchFiles: {
324
- "build/**/*.js": ["jsx"]
325
- }
326
- },
327
- {
328
- module: "expo-apple-authentication",
329
- patchFiles: {
330
- "build/**/*.js": ["jsx"]
331
- }
332
- },
333
- {
334
- module: "react-native-css-interop",
335
- patchFiles: {
336
- "dist/**/*.js": ["jsx"],
337
- // Fix the dynamic require inside wrapJSX function to be a top-level import
338
- // This ensures components.js is bundled and executed to register Text, View, etc. with cssInterop
339
- "dist/runtime/wrap-jsx.js": (contents) => (assertString(contents), contents.replace(
340
- /if\s*\(\s*process\.env\.NODE_ENV\s*!==\s*["']test["']\s*\)\s*require\s*\(\s*["']\.\/components["']\s*\)\s*;?/,
341
- ""
342
- ).replace(
343
- '"use strict";',
344
- `"use strict";
345
- if (process.env.NODE_ENV !== "test") require("./components");`
346
- )),
347
- // Fix sideEffects: false causing components.js to be tree-shaken
348
- // components.js registers Text, View, etc. with cssInterop and MUST run
349
- "package.json": (contents) => {
350
- assertString(contents);
351
- const pkg = JSON.parse(contents);
352
- return pkg.sideEffects = ["dist/runtime/components.js"], JSON.stringify(pkg, null, 2);
353
- }
354
- }
355
- },
356
- {
357
- module: "expo-video",
358
- patchFiles: {
359
- "build/index.js": (contents) => contents?.replace("export { VideoThumbnail } from './VideoThumbnail';", ""),
360
- "build/**/*.js": ["jsx"]
361
- }
362
- },
363
- {
364
- module: "expo-clipboard",
365
- patchFiles: {
366
- "build/**/*.js": ["jsx"]
367
- }
368
- },
369
- {
370
- module: "@expo/vector-icons",
371
- patchFiles: {
372
- "build/**/*.js": ["jsx"]
373
- }
374
- },
375
- {
376
- module: "@sentry/react-native",
377
- patchFiles: {
378
- version: ">=5.6.0",
379
- "dist/**/*.js": ["jsx"]
380
- }
381
- },
382
- {
383
- module: "@sentry/react-native",
384
- patchFiles: {
385
- version: ">=5.0.0 <5.6.0",
386
- "dist/js/utils/environment.js": (contents) => (assertString(contents), contents.replace(
387
- "import { version as RNV } from 'react-native/Libraries/Core/ReactNativeVersion';",
388
- `import { Platform } from 'react-native';
389
- const RNV = Platform.constants.reactNativeVersion;
390
- `
391
- )),
392
- "dist/**/*.js": ["jsx"]
393
- }
394
- },
395
- {
396
- module: "qrcode",
397
- patchFiles: {
398
- version: "<=1.5.1",
399
- "lib/server.js": (contents) => (assertString(contents), contents.replace(
400
- "const TerminalRenderer = require('./renderer/terminal')",
401
- "const TerminalRenderer = require('./renderer/terminal.js')"
402
- ))
403
- }
404
- },
405
- {
406
- module: "expo-camera",
407
- patchFiles: {
408
- "**/*.js": ["jsx"]
409
- }
410
- },
411
- {
412
- module: "expo-blur",
413
- patchFiles: {
414
- "**/*.js": ["jsx"]
415
- }
416
- },
417
- {
418
- module: "expo-asset",
419
- patchFiles: {
420
- // Fix: expo-asset re-exports from react-native but RN uses properties on default export, not named exports
421
- // This patch explicitly re-exports the functions so they're available as named exports
422
- "build/resolveAssetSource.native.js": (contents) => (assertString(contents), contents.replace(
423
- "export * from 'react-native/Libraries/Image/resolveAssetSource';",
424
- `export const pickScale = resolveAssetSource.pickScale;
425
- export const setCustomSourceTransformer = resolveAssetSource.setCustomSourceTransformer;
426
- export const addCustomSourceTransformer = resolveAssetSource.addCustomSourceTransformer;`
427
- ))
428
- }
429
- },
430
- {
431
- module: "whatwg-url-without-unicode",
432
- // https://github.com/onejs/one/issues/258
433
- patchFiles: {
434
- "**/*.js": (contents) => contents?.replace(
435
- /punycode\.ucs2\.decode/gm,
436
- "(punycode.ucs2decode || punycode.ucs2.decode)"
437
- )?.replace(
438
- /punycode\.ucs2\.encode/gm,
439
- "(punycode.ucs2encode || punycode.ucs2.encode)"
440
- )
441
- }
442
- },
443
- {
444
- module: "@hot-updater/plugin-core",
445
- patchFiles: {
446
- version: "0.*",
447
- "dist/index.cjs": (contents) => contents?.replace(
448
- 'let mime = require("mime");',
449
- 'let mime = { getType: () => "application/octet-stream", getExtension: () => null };'
450
- )
451
- }
452
- }
453
- ];
454
- function addNoCheck(contents) {
455
- if (!contents?.includes("// @ts-nocheck"))
456
- return `// @ts-nocheck
457
- ${contents}`;
458
- }
459
- export {
460
- builtInDepPatches
461
- };
462
- //# sourceMappingURL=builtInDepPatches.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/patches/builtInDepPatches.ts"],
4
- "mappings": "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",
5
- "names": []
6
- }
@@ -1,17 +0,0 @@
1
- import { applyBuiltInPatches } from "../utils/patches";
2
- function applyBuiltInPatchesPlugin() {
3
- return {
4
- name: "vxrn-applyBuiltInPatchesPlugin",
5
- enforce: "pre",
6
- async configResolved(config) {
7
- await applyBuiltInPatches({ root: config.root }).catch((err) => {
8
- console.error(`
9
- \u{1F97A} error applying built-in patches`, err);
10
- });
11
- }
12
- };
13
- }
14
- export {
15
- applyBuiltInPatchesPlugin
16
- };
17
- //# sourceMappingURL=applyBuiltInPatchesPlugin.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/plugins/applyBuiltInPatchesPlugin.ts"],
4
- "mappings": "AAEA,SAAS,2BAA2B;AAE7B,SAAS,4BAAoC;AAClD,SAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,IAET,MAAM,eAAe,QAAQ;AAC3B,YAAM,oBAAoB,EAAE,MAAM,OAAO,KAAK,CAAC,EAAE,MAAM,CAAC,QAAQ;AAC9D,gBAAQ,MAAM;AAAA,6CAAyC,GAAG;AAAA,MAC5D,CAAC;AAAA,IACH;AAAA,EACF;AACF;",
5
- "names": []
6
- }
@@ -1,93 +0,0 @@
1
- import { createDebugger } from "@vxrn/debug";
2
- import FSExtra from "fs-extra";
3
- import path from "node:path";
4
- import { createFilter } from "vite";
5
- import {
6
- EXCLUDE_LIST,
7
- scanDepsToOptimize
8
- } from "../utils/scanDepsToOptimize";
9
- import { getFileHash, lookupFile } from "../utils/utils";
10
- import { getCacheDir } from "../utils/getCacheDir";
11
- const name = "vxrn:auto-dep-optimize", { debug, debugDetails } = createDebugger(name);
12
- function autoDepOptimizePlugin(props) {
13
- return {
14
- name,
15
- enforce: "pre",
16
- async config(cfg, env) {
17
- debug?.("Config hook called");
18
- const depsConfig = globalThis.__oneOptions?.deps, exclude = depsConfig ? Object.entries(depsConfig).filter(([_, value]) => value === !1).map(([k]) => k) : [], userExcludes = Array.isArray(props.exclude) ? props.exclude : [props.exclude], userViteExcludes = cfg.optimizeDeps?.exclude || [], userSsrExcludes = cfg.ssr?.optimizeDeps?.exclude || [], finalConfig = await getScannedOptimizeDepsConfig({
19
- ...props,
20
- mode: env.mode,
21
- exclude: [
22
- ...exclude,
23
- ...userExcludes,
24
- ...userViteExcludes,
25
- ...userSsrExcludes
26
- ].filter(Boolean)
27
- });
28
- return debugDetails?.(
29
- `Final auto-dep-optimize config: ${JSON.stringify(finalConfig, null, 2)}
30
- from props: ${JSON.stringify(props)}`
31
- ), finalConfig;
32
- }
33
- };
34
- }
35
- const getSSRExternalsCachePath = (root) => path.join(getCacheDir(root), "deps-to-pre-bundle-for-ssr-cache.json");
36
- async function getScannedOptimizeDepsConfig(props) {
37
- const result = await findDepsToOptimize(props);
38
- props.onScannedDeps?.(result);
39
- const excludeStrings = (Array.isArray(props.exclude) ? props.exclude : [props.exclude]).filter((e) => typeof e == "string"), excludeSet = new Set(excludeStrings), filteredDeps = result.prebundleDeps.filter((dep) => !excludeSet.has(dep));
40
- return {
41
- ssr: {
42
- optimizeDeps: {
43
- include: filteredDeps,
44
- exclude: EXCLUDE_LIST
45
- },
46
- noExternal: filteredDeps
47
- }
48
- };
49
- }
50
- let sessionCacheVal = null;
51
- async function findDepsToOptimize({
52
- root,
53
- mode,
54
- exclude,
55
- include
56
- }) {
57
- const cacheFilePath = getSSRExternalsCachePath(root), startedAt = debug ? Date.now() : 0, noCache = mode === "production", sessionCache = mode === "production";
58
- if (sessionCache && sessionCacheVal)
59
- return sessionCacheVal;
60
- const lockFile = await lookupFile(root, [
61
- "yarn.lock",
62
- "package-lock.json",
63
- "pnpm-lock.yaml",
64
- "bun.lockb"
65
- ]), lockFileHash = lockFile ? await getFileHash(lockFile) : void 0;
66
- let value;
67
- if (lockFileHash && !noCache)
68
- try {
69
- const {
70
- lockFileHash: cachedLockFileHash,
71
- depsToPreBundleForSsr: cachedDepsToPreBundle
72
- } = await FSExtra.readJSON(cacheFilePath);
73
- lockFileHash === cachedLockFileHash && cachedDepsToPreBundle && "prebundleDeps" in cachedDepsToPreBundle && (value = cachedDepsToPreBundle, debug?.(`Using cached scan results from ${cacheFilePath}`));
74
- } catch (err) {
75
- debug?.(`${err}`);
76
- }
77
- const filter = createFilter(include, exclude);
78
- return value || (value = await scanDepsToOptimize(`${root}/package.json`, { filter }), sessionCache && (sessionCacheVal = value), noCache || FSExtra.outputJSON(cacheFilePath, {
79
- lockFileHash,
80
- depsToPreBundleForSsr: value
81
- })), debug?.(`Scanning completed in ${Date.now() - startedAt}ms`), debug?.(
82
- `${value.prebundleDeps.length} deps are discovered and will be pre-bundled for SSR.` + (debugDetails ? "" : ` (Focus on this debug scope, "DEBUG=${debug.namespace}", to see more details.)`)
83
- ), debugDetails?.(
84
- `Deps discovered to be pre-bundled for SSR: ${value.prebundleDeps.join(", ")}`
85
- ), value;
86
- }
87
- export {
88
- autoDepOptimizePlugin,
89
- findDepsToOptimize,
90
- getSSRExternalsCachePath,
91
- getScannedOptimizeDepsConfig
92
- };
93
- //# sourceMappingURL=autoDepOptimizePlugin.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/plugins/autoDepOptimizePlugin.ts"],
4
- "mappings": "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",
5
- "names": []
6
- }
@@ -1,19 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
- describe("getScannedOptimizeDepsConfig", () => {
3
- it("filters excluded deps from scanned results", async () => {
4
- const mockResult = {
5
- prebundleDeps: ["react", "react-native-reanimated", "lodash"],
6
- hasReanimated: !0,
7
- hasNativewind: !1
8
- }, excludeStrings = ["react-native-reanimated"].filter((e) => typeof e == "string"), excludeSet = new Set(excludeStrings), filteredDeps = mockResult.prebundleDeps.filter((dep) => !excludeSet.has(dep));
9
- expect(filteredDeps).toContain("react"), expect(filteredDeps).toContain("lodash"), expect(filteredDeps).not.toContain("react-native-reanimated");
10
- }), it("handles RegExp exclude patterns (ignores them for dep name filtering)", async () => {
11
- const mockResult = {
12
- prebundleDeps: ["react", "react-native-reanimated"],
13
- hasReanimated: !0,
14
- hasNativewind: !1
15
- }, excludeStrings = [/some-pattern/, "react-native-reanimated"].filter((e) => typeof e == "string"), excludeSet = new Set(excludeStrings), filteredDeps = mockResult.prebundleDeps.filter((dep) => !excludeSet.has(dep));
16
- expect(filteredDeps).toContain("react"), expect(filteredDeps).not.toContain("react-native-reanimated");
17
- });
18
- });
19
- //# sourceMappingURL=autoDepOptimizePlugin.test.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/plugins/autoDepOptimizePlugin.test.ts"],
4
- "mappings": "AAAA,SAAS,UAAU,QAAQ,UAAU;AAGrC,SAAS,gCAAgC,MAAM;AAC7C,KAAG,8CAA8C,YAAY;AAE3D,UAAM,aAAa;AAAA,MACjB,eAAe,CAAC,SAAS,2BAA2B,QAAQ;AAAA,MAC5D,eAAe;AAAA,MACf,eAAe;AAAA,IACjB,GAIM,iBADe,CAAC,yBAAyB,EACX,OAAO,CAAC,MAAmB,OAAO,KAAM,QAAQ,GAC9E,aAAa,IAAI,IAAI,cAAc,GAEnC,eAAe,WAAW,cAAc,OAAO,CAAC,QAAQ,CAAC,WAAW,IAAI,GAAG,CAAC;AAElF,WAAO,YAAY,EAAE,UAAU,OAAO,GACtC,OAAO,YAAY,EAAE,UAAU,QAAQ,GACvC,OAAO,YAAY,EAAE,IAAI,UAAU,yBAAyB;AAAA,EAC9D,CAAC,GAED,GAAG,yEAAyE,YAAY;AACtF,UAAM,aAAa;AAAA,MACjB,eAAe,CAAC,SAAS,yBAAyB;AAAA,MAClD,eAAe;AAAA,MACf,eAAe;AAAA,IACjB,GAIM,iBADoC,CAAC,gBAAgB,yBAAyB,EAChD,OAAO,CAAC,MAAmB,OAAO,KAAM,QAAQ,GAC9E,aAAa,IAAI,IAAI,cAAc,GAEnC,eAAe,WAAW,cAAc,OAAO,CAAC,QAAQ,CAAC,WAAW,IAAI,GAAG,CAAC;AAElF,WAAO,YAAY,EAAE,UAAU,OAAO,GACtC,OAAO,YAAY,EAAE,IAAI,UAAU,yBAAyB;AAAA,EAC9D,CAAC;AACH,CAAC;",
5
- "names": []
6
- }