@colyseus/monitor 0.16.0-preview.2 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/build/api.d.ts +1 -1
  2. package/build/api.js +95 -80
  3. package/build/api.js.map +7 -0
  4. package/build/api.mjs +68 -0
  5. package/build/api.mjs.map +7 -0
  6. package/build/ext/Room.js +62 -68
  7. package/build/ext/Room.js.map +7 -0
  8. package/build/ext/Room.mjs +72 -0
  9. package/build/ext/Room.mjs.map +7 -0
  10. package/build/index.d.ts +1 -1
  11. package/build/index.js +44 -18
  12. package/build/index.js.map +7 -0
  13. package/build/index.mjs +15 -0
  14. package/build/index.mjs.map +7 -0
  15. package/build/{static/build/frontend → src}/components/RoomList.d.ts +1 -0
  16. package/build/src/services.d.ts +3 -0
  17. package/build/{static/build → src-backend}/api.d.ts +1 -1
  18. package/build/{static/build → src-backend}/index.d.ts +1 -1
  19. package/build/static/bundle.js +24 -24
  20. package/build/static/bundle.js.map +1 -1
  21. package/build/static/styles.css +148 -137
  22. package/build/static/styles.css.map +1 -1
  23. package/build.mjs +90 -0
  24. package/package.json +10 -9
  25. package/src-backend/api.ts +84 -0
  26. package/src-backend/ext/Room.ts +67 -0
  27. package/src-backend/index.ts +31 -0
  28. package/tsconfig.json +5 -4
  29. package/webpack.config.js +2 -2
  30. package/build/static/build/frontend/services.d.ts +0 -5
  31. /package/build/{static/build/frontend → src}/App.d.ts +0 -0
  32. /package/build/{static/build/frontend → src}/components/CAppBar.d.ts +0 -0
  33. /package/build/{static/build/frontend → src}/components/RoomInspect.d.ts +0 -0
  34. /package/build/{static/build/frontend → src}/helpers/helpers.d.ts +0 -0
  35. /package/build/{static/build/frontend → src}/index.d.ts +0 -0
  36. /package/build/{static/build → src-backend}/ext/Room.d.ts +0 -0
package/build/api.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- import { MonitorOptions } from ".";
1
+ import type { MonitorOptions } from './index.js';
2
2
  export declare function getAPI(opts: Partial<MonitorOptions>): any;
package/build/api.js CHANGED
@@ -1,85 +1,100 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
10
  };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
13
18
  };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.getAPI = void 0;
16
- const core_1 = require("@colyseus/core");
17
- const express_1 = __importDefault(require("express"));
18
- const node_os_utils_1 = __importDefault(require("node-os-utils"));
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+ var api_exports = {};
29
+ __export(api_exports, {
30
+ getAPI: () => getAPI
31
+ });
32
+ module.exports = __toCommonJS(api_exports);
33
+ var import_core = require("@colyseus/core");
34
+ var import_express = __toESM(require("express"));
35
+ var import_node_os_utils = __toESM(require("node-os-utils"));
19
36
  const UNAVAILABLE_ROOM_ERROR = "@colyseus/monitor: room $roomId is not available anymore.";
20
37
  function getAPI(opts) {
21
- const api = express_1.default.Router();
22
- api.get("/", (req, res) => __awaiter(this, void 0, void 0, function* () {
23
- try {
24
- const rooms = yield core_1.matchMaker.query({});
25
- const columns = opts.columns || ['roomId', 'name', 'clients', 'maxClients', 'locked', 'elapsedTime'];
26
- // extend columns to expose "publicAddress", if present
27
- if (!opts.columns && rooms[0] && rooms[0].publicAddress !== undefined) {
28
- columns.push("publicAddress");
29
- }
30
- let connections = 0;
31
- res.json({
32
- columns,
33
- rooms: rooms.map(room => {
34
- const data = JSON.parse(JSON.stringify(room));
35
- connections += room.clients;
36
- // additional data
37
- data.locked = room.locked || false;
38
- data.private = room.private;
39
- data.maxClients = `${room.maxClients}`;
40
- data.elapsedTime = Date.now() - new Date(room.createdAt).getTime();
41
- return data;
42
- }),
43
- connections,
44
- cpu: yield node_os_utils_1.default.cpu.usage(),
45
- memory: yield node_os_utils_1.default.mem.used()
46
- });
47
- }
48
- catch (e) {
49
- const message = e.message;
50
- console.error(message);
51
- res.status(500);
52
- res.json({ message });
53
- }
54
- }));
55
- api.get("/room", (req, res) => __awaiter(this, void 0, void 0, function* () {
56
- const roomId = req.query.roomId;
57
- try {
58
- const inspectData = yield core_1.matchMaker.remoteRoomCall(roomId, "getInspectData");
59
- res.json(inspectData);
60
- }
61
- catch (e) {
62
- const message = UNAVAILABLE_ROOM_ERROR.replace("$roomId", roomId);
63
- console.error(message);
64
- res.status(500);
65
- res.json({ message });
66
- }
67
- }));
68
- api.get("/room/call", (req, res) => __awaiter(this, void 0, void 0, function* () {
69
- const roomId = req.query.roomId;
70
- const method = req.query.method;
71
- const args = JSON.parse(req.query.args);
72
- try {
73
- const data = yield core_1.matchMaker.remoteRoomCall(roomId, method, args);
74
- res.json(data);
75
- }
76
- catch (e) {
77
- const message = UNAVAILABLE_ROOM_ERROR.replace("$roomId", roomId);
78
- console.error(message);
79
- res.status(500);
80
- res.json({ message });
81
- }
82
- }));
83
- return api;
38
+ const api = import_express.default.Router();
39
+ api.get("/", async (req, res) => {
40
+ try {
41
+ const rooms = await import_core.matchMaker.query({});
42
+ const columns = opts.columns || ["roomId", "name", "clients", "maxClients", "locked", "elapsedTime"];
43
+ if (!opts.columns && rooms[0] && rooms[0].publicAddress !== void 0) {
44
+ columns.push("publicAddress");
45
+ }
46
+ let connections = 0;
47
+ res.json({
48
+ columns,
49
+ rooms: rooms.map((room) => {
50
+ const data = JSON.parse(JSON.stringify(room));
51
+ connections += room.clients;
52
+ data.locked = room.locked || false;
53
+ data.private = room.private;
54
+ data.maxClients = `${room.maxClients}`;
55
+ data.elapsedTime = Date.now() - new Date(room.createdAt).getTime();
56
+ return data;
57
+ }),
58
+ connections,
59
+ cpu: await import_node_os_utils.default.cpu.usage(),
60
+ memory: await import_node_os_utils.default.mem.used()
61
+ });
62
+ } catch (e) {
63
+ const message = e.message;
64
+ console.error(message);
65
+ res.status(500);
66
+ res.json({ message });
67
+ }
68
+ });
69
+ api.get("/room", async (req, res) => {
70
+ const roomId = req.query.roomId;
71
+ try {
72
+ const inspectData = await import_core.matchMaker.remoteRoomCall(roomId, "getInspectData");
73
+ res.json(inspectData);
74
+ } catch (e) {
75
+ const message = UNAVAILABLE_ROOM_ERROR.replace("$roomId", roomId);
76
+ console.error(message);
77
+ res.status(500);
78
+ res.json({ message });
79
+ }
80
+ });
81
+ api.get("/room/call", async (req, res) => {
82
+ const roomId = req.query.roomId;
83
+ const method = req.query.method;
84
+ const args = JSON.parse(req.query.args);
85
+ try {
86
+ const data = await import_core.matchMaker.remoteRoomCall(roomId, method, args);
87
+ res.json(data);
88
+ } catch (e) {
89
+ const message = UNAVAILABLE_ROOM_ERROR.replace("$roomId", roomId);
90
+ console.error(message);
91
+ res.status(500);
92
+ res.json({ message });
93
+ }
94
+ });
95
+ return api;
84
96
  }
85
- exports.getAPI = getAPI;
97
+ // Annotate the CommonJS export names for ESM import in node:
98
+ 0 && (module.exports = {
99
+ getAPI
100
+ });
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src-backend/api.ts"],
4
+ "sourcesContent": ["import { matchMaker } from '@colyseus/core';\n\nimport express from 'express';\nimport osUtils from 'node-os-utils';\n\nimport type { MonitorOptions } from './index.js';\n\nconst UNAVAILABLE_ROOM_ERROR = \"@colyseus/monitor: room $roomId is not available anymore.\";\n\nexport function getAPI (opts: Partial<MonitorOptions>) {\n const api = express.Router();\n\n api.get(\"/\", async (req: express.Request, res: express.Response) => {\n try {\n const rooms: any[] = await matchMaker.query({});\n const columns = opts.columns || ['roomId', 'name', 'clients', 'maxClients', 'locked', 'elapsedTime'];\n\n // extend columns to expose \"publicAddress\", if present\n if (!opts.columns && rooms[0] && rooms[0].publicAddress !== undefined) {\n columns.push(\"publicAddress\");\n }\n\n let connections: number = 0;\n\n res.json({\n columns,\n rooms: rooms.map(room => {\n const data = JSON.parse(JSON.stringify(room));\n\n connections += room.clients;\n\n // additional data\n data.locked = room.locked || false;\n data.private = room.private;\n\n data.maxClients = `${room.maxClients}`;\n\n data.elapsedTime = Date.now() - new Date(room.createdAt).getTime();\n return data;\n }),\n\n connections,\n cpu: await osUtils.cpu.usage(),\n memory: await osUtils.mem.used()\n });\n } catch (e) {\n const message = e.message;\n console.error(message);\n res.status(500);\n res.json({ message });\n }\n });\n\n api.get(\"/room\", async (req: express.Request, res: express.Response) => {\n const roomId = req.query.roomId as string;\n try {\n const inspectData = await matchMaker.remoteRoomCall(roomId, \"getInspectData\");\n res.json(inspectData);\n } catch (e) {\n const message = UNAVAILABLE_ROOM_ERROR.replace(\"$roomId\", roomId);\n console.error(message);\n res.status(500);\n res.json({ message });\n }\n });\n\n api.get(\"/room/call\", async (req: express.Request, res: express.Response) => {\n const roomId = req.query.roomId as string;\n const method = req.query.method as string;\n const args = JSON.parse(req.query.args as string);\n\n try {\n const data = await matchMaker.remoteRoomCall(roomId, method, args);\n res.json(data);\n } catch (e) {\n const message = UNAVAILABLE_ROOM_ERROR.replace(\"$roomId\", roomId);\n console.error(message);\n res.status(500);\n res.json({ message });\n }\n });\n\n return api;\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAA2B;AAE3B,qBAAoB;AACpB,2BAAoB;AAIpB,MAAM,yBAAyB;AAExB,SAAS,OAAQ,MAA+B;AACnD,QAAM,MAAM,eAAAA,QAAQ,OAAO;AAE3B,MAAI,IAAI,KAAK,OAAO,KAAsB,QAA0B;AAChE,QAAI;AACA,YAAM,QAAe,MAAM,uBAAW,MAAM,CAAC,CAAC;AAC9C,YAAM,UAAU,KAAK,WAAW,CAAC,UAAU,QAAQ,WAAW,cAAc,UAAU,aAAa;AAGnG,UAAI,CAAC,KAAK,WAAW,MAAM,CAAC,KAAK,MAAM,CAAC,EAAE,kBAAkB,QAAW;AACnE,gBAAQ,KAAK,eAAe;AAAA,MAChC;AAEA,UAAI,cAAsB;AAE1B,UAAI,KAAK;AAAA,QACL;AAAA,QACA,OAAO,MAAM,IAAI,UAAQ;AACrB,gBAAM,OAAO,KAAK,MAAM,KAAK,UAAU,IAAI,CAAC;AAE5C,yBAAe,KAAK;AAGpB,eAAK,SAAS,KAAK,UAAU;AAC7B,eAAK,UAAU,KAAK;AAEpB,eAAK,aAAa,GAAG,KAAK,UAAU;AAEpC,eAAK,cAAc,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,QAAQ;AACjE,iBAAO;AAAA,QACX,CAAC;AAAA,QAED;AAAA,QACA,KAAK,MAAM,qBAAAC,QAAQ,IAAI,MAAM;AAAA,QAC7B,QAAQ,MAAM,qBAAAA,QAAQ,IAAI,KAAK;AAAA,MACnC,CAAC;AAAA,IACL,SAAS,GAAG;AACR,YAAM,UAAU,EAAE;AAClB,cAAQ,MAAM,OAAO;AACrB,UAAI,OAAO,GAAG;AACd,UAAI,KAAK,EAAE,QAAQ,CAAC;AAAA,IACxB;AAAA,EACJ,CAAC;AAED,MAAI,IAAI,SAAS,OAAO,KAAsB,QAA0B;AACpE,UAAM,SAAS,IAAI,MAAM;AACzB,QAAI;AACA,YAAM,cAAc,MAAM,uBAAW,eAAe,QAAQ,gBAAgB;AAC5E,UAAI,KAAK,WAAW;AAAA,IACxB,SAAS,GAAG;AACR,YAAM,UAAU,uBAAuB,QAAQ,WAAW,MAAM;AAChE,cAAQ,MAAM,OAAO;AACrB,UAAI,OAAO,GAAG;AACd,UAAI,KAAK,EAAE,QAAQ,CAAC;AAAA,IACxB;AAAA,EACJ,CAAC;AAED,MAAI,IAAI,cAAc,OAAO,KAAsB,QAA0B;AACzE,UAAM,SAAS,IAAI,MAAM;AACzB,UAAM,SAAS,IAAI,MAAM;AACzB,UAAM,OAAO,KAAK,MAAM,IAAI,MAAM,IAAc;AAEhD,QAAI;AACA,YAAM,OAAO,MAAM,uBAAW,eAAe,QAAQ,QAAQ,IAAI;AACjE,UAAI,KAAK,IAAI;AAAA,IACjB,SAAS,GAAG;AACR,YAAM,UAAU,uBAAuB,QAAQ,WAAW,MAAM;AAChE,cAAQ,MAAM,OAAO;AACrB,UAAI,OAAO,GAAG;AACd,UAAI,KAAK,EAAE,QAAQ,CAAC;AAAA,IACxB;AAAA,EACJ,CAAC;AAED,SAAO;AACX;",
6
+ "names": ["express", "osUtils"]
7
+ }
package/build/api.mjs ADDED
@@ -0,0 +1,68 @@
1
+ // src-backend/api.ts
2
+ import { matchMaker } from "@colyseus/core";
3
+ import express from "express";
4
+ import osUtils from "node-os-utils";
5
+ var UNAVAILABLE_ROOM_ERROR = "@colyseus/monitor: room $roomId is not available anymore.";
6
+ function getAPI(opts) {
7
+ const api = express.Router();
8
+ api.get("/", async (req, res) => {
9
+ try {
10
+ const rooms = await matchMaker.query({});
11
+ const columns = opts.columns || ["roomId", "name", "clients", "maxClients", "locked", "elapsedTime"];
12
+ if (!opts.columns && rooms[0] && rooms[0].publicAddress !== void 0) {
13
+ columns.push("publicAddress");
14
+ }
15
+ let connections = 0;
16
+ res.json({
17
+ columns,
18
+ rooms: rooms.map((room) => {
19
+ const data = JSON.parse(JSON.stringify(room));
20
+ connections += room.clients;
21
+ data.locked = room.locked || false;
22
+ data.private = room.private;
23
+ data.maxClients = `${room.maxClients}`;
24
+ data.elapsedTime = Date.now() - new Date(room.createdAt).getTime();
25
+ return data;
26
+ }),
27
+ connections,
28
+ cpu: await osUtils.cpu.usage(),
29
+ memory: await osUtils.mem.used()
30
+ });
31
+ } catch (e) {
32
+ const message = e.message;
33
+ console.error(message);
34
+ res.status(500);
35
+ res.json({ message });
36
+ }
37
+ });
38
+ api.get("/room", async (req, res) => {
39
+ const roomId = req.query.roomId;
40
+ try {
41
+ const inspectData = await matchMaker.remoteRoomCall(roomId, "getInspectData");
42
+ res.json(inspectData);
43
+ } catch (e) {
44
+ const message = UNAVAILABLE_ROOM_ERROR.replace("$roomId", roomId);
45
+ console.error(message);
46
+ res.status(500);
47
+ res.json({ message });
48
+ }
49
+ });
50
+ api.get("/room/call", async (req, res) => {
51
+ const roomId = req.query.roomId;
52
+ const method = req.query.method;
53
+ const args = JSON.parse(req.query.args);
54
+ try {
55
+ const data = await matchMaker.remoteRoomCall(roomId, method, args);
56
+ res.json(data);
57
+ } catch (e) {
58
+ const message = UNAVAILABLE_ROOM_ERROR.replace("$roomId", roomId);
59
+ console.error(message);
60
+ res.status(500);
61
+ res.json({ message });
62
+ }
63
+ });
64
+ return api;
65
+ }
66
+ export {
67
+ getAPI
68
+ };
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src-backend/api.ts"],
4
+ "sourcesContent": ["import { matchMaker } from '@colyseus/core';\n\nimport express from 'express';\nimport osUtils from 'node-os-utils';\n\nimport type { MonitorOptions } from './index.js';\n\nconst UNAVAILABLE_ROOM_ERROR = \"@colyseus/monitor: room $roomId is not available anymore.\";\n\nexport function getAPI (opts: Partial<MonitorOptions>) {\n const api = express.Router();\n\n api.get(\"/\", async (req: express.Request, res: express.Response) => {\n try {\n const rooms: any[] = await matchMaker.query({});\n const columns = opts.columns || ['roomId', 'name', 'clients', 'maxClients', 'locked', 'elapsedTime'];\n\n // extend columns to expose \"publicAddress\", if present\n if (!opts.columns && rooms[0] && rooms[0].publicAddress !== undefined) {\n columns.push(\"publicAddress\");\n }\n\n let connections: number = 0;\n\n res.json({\n columns,\n rooms: rooms.map(room => {\n const data = JSON.parse(JSON.stringify(room));\n\n connections += room.clients;\n\n // additional data\n data.locked = room.locked || false;\n data.private = room.private;\n\n data.maxClients = `${room.maxClients}`;\n\n data.elapsedTime = Date.now() - new Date(room.createdAt).getTime();\n return data;\n }),\n\n connections,\n cpu: await osUtils.cpu.usage(),\n memory: await osUtils.mem.used()\n });\n } catch (e) {\n const message = e.message;\n console.error(message);\n res.status(500);\n res.json({ message });\n }\n });\n\n api.get(\"/room\", async (req: express.Request, res: express.Response) => {\n const roomId = req.query.roomId as string;\n try {\n const inspectData = await matchMaker.remoteRoomCall(roomId, \"getInspectData\");\n res.json(inspectData);\n } catch (e) {\n const message = UNAVAILABLE_ROOM_ERROR.replace(\"$roomId\", roomId);\n console.error(message);\n res.status(500);\n res.json({ message });\n }\n });\n\n api.get(\"/room/call\", async (req: express.Request, res: express.Response) => {\n const roomId = req.query.roomId as string;\n const method = req.query.method as string;\n const args = JSON.parse(req.query.args as string);\n\n try {\n const data = await matchMaker.remoteRoomCall(roomId, method, args);\n res.json(data);\n } catch (e) {\n const message = UNAVAILABLE_ROOM_ERROR.replace(\"$roomId\", roomId);\n console.error(message);\n res.status(500);\n res.json({ message });\n }\n });\n\n return api;\n}\n"],
5
+ "mappings": ";AAAA,SAAS,kBAAkB;AAE3B,OAAO,aAAa;AACpB,OAAO,aAAa;AAIpB,IAAM,yBAAyB;AAExB,SAAS,OAAQ,MAA+B;AACnD,QAAM,MAAM,QAAQ,OAAO;AAE3B,MAAI,IAAI,KAAK,OAAO,KAAsB,QAA0B;AAChE,QAAI;AACA,YAAM,QAAe,MAAM,WAAW,MAAM,CAAC,CAAC;AAC9C,YAAM,UAAU,KAAK,WAAW,CAAC,UAAU,QAAQ,WAAW,cAAc,UAAU,aAAa;AAGnG,UAAI,CAAC,KAAK,WAAW,MAAM,CAAC,KAAK,MAAM,CAAC,EAAE,kBAAkB,QAAW;AACnE,gBAAQ,KAAK,eAAe;AAAA,MAChC;AAEA,UAAI,cAAsB;AAE1B,UAAI,KAAK;AAAA,QACL;AAAA,QACA,OAAO,MAAM,IAAI,UAAQ;AACrB,gBAAM,OAAO,KAAK,MAAM,KAAK,UAAU,IAAI,CAAC;AAE5C,yBAAe,KAAK;AAGpB,eAAK,SAAS,KAAK,UAAU;AAC7B,eAAK,UAAU,KAAK;AAEpB,eAAK,aAAa,GAAG,KAAK,UAAU;AAEpC,eAAK,cAAc,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,QAAQ;AACjE,iBAAO;AAAA,QACX,CAAC;AAAA,QAED;AAAA,QACA,KAAK,MAAM,QAAQ,IAAI,MAAM;AAAA,QAC7B,QAAQ,MAAM,QAAQ,IAAI,KAAK;AAAA,MACnC,CAAC;AAAA,IACL,SAAS,GAAG;AACR,YAAM,UAAU,EAAE;AAClB,cAAQ,MAAM,OAAO;AACrB,UAAI,OAAO,GAAG;AACd,UAAI,KAAK,EAAE,QAAQ,CAAC;AAAA,IACxB;AAAA,EACJ,CAAC;AAED,MAAI,IAAI,SAAS,OAAO,KAAsB,QAA0B;AACpE,UAAM,SAAS,IAAI,MAAM;AACzB,QAAI;AACA,YAAM,cAAc,MAAM,WAAW,eAAe,QAAQ,gBAAgB;AAC5E,UAAI,KAAK,WAAW;AAAA,IACxB,SAAS,GAAG;AACR,YAAM,UAAU,uBAAuB,QAAQ,WAAW,MAAM;AAChE,cAAQ,MAAM,OAAO;AACrB,UAAI,OAAO,GAAG;AACd,UAAI,KAAK,EAAE,QAAQ,CAAC;AAAA,IACxB;AAAA,EACJ,CAAC;AAED,MAAI,IAAI,cAAc,OAAO,KAAsB,QAA0B;AACzE,UAAM,SAAS,IAAI,MAAM;AACzB,UAAM,SAAS,IAAI,MAAM;AACzB,UAAM,OAAO,KAAK,MAAM,IAAI,MAAM,IAAc;AAEhD,QAAI;AACA,YAAM,OAAO,MAAM,WAAW,eAAe,QAAQ,QAAQ,IAAI;AACjE,UAAI,KAAK,IAAI;AAAA,IACjB,SAAS,GAAG;AACR,YAAM,UAAU,uBAAuB,QAAQ,WAAW,MAAM;AAChE,cAAQ,MAAM,OAAO;AACrB,UAAI,OAAO,GAAG;AACd,UAAI,KAAK,EAAE,QAAQ,CAAC;AAAA,IACxB;AAAA,EACJ,CAAC;AAED,SAAO;AACX;",
6
+ "names": []
7
+ }
package/build/ext/Room.js CHANGED
@@ -1,76 +1,70 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
10
18
  };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- //
13
- // Monkey-patch Colyseus' default behaviour
14
- //
15
- const core_1 = require("@colyseus/core");
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+ var import_core = require("@colyseus/core");
16
21
  function getStateSize(room) {
17
- // TODO: `Serializer<T>` should provide a method for this (e.g. `serializer.hasState()`)
18
- const hasState = (room._serializer.encoder || // schema v3
19
- room._serializer.state || // schema v2
20
- room._serializer.previousState // legacy-fossil-delta
21
- );
22
- const fullState = hasState && room._serializer.getFullState();
23
- return fullState && (fullState.byteLength || fullState.length) || 0;
22
+ const hasState = room._serializer.encoder || // schema v3
23
+ room._serializer.state || // schema v2
24
+ room._serializer.previousState;
25
+ const fullState = hasState && room._serializer.getFullState();
26
+ return fullState && (fullState.byteLength || fullState.length) || 0;
24
27
  }
25
- core_1.Room.prototype.getAvailableData = function () {
26
- return {
27
- clients: this.clients.length,
28
- maxClients: this.maxClients,
29
- metadata: this.metadata,
30
- roomId: this.roomId,
31
- };
28
+ import_core.Room.prototype.getAvailableData = function() {
29
+ return {
30
+ clients: this.clients.length,
31
+ maxClients: this.maxClients,
32
+ metadata: this.metadata,
33
+ roomId: this.roomId
34
+ };
32
35
  };
33
- core_1.Room.prototype.getRoomListData = function () {
34
- return __awaiter(this, void 0, void 0, function* () {
35
- const stateSize = getStateSize(this);
36
- const elapsedTime = this.clock.elapsedTime;
37
- const locked = this.locked;
38
- const data = this.getAvailableData();
39
- return Object.assign(Object.assign({}, data), { locked, elapsedTime, stateSize });
40
- });
36
+ import_core.Room.prototype.getRoomListData = async function() {
37
+ const stateSize = getStateSize(this);
38
+ const elapsedTime = this.clock.elapsedTime;
39
+ const locked = this.locked;
40
+ const data = this.getAvailableData();
41
+ return __spreadProps(__spreadValues({}, data), { locked, elapsedTime, stateSize });
41
42
  };
42
- core_1.Room.prototype.getInspectData = function () {
43
- return __awaiter(this, void 0, void 0, function* () {
44
- const state = this.state;
45
- const stateSize = getStateSize(this);
46
- const roomElapsedTime = this.clock.elapsedTime;
47
- const data = this.getAvailableData();
48
- const clients = this.clients.map((client) => ({
49
- sessionId: client.sessionId,
50
- elapsedTime: client._joinedAt - roomElapsedTime
51
- }));
52
- const locked = this.locked;
53
- return Object.assign(Object.assign({}, data), { locked, clients, state, stateSize });
54
- });
43
+ import_core.Room.prototype.getInspectData = async function() {
44
+ const state = this.state;
45
+ const stateSize = getStateSize(this);
46
+ const roomElapsedTime = this.clock.elapsedTime;
47
+ const data = this.getAvailableData();
48
+ const clients = this.clients.map((client) => ({
49
+ sessionId: client.sessionId,
50
+ elapsedTime: roomElapsedTime - client._joinedAt
51
+ }));
52
+ const locked = this.locked;
53
+ return __spreadProps(__spreadValues({}, data), { locked, clients, state, stateSize });
55
54
  };
56
- // Actions
57
- core_1.Room.prototype._forceClientDisconnect = function (sessionId) {
58
- return __awaiter(this, void 0, void 0, function* () {
59
- for (let i = 0; i < this.clients.length; i++) {
60
- if (this.clients[i].sessionId === sessionId) {
61
- this.clients[i].leave();
62
- break;
63
- }
64
- }
65
- });
55
+ import_core.Room.prototype._forceClientDisconnect = async function(sessionId) {
56
+ for (let i = 0; i < this.clients.length; i++) {
57
+ if (this.clients[i].sessionId === sessionId) {
58
+ this.clients[i].leave();
59
+ break;
60
+ }
61
+ }
66
62
  };
67
- core_1.Room.prototype._sendMessageToClient = function (sessionId, type, data) {
68
- return __awaiter(this, void 0, void 0, function* () {
69
- for (let i = 0; i < this.clients.length; i++) {
70
- if (this.clients[i].sessionId === sessionId) {
71
- this.clients[i].send(type, data);
72
- break;
73
- }
74
- }
75
- });
63
+ import_core.Room.prototype._sendMessageToClient = async function(sessionId, type, data) {
64
+ for (let i = 0; i < this.clients.length; i++) {
65
+ if (this.clients[i].sessionId === sessionId) {
66
+ this.clients[i].send(type, data);
67
+ break;
68
+ }
69
+ }
76
70
  };
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src-backend/ext/Room.ts"],
4
+ "sourcesContent": ["//\n// Monkey-patch Colyseus' default behaviour\n//\nimport { Room, Client, ClientPrivate } from \"@colyseus/core\";\n\nfunction getStateSize(room) {\n // TODO: `Serializer<T>` should provide a method for this (e.g. `serializer.hasState()`)\n const hasState = (\n room._serializer.encoder || // schema v3\n room._serializer.state || // schema v2\n room._serializer.previousState // legacy-fossil-delta\n );\n const fullState = hasState && room._serializer.getFullState();\n return fullState && (fullState.byteLength || fullState.length) || 0;\n}\n\n(<any>Room.prototype).getAvailableData = function () {\n return {\n clients: this.clients.length,\n maxClients: this.maxClients,\n metadata: this.metadata,\n roomId: this.roomId,\n };\n};\n\n(<any>Room.prototype).getRoomListData = async function () {\n const stateSize = getStateSize(this);\n const elapsedTime = this.clock.elapsedTime;\n const locked = this.locked;\n const data = this.getAvailableData();\n\n return { ...data, locked, elapsedTime, stateSize };\n};\n\n(<any>Room.prototype).getInspectData = async function () {\n const state = this.state;\n const stateSize = getStateSize(this);\n const roomElapsedTime = this.clock.elapsedTime;\n\n const data = this.getAvailableData();\n const clients = this.clients.map((client: Client & ClientPrivate) => ({\n sessionId: client.sessionId,\n elapsedTime: roomElapsedTime - client._joinedAt\n }));\n const locked = this.locked;\n\n return { ...data, locked, clients, state, stateSize };\n};\n\n// Actions\n(<any>Room.prototype)._forceClientDisconnect = async function (sessionId) {\n for (let i = 0; i < this.clients.length; i++) {\n if (this.clients[i].sessionId === sessionId) {\n this.clients[i].leave();\n break;\n }\n }\n};\n\n(<any>Room.prototype)._sendMessageToClient = async function (sessionId, type, data) {\n for (let i = 0; i < this.clients.length; i++) {\n if (this.clients[i].sessionId === sessionId) {\n this.clients[i].send(type, data);\n break;\n }\n }\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAGA,kBAA4C;AAE5C,SAAS,aAAa,MAAM;AAExB,QAAM,WACJ,KAAK,YAAY;AAAA,EACjB,KAAK,YAAY;AAAA,EACjB,KAAK,YAAY;AAEnB,QAAM,YAAY,YAAY,KAAK,YAAY,aAAa;AAC5D,SAAO,cAAc,UAAU,cAAc,UAAU,WAAW;AACtE;AAEM,iBAAK,UAAW,mBAAmB,WAAY;AACjD,SAAO;AAAA,IACH,SAAS,KAAK,QAAQ;AAAA,IACtB,YAAY,KAAK;AAAA,IACjB,UAAU,KAAK;AAAA,IACf,QAAQ,KAAK;AAAA,EACjB;AACJ;AAEM,iBAAK,UAAW,kBAAkB,iBAAkB;AACtD,QAAM,YAAY,aAAa,IAAI;AACnC,QAAM,cAAc,KAAK,MAAM;AAC/B,QAAM,SAAS,KAAK;AACpB,QAAM,OAAO,KAAK,iBAAiB;AAEnC,SAAO,iCAAK,OAAL,EAAW,QAAQ,aAAa,UAAU;AACrD;AAEM,iBAAK,UAAW,iBAAiB,iBAAkB;AACrD,QAAM,QAAQ,KAAK;AACnB,QAAM,YAAY,aAAa,IAAI;AACnC,QAAM,kBAAkB,KAAK,MAAM;AAEnC,QAAM,OAAO,KAAK,iBAAiB;AACnC,QAAM,UAAU,KAAK,QAAQ,IAAI,CAAC,YAAoC;AAAA,IAClE,WAAW,OAAO;AAAA,IAClB,aAAa,kBAAkB,OAAO;AAAA,EAC1C,EAAE;AACF,QAAM,SAAS,KAAK;AAEpB,SAAO,iCAAK,OAAL,EAAW,QAAQ,SAAS,OAAO,UAAU;AACxD;AAGM,iBAAK,UAAW,yBAAyB,eAAgB,WAAW;AACtE,WAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,QAAQ,KAAK;AAC1C,QAAI,KAAK,QAAQ,CAAC,EAAE,cAAc,WAAW;AACzC,WAAK,QAAQ,CAAC,EAAE,MAAM;AACtB;AAAA,IACJ;AAAA,EACJ;AACJ;AAEM,iBAAK,UAAW,uBAAuB,eAAgB,WAAW,MAAM,MAAM;AAChF,WAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,QAAQ,KAAK;AAC1C,QAAI,KAAK,QAAQ,CAAC,EAAE,cAAc,WAAW;AACzC,WAAK,QAAQ,CAAC,EAAE,KAAK,MAAM,IAAI;AAC/B;AAAA,IACJ;AAAA,EACJ;AACJ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,72 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+
21
+ // src-backend/ext/Room.ts
22
+ import { Room } from "@colyseus/core";
23
+ function getStateSize(room) {
24
+ const hasState = room._serializer.encoder || // schema v3
25
+ room._serializer.state || // schema v2
26
+ room._serializer.previousState;
27
+ const fullState = hasState && room._serializer.getFullState();
28
+ return fullState && (fullState.byteLength || fullState.length) || 0;
29
+ }
30
+ Room.prototype.getAvailableData = function() {
31
+ return {
32
+ clients: this.clients.length,
33
+ maxClients: this.maxClients,
34
+ metadata: this.metadata,
35
+ roomId: this.roomId
36
+ };
37
+ };
38
+ Room.prototype.getRoomListData = async function() {
39
+ const stateSize = getStateSize(this);
40
+ const elapsedTime = this.clock.elapsedTime;
41
+ const locked = this.locked;
42
+ const data = this.getAvailableData();
43
+ return __spreadProps(__spreadValues({}, data), { locked, elapsedTime, stateSize });
44
+ };
45
+ Room.prototype.getInspectData = async function() {
46
+ const state = this.state;
47
+ const stateSize = getStateSize(this);
48
+ const roomElapsedTime = this.clock.elapsedTime;
49
+ const data = this.getAvailableData();
50
+ const clients = this.clients.map((client) => ({
51
+ sessionId: client.sessionId,
52
+ elapsedTime: roomElapsedTime - client._joinedAt
53
+ }));
54
+ const locked = this.locked;
55
+ return __spreadProps(__spreadValues({}, data), { locked, clients, state, stateSize });
56
+ };
57
+ Room.prototype._forceClientDisconnect = async function(sessionId) {
58
+ for (let i = 0; i < this.clients.length; i++) {
59
+ if (this.clients[i].sessionId === sessionId) {
60
+ this.clients[i].leave();
61
+ break;
62
+ }
63
+ }
64
+ };
65
+ Room.prototype._sendMessageToClient = async function(sessionId, type, data) {
66
+ for (let i = 0; i < this.clients.length; i++) {
67
+ if (this.clients[i].sessionId === sessionId) {
68
+ this.clients[i].send(type, data);
69
+ break;
70
+ }
71
+ }
72
+ };
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src-backend/ext/Room.ts"],
4
+ "sourcesContent": ["//\n// Monkey-patch Colyseus' default behaviour\n//\nimport { Room, Client, ClientPrivate } from \"@colyseus/core\";\n\nfunction getStateSize(room) {\n // TODO: `Serializer<T>` should provide a method for this (e.g. `serializer.hasState()`)\n const hasState = (\n room._serializer.encoder || // schema v3\n room._serializer.state || // schema v2\n room._serializer.previousState // legacy-fossil-delta\n );\n const fullState = hasState && room._serializer.getFullState();\n return fullState && (fullState.byteLength || fullState.length) || 0;\n}\n\n(<any>Room.prototype).getAvailableData = function () {\n return {\n clients: this.clients.length,\n maxClients: this.maxClients,\n metadata: this.metadata,\n roomId: this.roomId,\n };\n};\n\n(<any>Room.prototype).getRoomListData = async function () {\n const stateSize = getStateSize(this);\n const elapsedTime = this.clock.elapsedTime;\n const locked = this.locked;\n const data = this.getAvailableData();\n\n return { ...data, locked, elapsedTime, stateSize };\n};\n\n(<any>Room.prototype).getInspectData = async function () {\n const state = this.state;\n const stateSize = getStateSize(this);\n const roomElapsedTime = this.clock.elapsedTime;\n\n const data = this.getAvailableData();\n const clients = this.clients.map((client: Client & ClientPrivate) => ({\n sessionId: client.sessionId,\n elapsedTime: roomElapsedTime - client._joinedAt\n }));\n const locked = this.locked;\n\n return { ...data, locked, clients, state, stateSize };\n};\n\n// Actions\n(<any>Room.prototype)._forceClientDisconnect = async function (sessionId) {\n for (let i = 0; i < this.clients.length; i++) {\n if (this.clients[i].sessionId === sessionId) {\n this.clients[i].leave();\n break;\n }\n }\n};\n\n(<any>Room.prototype)._sendMessageToClient = async function (sessionId, type, data) {\n for (let i = 0; i < this.clients.length; i++) {\n if (this.clients[i].sessionId === sessionId) {\n this.clients[i].send(type, data);\n break;\n }\n }\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;AAGA,SAAS,YAAmC;AAE5C,SAAS,aAAa,MAAM;AAExB,QAAM,WACJ,KAAK,YAAY;AAAA,EACjB,KAAK,YAAY;AAAA,EACjB,KAAK,YAAY;AAEnB,QAAM,YAAY,YAAY,KAAK,YAAY,aAAa;AAC5D,SAAO,cAAc,UAAU,cAAc,UAAU,WAAW;AACtE;AAEM,KAAK,UAAW,mBAAmB,WAAY;AACjD,SAAO;AAAA,IACH,SAAS,KAAK,QAAQ;AAAA,IACtB,YAAY,KAAK;AAAA,IACjB,UAAU,KAAK;AAAA,IACf,QAAQ,KAAK;AAAA,EACjB;AACJ;AAEM,KAAK,UAAW,kBAAkB,iBAAkB;AACtD,QAAM,YAAY,aAAa,IAAI;AACnC,QAAM,cAAc,KAAK,MAAM;AAC/B,QAAM,SAAS,KAAK;AACpB,QAAM,OAAO,KAAK,iBAAiB;AAEnC,SAAO,iCAAK,OAAL,EAAW,QAAQ,aAAa,UAAU;AACrD;AAEM,KAAK,UAAW,iBAAiB,iBAAkB;AACrD,QAAM,QAAQ,KAAK;AACnB,QAAM,YAAY,aAAa,IAAI;AACnC,QAAM,kBAAkB,KAAK,MAAM;AAEnC,QAAM,OAAO,KAAK,iBAAiB;AACnC,QAAM,UAAU,KAAK,QAAQ,IAAI,CAAC,YAAoC;AAAA,IAClE,WAAW,OAAO;AAAA,IAClB,aAAa,kBAAkB,OAAO;AAAA,EAC1C,EAAE;AACF,QAAM,SAAS,KAAK;AAEpB,SAAO,iCAAK,OAAL,EAAW,QAAQ,SAAS,OAAO,UAAU;AACxD;AAGM,KAAK,UAAW,yBAAyB,eAAgB,WAAW;AACtE,WAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,QAAQ,KAAK;AAC1C,QAAI,KAAK,QAAQ,CAAC,EAAE,cAAc,WAAW;AACzC,WAAK,QAAQ,CAAC,EAAE,MAAM;AACtB;AAAA,IACJ;AAAA,EACJ;AACJ;AAEM,KAAK,UAAW,uBAAuB,eAAgB,WAAW,MAAM,MAAM;AAChF,WAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,QAAQ,KAAK;AAC1C,QAAI,KAAK,QAAQ,CAAC,EAAE,cAAc,WAAW;AACzC,WAAK,QAAQ,CAAC,EAAE,KAAK,MAAM,IAAI;AAC/B;AAAA,IACJ;AAAA,EACJ;AACJ;",
6
+ "names": []
7
+ }
package/build/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import express from 'express';
2
- import './ext/Room';
2
+ import './ext/Room.js';
3
3
  export interface MonitorOptions {
4
4
  columns: Array<'roomId' | 'name' | 'clients' | 'maxClients' | 'locked' | 'elapsedTime' | {
5
5
  metadata: string;
package/build/index.js CHANGED
@@ -1,21 +1,47 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
4
10
  };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.monitor = void 0;
7
- const express_1 = __importDefault(require("express"));
8
- const path_1 = __importDefault(require("path"));
9
- const api_1 = require("./api");
10
- require("./ext/Room");
11
- const frontendDirectory = path_1.default.resolve(__dirname, "..", "build", "static");
12
- /**
13
- * TODO: expose the `router` instead on next major version.
14
- */
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+ var src_backend_exports = {};
29
+ __export(src_backend_exports, {
30
+ monitor: () => monitor
31
+ });
32
+ module.exports = __toCommonJS(src_backend_exports);
33
+ var import_express = __toESM(require("express"));
34
+ var import_path = __toESM(require("path"));
35
+ var import_api = require("./api.js");
36
+ var import_Room = require("./ext/Room.js");
37
+ const frontendDirectory = import_path.default.resolve(__dirname, "..", "build", "static");
15
38
  function monitor(opts = {}) {
16
- const router = express_1.default.Router();
17
- router.use(express_1.default.static(frontendDirectory));
18
- router.use('/api', (0, api_1.getAPI)(opts));
19
- return router;
39
+ const router = import_express.default.Router();
40
+ router.use(import_express.default.static(frontendDirectory));
41
+ router.use("/api", (0, import_api.getAPI)(opts));
42
+ return router;
20
43
  }
21
- exports.monitor = monitor;
44
+ // Annotate the CommonJS export names for ESM import in node:
45
+ 0 && (module.exports = {
46
+ monitor
47
+ });
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src-backend/index.ts"],
4
+ "sourcesContent": ["import express from 'express';\nimport path from 'path';\n\nimport { getAPI } from './api.js';\nimport './ext/Room.js';\n\nconst frontendDirectory = path.resolve(__dirname, \"..\", \"build\", \"static\");\n\nexport interface MonitorOptions {\n columns: Array<\n 'roomId' |\n 'name' |\n 'clients' |\n 'maxClients' |\n 'locked' |\n 'elapsedTime' |\n { metadata: string } |\n 'processId' |\n \"publicAddress\"\n >\n}\n\n/**\n * TODO: expose the `router` instead on next major version.\n */\nexport function monitor (opts: Partial<MonitorOptions> = {}): express.Router {\n const router = express.Router();\n router.use(express.static(frontendDirectory));\n router.use('/api', getAPI(opts));\n return router;\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAoB;AACpB,kBAAiB;AAEjB,iBAAuB;AACvB,kBAAO;AAEP,MAAM,oBAAoB,YAAAA,QAAK,QAAQ,WAAW,MAAM,SAAS,QAAQ;AAmBlE,SAAS,QAAS,OAAgC,CAAC,GAAmB;AACzE,QAAM,SAAS,eAAAC,QAAQ,OAAO;AAC9B,SAAO,IAAI,eAAAA,QAAQ,OAAO,iBAAiB,CAAC;AAC5C,SAAO,IAAI,YAAQ,mBAAO,IAAI,CAAC;AAC/B,SAAO;AACX;",
6
+ "names": ["path", "express"]
7
+ }