@tamagui/cli 1.32.2 → 1.32.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.
- package/dist/build.js +83 -0
- package/dist/build.js.map +6 -0
- package/dist/cjs/cli.js +18 -18
- package/dist/cjs/cli.js.map +1 -1
- package/dist/cjs/dev/createDevServer.js.map +1 -1
- package/dist/cjs/dev.js +4 -4
- package/dist/cjs/dev.js.map +1 -1
- package/dist/cjs/generate-themes.js +57 -1
- package/dist/cjs/generate-themes.js.map +2 -2
- package/dist/cjs/index.js +2 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cli.js +196 -0
- package/dist/cli.js.map +6 -0
- package/dist/create.js +2 -0
- package/dist/create.js.map +6 -0
- package/dist/dev/createDevServer.js +165 -0
- package/dist/dev/createDevServer.js.map +6 -0
- package/dist/dev.js +188 -0
- package/dist/dev.js.map +6 -0
- package/dist/esm/build.mjs +48 -0
- package/dist/esm/build.mjs.map +6 -0
- package/dist/esm/cli.js +18 -18
- package/dist/esm/cli.js.map +1 -1
- package/dist/esm/cli.mjs +173 -0
- package/dist/esm/cli.mjs.map +6 -0
- package/dist/esm/create.mjs +1 -0
- package/dist/esm/create.mjs.map +6 -0
- package/dist/esm/dev/createDevServer.js.map +1 -1
- package/dist/esm/dev/createDevServer.mjs +141 -0
- package/dist/esm/dev/createDevServer.mjs.map +6 -0
- package/dist/esm/dev.js +4 -4
- package/dist/esm/dev.js.map +1 -1
- package/dist/esm/dev.mjs +154 -0
- package/dist/esm/dev.mjs.map +6 -0
- package/dist/esm/generate-themes.js +57 -1
- package/dist/esm/generate-themes.js.map +2 -2
- package/dist/esm/generate-themes.mjs +113 -0
- package/dist/esm/generate-themes.mjs.map +6 -0
- package/dist/esm/generate.mjs +52 -0
- package/dist/esm/generate.mjs.map +6 -0
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.mjs +3 -0
- package/dist/esm/index.mjs.map +6 -0
- package/dist/esm/studio.mjs +73 -0
- package/dist/esm/studio.mjs.map +6 -0
- package/dist/esm/test.mjs +9 -0
- package/dist/esm/test.mjs.map +6 -0
- package/dist/esm/update.mjs +6 -0
- package/dist/esm/update.mjs.map +6 -0
- package/dist/esm/utils/constants.mjs +5 -0
- package/dist/esm/utils/constants.mjs.map +6 -0
- package/dist/esm/utils.mjs +86 -0
- package/dist/esm/utils.mjs.map +6 -0
- package/dist/esm/vendor/debugger-app/index.mjs +6 -0
- package/dist/esm/vendor/debugger-app/index.mjs.map +6 -0
- package/dist/esm/vendor/debugger-app/src/debuggerWorker.mjs +63 -0
- package/dist/esm/vendor/debugger-app/src/debuggerWorker.mjs.map +6 -0
- package/dist/esm/vendor/debugger-app/src/index.mjs +142 -0
- package/dist/esm/vendor/debugger-app/src/index.mjs.map +6 -0
- package/dist/esm/vendor/repack/dev-server/src/createServer.mjs +95 -0
- package/dist/esm/vendor/repack/dev-server/src/createServer.mjs.map +6 -0
- package/dist/esm/vendor/repack/dev-server/src/index.mjs +3 -0
- package/dist/esm/vendor/repack/dev-server/src/index.mjs.map +6 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/api/apiPlugin.mjs +37 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/api/apiPlugin.mjs.map +6 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/api/index.mjs +5 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/api/index.mjs.map +6 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/compiler/compilerPlugin.mjs +67 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/compiler/compilerPlugin.mjs.map +6 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/compiler/index.mjs +6 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/compiler/index.mjs.map +6 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/compiler/types.mjs +1 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/compiler/types.mjs.map +6 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/devtools/devtoolsPlugin.mjs +87 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/devtools/devtoolsPlugin.mjs.map +6 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/devtools/index.mjs +5 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/devtools/index.mjs.map +6 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/favicon/faviconPlugin.mjs +13 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/favicon/faviconPlugin.mjs.map +6 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/favicon/index.mjs +5 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/favicon/index.mjs.map +6 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/multipart/index.mjs +6 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/multipart/index.mjs.map +6 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/multipart/multipartPlugin.mjs +50 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/multipart/multipartPlugin.mjs.map +6 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/multipart/types.mjs +1 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/multipart/types.mjs.map +6 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/symbolicate/Symbolicator.mjs +186 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/symbolicate/Symbolicator.mjs.map +6 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/symbolicate/index.mjs +7 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/symbolicate/index.mjs.map +6 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/symbolicate/sybmolicatePlugin.mjs +35 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/symbolicate/sybmolicatePlugin.mjs.map +6 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/symbolicate/types.mjs +1 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/symbolicate/types.mjs.map +6 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/wss/WebSocketRouter.mjs +50 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/wss/WebSocketRouter.mjs.map +6 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/wss/WebSocketServer.mjs +32 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/wss/WebSocketServer.mjs.map +6 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/wss/index.mjs +7 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/wss/index.mjs.map +6 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/wss/servers/HermesInspectorProxy.mjs +110 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/wss/servers/HermesInspectorProxy.mjs.map +6 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketApiServer.mjs +52 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketApiServer.mjs.map +6 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketDebuggerServer.mjs +106 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketDebuggerServer.mjs.map +6 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketDevClientServer.mjs +62 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketDevClientServer.mjs.map +6 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketEventsServer.mjs +154 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketEventsServer.mjs.map +6 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketHMRServer.mjs +76 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketHMRServer.mjs.map +6 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketMessageServer.mjs +330 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketMessageServer.mjs.map +6 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/wss/types.mjs +1 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/wss/types.mjs.map +6 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/wss/wssPlugin.mjs +46 -0
- package/dist/esm/vendor/repack/dev-server/src/plugins/wss/wssPlugin.mjs.map +6 -0
- package/dist/esm/vendor/repack/dev-server/src/types.mjs +13 -0
- package/dist/esm/vendor/repack/dev-server/src/types.mjs.map +6 -0
- package/dist/esm/vendor/repack/dev-server/vendor/metro-inspector-proxy/src/Device.mjs +5 -0
- package/dist/esm/vendor/repack/dev-server/vendor/metro-inspector-proxy/src/Device.mjs.map +6 -0
- package/dist/generate-themes.js +147 -0
- package/dist/generate-themes.js.map +6 -0
- package/dist/generate.js +87 -0
- package/dist/generate.js.map +6 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +6 -0
- package/dist/studio.js +108 -0
- package/dist/studio.js.map +6 -0
- package/dist/test.js +43 -0
- package/dist/test.js.map +6 -0
- package/dist/update.js +30 -0
- package/dist/update.js.map +6 -0
- package/dist/utils/constants.js +29 -0
- package/dist/utils/constants.js.map +6 -0
- package/dist/utils.js +124 -0
- package/dist/utils.js.map +6 -0
- package/dist/vendor/debugger-app/index.js +27 -0
- package/dist/vendor/debugger-app/index.js.map +6 -0
- package/dist/vendor/debugger-app/src/debuggerWorker.js +64 -0
- package/dist/vendor/debugger-app/src/debuggerWorker.js.map +6 -0
- package/dist/vendor/debugger-app/src/index.css +41 -0
- package/dist/vendor/debugger-app/src/index.css.map +6 -0
- package/dist/vendor/debugger-app/src/index.js +165 -0
- package/dist/vendor/debugger-app/src/index.js.map +6 -0
- package/dist/vendor/repack/dev-server/src/createServer.js +129 -0
- package/dist/vendor/repack/dev-server/src/createServer.js.map +6 -0
- package/dist/vendor/repack/dev-server/src/index.js +25 -0
- package/dist/vendor/repack/dev-server/src/index.js.map +6 -0
- package/dist/vendor/repack/dev-server/src/plugins/api/apiPlugin.js +57 -0
- package/dist/vendor/repack/dev-server/src/plugins/api/apiPlugin.js.map +6 -0
- package/dist/vendor/repack/dev-server/src/plugins/api/index.js +35 -0
- package/dist/vendor/repack/dev-server/src/plugins/api/index.js.map +6 -0
- package/dist/vendor/repack/dev-server/src/plugins/compiler/compilerPlugin.js +97 -0
- package/dist/vendor/repack/dev-server/src/plugins/compiler/compilerPlugin.js.map +6 -0
- package/dist/vendor/repack/dev-server/src/plugins/compiler/index.js +41 -0
- package/dist/vendor/repack/dev-server/src/plugins/compiler/index.js.map +6 -0
- package/dist/vendor/repack/dev-server/src/plugins/compiler/types.js +17 -0
- package/dist/vendor/repack/dev-server/src/plugins/compiler/types.js.map +6 -0
- package/dist/vendor/repack/dev-server/src/plugins/devtools/devtoolsPlugin.js +117 -0
- package/dist/vendor/repack/dev-server/src/plugins/devtools/devtoolsPlugin.js.map +6 -0
- package/dist/vendor/repack/dev-server/src/plugins/devtools/index.js +35 -0
- package/dist/vendor/repack/dev-server/src/plugins/devtools/index.js.map +6 -0
- package/dist/vendor/repack/dev-server/src/plugins/favicon/faviconPlugin.js +44 -0
- package/dist/vendor/repack/dev-server/src/plugins/favicon/faviconPlugin.js.map +6 -0
- package/dist/vendor/repack/dev-server/src/plugins/favicon/index.js +35 -0
- package/dist/vendor/repack/dev-server/src/plugins/favicon/index.js.map +6 -0
- package/dist/vendor/repack/dev-server/src/plugins/multipart/index.js +41 -0
- package/dist/vendor/repack/dev-server/src/plugins/multipart/index.js.map +6 -0
- package/dist/vendor/repack/dev-server/src/plugins/multipart/multipartPlugin.js +80 -0
- package/dist/vendor/repack/dev-server/src/plugins/multipart/multipartPlugin.js.map +6 -0
- package/dist/vendor/repack/dev-server/src/plugins/multipart/types.js +17 -0
- package/dist/vendor/repack/dev-server/src/plugins/multipart/types.js.map +6 -0
- package/dist/vendor/repack/dev-server/src/plugins/symbolicate/Symbolicator.js +210 -0
- package/dist/vendor/repack/dev-server/src/plugins/symbolicate/Symbolicator.js.map +6 -0
- package/dist/vendor/repack/dev-server/src/plugins/symbolicate/index.js +43 -0
- package/dist/vendor/repack/dev-server/src/plugins/symbolicate/index.js.map +6 -0
- package/dist/vendor/repack/dev-server/src/plugins/symbolicate/sybmolicatePlugin.js +65 -0
- package/dist/vendor/repack/dev-server/src/plugins/symbolicate/sybmolicatePlugin.js.map +6 -0
- package/dist/vendor/repack/dev-server/src/plugins/symbolicate/types.js +17 -0
- package/dist/vendor/repack/dev-server/src/plugins/symbolicate/types.js.map +6 -0
- package/dist/vendor/repack/dev-server/src/plugins/wss/WebSocketRouter.js +74 -0
- package/dist/vendor/repack/dev-server/src/plugins/wss/WebSocketRouter.js.map +6 -0
- package/dist/vendor/repack/dev-server/src/plugins/wss/WebSocketServer.js +56 -0
- package/dist/vendor/repack/dev-server/src/plugins/wss/WebSocketServer.js.map +6 -0
- package/dist/vendor/repack/dev-server/src/plugins/wss/index.js +43 -0
- package/dist/vendor/repack/dev-server/src/plugins/wss/index.js.map +6 -0
- package/dist/vendor/repack/dev-server/src/plugins/wss/servers/HermesInspectorProxy.js +144 -0
- package/dist/vendor/repack/dev-server/src/plugins/wss/servers/HermesInspectorProxy.js.map +6 -0
- package/dist/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketApiServer.js +76 -0
- package/dist/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketApiServer.js.map +6 -0
- package/dist/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketDebuggerServer.js +130 -0
- package/dist/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketDebuggerServer.js.map +6 -0
- package/dist/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketDevClientServer.js +86 -0
- package/dist/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketDevClientServer.js.map +6 -0
- package/dist/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketEventsServer.js +188 -0
- package/dist/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketEventsServer.js.map +6 -0
- package/dist/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketHMRServer.js +100 -0
- package/dist/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketHMRServer.js.map +6 -0
- package/dist/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketMessageServer.js +354 -0
- package/dist/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketMessageServer.js.map +6 -0
- package/dist/vendor/repack/dev-server/src/plugins/wss/types.js +17 -0
- package/dist/vendor/repack/dev-server/src/plugins/wss/types.js.map +6 -0
- package/dist/vendor/repack/dev-server/src/plugins/wss/wssPlugin.js +76 -0
- package/dist/vendor/repack/dev-server/src/plugins/wss/wssPlugin.js.map +6 -0
- package/dist/vendor/repack/dev-server/src/types.js +37 -0
- package/dist/vendor/repack/dev-server/src/types.js.map +6 -0
- package/dist/vendor/repack/dev-server/vendor/metro-inspector-proxy/src/Device.js +35 -0
- package/dist/vendor/repack/dev-server/vendor/metro-inspector-proxy/src/Device.js.map +6 -0
- package/package.json +9 -9
- package/src/cli.ts +19 -17
- package/src/dev/createDevServer.ts +0 -2
- package/src/dev.ts +4 -4
- package/src/generate-themes.ts +81 -1
- package/src/index.ts +2 -1
- package/types/dev/createDevServer.d.ts.map +1 -1
- package/types/generate-themes.d.ts.map +1 -1
- package/types/index.d.ts +0 -1
- package/types/index.d.ts.map +1 -1
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import fastifyPlugin from "fastify-plugin";
|
|
2
|
+
import { Symbolicator } from "./Symbolicator";
|
|
3
|
+
async function symbolicatePlugin(instance, {
|
|
4
|
+
delegate
|
|
5
|
+
}) {
|
|
6
|
+
const symbolicator = new Symbolicator(delegate.symbolicator);
|
|
7
|
+
instance.post("/symbolicate", async (request, reply) => {
|
|
8
|
+
try {
|
|
9
|
+
const { stack } = JSON.parse(request.body);
|
|
10
|
+
const platform = Symbolicator.inferPlatformFromStack(stack);
|
|
11
|
+
if (!platform) {
|
|
12
|
+
request.log.debug({ msg: "Received stack", stack });
|
|
13
|
+
reply.badRequest("Cannot infer platform from stack trace");
|
|
14
|
+
} else {
|
|
15
|
+
request.log.debug({ msg: "Starting symbolication", platform, stack });
|
|
16
|
+
const results = await symbolicator.process(request.log, stack);
|
|
17
|
+
reply.send(results);
|
|
18
|
+
}
|
|
19
|
+
} catch (error) {
|
|
20
|
+
request.log.error({
|
|
21
|
+
msg: "Failed to symbolicate",
|
|
22
|
+
error: error.message
|
|
23
|
+
});
|
|
24
|
+
reply.internalServerError();
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
var sybmolicatePlugin_default = fastifyPlugin(symbolicatePlugin, {
|
|
29
|
+
name: "symbolicate-plugin",
|
|
30
|
+
dependencies: ["fastify-sensible"]
|
|
31
|
+
});
|
|
32
|
+
export {
|
|
33
|
+
sybmolicatePlugin_default as default
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=sybmolicatePlugin.mjs.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../../../src/vendor/repack/dev-server/src/plugins/symbolicate/sybmolicatePlugin.ts"],
|
|
4
|
+
"mappings": "AACA,OAAO,mBAAmB;AAG1B,SAAS,oBAAoB;AAG7B,eAAe,kBACb,UACA;AAAA,EACE;AACF,GAGA;AACA,QAAM,eAAe,IAAI,aAAa,SAAS,YAAY;AAE3D,WAAS,KAAK,gBAAgB,OAAO,SAAS,UAAU;AAItD,QAAI;AACF,YAAM,EAAE,MAAM,IAAI,KAAK,MAAM,QAAQ,IAAc;AAGnD,YAAM,WAAW,aAAa,uBAAuB,KAAK;AAC1D,UAAI,CAAC,UAAU;AACb,gBAAQ,IAAI,MAAM,EAAE,KAAK,kBAAkB,MAAM,CAAC;AAClD,cAAM,WAAW,wCAAwC;AAAA,MAC3D,OAAO;AACL,gBAAQ,IAAI,MAAM,EAAE,KAAK,0BAA0B,UAAU,MAAM,CAAC;AACpE,cAAM,UAAU,MAAM,aAAa,QAAQ,QAAQ,KAAK,KAAK;AAC7D,cAAM,KAAK,OAAO;AAAA,MACpB;AAAA,IACF,SAAS,OAAP;AACA,cAAQ,IAAI,MAAM;AAAA,QAChB,KAAK;AAAA,QACL,OAAQ,MAAgB;AAAA,MAC1B,CAAC;AACD,YAAM,oBAAoB;AAAA,IAC5B;AAAA,EACF,CAAC;AACH;AAEA,IAAO,4BAAQ,cAAc,mBAAmB;AAAA,EAC9C,MAAM;AAAA,EACN,cAAc,CAAC,kBAAkB;AACnC,CAAC;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=types.mjs.map
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
class WebSocketRouter {
|
|
2
|
+
/**
|
|
3
|
+
* Create new instance of `WebSocketRouter` and attach it to the given Fastify instance.
|
|
4
|
+
* Any logging information, will be passed through standard `fastify.log` API.
|
|
5
|
+
*
|
|
6
|
+
* @param fastify Fastify instance to attach the WebSocket router to.
|
|
7
|
+
*/
|
|
8
|
+
constructor(fastify) {
|
|
9
|
+
this.fastify = fastify;
|
|
10
|
+
/** The list of all register WebSocket servers. */
|
|
11
|
+
this.servers = [];
|
|
12
|
+
this.fastify.server.on(
|
|
13
|
+
"upgrade",
|
|
14
|
+
(request, socket, head) => {
|
|
15
|
+
const { pathname } = new URL(request.url || "", "http://localhost");
|
|
16
|
+
let matched = false;
|
|
17
|
+
console.log("check for upgrade", pathname);
|
|
18
|
+
for (const server of this.servers) {
|
|
19
|
+
if (server.shouldUpgrade(pathname)) {
|
|
20
|
+
matched = true;
|
|
21
|
+
server.upgrade(request, socket, head);
|
|
22
|
+
break;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
if (!matched) {
|
|
26
|
+
this.fastify.log.debug({
|
|
27
|
+
msg: "Destroying socket connection as no server was matched",
|
|
28
|
+
pathname
|
|
29
|
+
});
|
|
30
|
+
socket.destroy();
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Register a new {@link WebSocketServer}. New connection will now
|
|
37
|
+
* check if the given server will accept them and forward them.
|
|
38
|
+
*
|
|
39
|
+
* @param server WebSocket server to register.
|
|
40
|
+
* @returns The same instance of the WebSocket server after it's been registered.
|
|
41
|
+
*/
|
|
42
|
+
registerServer(server) {
|
|
43
|
+
this.servers.push(server);
|
|
44
|
+
return server;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
export {
|
|
48
|
+
WebSocketRouter
|
|
49
|
+
};
|
|
50
|
+
//# sourceMappingURL=WebSocketRouter.mjs.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../../../src/vendor/repack/dev-server/src/plugins/wss/WebSocketRouter.ts"],
|
|
4
|
+
"mappings": "AAiBO,MAAM,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAU3B,YAAoB,SAA0B;AAA1B;AARpB;AAAA,SAAU,UAA6B,CAAC;AAStC,SAAK,QAAQ,OAAO;AAAA,MAClB;AAAA,MACA,CAAC,SAA0B,QAAgB,SAAiB;AAC1D,cAAM,EAAE,SAAS,IAAI,IAAI,IAAI,QAAQ,OAAO,IAAI,kBAAkB;AAClE,YAAI,UAAU;AAEd,gBAAQ,IAAI,qBAAqB,QAAQ;AAEzC,mBAAW,UAAU,KAAK,SAAS;AACjC,cAAI,OAAO,cAAc,QAAQ,GAAG;AAClC,sBAAU;AACV,mBAAO,QAAQ,SAAS,QAAQ,IAAI;AACpC;AAAA,UACF;AAAA,QACF;AAEA,YAAI,CAAC,SAAS;AACZ,eAAK,QAAQ,IAAI,MAAM;AAAA,YACrB,KAAK;AAAA,YACL;AAAA,UACF,CAAC;AACD,iBAAO,QAAQ;AAAA,QACjB;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,eAA0C,QAAc;AACtD,SAAK,QAAQ,KAAK,MAAM;AACxB,WAAO;AAAA,EACT;AACF;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { WebSocketServer as WebSocketServerImpl } from "ws";
|
|
2
|
+
class WebSocketServer {
|
|
3
|
+
/**
|
|
4
|
+
* Create a new instance of the WebSocketServer.
|
|
5
|
+
* Any logging information, will be passed through standard `fastify.log` API.
|
|
6
|
+
*
|
|
7
|
+
* @param fastify Fastify instance to which the WebSocket will be attached to.
|
|
8
|
+
* @param path Path on which this WebSocketServer will be accepting connections.
|
|
9
|
+
* @param wssOptions WebSocket Server options.
|
|
10
|
+
*/
|
|
11
|
+
constructor(fastify, path, wssOptions = {}) {
|
|
12
|
+
this.fastify = fastify;
|
|
13
|
+
this.server = new WebSocketServerImpl({
|
|
14
|
+
noServer: true,
|
|
15
|
+
...wssOptions
|
|
16
|
+
});
|
|
17
|
+
this.server.on("connection", this.onConnection.bind(this));
|
|
18
|
+
this.paths = Array.isArray(path) ? path : [path];
|
|
19
|
+
}
|
|
20
|
+
shouldUpgrade(pathname) {
|
|
21
|
+
return this.paths.includes(pathname);
|
|
22
|
+
}
|
|
23
|
+
upgrade(request, socket, head) {
|
|
24
|
+
this.server.handleUpgrade(request, socket, head, (webSocket) => {
|
|
25
|
+
this.server.emit("connection", webSocket, request);
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
export {
|
|
30
|
+
WebSocketServer
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=WebSocketServer.mjs.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../../../src/vendor/repack/dev-server/src/plugins/wss/WebSocketServer.ts"],
|
|
4
|
+
"mappings": "AAIA,SAAmC,mBAAmB,2BAA2B;AAO1E,MAAe,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAiBpC,YACE,SACA,MACA,aAAoF,CAAC,GACrF;AACA,SAAK,UAAU;AACf,SAAK,SAAS,IAAI,oBAAoB;AAAA,MACpC,UAAU;AAAA,MACV,GAAG;AAAA,IACL,CAAC;AACD,SAAK,OAAO,GAAG,cAAc,KAAK,aAAa,KAAK,IAAI,CAAC;AACzD,SAAK,QAAQ,MAAM,QAAQ,IAAI,IAAI,OAAO,CAAC,IAAI;AAAA,EACjD;AAAA,EAEA,cAAc,UAAkB;AAC9B,WAAO,KAAK,MAAM,SAAS,QAAQ;AAAA,EACrC;AAAA,EAEA,QAAQ,SAA0B,QAAgB,MAAc;AAC9D,SAAK,OAAO,cAAc,SAAS,QAAQ,MAAM,CAAC,cAAc;AAC9D,WAAK,OAAO,KAAK,cAAc,WAAW,OAAO;AAAA,IACnD,CAAC;AAAA,EACH;AASF;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { URL } from "url";
|
|
2
|
+
import Device from "../../../../vendor/metro-inspector-proxy/src/Device";
|
|
3
|
+
import { WebSocketServer } from "../WebSocketServer";
|
|
4
|
+
const WS_DEVICE_URL = "/inspector/device";
|
|
5
|
+
const WS_DEBUGGER_URL = "/inspector/debug";
|
|
6
|
+
class HermesInspectorProxy extends WebSocketServer {
|
|
7
|
+
constructor(fastify, config) {
|
|
8
|
+
super(fastify, [WS_DEVICE_URL, WS_DEBUGGER_URL]);
|
|
9
|
+
this.config = config;
|
|
10
|
+
this.devices = /* @__PURE__ */ new Map();
|
|
11
|
+
this.deviceCounter = 0;
|
|
12
|
+
this.serverHost = `${this.config.host || "localhost"}:${this.config.port}`;
|
|
13
|
+
this.setup();
|
|
14
|
+
}
|
|
15
|
+
setup() {
|
|
16
|
+
const onSend = (_request, reply, _payload, done) => {
|
|
17
|
+
reply.headers({
|
|
18
|
+
"Content-Type": "application/json; charset=UTF-8",
|
|
19
|
+
"Cache-Control": "no-cache",
|
|
20
|
+
Connection: "close"
|
|
21
|
+
});
|
|
22
|
+
done();
|
|
23
|
+
};
|
|
24
|
+
this.fastify.get("/json/version", { onSend }, async () => {
|
|
25
|
+
return {
|
|
26
|
+
Browser: "Mobile JavaScript",
|
|
27
|
+
"Protocol-Version": "1.1"
|
|
28
|
+
};
|
|
29
|
+
});
|
|
30
|
+
const pageListHandler = async () => {
|
|
31
|
+
const pages = [];
|
|
32
|
+
for (const [deviceId, device] of this.devices) {
|
|
33
|
+
const devicePages = device.getPagesList();
|
|
34
|
+
for (const page of devicePages) {
|
|
35
|
+
pages.push(this.buildPageDescription(deviceId, page));
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return pages;
|
|
39
|
+
};
|
|
40
|
+
this.fastify.get("/json/list", { onSend }, pageListHandler);
|
|
41
|
+
this.fastify.get("/json", { onSend, logLevel: "silent" }, pageListHandler);
|
|
42
|
+
}
|
|
43
|
+
buildPageDescription(deviceId, page) {
|
|
44
|
+
const debuggerUrl = `${this.serverHost}${WS_DEBUGGER_URL}?device=${deviceId}&page=${page.id}`;
|
|
45
|
+
const webSocketDebuggerUrl = "ws://" + debuggerUrl;
|
|
46
|
+
const devtoolsFrontendUrl = "chrome-devtools://devtools/bundled/inspector.html?experiments=true&v8only=true&ws=" + encodeURIComponent(debuggerUrl);
|
|
47
|
+
return {
|
|
48
|
+
id: `${deviceId}-${page.id}`,
|
|
49
|
+
description: page.app,
|
|
50
|
+
title: page.title,
|
|
51
|
+
faviconUrl: "https://reactjs.org/favicon.ico",
|
|
52
|
+
devtoolsFrontendUrl,
|
|
53
|
+
type: "node",
|
|
54
|
+
webSocketDebuggerUrl,
|
|
55
|
+
vm: page.vm
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Process new WebSocket connection from device.
|
|
60
|
+
*
|
|
61
|
+
* @param socket Incoming device's WebSocket connection.
|
|
62
|
+
* @param request Upgrade request for the connection.
|
|
63
|
+
*/
|
|
64
|
+
onConnection(socket, request) {
|
|
65
|
+
try {
|
|
66
|
+
const { url = "" } = request;
|
|
67
|
+
const { searchParams } = new URL(url, "http://localhost");
|
|
68
|
+
if (url.startsWith("/inspector/device")) {
|
|
69
|
+
const deviceName = searchParams.get("name") ?? "Unknown";
|
|
70
|
+
const appName = searchParams.get("app") ?? "Unknown";
|
|
71
|
+
const deviceId = this.deviceCounter++;
|
|
72
|
+
this.devices.set(
|
|
73
|
+
deviceId,
|
|
74
|
+
new Device(deviceId, deviceName, appName, socket, this.config.rootDir)
|
|
75
|
+
);
|
|
76
|
+
this.fastify.log.info({ msg: "Hermes device connected", deviceId });
|
|
77
|
+
const onClose = () => {
|
|
78
|
+
this.fastify.log.info({
|
|
79
|
+
msg: "Hermes device disconnected",
|
|
80
|
+
deviceId
|
|
81
|
+
});
|
|
82
|
+
this.devices.delete(deviceId);
|
|
83
|
+
};
|
|
84
|
+
socket.addEventListener("error", onClose);
|
|
85
|
+
socket.addEventListener("close", onClose);
|
|
86
|
+
} else {
|
|
87
|
+
const deviceId = searchParams.get("device") ?? void 0;
|
|
88
|
+
const pageId = searchParams.get("page") ?? void 0;
|
|
89
|
+
if (deviceId === void 0 || pageId === void 0) {
|
|
90
|
+
throw new Error("Incorrect URL - must provide device and page IDs");
|
|
91
|
+
}
|
|
92
|
+
const device = this.devices.get(parseInt(deviceId, 10));
|
|
93
|
+
if (!device) {
|
|
94
|
+
throw new Error("Unknown device with ID " + deviceId);
|
|
95
|
+
}
|
|
96
|
+
device.handleDebuggerConnection(socket, pageId);
|
|
97
|
+
}
|
|
98
|
+
} catch (error) {
|
|
99
|
+
this.fastify.log.error({
|
|
100
|
+
msg: "Failed to establish connection with Hermes device",
|
|
101
|
+
error: error.message
|
|
102
|
+
});
|
|
103
|
+
socket.close(1011, error.toString());
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
export {
|
|
108
|
+
HermesInspectorProxy
|
|
109
|
+
};
|
|
110
|
+
//# sourceMappingURL=HermesInspectorProxy.mjs.map
|
package/dist/esm/vendor/repack/dev-server/src/plugins/wss/servers/HermesInspectorProxy.mjs.map
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../../../../src/vendor/repack/dev-server/src/plugins/wss/servers/HermesInspectorProxy.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { WebSocketServer } from "../WebSocketServer";
|
|
2
|
+
class WebSocketApiServer extends WebSocketServer {
|
|
3
|
+
/**
|
|
4
|
+
* Create new instance of WebSocketApiServer and attach it to the given Fastify instance.
|
|
5
|
+
* Any logging information, will be passed through standard `fastify.log` API.
|
|
6
|
+
*
|
|
7
|
+
* @param fastify Fastify instance to attach the WebSocket server to.
|
|
8
|
+
*/
|
|
9
|
+
constructor(fastify) {
|
|
10
|
+
super(fastify, "/api");
|
|
11
|
+
this.clients = /* @__PURE__ */ new Map();
|
|
12
|
+
this.nextClientId = 0;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Send message to all connected API clients.
|
|
16
|
+
*
|
|
17
|
+
* @param event Event string or object to send.
|
|
18
|
+
*/
|
|
19
|
+
send(event) {
|
|
20
|
+
const data = typeof event === "string" ? event : JSON.stringify(event);
|
|
21
|
+
for (const [, socket] of this.clients.entries()) {
|
|
22
|
+
try {
|
|
23
|
+
socket.send(data);
|
|
24
|
+
} catch {
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Process new WebSocket connection from client application.
|
|
30
|
+
*
|
|
31
|
+
* @param socket Incoming client's WebSocket connection.
|
|
32
|
+
*/
|
|
33
|
+
onConnection(socket) {
|
|
34
|
+
const clientId = `client#${this.nextClientId++}`;
|
|
35
|
+
this.clients.set(clientId, socket);
|
|
36
|
+
this.fastify.log.info({ msg: "API client connected", clientId });
|
|
37
|
+
this.clients.set(clientId, socket);
|
|
38
|
+
const onClose = () => {
|
|
39
|
+
this.fastify.log.info({
|
|
40
|
+
msg: "API client disconnected",
|
|
41
|
+
clientId
|
|
42
|
+
});
|
|
43
|
+
this.clients.delete(clientId);
|
|
44
|
+
};
|
|
45
|
+
socket.addEventListener("error", onClose);
|
|
46
|
+
socket.addEventListener("close", onClose);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
export {
|
|
50
|
+
WebSocketApiServer
|
|
51
|
+
};
|
|
52
|
+
//# sourceMappingURL=WebSocketApiServer.mjs.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../../../../src/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketApiServer.ts"],
|
|
4
|
+
"mappings": "AAGA,SAAS,uBAAuB;AAQzB,MAAM,2BAA2B,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUtD,YAAY,SAA0B;AACpC,UAAM,SAAS,MAAM;AAVvB,SAAQ,UAAU,oBAAI,IAAuB;AAC7C,SAAQ,eAAe;AAAA,EAUvB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,KAAK,OAAY;AACf,UAAM,OAAO,OAAO,UAAU,WAAW,QAAQ,KAAK,UAAU,KAAK;AAErE,eAAW,CAAC,EAAE,MAAM,KAAK,KAAK,QAAQ,QAAQ,GAAG;AAC/C,UAAI;AACF,eAAO,KAAK,IAAI;AAAA,MAClB,QAAE;AAAA,MAEF;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,aAAa,QAAmB;AAC9B,UAAM,WAAW,UAAU,KAAK;AAChC,SAAK,QAAQ,IAAI,UAAU,MAAM;AAEjC,SAAK,QAAQ,IAAI,KAAK,EAAE,KAAK,wBAAwB,SAAS,CAAC;AAC/D,SAAK,QAAQ,IAAI,UAAU,MAAM;AAEjC,UAAM,UAAU,MAAM;AACpB,WAAK,QAAQ,IAAI,KAAK;AAAA,QACpB,KAAK;AAAA,QACL;AAAA,MACF,CAAC;AACD,WAAK,QAAQ,OAAO,QAAQ;AAAA,IAC9B;AAEA,WAAO,iBAAiB,SAAS,OAAO;AACxC,WAAO,iBAAiB,SAAS,OAAO;AAAA,EAC1C;AACF;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { WebSocketServer } from "../WebSocketServer";
|
|
2
|
+
class WebSocketDebuggerServer extends WebSocketServer {
|
|
3
|
+
/**
|
|
4
|
+
* Create new instance of WebSocketDebuggerServer and attach it to the given Fastify instance.
|
|
5
|
+
* Any logging information, will be passed through standard `fastify.log` API.
|
|
6
|
+
*
|
|
7
|
+
* @param fastify Fastify instance to attach the WebSocket server to.
|
|
8
|
+
*/
|
|
9
|
+
constructor(fastify) {
|
|
10
|
+
super(fastify, "/debugger-proxy");
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Check if debugger UI is connected to the WebSocketDebuggerServer.
|
|
14
|
+
*/
|
|
15
|
+
isDebuggerConnected() {
|
|
16
|
+
return Boolean(this.debuggerSocket);
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Send a message to a given WebSocket connection.
|
|
20
|
+
*
|
|
21
|
+
* @param socket WebSocket connection to send the message to.
|
|
22
|
+
* @param message Message to send.
|
|
23
|
+
*/
|
|
24
|
+
send(socket, message) {
|
|
25
|
+
try {
|
|
26
|
+
socket == null ? void 0 : socket.send(message);
|
|
27
|
+
} catch (error) {
|
|
28
|
+
this.fastify.log.warn({ msg: "Failed to send data to socket", error });
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Process new WebSocket connection. The upgrade request should contain `role` query param
|
|
33
|
+
* for determining the type of the connection.
|
|
34
|
+
*
|
|
35
|
+
* @param socket Incoming WebSocket connection.
|
|
36
|
+
* @param request Upgrade request for the connection.
|
|
37
|
+
*/
|
|
38
|
+
onConnection(socket, request) {
|
|
39
|
+
const { url = "" } = request;
|
|
40
|
+
if (url.indexOf("role=debugger") >= 0) {
|
|
41
|
+
this.fastify.log.info({ msg: "Chrome Remote JS debugger connected" });
|
|
42
|
+
this.onDebuggerConnection(socket);
|
|
43
|
+
} else if (url.indexOf("role=client") >= 0) {
|
|
44
|
+
this.fastify.log.info({ msg: "React Native app connected to debugger" });
|
|
45
|
+
this.onClientConnection(socket);
|
|
46
|
+
} else {
|
|
47
|
+
socket.close(1011, "Missing role param");
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Process new WebSocket connection from Debugger UI (Remote JS Debugger).
|
|
52
|
+
* If there's already open connection, the new one gets closed automatically.
|
|
53
|
+
*
|
|
54
|
+
* @param socket Incoming debugger WebSocket connection.
|
|
55
|
+
*/
|
|
56
|
+
onDebuggerConnection(socket) {
|
|
57
|
+
if (this.debuggerSocket) {
|
|
58
|
+
socket.close(1011, "Another debugger is already connected");
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
this.debuggerSocket = socket;
|
|
62
|
+
const onClose = () => {
|
|
63
|
+
this.fastify.log.info({ msg: "Chrome Remote JS debugger disconnected" });
|
|
64
|
+
this.debuggerSocket = void 0;
|
|
65
|
+
if (this.clientSocket) {
|
|
66
|
+
this.clientSocket.removeAllListeners();
|
|
67
|
+
this.clientSocket.close(1011, "Debugger was disconnected");
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
this.debuggerSocket.addEventListener("error", onClose);
|
|
71
|
+
this.debuggerSocket.addEventListener("close", onClose);
|
|
72
|
+
this.debuggerSocket.addEventListener("message", ({ data }) => {
|
|
73
|
+
this.send(this.clientSocket, data.toString());
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Process new WebSocket connection from React Native app (client)
|
|
78
|
+
* and close any previous connection.
|
|
79
|
+
*
|
|
80
|
+
* @param socket Incoming client WebSocket connection.
|
|
81
|
+
*/
|
|
82
|
+
onClientConnection(socket) {
|
|
83
|
+
if (this.clientSocket) {
|
|
84
|
+
this.clientSocket.removeAllListeners();
|
|
85
|
+
this.clientSocket.close(1011, "Another client is connected");
|
|
86
|
+
this.clientSocket = void 0;
|
|
87
|
+
}
|
|
88
|
+
const onClose = () => {
|
|
89
|
+
this.fastify.log.info({
|
|
90
|
+
msg: "React Native app disconnected from debugger"
|
|
91
|
+
});
|
|
92
|
+
this.clientSocket = void 0;
|
|
93
|
+
this.send(this.debuggerSocket, JSON.stringify({ method: "$disconnected" }));
|
|
94
|
+
};
|
|
95
|
+
this.clientSocket = socket;
|
|
96
|
+
this.clientSocket.addEventListener("error", onClose);
|
|
97
|
+
this.clientSocket.addEventListener("close", onClose);
|
|
98
|
+
this.clientSocket.addEventListener("message", ({ data }) => {
|
|
99
|
+
this.send(this.debuggerSocket, data.toString());
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
export {
|
|
104
|
+
WebSocketDebuggerServer
|
|
105
|
+
};
|
|
106
|
+
//# sourceMappingURL=WebSocketDebuggerServer.mjs.map
|
package/dist/esm/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketDebuggerServer.mjs.map
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../../../../src/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketDebuggerServer.ts"],
|
|
4
|
+
"mappings": "AAKA,SAAS,uBAAuB;AAWzB,MAAM,gCAAgC,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAiB3D,YAAY,SAA0B;AACpC,UAAM,SAAS,iBAAiB;AAAA,EAClC;AAAA;AAAA;AAAA;AAAA,EAKA,sBAAsB;AACpB,WAAO,QAAQ,KAAK,cAAc;AAAA,EACpC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,KAAK,QAA+B,SAAiB;AACnD,QAAI;AACF,uCAAQ,KAAK;AAAA,IACf,SAAS,OAAP;AACA,WAAK,QAAQ,IAAI,KAAK,EAAE,KAAK,iCAAiC,MAAM,CAAC;AAAA,IACvE;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,aAAa,QAAmB,SAA0B;AACxD,UAAM,EAAE,MAAM,GAAG,IAAI;AACrB,QAAI,IAAI,QAAQ,eAAe,KAAK,GAAG;AACrC,WAAK,QAAQ,IAAI,KAAK,EAAE,KAAK,sCAAsC,CAAC;AACpE,WAAK,qBAAqB,MAAM;AAAA,IAClC,WAAW,IAAI,QAAQ,aAAa,KAAK,GAAG;AAC1C,WAAK,QAAQ,IAAI,KAAK,EAAE,KAAK,yCAAyC,CAAC;AACvE,WAAK,mBAAmB,MAAM;AAAA,IAChC,OAAO;AACL,aAAO,MAAM,MAAM,oBAAoB;AAAA,IACzC;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,qBAAqB,QAAmB;AACtC,QAAI,KAAK,gBAAgB;AACvB,aAAO,MAAM,MAAM,uCAAuC;AAC1D;AAAA,IACF;AACA,SAAK,iBAAiB;AACtB,UAAM,UAAU,MAAM;AACpB,WAAK,QAAQ,IAAI,KAAK,EAAE,KAAK,yCAAyC,CAAC;AACvE,WAAK,iBAAiB;AACtB,UAAI,KAAK,cAAc;AACrB,aAAK,aAAa,mBAAmB;AACrC,aAAK,aAAa,MAAM,MAAM,2BAA2B;AAAA,MAC3D;AAAA,IACF;AACA,SAAK,eAAe,iBAAiB,SAAS,OAAO;AACrD,SAAK,eAAe,iBAAiB,SAAS,OAAO;AACrD,SAAK,eAAe,iBAAiB,WAAW,CAAC,EAAE,KAAK,MAAM;AAC5D,WAAK,KAAK,KAAK,cAAc,KAAK,SAAS,CAAC;AAAA,IAC9C,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,mBAAmB,QAAmB;AACpC,QAAI,KAAK,cAAc;AACrB,WAAK,aAAa,mBAAmB;AACrC,WAAK,aAAa,MAAM,MAAM,6BAA6B;AAC3D,WAAK,eAAe;AAAA,IACtB;AAEA,UAAM,UAAU,MAAM;AACpB,WAAK,QAAQ,IAAI,KAAK;AAAA,QACpB,KAAK;AAAA,MACP,CAAC;AACD,WAAK,eAAe;AACpB,WAAK,KAAK,KAAK,gBAAgB,KAAK,UAAU,EAAE,QAAQ,gBAAgB,CAAC,CAAC;AAAA,IAC5E;AAEA,SAAK,eAAe;AACpB,SAAK,aAAa,iBAAiB,SAAS,OAAO;AACnD,SAAK,aAAa,iBAAiB,SAAS,OAAO;AACnD,SAAK,aAAa,iBAAiB,WAAW,CAAC,EAAE,KAAK,MAAM;AAC1D,WAAK,KAAK,KAAK,gBAAgB,KAAK,SAAS,CAAC;AAAA,IAChD,CAAC;AAAA,EACH;AACF;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
package/dist/esm/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketDevClientServer.mjs
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { WebSocketServer } from "../WebSocketServer";
|
|
2
|
+
class WebSocketDevClientServer extends WebSocketServer {
|
|
3
|
+
/**
|
|
4
|
+
* Create new instance of WebSocketDevClientServer and attach it to the given Fastify instance.
|
|
5
|
+
* Any logging information, will be passed through standard `fastify.log` API.
|
|
6
|
+
*
|
|
7
|
+
* @param fastify Fastify instance to attach the WebSocket server to.
|
|
8
|
+
*/
|
|
9
|
+
constructor(fastify) {
|
|
10
|
+
super(fastify, "/__client");
|
|
11
|
+
this.clients = /* @__PURE__ */ new Map();
|
|
12
|
+
this.nextClientId = 0;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Process client message.
|
|
16
|
+
*
|
|
17
|
+
* @param message Stringified client message.
|
|
18
|
+
*/
|
|
19
|
+
processMessage(message) {
|
|
20
|
+
const { type, ...body } = JSON.parse(message);
|
|
21
|
+
switch (type) {
|
|
22
|
+
case "client-log":
|
|
23
|
+
if (body.level === "error") {
|
|
24
|
+
this.fastify.log.error({ issuer: "Console", msg: body.data });
|
|
25
|
+
} else if (body.level === "warn") {
|
|
26
|
+
this.fastify.log.warn({ issuer: "Console", msg: body.data });
|
|
27
|
+
} else {
|
|
28
|
+
this.fastify.log.info({ issuer: "Console", msg: body.data });
|
|
29
|
+
}
|
|
30
|
+
break;
|
|
31
|
+
default:
|
|
32
|
+
this.fastify.log.warn({ msg: "Unknown client message", message });
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Process new WebSocket connection from client application.
|
|
37
|
+
*
|
|
38
|
+
* @param socket Incoming client's WebSocket connection.
|
|
39
|
+
*/
|
|
40
|
+
onConnection(socket) {
|
|
41
|
+
const clientId = `client#${this.nextClientId++}`;
|
|
42
|
+
this.clients.set(clientId, socket);
|
|
43
|
+
this.fastify.log.info({ msg: "React Native client connected", clientId });
|
|
44
|
+
this.clients.set(clientId, socket);
|
|
45
|
+
const onClose = () => {
|
|
46
|
+
this.fastify.log.info({
|
|
47
|
+
msg: "React Native client disconnected",
|
|
48
|
+
clientId
|
|
49
|
+
});
|
|
50
|
+
this.clients.delete(clientId);
|
|
51
|
+
};
|
|
52
|
+
socket.addEventListener("error", onClose);
|
|
53
|
+
socket.addEventListener("close", onClose);
|
|
54
|
+
socket.addEventListener("message", (event) => {
|
|
55
|
+
this.processMessage(event.data.toString());
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
export {
|
|
60
|
+
WebSocketDevClientServer
|
|
61
|
+
};
|
|
62
|
+
//# sourceMappingURL=WebSocketDevClientServer.mjs.map
|
package/dist/esm/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketDevClientServer.mjs.map
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../../../../src/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketDevClientServer.ts"],
|
|
4
|
+
"mappings": "AAGA,SAAS,uBAAuB;AAQzB,MAAM,iCAAiC,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAU5D,YAAY,SAA0B;AACpC,UAAM,SAAS,WAAW;AAV5B,SAAQ,UAAU,oBAAI,IAAuB;AAC7C,SAAQ,eAAe;AAAA,EAUvB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,eAAe,SAAiB;AAC9B,UAAM,EAAE,MAAM,GAAG,KAAK,IAAI,KAAK,MAAM,OAAO;AAC5C,YAAQ,MAAM;AAAA,MACZ,KAAK;AACH,YAAI,KAAK,UAAU,SAAS;AAC1B,eAAK,QAAQ,IAAI,MAAM,EAAE,QAAQ,WAAW,KAAK,KAAK,KAAK,CAAC;AAAA,QAC9D,WAAW,KAAK,UAAU,QAAQ;AAChC,eAAK,QAAQ,IAAI,KAAK,EAAE,QAAQ,WAAW,KAAK,KAAK,KAAK,CAAC;AAAA,QAC7D,OAAO;AACL,eAAK,QAAQ,IAAI,KAAK,EAAE,QAAQ,WAAW,KAAK,KAAK,KAAK,CAAC;AAAA,QAC7D;AACA;AAAA,MACF;AACE,aAAK,QAAQ,IAAI,KAAK,EAAE,KAAK,0BAA0B,QAAQ,CAAC;AAAA,IACpE;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,aAAa,QAAmB;AAC9B,UAAM,WAAW,UAAU,KAAK;AAChC,SAAK,QAAQ,IAAI,UAAU,MAAM;AAEjC,SAAK,QAAQ,IAAI,KAAK,EAAE,KAAK,iCAAiC,SAAS,CAAC;AACxE,SAAK,QAAQ,IAAI,UAAU,MAAM;AAEjC,UAAM,UAAU,MAAM;AACpB,WAAK,QAAQ,IAAI,KAAK;AAAA,QACpB,KAAK;AAAA,QACL;AAAA,MACF,CAAC;AACD,WAAK,QAAQ,OAAO,QAAQ;AAAA,IAC9B;AAEA,WAAO,iBAAiB,SAAS,OAAO;AACxC,WAAO,iBAAiB,SAAS,OAAO;AACxC,WAAO,iBAAiB,WAAW,CAAC,UAAU;AAC5C,WAAK,eAAe,MAAM,KAAK,SAAS,CAAC;AAAA,IAC3C,CAAC;AAAA,EACH;AACF;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|