@vxrn/utils 1.27.0 → 1.27.1-1789509973946
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/createMessageSocket.cjs +115 -121
- package/dist/cjs/createMessageSocket.native.cjs +166 -0
- package/dist/cjs/createMessageSocket.native.js +152 -166
- package/dist/cjs/createMessageSocket.native.js.map +1 -1
- package/dist/cjs/detectPackageManager.cjs +76 -72
- package/dist/cjs/detectPackageManager.native.cjs +106 -0
- package/dist/cjs/detectPackageManager.native.js +82 -77
- package/dist/cjs/detectPackageManager.native.js.map +1 -1
- package/dist/cjs/exec.cjs +43 -45
- package/dist/cjs/exec.native.cjs +65 -0
- package/dist/cjs/exec.native.js +48 -49
- package/dist/cjs/exec.native.js.map +1 -1
- package/dist/cjs/index.cjs +9 -11
- package/dist/cjs/index.native.cjs +25 -0
- package/dist/cjs/index.native.js +9 -10
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/mustReplace.cjs +27 -35
- package/dist/cjs/mustReplace.native.cjs +60 -0
- package/dist/cjs/mustReplace.native.js +44 -60
- package/dist/cjs/mustReplace.native.js.map +1 -1
- package/dist/esm/createMessageSocket.mjs +103 -103
- package/dist/esm/createMessageSocket.mjs.map +1 -1
- package/dist/esm/createMessageSocket.native.js +139 -148
- package/dist/esm/createMessageSocket.native.js.map +1 -1
- package/dist/esm/detectPackageManager.mjs +65 -55
- package/dist/esm/detectPackageManager.mjs.map +1 -1
- package/dist/esm/detectPackageManager.native.js +71 -61
- package/dist/esm/detectPackageManager.native.js.map +1 -1
- package/dist/esm/exec.mjs +29 -27
- package/dist/esm/exec.mjs.map +1 -1
- package/dist/esm/exec.native.js +34 -32
- package/dist/esm/exec.native.js.map +1 -1
- package/dist/esm/index.js +11 -7
- package/dist/esm/index.mjs +11 -7
- package/dist/esm/index.native.js +11 -7
- package/dist/esm/mustReplace.mjs +15 -17
- package/dist/esm/mustReplace.mjs.map +1 -1
- package/dist/esm/mustReplace.native.js +32 -43
- package/dist/esm/mustReplace.native.js.map +1 -1
- package/package.json +4 -4
- package/types/createMessageSocket.d.ts +1 -1
- package/types/createMessageSocket.d.ts.map +1 -1
- package/types/detectPackageManager.d.ts.map +1 -1
- package/types/exec.d.ts.map +1 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/index.mjs.map +0 -1
- package/dist/esm/index.native.js.map +0 -1
|
@@ -3,131 +3,125 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
|
3
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
4
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
5
|
var __export = (target, all) => {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
for (var name in all) __defProp(target, name, {
|
|
7
|
+
get: all[name],
|
|
8
|
+
enumerable: true
|
|
9
|
+
});
|
|
10
10
|
};
|
|
11
11
|
var __copyProps = (to, from, except, desc) => {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
14
|
+
get: () => from[key],
|
|
15
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
19
|
};
|
|
20
|
-
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
21
|
-
value: true
|
|
22
|
-
}), mod);
|
|
20
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
23
21
|
var createMessageSocket_exports = {};
|
|
24
|
-
__export(createMessageSocket_exports, {
|
|
25
|
-
createMessageSocket: () => createMessageSocket
|
|
26
|
-
});
|
|
22
|
+
__export(createMessageSocket_exports, { createMessageSocket: () => createMessageSocket });
|
|
27
23
|
module.exports = __toCommonJS(createMessageSocket_exports);
|
|
28
24
|
var import_ws = require("ws");
|
|
29
25
|
function createMessageSocket() {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
return wss;
|
|
133
|
-
}
|
|
26
|
+
const PROTOCOL_VERSION = 2;
|
|
27
|
+
const wss = new import_ws.WebSocketServer({ noServer: true });
|
|
28
|
+
const clients = /* @__PURE__ */ new Map();
|
|
29
|
+
let nextClientId = 0;
|
|
30
|
+
function broadcast(broadcasterId, message) {
|
|
31
|
+
const forwarded = JSON.stringify({
|
|
32
|
+
version: PROTOCOL_VERSION,
|
|
33
|
+
method: message.method,
|
|
34
|
+
params: message.params
|
|
35
|
+
});
|
|
36
|
+
for (const [otherId, other] of clients) {
|
|
37
|
+
if (otherId !== broadcasterId) {
|
|
38
|
+
try {
|
|
39
|
+
other.ws.send(forwarded);
|
|
40
|
+
} catch {}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
wss.on("connection", (clientWs, req) => {
|
|
45
|
+
const clientId = `client#${nextClientId++}`;
|
|
46
|
+
const query = Object.fromEntries(new URL(req?.url || "/", "http://localhost").searchParams);
|
|
47
|
+
clients.set(clientId, {
|
|
48
|
+
ws: clientWs,
|
|
49
|
+
query
|
|
50
|
+
});
|
|
51
|
+
const remove = () => clients.delete(clientId);
|
|
52
|
+
clientWs.on("close", remove);
|
|
53
|
+
clientWs.on("error", remove);
|
|
54
|
+
clientWs.on("message", (data, isBinary) => {
|
|
55
|
+
if (isBinary) return;
|
|
56
|
+
let message;
|
|
57
|
+
try {
|
|
58
|
+
message = JSON.parse(data.toString());
|
|
59
|
+
} catch {
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
if (message?.version !== PROTOCOL_VERSION) return;
|
|
63
|
+
try {
|
|
64
|
+
const isBroadcastMsg = typeof message.method === "string" && message.id === void 0 && message.target === void 0;
|
|
65
|
+
const isRequest = typeof message.method === "string" && typeof message.target === "string";
|
|
66
|
+
const isResponse = typeof message.id === "object" && message.id?.requestId !== void 0 && typeof message.id?.clientId === "string" && (message.result !== void 0 || message.error !== void 0);
|
|
67
|
+
if (isBroadcastMsg) {
|
|
68
|
+
broadcast(clientId, message);
|
|
69
|
+
} else if (isRequest) {
|
|
70
|
+
if (message.target === "server") {
|
|
71
|
+
let result;
|
|
72
|
+
if (message.method === "getid") {
|
|
73
|
+
result = clientId;
|
|
74
|
+
} else if (message.method === "getpeers") {
|
|
75
|
+
const peers = {};
|
|
76
|
+
for (const [otherId, other] of clients) {
|
|
77
|
+
if (otherId !== clientId) peers[otherId] = other.query;
|
|
78
|
+
}
|
|
79
|
+
result = peers;
|
|
80
|
+
} else {
|
|
81
|
+
throw new Error(`unknown method: ${message.method}`);
|
|
82
|
+
}
|
|
83
|
+
clientWs.send(JSON.stringify({
|
|
84
|
+
version: PROTOCOL_VERSION,
|
|
85
|
+
result,
|
|
86
|
+
id: message.id
|
|
87
|
+
}));
|
|
88
|
+
} else {
|
|
89
|
+
const target = clients.get(message.target);
|
|
90
|
+
if (!target) {
|
|
91
|
+
throw new Error(`could not find id "${message.target}" while forwarding request`);
|
|
92
|
+
}
|
|
93
|
+
target.ws.send(JSON.stringify({
|
|
94
|
+
version: PROTOCOL_VERSION,
|
|
95
|
+
method: message.method,
|
|
96
|
+
params: message.params,
|
|
97
|
+
id: message.id === void 0 ? void 0 : {
|
|
98
|
+
requestId: message.id,
|
|
99
|
+
clientId
|
|
100
|
+
}
|
|
101
|
+
}));
|
|
102
|
+
}
|
|
103
|
+
} else if (isResponse) {
|
|
104
|
+
if (!message.id) return;
|
|
105
|
+
const target = clients.get(message.id.clientId);
|
|
106
|
+
target?.ws.send(JSON.stringify({
|
|
107
|
+
version: PROTOCOL_VERSION,
|
|
108
|
+
result: message.result,
|
|
109
|
+
error: message.error,
|
|
110
|
+
id: message.id.requestId
|
|
111
|
+
}));
|
|
112
|
+
}
|
|
113
|
+
} catch (err) {
|
|
114
|
+
if (message.id !== void 0) {
|
|
115
|
+
try {
|
|
116
|
+
clientWs.send(JSON.stringify({
|
|
117
|
+
version: PROTOCOL_VERSION,
|
|
118
|
+
error: String(err),
|
|
119
|
+
id: message.id
|
|
120
|
+
}));
|
|
121
|
+
} catch {}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
});
|
|
126
|
+
return wss;
|
|
127
|
+
}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all) __defProp(target, name, {
|
|
9
|
+
get: all[name],
|
|
10
|
+
enumerable: true
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
var __copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
16
|
+
get: () => from[key],
|
|
17
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
return to;
|
|
21
|
+
};
|
|
22
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
23
|
+
var createMessageSocket_exports = {};
|
|
24
|
+
__export(createMessageSocket_exports, { createMessageSocket: () => createMessageSocket });
|
|
25
|
+
module.exports = __toCommonJS(createMessageSocket_exports);
|
|
26
|
+
var import_ws = require("ws");
|
|
27
|
+
function createMessageSocket() {
|
|
28
|
+
var PROTOCOL_VERSION = 2;
|
|
29
|
+
var wss = new import_ws.WebSocketServer({ noServer: true });
|
|
30
|
+
var clients = /* @__PURE__ */ new Map();
|
|
31
|
+
var nextClientId = 0;
|
|
32
|
+
function broadcast(broadcasterId, message) {
|
|
33
|
+
var forwarded = JSON.stringify({
|
|
34
|
+
version: PROTOCOL_VERSION,
|
|
35
|
+
method: message.method,
|
|
36
|
+
params: message.params
|
|
37
|
+
});
|
|
38
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
39
|
+
try {
|
|
40
|
+
for (var _iterator = clients[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
41
|
+
var [otherId, other] = _step.value;
|
|
42
|
+
if (otherId !== broadcasterId) {
|
|
43
|
+
try {
|
|
44
|
+
other.ws.send(forwarded);
|
|
45
|
+
} catch (unused) {}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
} catch (err) {
|
|
49
|
+
_didIteratorError = true;
|
|
50
|
+
_iteratorError = err;
|
|
51
|
+
} finally {
|
|
52
|
+
try {
|
|
53
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
54
|
+
_iterator.return();
|
|
55
|
+
}
|
|
56
|
+
} finally {
|
|
57
|
+
if (_didIteratorError) {
|
|
58
|
+
throw _iteratorError;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
wss.on("connection", function(clientWs, req) {
|
|
64
|
+
var clientId = `client#${nextClientId++}`;
|
|
65
|
+
var query = Object.fromEntries(new URL((req === null || req === void 0 ? void 0 : req.url) || "/", "http://localhost").searchParams);
|
|
66
|
+
clients.set(clientId, {
|
|
67
|
+
ws: clientWs,
|
|
68
|
+
query
|
|
69
|
+
});
|
|
70
|
+
var remove = function() {
|
|
71
|
+
return clients.delete(clientId);
|
|
72
|
+
};
|
|
73
|
+
clientWs.on("close", remove);
|
|
74
|
+
clientWs.on("error", remove);
|
|
75
|
+
clientWs.on("message", function(data, isBinary) {
|
|
76
|
+
if (isBinary) return;
|
|
77
|
+
var message;
|
|
78
|
+
try {
|
|
79
|
+
message = JSON.parse(data.toString());
|
|
80
|
+
} catch (unused) {
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
if ((message === null || message === void 0 ? void 0 : message.version) !== PROTOCOL_VERSION) return;
|
|
84
|
+
try {
|
|
85
|
+
var _message_id, _message_id1;
|
|
86
|
+
var isBroadcastMsg = typeof message.method === "string" && message.id === void 0 && message.target === void 0;
|
|
87
|
+
var isRequest = typeof message.method === "string" && typeof message.target === "string";
|
|
88
|
+
var isResponse = typeof message.id === "object" && ((_message_id = message.id) === null || _message_id === void 0 ? void 0 : _message_id.requestId) !== void 0 && typeof ((_message_id1 = message.id) === null || _message_id1 === void 0 ? void 0 : _message_id1.clientId) === "string" && (message.result !== void 0 || message.error !== void 0);
|
|
89
|
+
if (isBroadcastMsg) {
|
|
90
|
+
broadcast(clientId, message);
|
|
91
|
+
} else if (isRequest) {
|
|
92
|
+
if (message.target === "server") {
|
|
93
|
+
var result;
|
|
94
|
+
if (message.method === "getid") {
|
|
95
|
+
result = clientId;
|
|
96
|
+
} else if (message.method === "getpeers") {
|
|
97
|
+
var peers = {};
|
|
98
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
99
|
+
try {
|
|
100
|
+
for (var _iterator = clients[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
101
|
+
var [otherId, other] = _step.value;
|
|
102
|
+
if (otherId !== clientId) peers[otherId] = other.query;
|
|
103
|
+
}
|
|
104
|
+
} catch (err) {
|
|
105
|
+
_didIteratorError = true;
|
|
106
|
+
_iteratorError = err;
|
|
107
|
+
} finally {
|
|
108
|
+
try {
|
|
109
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
110
|
+
_iterator.return();
|
|
111
|
+
}
|
|
112
|
+
} finally {
|
|
113
|
+
if (_didIteratorError) {
|
|
114
|
+
throw _iteratorError;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
result = peers;
|
|
119
|
+
} else {
|
|
120
|
+
throw new Error(`unknown method: ${message.method}`);
|
|
121
|
+
}
|
|
122
|
+
clientWs.send(JSON.stringify({
|
|
123
|
+
version: PROTOCOL_VERSION,
|
|
124
|
+
result,
|
|
125
|
+
id: message.id
|
|
126
|
+
}));
|
|
127
|
+
} else {
|
|
128
|
+
var target = clients.get(message.target);
|
|
129
|
+
if (!target) {
|
|
130
|
+
throw new Error(`could not find id "${message.target}" while forwarding request`);
|
|
131
|
+
}
|
|
132
|
+
target.ws.send(JSON.stringify({
|
|
133
|
+
version: PROTOCOL_VERSION,
|
|
134
|
+
method: message.method,
|
|
135
|
+
params: message.params,
|
|
136
|
+
id: message.id === void 0 ? void 0 : {
|
|
137
|
+
requestId: message.id,
|
|
138
|
+
clientId
|
|
139
|
+
}
|
|
140
|
+
}));
|
|
141
|
+
}
|
|
142
|
+
} else if (isResponse) {
|
|
143
|
+
if (!message.id) return;
|
|
144
|
+
var target1 = clients.get(message.id.clientId);
|
|
145
|
+
target1 === null || target1 === void 0 ? void 0 : target1.ws.send(JSON.stringify({
|
|
146
|
+
version: PROTOCOL_VERSION,
|
|
147
|
+
result: message.result,
|
|
148
|
+
error: message.error,
|
|
149
|
+
id: message.id.requestId
|
|
150
|
+
}));
|
|
151
|
+
}
|
|
152
|
+
} catch (err) {
|
|
153
|
+
if (message.id !== void 0) {
|
|
154
|
+
try {
|
|
155
|
+
clientWs.send(JSON.stringify({
|
|
156
|
+
version: PROTOCOL_VERSION,
|
|
157
|
+
error: String(err),
|
|
158
|
+
id: message.id
|
|
159
|
+
}));
|
|
160
|
+
} catch (unused) {}
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
});
|
|
164
|
+
});
|
|
165
|
+
return wss;
|
|
166
|
+
}
|