@elliemae/pui-cli 8.24.0 → 8.25.1
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/server/csp.js +1 -0
- package/dist/cjs/server/index.js +5 -0
- package/dist/cjs/server/utils.js +9 -2
- package/dist/cjs/server/wsServer.js +129 -0
- package/dist/cjs/webpack/webpack.dev.babel.js +10 -0
- package/dist/esm/server/csp.js +1 -0
- package/dist/esm/server/index.js +6 -1
- package/dist/esm/server/utils.js +9 -2
- package/dist/esm/server/wsServer.js +99 -0
- package/dist/esm/webpack/webpack.dev.babel.js +10 -0
- package/dist/types/server/utils.d.ts +1 -0
- package/dist/types/server/wsServer.d.ts +13 -0
- package/package.json +12 -11
package/dist/cjs/server/csp.js
CHANGED
package/dist/cjs/server/index.js
CHANGED
|
@@ -26,6 +26,7 @@ var import_logger = require("./logger.js");
|
|
|
26
26
|
var import_middlewares = require("./middlewares.js");
|
|
27
27
|
var import_utils = require("./utils.js");
|
|
28
28
|
var import_appRoutes = require("./appRoutes.js");
|
|
29
|
+
var import_wsServer = require("./wsServer.js");
|
|
29
30
|
(async function startServer() {
|
|
30
31
|
const app = (0, import_express.default)();
|
|
31
32
|
(0, import_middlewares.setupDefaultMiddlewares)(app);
|
|
@@ -37,4 +38,8 @@ var import_appRoutes = require("./appRoutes.js");
|
|
|
37
38
|
import_logger.logger.error(err);
|
|
38
39
|
process.exit(1);
|
|
39
40
|
});
|
|
41
|
+
const { wsServer } = await (0, import_wsServer.createWSServer)({
|
|
42
|
+
port: import_utils.wsPort
|
|
43
|
+
});
|
|
44
|
+
app.locals.wsServer = wsServer;
|
|
40
45
|
})();
|
package/dist/cjs/server/utils.js
CHANGED
|
@@ -30,14 +30,21 @@ var utils_exports = {};
|
|
|
30
30
|
__export(utils_exports, {
|
|
31
31
|
getCWD: () => getCWD,
|
|
32
32
|
host: () => host,
|
|
33
|
-
port: () => port
|
|
33
|
+
port: () => port,
|
|
34
|
+
wsPort: () => wsPort
|
|
34
35
|
});
|
|
35
36
|
module.exports = __toCommonJS(utils_exports);
|
|
36
37
|
var import_minimist = __toESM(require("minimist"), 1);
|
|
37
|
-
const argv = (0, import_minimist.default)(
|
|
38
|
+
const argv = (0, import_minimist.default)(
|
|
39
|
+
process.argv.slice(2)
|
|
40
|
+
);
|
|
38
41
|
const getCWD = () => process.cwd();
|
|
39
42
|
const port = parseInt(
|
|
40
43
|
argv.port || process.env.port || process.env.PORT || "3000",
|
|
41
44
|
10
|
|
42
45
|
);
|
|
43
46
|
const host = argv.host || process.env.HOST || "localhost";
|
|
47
|
+
const wsPort = parseInt(
|
|
48
|
+
argv.wsport || process.env.wsport || process.env.WSPORT || "5000",
|
|
49
|
+
10
|
|
50
|
+
);
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var wsServer_exports = {};
|
|
30
|
+
__export(wsServer_exports, {
|
|
31
|
+
createWSServer: () => createWSServer
|
|
32
|
+
});
|
|
33
|
+
module.exports = __toCommonJS(wsServer_exports);
|
|
34
|
+
var import_node_http = __toESM(require("node:http"), 1);
|
|
35
|
+
var wsLib = __toESM(require("ws"), 1);
|
|
36
|
+
const PING_INTERVAL = 3e4;
|
|
37
|
+
const DEFAULT_PORT = 5001;
|
|
38
|
+
const onSocketError = (err) => {
|
|
39
|
+
console.error(err);
|
|
40
|
+
};
|
|
41
|
+
const authenticate = (token, cb) => {
|
|
42
|
+
if (!token)
|
|
43
|
+
cb(4401);
|
|
44
|
+
else
|
|
45
|
+
cb();
|
|
46
|
+
};
|
|
47
|
+
const getAuthToken = (protocols) => {
|
|
48
|
+
const authProtocol = protocols.find(
|
|
49
|
+
(protocol) => protocol.startsWith("auth--")
|
|
50
|
+
);
|
|
51
|
+
if (!authProtocol)
|
|
52
|
+
return "";
|
|
53
|
+
return authProtocol.split("--")[1]?.trim?.();
|
|
54
|
+
};
|
|
55
|
+
const createWSServer = ({
|
|
56
|
+
port = DEFAULT_PORT,
|
|
57
|
+
pingInterval = PING_INTERVAL,
|
|
58
|
+
onOpen
|
|
59
|
+
}) => {
|
|
60
|
+
let isAlive = false;
|
|
61
|
+
const heartbeat = () => {
|
|
62
|
+
isAlive = true;
|
|
63
|
+
};
|
|
64
|
+
const httpServer = import_node_http.default.createServer();
|
|
65
|
+
const wsServer = new wsLib.WebSocketServer({ noServer: true });
|
|
66
|
+
httpServer.on("upgrade", (req, socket, head) => {
|
|
67
|
+
socket.on("error", onSocketError);
|
|
68
|
+
wsServer.handleUpgrade(req, socket, head, (ws) => {
|
|
69
|
+
const protocols = req.headers["sec-websocket-protocol"]?.split(",");
|
|
70
|
+
if (!protocols) {
|
|
71
|
+
console.error("no protocols");
|
|
72
|
+
ws.close(4401, "unauthorized");
|
|
73
|
+
socket.destroy();
|
|
74
|
+
socket.removeListener("error", onSocketError);
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
authenticate(getAuthToken(protocols) || "", (errCode) => {
|
|
78
|
+
if (errCode) {
|
|
79
|
+
switch (errCode) {
|
|
80
|
+
case 4401:
|
|
81
|
+
ws.close(errCode, "unauthorized");
|
|
82
|
+
break;
|
|
83
|
+
default:
|
|
84
|
+
ws.close(4400, "Unknown error");
|
|
85
|
+
break;
|
|
86
|
+
}
|
|
87
|
+
socket.destroy();
|
|
88
|
+
socket.removeListener("error", onSocketError);
|
|
89
|
+
} else {
|
|
90
|
+
socket.removeListener("error", onSocketError);
|
|
91
|
+
wsServer.emit("connection", ws, req);
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
});
|
|
95
|
+
});
|
|
96
|
+
wsServer.on("connection", (ws) => {
|
|
97
|
+
isAlive = true;
|
|
98
|
+
ws.on("error", console.error);
|
|
99
|
+
ws.on("pong", () => {
|
|
100
|
+
heartbeat();
|
|
101
|
+
});
|
|
102
|
+
ws.on("message", (message) => {
|
|
103
|
+
console.log(
|
|
104
|
+
"message from client:",
|
|
105
|
+
JSON.parse(message)
|
|
106
|
+
);
|
|
107
|
+
ws.send(JSON.stringify(JSON.parse(message)));
|
|
108
|
+
});
|
|
109
|
+
console.log("client connected");
|
|
110
|
+
onOpen?.(ws);
|
|
111
|
+
});
|
|
112
|
+
const interval = setInterval(() => {
|
|
113
|
+
wsServer.clients.forEach((ws) => {
|
|
114
|
+
if (isAlive === false)
|
|
115
|
+
ws.terminate();
|
|
116
|
+
isAlive = false;
|
|
117
|
+
ws.ping();
|
|
118
|
+
});
|
|
119
|
+
}, pingInterval);
|
|
120
|
+
wsServer.on("close", function close() {
|
|
121
|
+
clearInterval(interval);
|
|
122
|
+
});
|
|
123
|
+
return new Promise((resolve) => {
|
|
124
|
+
httpServer.listen(port, () => {
|
|
125
|
+
console.log(`Websocket server listening on port ${port}`);
|
|
126
|
+
return resolve({ httpServer, wsServer });
|
|
127
|
+
});
|
|
128
|
+
});
|
|
129
|
+
};
|
|
@@ -43,6 +43,8 @@ var import_middlewares = require("../server/middlewares.js");
|
|
|
43
43
|
var import_appRoutes = require("../server/appRoutes.js");
|
|
44
44
|
var import_helpers = require("./helpers.js");
|
|
45
45
|
var import_webpack_base_babel = require("./webpack.base.babel.js");
|
|
46
|
+
var import_utils = require("../server/utils.js");
|
|
47
|
+
var import_wsServer = require("../server/wsServer.js");
|
|
46
48
|
const import_meta = {};
|
|
47
49
|
const __filename = (0, import_node_url.fileURLToPath)(import_meta.url);
|
|
48
50
|
const {
|
|
@@ -160,6 +162,14 @@ const devConfig = {
|
|
|
160
162
|
}
|
|
161
163
|
next();
|
|
162
164
|
});
|
|
165
|
+
(0, import_wsServer.createWSServer)({
|
|
166
|
+
port: import_utils.wsPort
|
|
167
|
+
}).then(({ wsServer }) => {
|
|
168
|
+
if (devServer.app)
|
|
169
|
+
devServer.app.locals.wsServer = wsServer;
|
|
170
|
+
}).catch((err) => {
|
|
171
|
+
console.error(err);
|
|
172
|
+
});
|
|
163
173
|
}
|
|
164
174
|
return middlewares;
|
|
165
175
|
}
|
package/dist/esm/server/csp.js
CHANGED
package/dist/esm/server/index.js
CHANGED
|
@@ -4,8 +4,9 @@ import {
|
|
|
4
4
|
setupDefaultMiddlewares,
|
|
5
5
|
setupAdditionalMiddlewars
|
|
6
6
|
} from "./middlewares.js";
|
|
7
|
-
import { port, host } from "./utils.js";
|
|
7
|
+
import { port, wsPort, host } from "./utils.js";
|
|
8
8
|
import { loadRoutes } from "./appRoutes.js";
|
|
9
|
+
import { createWSServer } from "./wsServer.js";
|
|
9
10
|
(async function startServer() {
|
|
10
11
|
const app = express();
|
|
11
12
|
setupDefaultMiddlewares(app);
|
|
@@ -17,4 +18,8 @@ import { loadRoutes } from "./appRoutes.js";
|
|
|
17
18
|
logger.error(err);
|
|
18
19
|
process.exit(1);
|
|
19
20
|
});
|
|
21
|
+
const { wsServer } = await createWSServer({
|
|
22
|
+
port: wsPort
|
|
23
|
+
});
|
|
24
|
+
app.locals.wsServer = wsServer;
|
|
20
25
|
})();
|
package/dist/esm/server/utils.js
CHANGED
|
@@ -1,13 +1,20 @@
|
|
|
1
1
|
import minimist from "minimist";
|
|
2
|
-
const argv = minimist(
|
|
2
|
+
const argv = minimist(
|
|
3
|
+
process.argv.slice(2)
|
|
4
|
+
);
|
|
3
5
|
const getCWD = () => process.cwd();
|
|
4
6
|
const port = parseInt(
|
|
5
7
|
argv.port || process.env.port || process.env.PORT || "3000",
|
|
6
8
|
10
|
|
7
9
|
);
|
|
8
10
|
const host = argv.host || process.env.HOST || "localhost";
|
|
11
|
+
const wsPort = parseInt(
|
|
12
|
+
argv.wsport || process.env.wsport || process.env.WSPORT || "5000",
|
|
13
|
+
10
|
|
14
|
+
);
|
|
9
15
|
export {
|
|
10
16
|
getCWD,
|
|
11
17
|
host,
|
|
12
|
-
port
|
|
18
|
+
port,
|
|
19
|
+
wsPort
|
|
13
20
|
};
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import http from "node:http";
|
|
2
|
+
import * as wsLib from "ws";
|
|
3
|
+
const PING_INTERVAL = 3e4;
|
|
4
|
+
const DEFAULT_PORT = 5001;
|
|
5
|
+
const onSocketError = (err) => {
|
|
6
|
+
console.error(err);
|
|
7
|
+
};
|
|
8
|
+
const authenticate = (token, cb) => {
|
|
9
|
+
if (!token)
|
|
10
|
+
cb(4401);
|
|
11
|
+
else
|
|
12
|
+
cb();
|
|
13
|
+
};
|
|
14
|
+
const getAuthToken = (protocols) => {
|
|
15
|
+
const authProtocol = protocols.find(
|
|
16
|
+
(protocol) => protocol.startsWith("auth--")
|
|
17
|
+
);
|
|
18
|
+
if (!authProtocol)
|
|
19
|
+
return "";
|
|
20
|
+
return authProtocol.split("--")[1]?.trim?.();
|
|
21
|
+
};
|
|
22
|
+
const createWSServer = ({
|
|
23
|
+
port = DEFAULT_PORT,
|
|
24
|
+
pingInterval = PING_INTERVAL,
|
|
25
|
+
onOpen
|
|
26
|
+
}) => {
|
|
27
|
+
let isAlive = false;
|
|
28
|
+
const heartbeat = () => {
|
|
29
|
+
isAlive = true;
|
|
30
|
+
};
|
|
31
|
+
const httpServer = http.createServer();
|
|
32
|
+
const wsServer = new wsLib.WebSocketServer({ noServer: true });
|
|
33
|
+
httpServer.on("upgrade", (req, socket, head) => {
|
|
34
|
+
socket.on("error", onSocketError);
|
|
35
|
+
wsServer.handleUpgrade(req, socket, head, (ws) => {
|
|
36
|
+
const protocols = req.headers["sec-websocket-protocol"]?.split(",");
|
|
37
|
+
if (!protocols) {
|
|
38
|
+
console.error("no protocols");
|
|
39
|
+
ws.close(4401, "unauthorized");
|
|
40
|
+
socket.destroy();
|
|
41
|
+
socket.removeListener("error", onSocketError);
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
authenticate(getAuthToken(protocols) || "", (errCode) => {
|
|
45
|
+
if (errCode) {
|
|
46
|
+
switch (errCode) {
|
|
47
|
+
case 4401:
|
|
48
|
+
ws.close(errCode, "unauthorized");
|
|
49
|
+
break;
|
|
50
|
+
default:
|
|
51
|
+
ws.close(4400, "Unknown error");
|
|
52
|
+
break;
|
|
53
|
+
}
|
|
54
|
+
socket.destroy();
|
|
55
|
+
socket.removeListener("error", onSocketError);
|
|
56
|
+
} else {
|
|
57
|
+
socket.removeListener("error", onSocketError);
|
|
58
|
+
wsServer.emit("connection", ws, req);
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
wsServer.on("connection", (ws) => {
|
|
64
|
+
isAlive = true;
|
|
65
|
+
ws.on("error", console.error);
|
|
66
|
+
ws.on("pong", () => {
|
|
67
|
+
heartbeat();
|
|
68
|
+
});
|
|
69
|
+
ws.on("message", (message) => {
|
|
70
|
+
console.log(
|
|
71
|
+
"message from client:",
|
|
72
|
+
JSON.parse(message)
|
|
73
|
+
);
|
|
74
|
+
ws.send(JSON.stringify(JSON.parse(message)));
|
|
75
|
+
});
|
|
76
|
+
console.log("client connected");
|
|
77
|
+
onOpen?.(ws);
|
|
78
|
+
});
|
|
79
|
+
const interval = setInterval(() => {
|
|
80
|
+
wsServer.clients.forEach((ws) => {
|
|
81
|
+
if (isAlive === false)
|
|
82
|
+
ws.terminate();
|
|
83
|
+
isAlive = false;
|
|
84
|
+
ws.ping();
|
|
85
|
+
});
|
|
86
|
+
}, pingInterval);
|
|
87
|
+
wsServer.on("close", function close() {
|
|
88
|
+
clearInterval(interval);
|
|
89
|
+
});
|
|
90
|
+
return new Promise((resolve) => {
|
|
91
|
+
httpServer.listen(port, () => {
|
|
92
|
+
console.log(`Websocket server listening on port ${port}`);
|
|
93
|
+
return resolve({ httpServer, wsServer });
|
|
94
|
+
});
|
|
95
|
+
});
|
|
96
|
+
};
|
|
97
|
+
export {
|
|
98
|
+
createWSServer
|
|
99
|
+
};
|
|
@@ -14,6 +14,8 @@ import {
|
|
|
14
14
|
isGoogleTagManagerEnabled
|
|
15
15
|
} from "./helpers.js";
|
|
16
16
|
import { baseConfig } from "./webpack.base.babel.js";
|
|
17
|
+
import { wsPort } from "../server/utils.js";
|
|
18
|
+
import { createWSServer } from "../server/wsServer.js";
|
|
17
19
|
const __filename = fileURLToPath(import.meta.url);
|
|
18
20
|
const {
|
|
19
21
|
appVersion,
|
|
@@ -130,6 +132,14 @@ const devConfig = {
|
|
|
130
132
|
}
|
|
131
133
|
next();
|
|
132
134
|
});
|
|
135
|
+
createWSServer({
|
|
136
|
+
port: wsPort
|
|
137
|
+
}).then(({ wsServer }) => {
|
|
138
|
+
if (devServer.app)
|
|
139
|
+
devServer.app.locals.wsServer = wsServer;
|
|
140
|
+
}).catch((err) => {
|
|
141
|
+
console.error(err);
|
|
142
|
+
});
|
|
133
143
|
}
|
|
134
144
|
return middlewares;
|
|
135
145
|
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import http from 'node:http';
|
|
3
|
+
import * as wsLib from 'ws';
|
|
4
|
+
export interface Servers {
|
|
5
|
+
httpServer: http.Server;
|
|
6
|
+
wsServer: wsLib.WebSocketServer;
|
|
7
|
+
}
|
|
8
|
+
export interface WSServerOptions {
|
|
9
|
+
port?: number;
|
|
10
|
+
pingInterval?: number;
|
|
11
|
+
onOpen?: (webSocket: wsLib.WebSocket) => void;
|
|
12
|
+
}
|
|
13
|
+
export declare const createWSServer: ({ port, pingInterval, onOpen, }: WSServerOptions) => Promise<Servers>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elliemae/pui-cli",
|
|
3
|
-
"version": "8.
|
|
3
|
+
"version": "8.25.1",
|
|
4
4
|
"description": "ICE MT UI Platform CLI",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"type": "module",
|
|
@@ -129,10 +129,10 @@
|
|
|
129
129
|
"@types/cors": "~2.8.15",
|
|
130
130
|
"@types/duplicate-package-checker-webpack-plugin": "~2.1.4",
|
|
131
131
|
"@types/ip": "~1.1.2",
|
|
132
|
-
"@types/jest": "~29.5.
|
|
132
|
+
"@types/jest": "~29.5.7",
|
|
133
133
|
"@types/jest-axe": "~3.5.7",
|
|
134
134
|
"@types/moment-locales-webpack-plugin": "~1.2.5",
|
|
135
|
-
"@types/node": "~18.18.
|
|
135
|
+
"@types/node": "~18.18.8",
|
|
136
136
|
"@types/normalize-path": "~3.0.1",
|
|
137
137
|
"@types/postcss-preset-env": "~7.7.0",
|
|
138
138
|
"@types/rimraf": "~3.0.2",
|
|
@@ -191,7 +191,7 @@
|
|
|
191
191
|
"eslint-plugin-compat": "~4.2.0",
|
|
192
192
|
"eslint-plugin-eslint-comments": "~3.2.0",
|
|
193
193
|
"eslint-plugin-import": "~2.29.0",
|
|
194
|
-
"eslint-plugin-jest": "~27.
|
|
194
|
+
"eslint-plugin-jest": "~27.6.0",
|
|
195
195
|
"eslint-plugin-jsdoc": "~43.2.0",
|
|
196
196
|
"eslint-plugin-jsx-a11y": "~6.7.1",
|
|
197
197
|
"eslint-plugin-mdx": "~2.2.0",
|
|
@@ -210,7 +210,7 @@
|
|
|
210
210
|
"favicons-webpack-plugin": "~6.0.1",
|
|
211
211
|
"find-up": "~6.3.0",
|
|
212
212
|
"find-up-cli": "~5.0.0",
|
|
213
|
-
"happy-dom": "~12.
|
|
213
|
+
"happy-dom": "~12.10.3",
|
|
214
214
|
"helmet-csp": "~3.4.0",
|
|
215
215
|
"html-loader": "~4.2.0",
|
|
216
216
|
"html-webpack-plugin": "~5.5.3",
|
|
@@ -225,7 +225,7 @@
|
|
|
225
225
|
"jest-sonar-reporter": "~2.0.0",
|
|
226
226
|
"jest-styled-components": "~7.2.0",
|
|
227
227
|
"jest-watch-typeahead": "~2.2.2",
|
|
228
|
-
"jscodeshift": "~0.15.
|
|
228
|
+
"jscodeshift": "~0.15.1",
|
|
229
229
|
"jsdoc": "~4.0.2",
|
|
230
230
|
"lerna": "~6.6.2",
|
|
231
231
|
"lint-staged": "~13.3.0",
|
|
@@ -234,14 +234,14 @@
|
|
|
234
234
|
"moment": "~2.29.4",
|
|
235
235
|
"moment-locales-webpack-plugin": "~1.2.0",
|
|
236
236
|
"msw": "~1.3.2",
|
|
237
|
-
"node-gyp": "~9.4.
|
|
237
|
+
"node-gyp": "~9.4.1",
|
|
238
238
|
"node-plop": "~0.32.0",
|
|
239
239
|
"nodemon": "~2.0.22",
|
|
240
240
|
"normalize-path": "~3.0.0",
|
|
241
241
|
"npm-check-updates": "16.14.6",
|
|
242
242
|
"npm-run-all": "~4.1.5",
|
|
243
243
|
"pino": "~8.16.1",
|
|
244
|
-
"pino-http": "~8.5.
|
|
244
|
+
"pino-http": "~8.5.1",
|
|
245
245
|
"pino-pretty": "~10.2.3",
|
|
246
246
|
"plop": "~3.1.2",
|
|
247
247
|
"postcss": "~8.4.31",
|
|
@@ -249,7 +249,7 @@
|
|
|
249
249
|
"postcss-jsx": "~0.36.4",
|
|
250
250
|
"postcss-loader": "~7.3.3",
|
|
251
251
|
"postcss-markdown": "~1.2.0",
|
|
252
|
-
"postcss-preset-env": "9.
|
|
252
|
+
"postcss-preset-env": "9.3.0",
|
|
253
253
|
"postcss-syntax": "~0.36.2",
|
|
254
254
|
"prettier": "~2.8.8",
|
|
255
255
|
"prisma": "~4.16.2",
|
|
@@ -277,14 +277,14 @@
|
|
|
277
277
|
"ts-node": "~10.9.1",
|
|
278
278
|
"tsc-alias": "~1.8.8",
|
|
279
279
|
"tsx": "~3.13.0",
|
|
280
|
-
"typedoc": "~0.25.
|
|
280
|
+
"typedoc": "~0.25.3",
|
|
281
281
|
"typescript": "~5.2.2",
|
|
282
282
|
"update-notifier": "~6.0.2",
|
|
283
283
|
"url-loader": "~4.1.1",
|
|
284
284
|
"uuid": "~9.0.1",
|
|
285
285
|
"vite": "~4.5.0",
|
|
286
286
|
"vite-tsconfig-paths": "~4.2.1",
|
|
287
|
-
"vitest": "~1.0.0-beta.
|
|
287
|
+
"vitest": "~1.0.0-beta.3",
|
|
288
288
|
"webpack": "~5.89.0",
|
|
289
289
|
"webpack-bundle-analyzer": "~4.9.1",
|
|
290
290
|
"webpack-cli": "~5.1.4",
|
|
@@ -293,6 +293,7 @@
|
|
|
293
293
|
"webpack-merge": "~5.10.0",
|
|
294
294
|
"whatwg-fetch": "~3.6.19",
|
|
295
295
|
"workbox-webpack-plugin": "~6.6.0",
|
|
296
|
+
"ws": "~8.14.2",
|
|
296
297
|
"yargs": "~17.7.2"
|
|
297
298
|
},
|
|
298
299
|
"devDependencies": {
|