vxrn 1.20.0 → 1.20.2
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.
- package/dist/exports/build.native.js +1 -1
- package/dist/exports/build.native.js.map +1 -1
- package/dist/exports/clean.native.js +1 -3
- package/dist/exports/clean.native.js.map +1 -1
- package/dist/exports/createServer.native.js +2 -2
- package/dist/exports/createServer.native.js.map +1 -1
- package/dist/exports/dev.native.js +3 -3
- package/dist/exports/dev.native.js.map +1 -1
- package/dist/exports/loadEnv.native.js +1 -1
- package/dist/exports/loadEnv.native.js.map +1 -1
- package/dist/exports/patch.native.js +1 -1
- package/dist/exports/patch.native.js.map +1 -1
- package/dist/exports/prebuild.native.js +1 -1
- package/dist/exports/prebuild.native.js.map +1 -1
- package/dist/exports/prebuildWithoutExpo.native.js +2 -2
- package/dist/exports/prebuildWithoutExpo.native.js.map +1 -1
- package/dist/exports/runAndroid.native.js +1 -1
- package/dist/exports/runAndroid.native.js.map +1 -1
- package/dist/exports/runIos.native.js +1 -1
- package/dist/exports/runIos.native.js.map +1 -1
- package/dist/exports/serve.native.js +1 -1
- package/dist/exports/serve.native.js.map +1 -1
- package/dist/exports/serveStaticAssets.native.js +1 -1
- package/dist/plugins/autoDepOptimizePlugin.native.js +1 -1
- package/dist/plugins/autoDepOptimizePlugin.native.js.map +1 -1
- package/dist/plugins/expoManifestRequestHandlerPlugin.native.js +1 -3
- package/dist/plugins/expoManifestRequestHandlerPlugin.native.js.map +1 -1
- package/dist/plugins/reactNativeCommonJsPlugin.native.js +3 -3
- package/dist/plugins/reactNativeCommonJsPlugin.native.js.map +1 -1
- package/dist/plugins/reactNativeDevAssetPlugin.native.js +1 -3
- package/dist/plugins/reactNativeDevAssetPlugin.native.js.map +1 -1
- package/dist/plugins/reactNativeDevServer.mjs +8 -0
- package/dist/plugins/reactNativeDevServer.mjs.map +1 -1
- package/dist/plugins/reactNativeDevServer.native.js +10 -4
- package/dist/plugins/reactNativeDevServer.native.js.map +1 -1
- package/dist/plugins/serverExtensions.test.native.js +1 -1
- package/dist/plugins/serverExtensions.test.native.js.map +1 -1
- package/dist/runtime/hmr-client.native.js +1 -1
- package/dist/runtime/hmr-runtime.native.js +1 -1
- package/dist/serve/node.native.js +2 -2
- package/dist/user-interface/index.native.js +15 -17
- package/dist/user-interface/index.native.js.map +1 -1
- package/dist/utils/assert.native.js +0 -2
- package/dist/utils/assert.native.js.map +1 -1
- package/dist/utils/createNativeDevEngine.native.js +4 -6
- package/dist/utils/createNativeDevEngine.native.js.map +1 -1
- package/dist/utils/execSync.native.js +1 -1
- package/dist/utils/execSync.native.js.map +1 -1
- package/dist/utils/expoRun.mjs +19 -7
- package/dist/utils/expoRun.mjs.map +1 -1
- package/dist/utils/expoRun.native.js +19 -3
- package/dist/utils/expoRun.native.js.map +1 -1
- package/dist/utils/getBoundPort.test.native.js +1 -1
- package/dist/utils/getBoundPort.test.native.js.map +1 -1
- package/dist/utils/getServerEntry.native.js +2 -2
- package/dist/utils/getServerEntry.native.js.map +1 -1
- package/dist/utils/patches.native.js +0 -2
- package/dist/utils/patches.native.js.map +1 -1
- package/dist/utils/patches.test.native.js +5 -5
- package/dist/utils/patches.test.native.js.map +1 -1
- package/dist/utils/printServerUrls.native.js +1 -1
- package/dist/utils/printServerUrls.native.js.map +1 -1
- package/dist/vxrn-vite-plugin.native.js +1 -1
- package/dist/vxrn-vite-plugin.native.js.map +1 -1
- package/expo-plugin.cjs +78 -0
- package/package.json +11 -11
- package/src/plugins/reactNativeDevServer.ts +10 -0
- package/src/utils/expoRun.ts +36 -7
- package/types/plugins/reactNativeDevServer.d.ts.map +1 -1
- package/types/utils/expoRun.d.ts.map +1 -1
|
@@ -67,7 +67,7 @@ describe("applyDependencyPatches", function () {
|
|
|
67
67
|
}];
|
|
68
68
|
var nmDir = await setupAndPatch({
|
|
69
69
|
patches,
|
|
70
|
-
setupFs: async function
|
|
70
|
+
setupFs: async function (nm) {
|
|
71
71
|
var storePkgDir = join(nm, ".pnpm", "@react-navigation+core@7.16.1_react@19.0.0", "node_modules", "@react-navigation", "core");
|
|
72
72
|
await FSExtra.ensureDir(storePkgDir);
|
|
73
73
|
await FSExtra.writeFile(join(storePkgDir, "package.json"), makePkg("@react-navigation/core", "7.16.1"));
|
|
@@ -89,7 +89,7 @@ describe("applyDependencyPatches", function () {
|
|
|
89
89
|
}];
|
|
90
90
|
await setupAndPatch({
|
|
91
91
|
patches,
|
|
92
|
-
setupFs: async function
|
|
92
|
+
setupFs: async function (nm) {
|
|
93
93
|
var storeDir = join(nm, ".pnpm", "test-pkg@1.0.0", "node_modules", "test-pkg");
|
|
94
94
|
await FSExtra.ensureDir(storeDir);
|
|
95
95
|
await FSExtra.writeFile(join(storeDir, "package.json"), makePkg("test-pkg", "1.0.0"));
|
|
@@ -114,7 +114,7 @@ describe("applyDependencyPatches", function () {
|
|
|
114
114
|
}];
|
|
115
115
|
var nmDir = await setupAndPatch({
|
|
116
116
|
patches,
|
|
117
|
-
setupFs: async function
|
|
117
|
+
setupFs: async function (nm) {
|
|
118
118
|
var pkgDir = join(nm, "test-pkg");
|
|
119
119
|
await FSExtra.ensureDir(pkgDir);
|
|
120
120
|
await FSExtra.writeFile(join(pkgDir, "package.json"), makePkg("test-pkg", "1.0.0"));
|
|
@@ -136,7 +136,7 @@ describe("applyDependencyPatches", function () {
|
|
|
136
136
|
}];
|
|
137
137
|
await setupAndPatch({
|
|
138
138
|
patches,
|
|
139
|
-
setupFs: async function
|
|
139
|
+
setupFs: async function (nm) {
|
|
140
140
|
var v1Dir = join(nm, ".pnpm", "test-pkg@1.0.0", "node_modules", "test-pkg");
|
|
141
141
|
await FSExtra.ensureDir(v1Dir);
|
|
142
142
|
await FSExtra.writeFile(join(v1Dir, "package.json"), makePkg("test-pkg", "1.0.0"));
|
|
@@ -166,7 +166,7 @@ describe("applyDependencyPatches", function () {
|
|
|
166
166
|
}];
|
|
167
167
|
var nmDir = await setupAndPatch({
|
|
168
168
|
patches,
|
|
169
|
-
setupFs: async function
|
|
169
|
+
setupFs: async function (nm) {
|
|
170
170
|
var storeDir = join(nm, ".pnpm", "test-pkg@1.0.0", "node_modules", "test-pkg");
|
|
171
171
|
await FSExtra.ensureDir(storeDir);
|
|
172
172
|
await FSExtra.writeFile(join(storeDir, "package.json"), makePkg("test-pkg", "1.0.0"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["FSExtra","join","mkdtemp","rm","symlink","tmpdir","afterEach","beforeEach","describe","expect","it","vi","applyDependencyPatches","moduleToPnpmStorePattern","mock","transformSWC","fn","transformFlowBabel","makePkg","name","version","extras","JSON","stringify","toBe","tmpDir","recursive","force","setupAndPatch","opts","nmDir","ensureDir","setupFs","patches","root","module","patchFiles","package.json","contents","pkg","parse","exports","nm","storePkgDir","writeFile","patchedPkg","readJSON","patchCallCount","index.js","storeDir","symlinkTarget","pnpmHoisted","pkgDir","content","readFile","toContain","v1Dir","v2Dir","v1Content","v2Content"],"sources":["../../src/utils/patches.test.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,OAAA,MAAa;AACpB,SAASC,IAAA,QAAY;AACrB,SAASC,OAAA,EAASC,EAAA,EAAIC,OAAA,QAAe;AACrC,SAASC,MAAA,QAAc;AACvB,SAASC,SAAA,EAAWC,UAAA,EAAYC,QAAA,EAAUC,MAAA,EAAQC,EAAA,EAAIC,EAAA,QAAU;AAQhE,SAAAC,sBAAA,EAAAC,wBAAA;AAAAF,EAEE,CAAAG,IAAA;EACA;IAAAC,YACK,EAAAJ,EAAA,CAAAK,EAAA;EAPP,CAAG;AACH;AASAL,EAAA,CAAAG,IAAA,kBAA+B,cAAiB;EAC9C,OAAO;IACTG,kBAAA,EAAAN,EAAA,CAAAK,EAAA;EAEA;AACE;AACE,SAAAE,OAAOA,CAAAC,IAAA,EAAAC,OAAA,EAAAC,MAAyB;EAA2B,OACzDC,IAAA,CAAAC,SAAA;IACFJ,IAAA;IACDC,OAAA;IAED,GAAGC;EACD,SAAO;AAAuD;AAGhEb,QAAG;EACDE,EAAA,gCAAgC;IACjCD,MAAA,CAAAI,wBAAA,4BAAAW,IAAA;EACF;EAEDd,EAAA,iCAAmC,cAAM;IACvCD,MAAI,CAAAI,wBAAA,eAAAW,IAAA;EAEJ;EACEd,EAAA,6CAAsC,cAAmB;IAC1DD,MAAA,CAAAI,wBAAA,sBAAAW,IAAA;EAED;AACE;AAAiDhB,QAClD;EAGD,IAAAiB,MAAA;EAIElB,UAAM,mBAAa;IACnBkB,MAAM,SAAQvB,OAAA,CAAAD,IAAU,CAAAI,MAAK;EAC7B;EACAC,SAAM;IACN,MAAAH,EAAO,CAAAsB,MAAA;MACTC,SAAA;MAEGC,KAAA;IACD;EAA4B;EAC1B,eACUC,cAAAC,IAAA;IAAA,IACRC,KAAA,GAAA7B,IAAY,CAAAwB,MAAA;IAAA,MACVzB,OAAA,CAAA+B,SAAiB,CAAAD,KAAA;IACf,MAAAD,IAAA,CAAAG,OAAK,CAAAF,KAAU;IACf,MAAAlB,sBAAiB,CAAAiB,IAAM,CAAAI,OAAQ;MAC/BC,IAAA,EAAAT;IACA;IAEA,OAAAK,KAAA;EAAkC;EACpCpB,EAAA,qEACF;IAAA,IACFuB,OAAA,IACF;MAEAE,MAAM,0BAA4B;MAChCC,UAAA;QACA,cAAgB,WAAAC,CAAOC,QAAA;UAErB,IAAM,CAAAA,QAAA;UACJ,IAAAC,GAAA,GAAAjB,IAAA,CAAAkB,KAAA,CAAAF,QAAA;UACAC,GAAA,CAAAE,OAAA,GAAAF,GAAA,CAAAE,OAAA;UACAF,GAAA,CAAAE,OAAA;UACA,OAAAnB,IAAA,CAAAC,SAAA,CAAAgB,GAAA;QACA;MAAA;IACA,EAEF;IACA,IAAAT,KAAA,GAAM,MAAQF,aAAA;MAAAK,OACZ;MAAgCD,OAChC,
|
|
1
|
+
{"version":3,"names":["FSExtra","join","mkdtemp","rm","symlink","tmpdir","afterEach","beforeEach","describe","expect","it","vi","applyDependencyPatches","moduleToPnpmStorePattern","mock","transformSWC","fn","transformFlowBabel","makePkg","name","version","extras","JSON","stringify","toBe","tmpDir","recursive","force","setupAndPatch","opts","nmDir","ensureDir","setupFs","patches","root","module","patchFiles","package.json","contents","pkg","parse","exports","nm","storePkgDir","writeFile","patchedPkg","readJSON","patchCallCount","index.js","storeDir","symlinkTarget","pnpmHoisted","pkgDir","content","readFile","toContain","v1Dir","v2Dir","v1Content","v2Content"],"sources":["../../src/utils/patches.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -2,7 +2,7 @@ import colors from "picocolors";
|
|
|
2
2
|
function printServerUrls(urls) {
|
|
3
3
|
var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {},
|
|
4
4
|
info = arguments.length > 2 ? arguments[2] : void 0;
|
|
5
|
-
var colorUrl = function
|
|
5
|
+
var colorUrl = function (url2) {
|
|
6
6
|
return colors.cyan(url2.replace(/:(\d+)\//, function (_, port) {
|
|
7
7
|
return `:${colors.bold(port)}/`;
|
|
8
8
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["colors","printServerUrls","urls","options","arguments","length","info","colorUrl","
|
|
1
|
+
{"version":3,"names":["colors","printServerUrls","urls","options","arguments","length","info","colorUrl","url2","cyan","replace","_","port","bold","_iteratorNormalCompletion","_didIteratorError","_iteratorError"],"sources":["../../src/utils/printServerUrls.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,MAAA,MAAY;AAGZ,SAASC,gBACdC,IAAA,EACA;EAGA,IAAAC,OAAM,GAAAC,SAAY,CAAAC,MAChB,GAAO,KAAKD,SAAI,GAAQ,cAAaA,SAAG,EAAS,IAAI;IAAAE,IAAO,GAAAF,SAAa,CAACC,MAAA,OAAAD,SAAA;EAC5E,IAAAG,QAAW,YAAAA,CAAYC,IAAA,EAAO;IAC5B,OAAKR,MAAK,CAAAS,IAAO,CAAAD,IAAM,CAAAE,OAAG,CAAC,UAAK,EAAO,UAAKC,CAAA,EAAOC,IAAC;MACtD,WAAAZ,MAAA,CAAAa,IAAA,CAAAD,IAAA;IACA;EACE;EACF,IAAAE,yBAAA;IAAAC,iBAAA;IAAAC,cAAA;EAQF","ignoreList":[]}
|
|
@@ -7,7 +7,7 @@ import { getReactNativePlugins } from "./config/getReactNativePlugins.native.js"
|
|
|
7
7
|
function vxrn(options) {
|
|
8
8
|
return [{
|
|
9
9
|
name: "vxrn-config",
|
|
10
|
-
config: async function
|
|
10
|
+
config: async function (config, param) {
|
|
11
11
|
var {
|
|
12
12
|
mode: modeIn
|
|
13
13
|
} = param;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["mergeConfig","getBaseViteConfig","getAdditionalViteConfig","getBaseVitePlugins","getNonCliModeOnlyVitePlugins","getReactNativePlugins","vxrn","options","name","config","param","mode","modeIn","console","warn","root","process","cwd","baseConfig","additionalConfig","disableNative","metro","vxrn_vite_plugin_default"],"sources":["../src/vxrn-vite-plugin.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,WAAA,QAAsC;AAC/C,SAASC,iBAAA,QAAyB;AAClC,SAASC,uBAAA,QAA+B;AACxC,SAASC,kBAAA,QAA0B;AACnC,SAASC,4BAAA,QAAoC;AAC7C,SAASC,qBAAA,QAA6B;AA4B/B,SAASC,KAAKC,OAAA,EAA2C;EAC9D,OAAO,CACL;IACEC,IAAA,EAAM;IACNC,MAAA,EAAQ,
|
|
1
|
+
{"version":3,"names":["mergeConfig","getBaseViteConfig","getAdditionalViteConfig","getBaseVitePlugins","getNonCliModeOnlyVitePlugins","getReactNativePlugins","vxrn","options","name","config","param","mode","modeIn","console","warn","root","process","cwd","baseConfig","additionalConfig","disableNative","metro","vxrn_vite_plugin_default"],"sources":["../src/vxrn-vite-plugin.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,WAAA,QAAsC;AAC/C,SAASC,iBAAA,QAAyB;AAClC,SAASC,uBAAA,QAA+B;AACxC,SAASC,kBAAA,QAA0B;AACnC,SAASC,4BAAA,QAAoC;AAC7C,SAASC,qBAAA,QAA6B;AA4B/B,SAASC,KAAKC,OAAA,EAA2C;EAC9D,OAAO,CACL;IACEC,IAAA,EAAM;IACNC,MAAA,EAAQ,eAAAA,CAAeA,MAAE,EAAMC,KAAA,EAAO;MACpC;QAAMC,IAAA,EAAAC;MAAQ,CAAM,GAAAF,KAAA;MAClB,IAAAC,IAAA,GAAQ,YAAQ;QAAA,QACTC,MAAA;UACL,KAAK;UACH,UAAO;YACT,OAAK;UACL,KAAK;UACH,WAAO;YACT;UACE;YAAQC,OACN,CAAAC,IAAA,qCAA0CF,MAAA;YAC5C;QACA;MAAO,EACX;MACF,IAAGG,IAAA,GAAAN,MAAA,CAAAM,IAAA;MAEH,IAAI,CAAAA,IAAA,EAAO;QAEXA,IAAK,GAAAC,OAAM,CAAAC,GAAA;QACTJ,OAAO,CAAAC,IAAA,6FAAYC,IAAA;MACnB;MAAQ,IACNG,UAAA,SAAAjB,iBAAA;QACFc,IAAA;QACFJ;MAEA;MAA2C,IACzCQ,gBAAA,GAAAjB,uBAAA;MAAA,OACAF,WAAA,CAAAkB,UAAA,EAAAC,gBAAA;IAAA;EAGF,GACA,GAAAhB,kBAAO,EAAY,EAA4B,GACjDC,4BAAA,IACF,KAAAG,OAAA,aAAAA,OAAA,uBAAAA,OAAA,CAAAa,aAAA,SAAAf,qBAAA;IACAgB,KAAG,GAAAd,OAAA,KAAmB,QAAAA,OAAA,uBAAAA,OAAA,CAAAc,KAAA;EACtB,IAAgC;AAG+B;AAEnE,IAAAC,wBAAA,GAAAhB,IAAA;AAEA,S","ignoreList":[]}
|
package/expo-plugin.cjs
CHANGED
|
@@ -115,6 +115,35 @@ const plugin = (config, options = {}) => {
|
|
|
115
115
|
return config
|
|
116
116
|
},
|
|
117
117
|
],
|
|
118
|
+
// iOS: RN's fmt pod fails to compile under Xcode 26 clang in C++20 mode.
|
|
119
|
+
// Compile fmt as c++17 with runtime format strings.
|
|
120
|
+
[
|
|
121
|
+
withDangerousMod,
|
|
122
|
+
[
|
|
123
|
+
'ios',
|
|
124
|
+
async (config) => {
|
|
125
|
+
const iosRoot = config.modRequest.platformProjectRoot
|
|
126
|
+
const podfilePath = path.join(iosRoot, 'Podfile')
|
|
127
|
+
if (!fs.existsSync(podfilePath)) return config
|
|
128
|
+
|
|
129
|
+
const propsPath = path.join(iosRoot, 'Podfile.properties.json')
|
|
130
|
+
if (getPodfilePropsOptOut(propsPath, 'one.disableFmtCxx17Fix')) {
|
|
131
|
+
return config
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
const podfile = fs.readFileSync(podfilePath, 'utf8')
|
|
135
|
+
const next = injectFmtCxx17FixIntoPodfile(podfile)
|
|
136
|
+
if (next !== podfile) {
|
|
137
|
+
fs.writeFileSync(podfilePath, next, 'utf8')
|
|
138
|
+
console.info(
|
|
139
|
+
'[vxrn] patched Podfile to compile the fmt pod as c++17 (Xcode 26 consteval failure)\n' +
|
|
140
|
+
' to disable: set "one.disableFmtCxx17Fix": "true" in ios/Podfile.properties.json'
|
|
141
|
+
)
|
|
142
|
+
}
|
|
143
|
+
return config
|
|
144
|
+
},
|
|
145
|
+
],
|
|
146
|
+
],
|
|
118
147
|
// iOS Hermes Release: hermesc can crash on large unminified bundles.
|
|
119
148
|
// Force Metro to pre-minify so hermesc only does bytecode conversion.
|
|
120
149
|
[
|
|
@@ -185,6 +214,53 @@ const plugin = (config, options = {}) => {
|
|
|
185
214
|
])
|
|
186
215
|
}
|
|
187
216
|
|
|
217
|
+
/**
|
|
218
|
+
* RN's fmt pod (11.x) fails to compile under Xcode 26 clang in C++20 mode:
|
|
219
|
+
* "call to consteval function 'fmt::basic_format_string<...>' is not a
|
|
220
|
+
* constant expression" in format-inl.h. Compiling fmt as c++17 with
|
|
221
|
+
* FMT_USE_NONTYPE_TEMPLATE_ARGS=0 sidesteps the consteval path entirely;
|
|
222
|
+
* fmt is an internal folly/react-native dependency so the flags are local
|
|
223
|
+
* to that pod.
|
|
224
|
+
*/
|
|
225
|
+
const FMT_CXX17_MARKER = '# [vxrn/one] fmt c++17 fix'
|
|
226
|
+
|
|
227
|
+
function injectFmtCxx17FixIntoPodfile(podfile) {
|
|
228
|
+
if (podfile.includes(FMT_CXX17_MARKER)) {
|
|
229
|
+
return podfile
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
const patch = `
|
|
233
|
+
${FMT_CXX17_MARKER}
|
|
234
|
+
# Xcode 26 clang rejects fmt 11.x FMT_STRING consteval in C++20 mode.
|
|
235
|
+
installer.pods_project.targets.each do |target|
|
|
236
|
+
next unless target.name == 'fmt'
|
|
237
|
+
|
|
238
|
+
target.build_configurations.each do |build_config|
|
|
239
|
+
defs = build_config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] || ['$(inherited)']
|
|
240
|
+
defs = [defs] unless defs.is_a?(Array)
|
|
241
|
+
defs |= ['FMT_USE_NONTYPE_TEMPLATE_ARGS=0']
|
|
242
|
+
build_config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] = defs
|
|
243
|
+
build_config.build_settings['CLANG_CXX_LANGUAGE_STANDARD'] = 'c++17'
|
|
244
|
+
flags = build_config.build_settings['OTHER_CPLUSPLUSFLAGS'] || ['$(inherited)']
|
|
245
|
+
flags = [flags] unless flags.is_a?(Array)
|
|
246
|
+
flags |= ['-std=c++17']
|
|
247
|
+
build_config.build_settings['OTHER_CPLUSPLUSFLAGS'] = flags
|
|
248
|
+
end
|
|
249
|
+
end
|
|
250
|
+
`
|
|
251
|
+
|
|
252
|
+
const match = podfile.match(/post_install\s+do\s+\|installer\|/)
|
|
253
|
+
if (!match) {
|
|
254
|
+
console.warn(
|
|
255
|
+
'[vxrn] could not find post_install block in Podfile to inject fmt c++17 fix'
|
|
256
|
+
)
|
|
257
|
+
return podfile
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
const insertAt = match.index + match[0].length
|
|
261
|
+
return podfile.slice(0, insertAt) + '\n' + patch + podfile.slice(insertAt)
|
|
262
|
+
}
|
|
263
|
+
|
|
188
264
|
/**
|
|
189
265
|
* RN disables Metro minification for iOS Hermes Release, expecting
|
|
190
266
|
* hermesc -O to handle bytecode optimization. For large One/VxRN bundles
|
|
@@ -783,6 +859,8 @@ module.exports.addPodHermescToBundleReactNativeShellScript =
|
|
|
783
859
|
module.exports.injectSwift6WorkaroundIntoPodfile = injectSwift6WorkaroundIntoPodfile
|
|
784
860
|
module.exports.injectHermesMinificationPatchIntoPodfile =
|
|
785
861
|
injectHermesMinificationPatchIntoPodfile
|
|
862
|
+
module.exports.injectFmtCxx17FixIntoPodfile = injectFmtCxx17FixIntoPodfile
|
|
863
|
+
module.exports.FMT_CXX17_MARKER = FMT_CXX17_MARKER
|
|
786
864
|
module.exports.injectExpoUpdatesIosResourcesPatchIntoPodfile =
|
|
787
865
|
injectExpoUpdatesIosResourcesPatchIntoPodfile
|
|
788
866
|
module.exports.HERMES_MINIFY_PATCH_MARKER = HERMES_MINIFY_PATCH_MARKER
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vxrn",
|
|
3
|
-
"version": "1.20.
|
|
3
|
+
"version": "1.20.2",
|
|
4
4
|
"sideEffects": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -60,16 +60,16 @@
|
|
|
60
60
|
"@expo/config-plugins": "~55.0.6",
|
|
61
61
|
"@hono/node-server": "^1.19.14",
|
|
62
62
|
"@react-native/dev-middleware": "^0.83.4",
|
|
63
|
-
"@vxrn/compiler": "1.20.
|
|
64
|
-
"@vxrn/debug": "1.20.
|
|
65
|
-
"@vxrn/query-string": "1.20.
|
|
66
|
-
"@vxrn/resolve": "1.20.
|
|
67
|
-
"@vxrn/safe-area": "1.20.
|
|
68
|
-
"@vxrn/url-parse": "1.20.
|
|
69
|
-
"@vxrn/utils": "1.20.
|
|
70
|
-
"@vxrn/vendor": "1.20.
|
|
71
|
-
"@vxrn/vite-flow": "1.20.
|
|
72
|
-
"@vxrn/vite-plugin-metro": "1.20.
|
|
63
|
+
"@vxrn/compiler": "1.20.2",
|
|
64
|
+
"@vxrn/debug": "1.20.2",
|
|
65
|
+
"@vxrn/query-string": "1.20.2",
|
|
66
|
+
"@vxrn/resolve": "1.20.2",
|
|
67
|
+
"@vxrn/safe-area": "1.20.2",
|
|
68
|
+
"@vxrn/url-parse": "1.20.2",
|
|
69
|
+
"@vxrn/utils": "1.20.2",
|
|
70
|
+
"@vxrn/vendor": "1.20.2",
|
|
71
|
+
"@vxrn/vite-flow": "1.20.2",
|
|
72
|
+
"@vxrn/vite-plugin-metro": "1.20.2",
|
|
73
73
|
"citty": "^0.1.6",
|
|
74
74
|
"dotenv": "^17.2.1",
|
|
75
75
|
"dotenv-expand": "^12.0.2",
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Connect, Plugin, ViteDevServer } from 'vite'
|
|
2
2
|
import { WebSocketServer } from 'ws'
|
|
3
|
+
import { createMessageSocket } from '@vxrn/utils'
|
|
3
4
|
import {
|
|
4
5
|
addConnectedNativeClient,
|
|
5
6
|
removeConnectedNativeClient,
|
|
@@ -29,6 +30,7 @@ export function createReactNativeDevServerPlugin(
|
|
|
29
30
|
const { root } = server.config
|
|
30
31
|
const hmrWSS = new WebSocketServer({ noServer: true })
|
|
31
32
|
const clientWSS = new WebSocketServer({ noServer: true })
|
|
33
|
+
const messageWSS = createMessageSocket()
|
|
32
34
|
|
|
33
35
|
const devToolsSocketEndpoints = ['/inspector/device', '/inspector/debug']
|
|
34
36
|
const reactNativeDevToolsUrl = `http://${host}:${getBoundPort(server)}`
|
|
@@ -77,6 +79,14 @@ export function createReactNativeDevServerPlugin(
|
|
|
77
79
|
return
|
|
78
80
|
}
|
|
79
81
|
|
|
82
|
+
// metro packager message socket
|
|
83
|
+
if (url === '/message' || url.startsWith('/message?')) {
|
|
84
|
+
messageWSS.handleUpgrade(req, socket, head, (ws) => {
|
|
85
|
+
messageWSS.emit('connection', ws, req)
|
|
86
|
+
})
|
|
87
|
+
return
|
|
88
|
+
}
|
|
89
|
+
|
|
80
90
|
// client socket
|
|
81
91
|
if (url === '/__client') {
|
|
82
92
|
clientWSS.handleUpgrade(req, socket, head, (ws) => {
|
package/src/utils/expoRun.ts
CHANGED
|
@@ -3,6 +3,25 @@ import { pathToFileURL } from 'node:url'
|
|
|
3
3
|
import { fillOptions } from '../config/getOptionsFilled'
|
|
4
4
|
import { applyBuiltInPatches } from '../utils/patches'
|
|
5
5
|
|
|
6
|
+
// the built app loads its js from the one/vxrn dev server, never from an
|
|
7
|
+
// expo-started metro. we pass `--port` (not `--no-bundler`) because expo
|
|
8
|
+
// hardcodes the launch url to 8081 under --no-bundler, while with a port it
|
|
9
|
+
// detects the already-running dev server for this project root and skips
|
|
10
|
+
// starting its own bundler ("dev server is already running in another
|
|
11
|
+
// window"). requiring the server up-front keeps that the only path — expo
|
|
12
|
+
// would otherwise boot its own metro (without one's transforms) when the
|
|
13
|
+
// port is free.
|
|
14
|
+
async function devServerRunning(port: number): Promise<boolean> {
|
|
15
|
+
try {
|
|
16
|
+
const res = await fetch(`http://localhost:${port}/status`, {
|
|
17
|
+
signal: AbortSignal.timeout(3000),
|
|
18
|
+
})
|
|
19
|
+
return (await res.text()).includes('packager-status:running')
|
|
20
|
+
} catch {
|
|
21
|
+
return false
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
6
25
|
export async function expoRun({
|
|
7
26
|
root,
|
|
8
27
|
platform,
|
|
@@ -18,6 +37,22 @@ export async function expoRun({
|
|
|
18
37
|
console.error(`\n 🥺 error applying built-in patches`, err)
|
|
19
38
|
})
|
|
20
39
|
|
|
40
|
+
const resolvedPort = port || 8081
|
|
41
|
+
if (!(await devServerRunning(resolvedPort))) {
|
|
42
|
+
console.error(
|
|
43
|
+
`\nNo dev server running on http://localhost:${resolvedPort} — the app loads its JS from it.\n` +
|
|
44
|
+
`Start it first (e.g. \`bun dev\` or \`one dev\`), then re-run this command.`
|
|
45
|
+
)
|
|
46
|
+
process.exit(1)
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
// bake the port into the native build: React-Core's xcconfig resolves
|
|
50
|
+
// RCT_METRO_PORT from the xcodebuild environment into a preprocessor define
|
|
51
|
+
// that RCTBundleURLProvider uses as its default packager port. expo only
|
|
52
|
+
// sets this env when it starts its own bundler, and our reuse path skips
|
|
53
|
+
// that — without it the app probes 8081 and shows "No script URL provided".
|
|
54
|
+
process.env.RCT_METRO_PORT = String(resolvedPort)
|
|
55
|
+
|
|
21
56
|
try {
|
|
22
57
|
// Import Expo from the user's project instead of from where vxrn is installed, since vxrn may be installed globally or at the root workspace.
|
|
23
58
|
const require = module.createRequire(root)
|
|
@@ -27,13 +62,7 @@ export async function expoRun({
|
|
|
27
62
|
const expoRun = (await import(pathToFileURL(importPath).href)).default[
|
|
28
63
|
`expoRun${platform.charAt(0).toUpperCase() + platform.slice(1)}`
|
|
29
64
|
]
|
|
30
|
-
await expoRun([
|
|
31
|
-
// Do not start the Metro bundler automatically
|
|
32
|
-
`--no-bundler`,
|
|
33
|
-
// CommandError: --port and --no-bundler are mutually exclusive arguments
|
|
34
|
-
// `--port`,
|
|
35
|
-
// `${port || 8081}`,
|
|
36
|
-
])
|
|
65
|
+
await expoRun([`--port`, `${resolvedPort}`])
|
|
37
66
|
} catch (e) {
|
|
38
67
|
console.error(
|
|
39
68
|
`Failed to run native project: ${e}\nIs "expo" listed in your dependencies?`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reactNativeDevServer.d.ts","sourceRoot":"","sources":["../../src/plugins/reactNativeDevServer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAW,MAAM,EAAiB,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"reactNativeDevServer.d.ts","sourceRoot":"","sources":["../../src/plugins/reactNativeDevServer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAW,MAAM,EAAiB,MAAM,MAAM,CAAA;AAO1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAYnE,wBAAgB,gCAAgC,CAC9C,OAAO,CAAC,EAAE,OAAO,CACf,IAAI,CAAC,iBAAiB,EAAE,UAAU,GAAG,aAAa,GAAG,kBAAkB,GAAG,SAAS,CAAC,CACrF,GACA,MAAM,CAkNR"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expoRun.d.ts","sourceRoot":"","sources":["../../src/utils/expoRun.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"expoRun.d.ts","sourceRoot":"","sources":["../../src/utils/expoRun.ts"],"names":[],"mappings":"AAwBA,wBAAsB,OAAO,CAAC,EAC5B,IAAI,EACJ,QAAQ,EACR,IAAI,GACL,EAAE;IACD,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,KAAK,GAAG,SAAS,CAAA;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,iBAsCA"}
|