vxrn 0.1.28 → 0.1.30
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/cjs/create.js +643 -0
- package/dist/cjs/create.js.map +6 -0
- package/dist/cjs/create.native.js +1318 -0
- package/dist/cjs/create.native.js.map +6 -0
- package/dist/cjs/exports/dev.js +3 -5
- package/dist/cjs/exports/dev.js.map +1 -1
- package/dist/cjs/exports/dev.native.js +3 -5
- package/dist/cjs/exports/dev.native.js.map +1 -1
- package/dist/cjs/getVitePath.js +50 -0
- package/dist/cjs/getVitePath.js.map +6 -0
- package/dist/cjs/getVitePath.native.js +197 -0
- package/dist/cjs/getVitePath.native.js.map +6 -0
- package/dist/cjs/utils/getOptionsFilled.js +6 -3
- package/dist/cjs/utils/getOptionsFilled.js.map +1 -1
- package/dist/cjs/utils/getOptionsFilled.native.js +16 -5
- package/dist/cjs/utils/getOptionsFilled.native.js.map +2 -2
- package/dist/cjs/vendor/createExpoServer.js +16 -4
- package/dist/cjs/vendor/createExpoServer.js.map +1 -1
- package/dist/cjs/vendor/createExpoServer.native.js +148 -4
- package/dist/cjs/vendor/createExpoServer.native.js.map +2 -2
- package/dist/esm/create.js +655 -0
- package/dist/esm/create.js.map +6 -0
- package/dist/esm/create.mjs +622 -0
- package/dist/esm/create.native.js +1309 -0
- package/dist/esm/create.native.js.map +6 -0
- package/dist/esm/exports/dev.js +3 -5
- package/dist/esm/exports/dev.js.map +1 -1
- package/dist/esm/exports/dev.mjs +3 -5
- package/dist/esm/exports/dev.native.js +3 -5
- package/dist/esm/exports/dev.native.js.map +1 -1
- package/dist/esm/getVitePath.js +28 -0
- package/dist/esm/getVitePath.js.map +6 -0
- package/dist/esm/getVitePath.mjs +21 -0
- package/dist/esm/getVitePath.native.js +170 -0
- package/dist/esm/getVitePath.native.js.map +6 -0
- package/dist/esm/utils/getOptionsFilled.js +6 -2
- package/dist/esm/utils/getOptionsFilled.js.map +1 -1
- package/dist/esm/utils/getOptionsFilled.mjs +8 -3
- package/dist/esm/utils/getOptionsFilled.native.js +16 -4
- package/dist/esm/utils/getOptionsFilled.native.js.map +2 -2
- package/dist/esm/vendor/createExpoServer.js +16 -3
- package/dist/esm/vendor/createExpoServer.js.map +1 -1
- package/dist/esm/vendor/createExpoServer.mjs +16 -3
- package/dist/esm/vendor/createExpoServer.native.js +148 -3
- package/dist/esm/vendor/createExpoServer.native.js.map +2 -2
- package/package.json +8 -8
- package/src/exports/dev.ts +2 -7
- package/src/utils/getOptionsFilled.ts +10 -3
- package/src/vendor/createExpoServer.ts +21 -5
- package/types/vendor/createExpoServer.d.ts +3 -2
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { join } from "node:path";
|
|
2
2
|
import { readPackageJSON } from "pkg-types";
|
|
3
|
-
import { createRequire } from "module";
|
|
3
|
+
import { createRequire } from "node:module";
|
|
4
4
|
import FSExtra from "fs-extra";
|
|
5
|
+
import { getPort } from "get-port-please";
|
|
5
6
|
function _array_like_to_array(arr, len) {
|
|
6
7
|
(len == null || len > arr.length) && (len = arr.length);
|
|
7
8
|
for (var i = 0, arr2 = new Array(len); i < len; i++)
|
|
@@ -204,11 +205,22 @@ function getOptionsFilled(options) {
|
|
|
204
205
|
}
|
|
205
206
|
function _getOptionsFilled() {
|
|
206
207
|
return _getOptionsFilled = _async_to_generator(function(options) {
|
|
207
|
-
var _options_host, host, _options_root, root,
|
|
208
|
+
var _options_host, host, _options_root, root, defaultPort, port, packageRootDir, cacheDir, internalPatchesDir, userPatchesDir, _ref, state, packageJSON;
|
|
208
209
|
return _ts_generator(this, function(_state) {
|
|
209
210
|
switch (_state.label) {
|
|
210
211
|
case 0:
|
|
211
|
-
return _options_host = options.host, host = _options_host === void 0 ? "127.0.0.1" : _options_host, _options_root = options.root, root = _options_root === void 0 ? process.cwd() : _options_root,
|
|
212
|
+
return _options_host = options.host, host = _options_host === void 0 ? "127.0.0.1" : _options_host, _options_root = options.root, root = _options_root === void 0 ? process.cwd() : _options_root, defaultPort = options.port || 8081, [
|
|
213
|
+
4,
|
|
214
|
+
getPort({
|
|
215
|
+
port: defaultPort,
|
|
216
|
+
portRange: [
|
|
217
|
+
defaultPort,
|
|
218
|
+
defaultPort + 1e3
|
|
219
|
+
]
|
|
220
|
+
})
|
|
221
|
+
];
|
|
222
|
+
case 1:
|
|
223
|
+
return port = _state.sent(), packageRootDir = join(require2.resolve("vxrn"), "../../.."), cacheDir = join(root, "node_modules", ".cache", "vxrn"), internalPatchesDir = join(packageRootDir, "patches"), userPatchesDir = join(root, "patches"), [
|
|
212
224
|
4,
|
|
213
225
|
Promise.all([
|
|
214
226
|
//
|
|
@@ -216,7 +228,7 @@ function _getOptionsFilled() {
|
|
|
216
228
|
readPackageJSON()
|
|
217
229
|
])
|
|
218
230
|
];
|
|
219
|
-
case
|
|
231
|
+
case 2:
|
|
220
232
|
return _ref = _sliced_to_array.apply(void 0, [
|
|
221
233
|
_state.sent(),
|
|
222
234
|
2
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/utils/Users/n8/vxrn/packages/vxrn/src/utils/getOptionsFilled.ts"],
|
|
4
|
-
"mappings": "AAAA,SAASA,YAAY;AACrB,SAASC,uBAAuB;AAChC,SAASC,qBAAqB;AAC9B,OAAOC,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
5
|
-
"names": ["join", "readPackageJSON", "createRequire", "FSExtra", "require", "url", "getOptionsFilled", "options", "host", "root", "port", "packageRootDir", "cacheDir", "internalPatchesDir", "userPatchesDir", "state", "packageJSON", "process", "cwd", "resolve", "Promise", "all", "readState", "statePath", "pathExists", "readJSON"]
|
|
4
|
+
"mappings": "AAAA,SAASA,YAAY;AACrB,SAASC,uBAAuB;AAChC,SAASC,qBAAqB;AAC9B,OAAOC,aAAa;AAEpB,SAASC,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAExB,IAAMC,WAAUH,cAAc,YAAYI,GAAG;AAI7C,SAAsBC,iBAAiBC,SAAmB;SAApCD,kBAAAA,MAAAA,MAAAA,SAAAA;;SAAAA,oBAAAA;AAAAA,6BAAf,oBAAA,SAAgCC,SAAmB;uBAChDC,MAAAA,eAAoBC,MAEtBC,aACAC,MAKAC,gBAEAC,UACAC,oBACAC,gBACuB,MAAtBC,OAAOC;;;;iCAbuCV,QAA7CC,MAAAA,OAAAA,kBAAAA,SAAO,cAAA,eAAA,gBAAsCD,QAAzBE,MAAAA,OAAAA,kBAAAA,SAAOS,QAAQC,IAAG,IAAA,eAExCT,cAAcH,QAAQI,QAAQ,MACvB;;YAAMR,QAAQ;cACzBQ,MAAMD;cACNU,WAAS;gBAAGV;gBAAaA,cAAc;;YACzC,CAAA;;;AAHMC,wBAAO,OAAA,KAAA,GAKPC,iBAAiBb,KAAKK,SAAQiB,QAAQ,MAAA,GAAS,UAAA,GAE/CR,WAAWd,KAAKU,MAAM,gBAAgB,UAAU,MAAA,GAChDK,qBAAqBf,KAAKa,gBAAgB,SAAA,GAC1CG,iBAAiBhB,KAAKU,MAAM,SAAA,GACL;;YAAMa,QAAQC,IAAG;;cAE5CC,UAAUX,QAAAA;cACVb,gBAAAA;;;;AAH2B,wBAAA,iBAAA,MAAA,QAAA;YAAA,OAAA,KAAA;;cAAtBgB,QAAsB,KAAA,CAAA,GAAfC,cAAe,KAAA,CAAA,GAK7B;;YAAO,qBAAA,eAAA,CAAA,GACFV,OAAAA,GAAAA;cACHU;cACAD;cACAJ;cACAC;cACAE;cACAD;cACAN;cACAC;cACAE;;;;;EAEJ,CAAA,GA/BsBL,kBAAAA,MAAAA,MAAAA,SAAAA;;SAqCPkB,UAAUX,UAAgB;SAA1BW,WAAAA,MAAAA,MAAAA,SAAAA;;SAAAA,aAAAA;AAAAA,sBAAf,oBAAA,SAAyBX,UAAgB;QACjCY,WACAT,OAAAA;;;;AADAS,6BAAY1B,KAAKc,UAAU,YAAA,GACX;;YAAMX,QAAQwB,WAAWD,SAAAA;;;iBAAzB,OAAA,KAAA,IAClB;;YAAMvB,QAAQyB,SAASF,SAAAA;cADL;;;;;wBAClB,OAAA,KAAA;;;;;iBACA,CAAC;;AAFCT,yBAAAA,MAGN;;YAAOA;;;;EACT,CAAA,GANeQ,WAAAA,MAAAA,MAAAA,SAAAA;;",
|
|
5
|
+
"names": ["join", "readPackageJSON", "createRequire", "FSExtra", "getPort", "require", "url", "getOptionsFilled", "options", "host", "root", "defaultPort", "port", "packageRootDir", "cacheDir", "internalPatchesDir", "userPatchesDir", "state", "packageJSON", "process", "cwd", "portRange", "resolve", "Promise", "all", "readState", "statePath", "pathExists", "readJSON"]
|
|
6
6
|
}
|
|
@@ -1,9 +1,22 @@
|
|
|
1
1
|
import { sync as globSync } from "glob";
|
|
2
|
+
import { defineEventHandler } from "h3";
|
|
2
3
|
import { join } from "node:path";
|
|
3
4
|
import { createRoutesManifest } from "@vxrn/expo-router/routes-manifest";
|
|
4
|
-
function createExpoServer(root, app) {
|
|
5
|
-
const routePaths = getRoutePaths(join(root, "app")),
|
|
6
|
-
|
|
5
|
+
function createExpoServer(root, app, vite) {
|
|
6
|
+
const routePaths = getRoutePaths(join(root, "app")), apiRoutesMap = createRoutesManifest(routePaths).apiRoutes.reduce((acc, cur) => (acc[cur.page] = cur, acc), {});
|
|
7
|
+
app.use(
|
|
8
|
+
defineEventHandler(async ({ node: { req } }) => {
|
|
9
|
+
const matched = apiRoutesMap[req.url];
|
|
10
|
+
if (!matched)
|
|
11
|
+
return;
|
|
12
|
+
const loaded = await vite.ssrLoadModule(join(root, "app", matched.file));
|
|
13
|
+
if (!loaded)
|
|
14
|
+
return;
|
|
15
|
+
const requestType = req.method || "GET", method = loaded[requestType];
|
|
16
|
+
if (method)
|
|
17
|
+
return method(req);
|
|
18
|
+
})
|
|
19
|
+
);
|
|
7
20
|
}
|
|
8
21
|
function getRoutePaths(cwd) {
|
|
9
22
|
return globSync("**/*.@(ts|tsx|js|jsx)", {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/vendor/createExpoServer.ts"],
|
|
4
|
-
"mappings": "AAAA,SAAS,QAAQ,gBAAgB;
|
|
4
|
+
"mappings": "AAAA,SAAS,QAAQ,gBAAgB;AACjC,SAAS,0BAAoC;AAC7C,SAAS,YAAY;AAGrB,SAAS,4BAA4B;AAK9B,SAAS,iBAAiB,MAAc,KAAU,MAAqB;AAC5E,QAAM,aAAa,cAAc,KAAK,MAAM,KAAK,CAAC,GAG5C,eAFW,qBAAqB,UAAU,EAElB,UAAU,OAAO,CAAC,KAAK,SACnD,IAAI,IAAI,IAAI,IAAI,KACT,MACN,CAAC,CAAC;AAEL,MAAI;AAAA,IACF,mBAAmB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;AAC9C,YAAM,UAAU,aAAa,IAAI,GAAG;AACpC,UAAI,CAAC;AAAS;AACd,YAAM,SAAS,MAAM,KAAK,cAAc,KAAK,MAAM,OAAO,QAAQ,IAAI,CAAC;AACvE,UAAI,CAAC;AAAQ;AACb,YAAM,cAAc,IAAI,UAAU,OAC5B,SAAS,OAAO,WAAW;AACjC,UAAK;AACL,eAAO,OAAO,GAAG;AAAA,IACnB,CAAC;AAAA,EACH;AACF;AAGO,SAAS,cAAc,KAAa;AACzC,SAAO,SAAS,yBAAyB;AAAA,IACvC;AAAA,EACF,CAAC,EAAE,IAAI,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AACxC;AAEA,SAAS,eAAe,GAAW;AACjC,SAAO,EAAE,QAAQ,OAAO,GAAG;AAC7B;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1,10 +1,23 @@
|
|
|
1
1
|
import { sync as globSync } from "glob";
|
|
2
|
+
import { defineEventHandler } from "h3";
|
|
2
3
|
import { join } from "node:path";
|
|
3
4
|
import { createRoutesManifest } from "@vxrn/expo-router/routes-manifest";
|
|
4
|
-
function createExpoServer(root, app) {
|
|
5
|
+
function createExpoServer(root, app, vite) {
|
|
5
6
|
const routePaths = getRoutePaths(join(root, "app")),
|
|
6
|
-
|
|
7
|
-
|
|
7
|
+
apiRoutesMap = createRoutesManifest(routePaths).apiRoutes.reduce((acc, cur) => (acc[cur.page] = cur, acc), {});
|
|
8
|
+
app.use(defineEventHandler(async ({
|
|
9
|
+
node: {
|
|
10
|
+
req
|
|
11
|
+
}
|
|
12
|
+
}) => {
|
|
13
|
+
const matched = apiRoutesMap[req.url];
|
|
14
|
+
if (!matched) return;
|
|
15
|
+
const loaded = await vite.ssrLoadModule(join(root, "app", matched.file));
|
|
16
|
+
if (!loaded) return;
|
|
17
|
+
const requestType = req.method || "GET",
|
|
18
|
+
method = loaded[requestType];
|
|
19
|
+
if (method) return method(req);
|
|
20
|
+
}));
|
|
8
21
|
}
|
|
9
22
|
function getRoutePaths(cwd) {
|
|
10
23
|
return globSync("**/*.@(ts|tsx|js|jsx)", {
|
|
@@ -1,9 +1,154 @@
|
|
|
1
1
|
import { sync as globSync } from "glob";
|
|
2
|
+
import { defineEventHandler } from "h3";
|
|
2
3
|
import { join } from "node:path";
|
|
3
4
|
import { createRoutesManifest } from "@vxrn/expo-router/routes-manifest";
|
|
4
|
-
function
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
6
|
+
try {
|
|
7
|
+
var info = gen[key](arg), value = info.value;
|
|
8
|
+
} catch (error) {
|
|
9
|
+
reject(error);
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
info.done ? resolve(value) : Promise.resolve(value).then(_next, _throw);
|
|
13
|
+
}
|
|
14
|
+
function _async_to_generator(fn) {
|
|
15
|
+
return function() {
|
|
16
|
+
var self = this, args = arguments;
|
|
17
|
+
return new Promise(function(resolve, reject) {
|
|
18
|
+
var gen = fn.apply(self, args);
|
|
19
|
+
function _next(value) {
|
|
20
|
+
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
|
|
21
|
+
}
|
|
22
|
+
function _throw(err) {
|
|
23
|
+
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
|
|
24
|
+
}
|
|
25
|
+
_next(void 0);
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
function _ts_generator(thisArg, body) {
|
|
30
|
+
var f, y, t, g, _ = {
|
|
31
|
+
label: 0,
|
|
32
|
+
sent: function() {
|
|
33
|
+
if (t[0] & 1)
|
|
34
|
+
throw t[1];
|
|
35
|
+
return t[1];
|
|
36
|
+
},
|
|
37
|
+
trys: [],
|
|
38
|
+
ops: []
|
|
39
|
+
};
|
|
40
|
+
return g = {
|
|
41
|
+
next: verb(0),
|
|
42
|
+
throw: verb(1),
|
|
43
|
+
return: verb(2)
|
|
44
|
+
}, typeof Symbol == "function" && (g[Symbol.iterator] = function() {
|
|
45
|
+
return this;
|
|
46
|
+
}), g;
|
|
47
|
+
function verb(n) {
|
|
48
|
+
return function(v) {
|
|
49
|
+
return step([
|
|
50
|
+
n,
|
|
51
|
+
v
|
|
52
|
+
]);
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
function step(op) {
|
|
56
|
+
if (f)
|
|
57
|
+
throw new TypeError("Generator is already executing.");
|
|
58
|
+
for (; _; )
|
|
59
|
+
try {
|
|
60
|
+
if (f = 1, y && (t = op[0] & 2 ? y.return : op[0] ? y.throw || ((t = y.return) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done)
|
|
61
|
+
return t;
|
|
62
|
+
switch (y = 0, t && (op = [
|
|
63
|
+
op[0] & 2,
|
|
64
|
+
t.value
|
|
65
|
+
]), op[0]) {
|
|
66
|
+
case 0:
|
|
67
|
+
case 1:
|
|
68
|
+
t = op;
|
|
69
|
+
break;
|
|
70
|
+
case 4:
|
|
71
|
+
return _.label++, {
|
|
72
|
+
value: op[1],
|
|
73
|
+
done: !1
|
|
74
|
+
};
|
|
75
|
+
case 5:
|
|
76
|
+
_.label++, y = op[1], op = [
|
|
77
|
+
0
|
|
78
|
+
];
|
|
79
|
+
continue;
|
|
80
|
+
case 7:
|
|
81
|
+
op = _.ops.pop(), _.trys.pop();
|
|
82
|
+
continue;
|
|
83
|
+
default:
|
|
84
|
+
if (t = _.trys, !(t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
|
|
85
|
+
_ = 0;
|
|
86
|
+
continue;
|
|
87
|
+
}
|
|
88
|
+
if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
|
|
89
|
+
_.label = op[1];
|
|
90
|
+
break;
|
|
91
|
+
}
|
|
92
|
+
if (op[0] === 6 && _.label < t[1]) {
|
|
93
|
+
_.label = t[1], t = op;
|
|
94
|
+
break;
|
|
95
|
+
}
|
|
96
|
+
if (t && _.label < t[2]) {
|
|
97
|
+
_.label = t[2], _.ops.push(op);
|
|
98
|
+
break;
|
|
99
|
+
}
|
|
100
|
+
t[2] && _.ops.pop(), _.trys.pop();
|
|
101
|
+
continue;
|
|
102
|
+
}
|
|
103
|
+
op = body.call(thisArg, _);
|
|
104
|
+
} catch (e) {
|
|
105
|
+
op = [
|
|
106
|
+
6,
|
|
107
|
+
e
|
|
108
|
+
], y = 0;
|
|
109
|
+
} finally {
|
|
110
|
+
f = t = 0;
|
|
111
|
+
}
|
|
112
|
+
if (op[0] & 5)
|
|
113
|
+
throw op[1];
|
|
114
|
+
return {
|
|
115
|
+
value: op[0] ? op[1] : void 0,
|
|
116
|
+
done: !0
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
function createExpoServer(root, app, vite) {
|
|
121
|
+
var routePaths = getRoutePaths(join(root, "app")), manifest = createRoutesManifest(routePaths), apiRoutesMap = manifest.apiRoutes.reduce(function(acc, cur) {
|
|
122
|
+
return acc[cur.page] = cur, acc;
|
|
123
|
+
}, {});
|
|
124
|
+
app.use(defineEventHandler(function() {
|
|
125
|
+
var _ref = _async_to_generator(function(param) {
|
|
126
|
+
var req, matched, loaded, requestType, method;
|
|
127
|
+
return _ts_generator(this, function(_state) {
|
|
128
|
+
switch (_state.label) {
|
|
129
|
+
case 0:
|
|
130
|
+
return req = param.node.req, matched = apiRoutesMap[req.url], matched ? [
|
|
131
|
+
4,
|
|
132
|
+
vite.ssrLoadModule(join(root, "app", matched.file))
|
|
133
|
+
] : [
|
|
134
|
+
2
|
|
135
|
+
];
|
|
136
|
+
case 1:
|
|
137
|
+
return loaded = _state.sent(), loaded ? (requestType = req.method || "GET", method = loaded[requestType], method ? [
|
|
138
|
+
2,
|
|
139
|
+
method(req)
|
|
140
|
+
] : [
|
|
141
|
+
2
|
|
142
|
+
]) : [
|
|
143
|
+
2
|
|
144
|
+
];
|
|
145
|
+
}
|
|
146
|
+
});
|
|
147
|
+
});
|
|
148
|
+
return function(_) {
|
|
149
|
+
return _ref.apply(this, arguments);
|
|
150
|
+
};
|
|
151
|
+
}()));
|
|
7
152
|
}
|
|
8
153
|
function getRoutePaths(cwd) {
|
|
9
154
|
return globSync("**/*.@(ts|tsx|js|jsx)", {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/vendor/Users/n8/vxrn/packages/vxrn/src/vendor/createExpoServer.ts"],
|
|
4
|
-
"mappings": "AAAA,SAASA,QAAQC,gBAAgB;
|
|
5
|
-
"names": ["sync", "globSync", "join", "createRoutesManifest", "createExpoServer", "root", "app", "routePaths", "getRoutePaths", "manifest", "
|
|
4
|
+
"mappings": "AAAA,SAASA,QAAQC,gBAAgB;AACjC,SAASC,0BAAoC;AAC7C,SAASC,YAAY;AAGrB,SAASC,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAK9B,SAASC,iBAAiBC,MAAcC,KAAUC,MAAmB;AAC1E,MAAMC,aAAaC,cAAcP,KAAKG,MAAM,KAAA,CAAA,GACtCK,WAAWP,qBAAqBK,UAAAA,GAEhCG,eAAeD,SAASE,UAAUC,OAAO,SAACC,KAAKC,KAAAA;AACnDD,eAAIC,IAAIC,IAAI,IAAID,KACTD;EACT,GAAG,CAAC,CAAA;AAEJR,MAAIW,IACFhB,mBAAAA,WAAAA;eAAmB,oBAAA,SAAA,OAAA;UAAiBiB,KAC5BC,SAEAC,QAEAC,aACAC;;;;AAJN,mBAFkCJ,MAAAA,MAARK,KAAQL,KAC5BC,UAAUR,aAAaO,IAAIM,GAAG,GAC/BL,UACU;;cAAMZ,KAAKkB,cAAcvB,KAAKG,MAAM,OAAOc,QAAQO,IAAI,CAAA;gBADxD;;;;AAEd,mBADMN,SAAS,OAAA,KAAA,GACVA,UACCC,cAAcH,IAAII,UAAU,OAC5BA,SAASF,OAAOC,WAAAA,GACjBC,SACL;;cAAOA,OAAOJ,GAAAA;gBADD;;iBAHA;;;;;IAKf,CAAA;;;;;AAEJ;AAGO,SAAST,cAAckB,KAAW;AACvC,SAAO3B,SAAS,yBAAyB;IACvC2B;EACF,CAAA,EAAGC,IAAI,SAACC,GAAAA;WAAM,OAAOC,eAAeD,CAAAA;;AACtC;AAEA,SAASC,eAAeD,GAAS;AAC/B,SAAOA,EAAEE,QAAQ,OAAO,GAAA;AAC1B;",
|
|
5
|
+
"names": ["sync", "globSync", "defineEventHandler", "join", "createRoutesManifest", "createExpoServer", "root", "app", "vite", "routePaths", "getRoutePaths", "manifest", "apiRoutesMap", "apiRoutes", "reduce", "acc", "cur", "page", "use", "req", "matched", "loaded", "requestType", "method", "node", "url", "ssrLoadModule", "file", "cwd", "map", "p", "normalizePaths", "replace"]
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vxrn",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.30",
|
|
4
4
|
"source": "src/index.ts",
|
|
5
5
|
"types": "./types/index.d.ts",
|
|
6
6
|
"type": "module",
|
|
@@ -29,12 +29,12 @@
|
|
|
29
29
|
"@babel/code-frame": "^7.21.4",
|
|
30
30
|
"@vitejs/plugin-react": "^4.2.1",
|
|
31
31
|
"@vitejs/plugin-react-swc": "^3.6.0",
|
|
32
|
-
"@vxrn/expo-router": "0.1.
|
|
33
|
-
"@vxrn/react-native-prebuilt": "0.1.
|
|
34
|
-
"@vxrn/vite-flow": "0.1.
|
|
35
|
-
"@vxrn/vite-native-client": "0.1.
|
|
36
|
-
"@vxrn/vite-native-hmr": "0.1.
|
|
37
|
-
"@vxrn/vite-native-swc": "0.1.
|
|
32
|
+
"@vxrn/expo-router": "0.1.30",
|
|
33
|
+
"@vxrn/react-native-prebuilt": "0.1.30",
|
|
34
|
+
"@vxrn/vite-flow": "0.1.30",
|
|
35
|
+
"@vxrn/vite-native-client": "0.1.30",
|
|
36
|
+
"@vxrn/vite-native-hmr": "0.1.30",
|
|
37
|
+
"@vxrn/vite-native-swc": "0.1.30",
|
|
38
38
|
"chalk": "^5.3.0",
|
|
39
39
|
"citty": "^0.1.6",
|
|
40
40
|
"crossws": "^0.2.4",
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"fast-glob": "^3.2.11",
|
|
46
46
|
"find-node-modules": "^2.1.3",
|
|
47
47
|
"fs-extra": "^11.2.0",
|
|
48
|
-
"get-port": "^
|
|
48
|
+
"get-port-please": "^3.1.2",
|
|
49
49
|
"glob": "^10.3.12",
|
|
50
50
|
"h3": "^1.11.1",
|
|
51
51
|
"h3-proxy": "^1.12.0",
|
package/src/exports/dev.ts
CHANGED
|
@@ -249,7 +249,7 @@ export const dev = async (optionsIn: VXRNConfig) => {
|
|
|
249
249
|
},
|
|
250
250
|
})
|
|
251
251
|
|
|
252
|
-
createExpoServer(root, app)
|
|
252
|
+
createExpoServer(root, app, viteServer)
|
|
253
253
|
|
|
254
254
|
router.get(
|
|
255
255
|
'/file',
|
|
@@ -304,11 +304,6 @@ export const dev = async (optionsIn: VXRNConfig) => {
|
|
|
304
304
|
const clients = new Set<Peer>()
|
|
305
305
|
const socket = new WebSocket(`ws://localhost:${vitePort}/__vxrnhmr`, 'vite-hmr')
|
|
306
306
|
|
|
307
|
-
console.info(`connecting to vite...`)
|
|
308
|
-
socket.on('open', () => {
|
|
309
|
-
console.info('...connected to vite!')
|
|
310
|
-
})
|
|
311
|
-
|
|
312
307
|
socket.on('message', (msg) => {
|
|
313
308
|
const message = msg.toString()
|
|
314
309
|
console.info(clients.size, 'message', message)
|
|
@@ -319,7 +314,7 @@ export const dev = async (optionsIn: VXRNConfig) => {
|
|
|
319
314
|
})
|
|
320
315
|
|
|
321
316
|
socket.on('error', (err) => {
|
|
322
|
-
console.info('
|
|
317
|
+
console.info('error bridging socket to vite', err)
|
|
323
318
|
})
|
|
324
319
|
|
|
325
320
|
// vite hmr:
|
|
@@ -1,16 +1,23 @@
|
|
|
1
1
|
import { join } from 'node:path'
|
|
2
2
|
import { readPackageJSON } from 'pkg-types'
|
|
3
|
-
import { createRequire } from 'module'
|
|
3
|
+
import { createRequire } from 'node:module'
|
|
4
4
|
import FSExtra from 'fs-extra'
|
|
5
5
|
import type { VXRNConfig } from '../types'
|
|
6
|
+
import { getPort } from 'get-port-please'
|
|
6
7
|
|
|
7
8
|
const require = createRequire(import.meta.url)
|
|
8
9
|
|
|
9
10
|
export type VXRNConfigFilled = Awaited<ReturnType<typeof getOptionsFilled>>
|
|
10
11
|
|
|
11
12
|
export async function getOptionsFilled(options: VXRNConfig) {
|
|
12
|
-
const { host = '127.0.0.1', root = process.cwd()
|
|
13
|
-
|
|
13
|
+
const { host = '127.0.0.1', root = process.cwd() } = options
|
|
14
|
+
|
|
15
|
+
const defaultPort = options.port || 8081
|
|
16
|
+
const port = await getPort({
|
|
17
|
+
port: defaultPort,
|
|
18
|
+
portRange: [defaultPort, defaultPort + 1000],
|
|
19
|
+
})
|
|
20
|
+
|
|
14
21
|
const packageRootDir = join(require.resolve('vxrn'), '../../..')
|
|
15
22
|
|
|
16
23
|
const cacheDir = join(root, 'node_modules', '.cache', 'vxrn')
|
|
@@ -1,18 +1,34 @@
|
|
|
1
1
|
import { sync as globSync } from 'glob'
|
|
2
|
-
import type
|
|
2
|
+
import { defineEventHandler, type App } from 'h3'
|
|
3
3
|
import { join } from 'node:path'
|
|
4
|
+
|
|
4
5
|
// @ts-ignore
|
|
5
6
|
import { createRoutesManifest } from '@vxrn/expo-router/routes-manifest'
|
|
7
|
+
import type { ViteDevServer } from 'vite'
|
|
6
8
|
|
|
7
9
|
// TODO move out
|
|
8
10
|
|
|
9
|
-
export function createExpoServer(root: string, app: App) {
|
|
11
|
+
export function createExpoServer(root: string, app: App, vite: ViteDevServer) {
|
|
10
12
|
const routePaths = getRoutePaths(join(root, 'app'))
|
|
11
13
|
const manifest = createRoutesManifest(routePaths)
|
|
12
|
-
console.info('manifest', manifest)
|
|
13
14
|
|
|
14
|
-
|
|
15
|
-
|
|
15
|
+
const apiRoutesMap = manifest.apiRoutes.reduce((acc, cur) => {
|
|
16
|
+
acc[cur.page] = cur
|
|
17
|
+
return acc
|
|
18
|
+
}, {})
|
|
19
|
+
|
|
20
|
+
app.use(
|
|
21
|
+
defineEventHandler(async ({ node: { req } }) => {
|
|
22
|
+
const matched = apiRoutesMap[req.url]
|
|
23
|
+
if (!matched) return
|
|
24
|
+
const loaded = await vite.ssrLoadModule(join(root, 'app', matched.file))
|
|
25
|
+
if (!loaded) return
|
|
26
|
+
const requestType = req.method || 'GET'
|
|
27
|
+
const method = loaded[requestType]
|
|
28
|
+
if (!method) return
|
|
29
|
+
return method(req)
|
|
30
|
+
})
|
|
31
|
+
)
|
|
16
32
|
}
|
|
17
33
|
|
|
18
34
|
// Used to emulate a context module, but way faster. TODO: May need to adjust the extensions to stay in sync with Metro.
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type
|
|
2
|
-
|
|
1
|
+
import { type App } from 'h3';
|
|
2
|
+
import type { ViteDevServer } from 'vite';
|
|
3
|
+
export declare function createExpoServer(root: string, app: App, vite: ViteDevServer): void;
|
|
3
4
|
export declare function getRoutePaths(cwd: string): string[];
|
|
4
5
|
//# sourceMappingURL=createExpoServer.d.ts.map
|