@elliemae/pui-cli 9.0.0-next.25 → 9.0.0-next.27
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 +50 -49
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 {
|
|
@@ -161,6 +163,14 @@ const devConfig = {
|
|
|
161
163
|
}
|
|
162
164
|
next();
|
|
163
165
|
});
|
|
166
|
+
(0, import_wsServer.createWSServer)({
|
|
167
|
+
port: import_utils.wsPort
|
|
168
|
+
}).then(({ wsServer }) => {
|
|
169
|
+
if (devServer.app)
|
|
170
|
+
devServer.app.locals.wsServer = wsServer;
|
|
171
|
+
}).catch((err) => {
|
|
172
|
+
console.error(err);
|
|
173
|
+
});
|
|
164
174
|
}
|
|
165
175
|
return middlewares;
|
|
166
176
|
}
|
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,
|
|
@@ -131,6 +133,14 @@ const devConfig = {
|
|
|
131
133
|
}
|
|
132
134
|
next();
|
|
133
135
|
});
|
|
136
|
+
createWSServer({
|
|
137
|
+
port: wsPort
|
|
138
|
+
}).then(({ wsServer }) => {
|
|
139
|
+
if (devServer.app)
|
|
140
|
+
devServer.app.locals.wsServer = wsServer;
|
|
141
|
+
}).catch((err) => {
|
|
142
|
+
console.error(err);
|
|
143
|
+
});
|
|
134
144
|
}
|
|
135
145
|
return middlewares;
|
|
136
146
|
}
|
|
@@ -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": "9.0.0-next.
|
|
3
|
+
"version": "9.0.0-next.27",
|
|
4
4
|
"description": "ICE MT UI Platform CLI",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"type": "module",
|
|
@@ -101,56 +101,56 @@
|
|
|
101
101
|
"@commitlint/config-conventional": "~18.1.0",
|
|
102
102
|
"@elliemae/browserslist-config-elliemae-latest-browsers": "~1.8.0",
|
|
103
103
|
"@faker-js/faker": "8.2.0",
|
|
104
|
-
"@nx/workspace": "17.0.
|
|
104
|
+
"@nx/workspace": "17.0.3",
|
|
105
105
|
"@pmmmwh/react-refresh-webpack-plugin": "~0.5.11",
|
|
106
106
|
"@semantic-release/changelog": "~6.0.3",
|
|
107
107
|
"@semantic-release/exec": "~6.0.3",
|
|
108
108
|
"@semantic-release/git": "~10.0.1",
|
|
109
|
-
"@storybook/addon-a11y": "~7.5.
|
|
110
|
-
"@storybook/addon-essentials": "~7.5.
|
|
109
|
+
"@storybook/addon-a11y": "~7.5.3",
|
|
110
|
+
"@storybook/addon-essentials": "~7.5.3",
|
|
111
111
|
"@storybook/addon-events": "~6.2.9",
|
|
112
|
-
"@storybook/addon-interactions": "~7.5.
|
|
113
|
-
"@storybook/addon-links": "~7.5.
|
|
114
|
-
"@storybook/addon-storysource": "~7.5.
|
|
115
|
-
"@storybook/blocks": "~7.5.
|
|
116
|
-
"@storybook/builder-vite": "~7.5.
|
|
117
|
-
"@storybook/builder-webpack5": "~7.5.
|
|
112
|
+
"@storybook/addon-interactions": "~7.5.3",
|
|
113
|
+
"@storybook/addon-links": "~7.5.3",
|
|
114
|
+
"@storybook/addon-storysource": "~7.5.3",
|
|
115
|
+
"@storybook/blocks": "~7.5.3",
|
|
116
|
+
"@storybook/builder-vite": "~7.5.3",
|
|
117
|
+
"@storybook/builder-webpack5": "~7.5.3",
|
|
118
118
|
"@storybook/jest": "~0.2.3",
|
|
119
119
|
"@storybook/manager-webpack5": "~6.5.16",
|
|
120
|
-
"@storybook/react": "~7.5.
|
|
121
|
-
"@storybook/react-vite": "~7.5.
|
|
122
|
-
"@storybook/react-webpack5": "~7.5.
|
|
120
|
+
"@storybook/react": "~7.5.3",
|
|
121
|
+
"@storybook/react-vite": "~7.5.3",
|
|
122
|
+
"@storybook/react-webpack5": "~7.5.3",
|
|
123
123
|
"@storybook/testing-library": "~0.2.2",
|
|
124
|
-
"@storybook/theming": "~7.5.
|
|
124
|
+
"@storybook/theming": "~7.5.3",
|
|
125
125
|
"@stylelint/postcss-css-in-js": "~0.38.0",
|
|
126
126
|
"@svgr/webpack": "~8.1.0",
|
|
127
127
|
"@swc/cli": "~0.1.62",
|
|
128
|
-
"@swc/core": "~1.3.
|
|
128
|
+
"@swc/core": "~1.3.96",
|
|
129
129
|
"@swc/jest": "~0.2.29",
|
|
130
130
|
"@testing-library/jest-dom": "~6.1.4",
|
|
131
|
-
"@testing-library/react": "~14.
|
|
131
|
+
"@testing-library/react": "~14.1.0",
|
|
132
132
|
"@testing-library/react-hooks": "~8.0.1",
|
|
133
133
|
"@testing-library/user-event": "~14.5.1",
|
|
134
|
-
"@types/circular-dependency-plugin": "~5.0.
|
|
135
|
-
"@types/compression": "~1.7.
|
|
136
|
-
"@types/cors": "~2.8.
|
|
137
|
-
"@types/duplicate-package-checker-webpack-plugin": "~2.1.
|
|
138
|
-
"@types/ip": "~1.1.
|
|
139
|
-
"@types/jest": "~29.5.
|
|
140
|
-
"@types/jest-axe": "~3.5.
|
|
141
|
-
"@types/moment-locales-webpack-plugin": "~1.2.
|
|
142
|
-
"@types/node": "~20.
|
|
143
|
-
"@types/normalize-path": "~3.0.
|
|
134
|
+
"@types/circular-dependency-plugin": "~5.0.8",
|
|
135
|
+
"@types/compression": "~1.7.5",
|
|
136
|
+
"@types/cors": "~2.8.16",
|
|
137
|
+
"@types/duplicate-package-checker-webpack-plugin": "~2.1.5",
|
|
138
|
+
"@types/ip": "~1.1.3",
|
|
139
|
+
"@types/jest": "~29.5.8",
|
|
140
|
+
"@types/jest-axe": "~3.5.8",
|
|
141
|
+
"@types/moment-locales-webpack-plugin": "~1.2.6",
|
|
142
|
+
"@types/node": "~20.9.0",
|
|
143
|
+
"@types/normalize-path": "~3.0.2",
|
|
144
144
|
"@types/postcss-preset-env": "~8.0.0",
|
|
145
145
|
"@types/rimraf": "~4.0.5",
|
|
146
|
-
"@types/speed-measure-webpack-plugin": "~1.3.
|
|
147
|
-
"@types/supertest": "~2.0.
|
|
148
|
-
"@types/uuid": "~9.0.
|
|
146
|
+
"@types/speed-measure-webpack-plugin": "~1.3.6",
|
|
147
|
+
"@types/supertest": "~2.0.16",
|
|
148
|
+
"@types/uuid": "~9.0.7",
|
|
149
149
|
"@types/testing-library__jest-dom": "~5.14.9",
|
|
150
|
-
"@types/webpack-bundle-analyzer": "~4.6.
|
|
151
|
-
"@typescript-eslint/eslint-plugin": "~6.
|
|
152
|
-
"@typescript-eslint/parser": "~6.
|
|
153
|
-
"@vitejs/plugin-react": "~4.1.
|
|
150
|
+
"@types/webpack-bundle-analyzer": "~4.6.3",
|
|
151
|
+
"@typescript-eslint/eslint-plugin": "~6.10.0",
|
|
152
|
+
"@typescript-eslint/parser": "~6.10.0",
|
|
153
|
+
"@vitejs/plugin-react": "~4.1.1",
|
|
154
154
|
"@vitest/coverage-c8": "~0.33.0",
|
|
155
155
|
"autoprefixer": "~10.4.16",
|
|
156
156
|
"axe-core": "~4.8.2",
|
|
@@ -186,7 +186,7 @@
|
|
|
186
186
|
"esbuild-loader": "~4.0.2",
|
|
187
187
|
"esbuild-plugin-lodash": "~1.2.0",
|
|
188
188
|
"esbuild-plugin-svgr": "~2.1.0",
|
|
189
|
-
"eslint": "~8.
|
|
189
|
+
"eslint": "~8.53.0",
|
|
190
190
|
"eslint-config-airbnb": "~19.0.4",
|
|
191
191
|
"eslint-config-airbnb-base": "~15.0.0",
|
|
192
192
|
"eslint-config-airbnb-typescript": "~17.1.0",
|
|
@@ -200,7 +200,7 @@
|
|
|
200
200
|
"eslint-plugin-import": "~2.29.0",
|
|
201
201
|
"eslint-plugin-jest": "~27.6.0",
|
|
202
202
|
"eslint-plugin-jsdoc": "~46.8.2",
|
|
203
|
-
"eslint-plugin-jsx-a11y": "~6.
|
|
203
|
+
"eslint-plugin-jsx-a11y": "~6.8.0",
|
|
204
204
|
"eslint-plugin-mdx": "~2.2.0",
|
|
205
205
|
"eslint-plugin-prettier": "~5.0.1",
|
|
206
206
|
"eslint-plugin-react": "~7.33.2",
|
|
@@ -214,10 +214,10 @@
|
|
|
214
214
|
"express-static-gzip": "~2.1.7",
|
|
215
215
|
"favicons": "~7.1.4",
|
|
216
216
|
"favicons-webpack-plugin": "~6.0.1",
|
|
217
|
-
"fast-glob": "~3.3.
|
|
217
|
+
"fast-glob": "~3.3.2",
|
|
218
218
|
"find-up": "~6.3.0",
|
|
219
219
|
"find-up-cli": "~5.0.0",
|
|
220
|
-
"happy-dom": "~12.10.
|
|
220
|
+
"happy-dom": "~12.10.3",
|
|
221
221
|
"helmet-csp": "~3.4.0",
|
|
222
222
|
"html-loader": "~4.2.0",
|
|
223
223
|
"html-webpack-plugin": "~5.5.3",
|
|
@@ -232,24 +232,24 @@
|
|
|
232
232
|
"jest-sonar-reporter": "~2.0.0",
|
|
233
233
|
"jest-styled-components": "~7.2.0",
|
|
234
234
|
"jest-watch-typeahead": "~2.2.2",
|
|
235
|
-
"jscodeshift": "~0.15.
|
|
235
|
+
"jscodeshift": "~0.15.1",
|
|
236
236
|
"jsdoc": "~4.0.2",
|
|
237
|
-
"lerna": "~7.4.
|
|
237
|
+
"lerna": "~7.4.2",
|
|
238
238
|
"lint-staged": "~15.0.2",
|
|
239
239
|
"mini-css-extract-plugin": "~2.7.6",
|
|
240
240
|
"minimist": "~1.2.8",
|
|
241
241
|
"moment": "~2.29.4",
|
|
242
242
|
"moment-locales-webpack-plugin": "~1.2.0",
|
|
243
|
-
"msw": "~2.0.
|
|
243
|
+
"msw": "~2.0.4",
|
|
244
244
|
"npm-run-all": "~4.1.5",
|
|
245
|
-
"node-gyp": "~
|
|
245
|
+
"node-gyp": "~10.0.1",
|
|
246
246
|
"node-plop": "~0.32.0",
|
|
247
247
|
"nodemon": "~3.0.1",
|
|
248
248
|
"normalize-path": "~3.0.0",
|
|
249
249
|
"npm-check-updates": "16.14.6",
|
|
250
|
-
"nx": "~17.0.
|
|
250
|
+
"nx": "~17.0.3",
|
|
251
251
|
"pino": "~8.16.1",
|
|
252
|
-
"pino-http": "~8.5.
|
|
252
|
+
"pino-http": "~8.5.1",
|
|
253
253
|
"pino-pretty": "~10.2.3",
|
|
254
254
|
"plop": "~4.0.0",
|
|
255
255
|
"postcss": "~8.4.31",
|
|
@@ -257,7 +257,7 @@
|
|
|
257
257
|
"postcss-jsx": "~0.36.4",
|
|
258
258
|
"postcss-loader": "~7.3.3",
|
|
259
259
|
"postcss-markdown": "~1.2.0",
|
|
260
|
-
"postcss-preset-env": "~9.
|
|
260
|
+
"postcss-preset-env": "~9.3.0",
|
|
261
261
|
"postcss-syntax": "~0.36.2",
|
|
262
262
|
"prettier": "~3.0.3",
|
|
263
263
|
"prisma": "~5.5.2",
|
|
@@ -269,11 +269,11 @@
|
|
|
269
269
|
"react-test-renderer": "~18.2.0",
|
|
270
270
|
"resize-observer-polyfill": "~1.5.1",
|
|
271
271
|
"resolve-typescript-plugin": "~2.0.1",
|
|
272
|
-
"rimraf": "5.0.
|
|
273
|
-
"semantic-release": "~22.0.
|
|
272
|
+
"rimraf": "5.0.5",
|
|
273
|
+
"semantic-release": "~22.0.7",
|
|
274
274
|
"slackify-markdown": "~4.4.0",
|
|
275
275
|
"speed-measure-webpack-plugin": "~1.5.0",
|
|
276
|
-
"storybook": "~7.5.
|
|
276
|
+
"storybook": "~7.5.3",
|
|
277
277
|
"storybook-addon-turbo-build": "~2.0.1",
|
|
278
278
|
"storybook-react-router": "~1.0.8",
|
|
279
279
|
"style-loader": "~3.3.3",
|
|
@@ -286,7 +286,7 @@
|
|
|
286
286
|
"ts-node": "~10.9.1",
|
|
287
287
|
"tsc-alias": "~1.8.8",
|
|
288
288
|
"tsx": "~3.13.0",
|
|
289
|
-
"typedoc": "~0.25.
|
|
289
|
+
"typedoc": "~0.25.3",
|
|
290
290
|
"typescript": "~5.2.2",
|
|
291
291
|
"update-notifier": "~7.0.0",
|
|
292
292
|
"url-loader": "~4.1.1",
|
|
@@ -302,6 +302,7 @@
|
|
|
302
302
|
"webpack-merge": "~5.10.0",
|
|
303
303
|
"whatwg-fetch": "~3.6.19",
|
|
304
304
|
"workbox-webpack-plugin": "~7.0.0",
|
|
305
|
+
"ws": "~8.14.2",
|
|
305
306
|
"yargs": "~17.7.2"
|
|
306
307
|
},
|
|
307
308
|
"devDependencies": {
|
|
@@ -310,6 +311,6 @@
|
|
|
310
311
|
"react-dom": "~18.2.0",
|
|
311
312
|
"redux": "~4.2.1",
|
|
312
313
|
"redux-saga": "~1.2.3",
|
|
313
|
-
"styled-components": "~6.1.
|
|
314
|
+
"styled-components": "~6.1.1"
|
|
314
315
|
}
|
|
315
316
|
}
|