@antelopejs/api 0.2.0 → 1.0.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.
package/dist/server.js CHANGED
@@ -4,27 +4,37 @@ exports.registerHandler = registerHandler;
4
4
  exports.unregisterHandler = unregisterHandler;
5
5
  exports.requestListener = requestListener;
6
6
  exports.upgradeListener = upgradeListener;
7
- const beta_1 = require("@ajs.local/api/beta");
8
- const http_1 = require("http");
7
+ const node_http_1 = require("node:http");
8
+ const interface_api_1 = require("@antelopejs/interface-api");
9
9
  const ws_1 = require("ws");
10
10
  class RouteLevel {
11
11
  handlers = [];
12
12
  staticRoutes = {};
13
13
  dynamicRoutes = {};
14
+ catchAllRoutes = [];
14
15
  }
15
16
  const roots = {
16
17
  handler: {},
17
18
  prefix: {},
18
19
  postfix: {},
20
+ monitor: {},
19
21
  websocket: {},
20
22
  };
21
23
  function findHandlers(path, depth, level, result, parameters, multi = false) {
22
24
  if (multi) {
23
- result.push(...level.handlers.map((handler) => ({ handler: handler.callback, parameters, priority: handler.priority })));
25
+ result.push(...level.handlers.map((handler) => ({
26
+ handler: handler.callback,
27
+ parameters,
28
+ priority: handler.priority,
29
+ })));
24
30
  }
25
31
  if (depth >= path.length) {
26
32
  if (!multi && level.handlers.length > 0) {
27
- result.push({ handler: level.handlers[0].callback, parameters, priority: level.handlers[0].priority });
33
+ result.push({
34
+ handler: level.handlers[0].callback,
35
+ parameters,
36
+ priority: level.handlers[0].priority,
37
+ });
28
38
  }
29
39
  return;
30
40
  }
@@ -40,7 +50,11 @@ function findHandlers(path, depth, level, result, parameters, multi = false) {
40
50
  if (res) {
41
51
  const newParameters = { ...parameters };
42
52
  for (let i = 0; i < mapping.length; ++i) {
43
- newParameters[mapping[i]] = res[i + 1];
53
+ const parameterName = mapping[i];
54
+ const parameterValue = res[i + 1];
55
+ if (parameterName !== undefined && parameterValue !== undefined) {
56
+ newParameters[parameterName] = parameterValue;
57
+ }
44
58
  }
45
59
  findHandlers(path, depth + 1, sub, result, newParameters, multi);
46
60
  if (result.length > 0 && !multi) {
@@ -48,6 +62,38 @@ function findHandlers(path, depth, level, result, parameters, multi = false) {
48
62
  }
49
63
  }
50
64
  }
65
+ for (const catchAll of level.catchAllRoutes) {
66
+ const remaining = path.length - depth;
67
+ const suffixLen = catchAll.suffix.length;
68
+ if (remaining < 1 + suffixLen) {
69
+ continue;
70
+ }
71
+ if (suffixLen > 0) {
72
+ const suffixStart = path.length - suffixLen;
73
+ let matchesSuffix = true;
74
+ for (let i = 0; i < suffixLen; ++i) {
75
+ if (path[suffixStart + i] !== catchAll.suffix[i]) {
76
+ matchesSuffix = false;
77
+ break;
78
+ }
79
+ }
80
+ if (!matchesSuffix) {
81
+ continue;
82
+ }
83
+ }
84
+ const captured = path.slice(depth, path.length - suffixLen);
85
+ if (captured.length < 1) {
86
+ continue;
87
+ }
88
+ const newParameters = {
89
+ ...parameters,
90
+ [catchAll.paramName]: captured.join("/"),
91
+ };
92
+ findHandlers(path, path.length, catchAll.level, result, newParameters, multi);
93
+ if (result.length > 0 && !multi) {
94
+ return;
95
+ }
96
+ }
51
97
  }
52
98
  function getHandler(method, path, source, multi = false) {
53
99
  const result = [];
@@ -57,7 +103,7 @@ function getHandler(method, path, source, multi = false) {
57
103
  return result[0];
58
104
  }
59
105
  }
60
- if ('any' in source) {
106
+ if ("any" in source) {
61
107
  findHandlers(path, 0, source.any, result, {}, multi);
62
108
  if (result.length > 0 && !multi) {
63
109
  return result[0];
@@ -78,49 +124,75 @@ function removeHandler(id, source) {
78
124
  if (removeHandler(id, Object.keys(level.dynamicRoutes).reduce((acc, key) => ({ ...acc, [key]: level.dynamicRoutes[key].sub }), {}))) {
79
125
  return true;
80
126
  }
127
+ for (const catchAll of level.catchAllRoutes) {
128
+ if (removeHandler(id, { _: catchAll.level })) {
129
+ return true;
130
+ }
131
+ }
81
132
  }
82
133
  return false;
83
134
  }
84
135
  const special = {
85
136
  $: true,
86
- '-': true,
137
+ "-": true,
87
138
  _: true,
88
- '.': true,
89
- '+': true,
90
- '!': true,
91
- ' ': true,
92
- '*': true,
139
+ ".": true,
140
+ "+": true,
141
+ "!": true,
142
+ " ": true,
143
+ "*": true,
93
144
  "'": true,
94
- '(': true,
95
- ')': true,
96
- ',': true,
145
+ "(": true,
146
+ ")": true,
147
+ ",": true,
97
148
  };
98
- function registerHandler(id, mode, method, location, handler, priority = beta_1.HandlerPriority.NORMAL) {
99
- const parts = location.split('/').filter((part) => part);
149
+ function registerHandler(id, mode, method, location, handler, priority = interface_api_1.HandlerPriority.NORMAL) {
150
+ const parts = location.split("/").filter((part) => part);
100
151
  const source = roots[mode];
101
- let level = source[method?.toLowerCase() || 'any'];
152
+ let level = source[method?.toLowerCase() || "any"];
102
153
  if (!level) {
103
154
  level = new RouteLevel();
104
- source[method?.toLowerCase() || 'any'] = level;
155
+ source[method?.toLowerCase() || "any"] = level;
105
156
  }
106
- for (const part of parts) {
107
- if (part.indexOf(':') >= 0) {
157
+ for (let i = 0; i < parts.length; ++i) {
158
+ const part = parts[i];
159
+ if (part.startsWith("::")) {
160
+ const paramName = part.slice(2);
161
+ if (!paramName) {
162
+ throw new Error("Catch-all parameter must have a name");
163
+ }
164
+ const suffix = parts.slice(i + 1);
165
+ for (const suffixPart of suffix) {
166
+ if (suffixPart.indexOf(":") >= 0) {
167
+ throw new Error("Dynamic segments after catch-all are not supported");
168
+ }
169
+ }
170
+ const suffixKey = suffix.join("/");
171
+ let catchAll = level.catchAllRoutes.find((route) => route.paramName === paramName && route.suffix.join("/") === suffixKey);
172
+ if (!catchAll) {
173
+ catchAll = { paramName, suffix, level: new RouteLevel() };
174
+ level.catchAllRoutes.push(catchAll);
175
+ }
176
+ level = catchAll.level;
177
+ break;
178
+ }
179
+ if (part.indexOf(":") >= 0) {
108
180
  if (!(part in level.dynamicRoutes)) {
109
181
  const mapping = [];
110
- const match = ['^'];
111
- let word = undefined;
182
+ const match = ["^"];
183
+ let word;
112
184
  for (const char of part) {
113
185
  if (char in special) {
114
186
  if (word) {
115
- mapping.push(word.join(''));
187
+ mapping.push(word.join(""));
116
188
  match.push(`([^\\${char}]*)`);
117
189
  word = undefined;
118
190
  }
119
- match.push('\\' + char);
191
+ match.push(`\\${char}`);
120
192
  }
121
- else if (char === ':') {
193
+ else if (char === ":") {
122
194
  if (word) {
123
- throw new Error('Invalid URL parameter');
195
+ throw new Error("Invalid URL parameter");
124
196
  }
125
197
  word = [];
126
198
  }
@@ -133,16 +205,16 @@ function registerHandler(id, mode, method, location, handler, priority = beta_1.
133
205
  }
134
206
  }
135
207
  else {
136
- throw new Error('Invalid character in URL');
208
+ throw new Error("Invalid character in URL");
137
209
  }
138
210
  }
139
211
  if (word) {
140
- mapping.push(word.join(''));
212
+ mapping.push(word.join(""));
141
213
  match.push(`(.*)`);
142
214
  }
143
- match.push('$');
215
+ match.push("$");
144
216
  level.dynamicRoutes[part] = {
145
- match: new RegExp(match.join('')),
217
+ match: new RegExp(match.join("")),
146
218
  sub: new RouteLevel(),
147
219
  mapping,
148
220
  };
@@ -173,119 +245,168 @@ function handleResult(isHeadRequest, response, res) {
173
245
  response.sendResponse(res);
174
246
  }
175
247
  }
248
+ function extractError(error) {
249
+ if (typeof error === "object" && error && "message" in error) {
250
+ return error.message ?? error;
251
+ }
252
+ return error;
253
+ }
254
+ function setHandlerResponse(requestContext, result) {
255
+ if (requestContext.response.isStream()) {
256
+ return;
257
+ }
258
+ if (result) {
259
+ requestContext.response = interface_api_1.HTTPResult.withHeaders(result, requestContext.response.getHeaders(), 200);
260
+ return;
261
+ }
262
+ requestContext.response = interface_api_1.HTTPResult.withHeaders("", requestContext.response.getHeaders(), 200);
263
+ }
264
+ function cloneResponse(response) {
265
+ const snapshot = new interface_api_1.HTTPResult(response.getStatus(), response.getBody(), response.getContentType());
266
+ for (const [name, value] of Object.entries(response.getHeaders())) {
267
+ snapshot.addHeader(name, value);
268
+ }
269
+ return snapshot;
270
+ }
271
+ function getMultiHandlers(method, path, source) {
272
+ const handlers = getHandler(method, path, source, true);
273
+ return Array.isArray(handlers) ? handlers : [];
274
+ }
275
+ async function executePriorityHandlers(handlers, requestContext) {
276
+ handlers.sort((a, b) => a.priority - b.priority);
277
+ for (const { handler, parameters } of handlers) {
278
+ requestContext.routeParameters = parameters;
279
+ const result = await handler(requestContext);
280
+ if (result) {
281
+ return result;
282
+ }
283
+ }
284
+ return undefined;
285
+ }
286
+ async function executeMonitors(method, path, requestContext) {
287
+ const monitors = getMultiHandlers(method, path, roots.monitor);
288
+ const monitorContext = {
289
+ ...requestContext,
290
+ routeParameters: {},
291
+ response: cloneResponse(requestContext.response),
292
+ };
293
+ monitors.sort((a, b) => a.priority - b.priority);
294
+ for (const { handler, parameters } of monitors) {
295
+ monitorContext.routeParameters = parameters;
296
+ try {
297
+ await handler(monitorContext);
298
+ }
299
+ catch (error) {
300
+ console.error(error);
301
+ }
302
+ }
303
+ }
176
304
  async function requestListener(req, res, protocol) {
177
- const url = new URL(req.url || '', `${protocol}://${req.headers.host || 'localhost'}`);
305
+ const url = new URL(req.url || "", `${protocol}://${req.headers.host || "localhost"}`);
178
306
  const requestContext = {
179
307
  rawRequest: req,
180
308
  rawResponse: res,
181
309
  url,
182
310
  routeParameters: {},
183
- response: new beta_1.HTTPResult(404, 'Not Found'),
311
+ response: new interface_api_1.HTTPResult(404, "Not Found"),
184
312
  };
185
- const path = url.pathname.split('/').filter((part) => part);
186
- const method = req.method?.toLowerCase() || 'get';
187
- const isHeadRequest = method === 'head';
313
+ const path = url.pathname.split("/").filter((part) => part);
314
+ const method = req.method?.toLowerCase() || "get";
315
+ const isHeadRequest = method === "head";
316
+ let requestError;
188
317
  try {
189
318
  let handler = getHandler(method, path, roots.handler, false);
190
- if (!handler && method === 'head') {
191
- handler = getHandler('get', path, roots.handler, false);
319
+ if (!handler && method === "head") {
320
+ handler = getHandler("get", path, roots.handler, false);
192
321
  }
193
- if (!handler && method !== 'options') {
194
- handleResult(isHeadRequest, requestContext.response, res);
195
- return;
322
+ if (!handler && method !== "options") {
196
323
  }
197
- const prefixHandler = getHandler(method, path, roots.prefix, true);
198
- if (prefixHandler && Array.isArray(prefixHandler)) {
199
- prefixHandler.sort((a, b) => a.priority - b.priority);
200
- for (const { handler, parameters } of prefixHandler) {
201
- requestContext.routeParameters = parameters;
202
- const result = await handler(requestContext);
203
- if (result) {
204
- handleResult(isHeadRequest, beta_1.HTTPResult.withHeaders(result, requestContext.response.getHeaders(), 200), res);
205
- return;
206
- }
324
+ else {
325
+ const prefixResult = await executePriorityHandlers(getMultiHandlers(method, path, roots.prefix), requestContext);
326
+ if (prefixResult) {
327
+ requestContext.response = interface_api_1.HTTPResult.withHeaders(prefixResult, requestContext.response.getHeaders(), 200);
207
328
  }
208
- }
209
- if (!handler && method === 'options') {
210
- handleResult(isHeadRequest, requestContext.response, res);
211
- return;
212
- }
213
- if (handler && !Array.isArray(handler)) {
214
- requestContext.routeParameters = handler.parameters;
215
- const result = await handler.handler(requestContext);
216
- if (!requestContext.response.isStream()) {
217
- if (result) {
218
- requestContext.response = beta_1.HTTPResult.withHeaders(result, requestContext.response.getHeaders(), 200);
219
- }
220
- else {
221
- requestContext.response = beta_1.HTTPResult.withHeaders('', requestContext.response.getHeaders(), 200);
222
- }
329
+ else if (!handler && method === "options") {
223
330
  }
224
- }
225
- const postfixHandler = getHandler(method, path, roots.postfix, true);
226
- if (postfixHandler && Array.isArray(postfixHandler)) {
227
- postfixHandler.sort((a, b) => a.priority - b.priority);
228
- for (const { handler, parameters } of postfixHandler) {
229
- requestContext.routeParameters = parameters;
230
- const result = await handler(requestContext);
231
- if (result) {
232
- handleResult(isHeadRequest, beta_1.HTTPResult.withHeaders(result, requestContext.response.getHeaders(), 200), res);
233
- return;
331
+ else {
332
+ if (handler && !Array.isArray(handler)) {
333
+ requestContext.routeParameters = handler.parameters;
334
+ const result = await handler.handler(requestContext);
335
+ setHandlerResponse(requestContext, result);
336
+ }
337
+ const postfixResult = await executePriorityHandlers(getMultiHandlers(method, path, roots.postfix), requestContext);
338
+ if (postfixResult) {
339
+ requestContext.response = interface_api_1.HTTPResult.withHeaders(postfixResult, requestContext.response.getHeaders(), 200);
234
340
  }
235
341
  }
236
342
  }
237
- handleResult(isHeadRequest, requestContext.response, res);
238
343
  }
239
- catch (err) {
240
- handleResult(isHeadRequest, beta_1.HTTPResult.withHeaders(err.message || err, requestContext.response.getHeaders(), 500), res);
344
+ catch (error) {
345
+ requestError = error;
346
+ requestContext.response = interface_api_1.HTTPResult.withHeaders(extractError(error), requestContext.response.getHeaders(), 500);
347
+ }
348
+ finally {
349
+ requestContext.error = requestError;
350
+ await executeMonitors(method, path, requestContext);
351
+ handleResult(isHeadRequest, requestContext.response, res);
241
352
  }
242
353
  }
243
354
  const wss = new ws_1.WebSocketServer({ noServer: true });
244
355
  const upgrader = (req, socket, head) => new Promise((resolve) => wss.handleUpgrade(req, socket, head, resolve));
245
356
  async function upgradeListener(req, socket, head, protocol) {
246
- const res = new http_1.ServerResponse(req);
247
- const url = new URL(req.url || '', `${protocol}://${req.headers.host || 'localhost'}`);
357
+ const res = new node_http_1.ServerResponse(req);
358
+ const url = new URL(req.url || "", `${protocol}://${req.headers.host || "localhost"}`);
248
359
  const requestContext = {
249
360
  rawRequest: req,
250
361
  rawResponse: res,
251
362
  url,
252
363
  routeParameters: {},
253
- response: new beta_1.HTTPResult(404, 'Not Found'),
364
+ response: new interface_api_1.HTTPResult(404, "Not Found"),
254
365
  };
255
- const path = url.pathname.split('/').filter((part) => part);
256
- const method = req.method?.toLowerCase() || 'get';
366
+ const path = url.pathname.split("/").filter((part) => part);
367
+ const method = req.method?.toLowerCase() || "get";
368
+ let requestError;
369
+ let hasUpgradedConnection = false;
370
+ let mustSendResponse = false;
371
+ let mustDestroySocket = false;
257
372
  try {
258
373
  const handler = getHandler(method, path, roots.websocket, false);
259
- if (!handler) {
260
- handleResult(false, requestContext.response, res);
261
- socket.destroy();
262
- return;
374
+ if (!handler || Array.isArray(handler)) {
375
+ mustSendResponse = true;
376
+ mustDestroySocket = true;
263
377
  }
264
- const prefixHandler = getHandler(method, path, roots.prefix, true);
265
- if (prefixHandler && Array.isArray(prefixHandler)) {
266
- prefixHandler.sort((a, b) => a.priority - b.priority);
267
- for (const { handler, parameters } of prefixHandler) {
268
- requestContext.routeParameters = parameters;
269
- const result = await handler(requestContext);
270
- if (result) {
271
- handleResult(false, beta_1.HTTPResult.withHeaders(result, requestContext.response.getHeaders(), 200), res);
272
- socket.destroy();
273
- return;
274
- }
378
+ else {
379
+ const prefixResult = await executePriorityHandlers(getMultiHandlers(method, path, roots.prefix), requestContext);
380
+ if (prefixResult) {
381
+ requestContext.response = interface_api_1.HTTPResult.withHeaders(prefixResult, requestContext.response.getHeaders(), 200);
382
+ mustSendResponse = true;
383
+ mustDestroySocket = true;
384
+ }
385
+ else {
386
+ requestContext.connection = await upgrader(req, socket, head);
387
+ hasUpgradedConnection = true;
388
+ requestContext.routeParameters = handler.parameters;
389
+ await handler.handler(requestContext);
275
390
  }
276
391
  }
277
- if (handler && !Array.isArray(handler)) {
278
- requestContext.connection = await upgrader(req, socket, head);
279
- requestContext.routeParameters = handler.parameters;
280
- await handler.handler(requestContext);
392
+ }
393
+ catch (error) {
394
+ requestError = error;
395
+ mustDestroySocket = true;
396
+ if (!hasUpgradedConnection) {
397
+ requestContext.response = interface_api_1.HTTPResult.withHeaders(extractError(error), requestContext.response.getHeaders(), 500);
398
+ mustSendResponse = true;
281
399
  }
282
- else {
400
+ }
401
+ finally {
402
+ requestContext.error = requestError;
403
+ await executeMonitors(method, path, requestContext);
404
+ if (mustSendResponse) {
405
+ handleResult(false, requestContext.response, res);
406
+ }
407
+ if (mustDestroySocket) {
283
408
  socket.destroy();
284
409
  }
285
410
  }
286
- catch (err) {
287
- handleResult(false, beta_1.HTTPResult.withHeaders(err, requestContext.response.getHeaders(), 500), res);
288
- socket.destroy();
289
- }
290
411
  }
291
412
  //# sourceMappingURL=server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ declare const _default: import("@antelopejs/interface-core/config").ConfigInput;
2
+ export default _default;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const config_1 = require("@antelopejs/interface-core/config");
4
+ exports.default = (0, config_1.defineConfig)({
5
+ name: "api-test",
6
+ cacheFolder: ".antelope/cache",
7
+ modules: {
8
+ local: {
9
+ source: { type: "local", path: "." },
10
+ config: {
11
+ servers: [
12
+ {
13
+ protocol: "http",
14
+ host: "127.0.0.1",
15
+ port: 5010,
16
+ },
17
+ ],
18
+ },
19
+ },
20
+ },
21
+ test: {
22
+ folder: "dist/test",
23
+ },
24
+ });
25
+ //# sourceMappingURL=antelope.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"antelope.test.js","sourceRoot":"","sources":["../../src/test/antelope.test.ts"],"names":[],"mappings":";;AAAA,8DAAiE;AAEjE,kBAAe,IAAA,qBAAY,EAAC;IAC1B,IAAI,EAAE,UAAU;IAChB,WAAW,EAAE,iBAAiB;IAC9B,OAAO,EAAE;QACP,KAAK,EAAE;YACL,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE;YACpC,MAAM,EAAE;gBACN,OAAO,EAAE;oBACP;wBACE,QAAQ,EAAE,MAAM;wBAChB,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,IAAI;qBACX;iBACF;aACF;SACF;KACF;IACD,IAAI,EAAE;QACJ,MAAM,EAAE,WAAW;KACpB;CACF,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@antelopejs/api",
3
- "version": "0.2.0",
3
+ "version": "1.0.0",
4
4
  "description": "A flexible API module that implements the API interfaces of antelopejs with HTTP and WebSocket support",
5
5
  "keywords": [
6
6
  "antelopejs",
@@ -23,26 +23,21 @@
23
23
  "license": "Apache-2.0",
24
24
  "packageManager": "pnpm@10.6.5",
25
25
  "scripts": {
26
- "build": "rm -rf dist && tsc",
27
- "dev:prepare": "cd playground && ajs module imports install",
26
+ "build": "rimraf dist && tsc",
28
27
  "dev": "ajs project run -w -p playground",
29
- "format": "prettier --write .",
30
- "generate": "ajs module exports generate",
31
- "lint:fix": "eslint . --ext .js,.jsx,.ts,.tsx --fix",
32
- "lint": "eslint . --ext .js,.jsx,.ts,.tsx",
28
+ "format": "biome format --write .",
29
+ "lint:fix": "biome check --write .",
30
+ "lint": "biome check .",
33
31
  "prepack": "pnpm run build",
34
- "prepare": "ajs module imports install",
35
32
  "release": "pnpm run lint && pnpm run test && pnpm run prepack && release-it",
36
- "test": "ajs module test .",
37
- "changelog": "changelogen"
33
+ "test": "ajs module test ."
38
34
  },
39
35
  "antelopeJs": {
40
- "exportsPath": "dist/interfaces",
41
- "imports": [
42
- "core@beta",
43
- "logging@beta"
36
+ "implements": [
37
+ "@antelopejs/interface-api",
38
+ "@antelopejs/interface-api-util"
44
39
  ],
45
- "importsOptional": [],
40
+ "test": "src/test/antelope.test.ts",
46
41
  "defaultConfig": {
47
42
  "servers": [
48
43
  {
@@ -51,36 +46,24 @@
51
46
  "port": 8080
52
47
  }
53
48
  ]
54
- },
55
- "test": {
56
- "project": "src/test/antelope.test.json",
57
- "folder": "dist/test"
58
49
  }
59
50
  },
60
51
  "dependencies": {
52
+ "@antelopejs/interface-api": "^0.0.2",
53
+ "@antelopejs/interface-api-util": "^0.0.2",
54
+ "@antelopejs/interface-core": "^0.0.2",
61
55
  "reflect-metadata": "^0.2.2",
62
56
  "ws": "^8.18.1"
63
57
  },
64
58
  "devDependencies": {
65
- "@eslint/eslintrc": "^3.3.1",
66
- "@eslint/js": "^9.25.0",
67
- "@types/chai": "^5.2.2",
68
- "@types/express": "^5.0.1",
69
- "@types/mocha": "^10.0.10",
59
+ "@biomejs/biome": "2.3.2",
70
60
  "@types/node": "^22.14.1",
71
- "@types/sinon": "^17.0.4",
61
+ "@types/sinon": "^21.0.0",
72
62
  "@types/ws": "^8.18.1",
73
- "chai": "^5.2.0",
74
- "eslint": "^9.25.0",
75
- "eslint-config-prettier": "^10.1.2",
76
- "eslint-plugin-import": "^2.31.0",
77
- "eslint-plugin-prettier": "^5.2.6",
78
- "globals": "^16.0.0",
79
- "prettier": "^3.5.3",
80
- "release-it": "^19.0.2",
63
+ "release-it": "^19.2.4",
81
64
  "release-it-changelogen": "^0.1.0",
82
- "sinon": "^20.0.0",
83
- "typescript": "^5.8.3",
84
- "typescript-eslint": "^8.30.1"
65
+ "rimraf": "^6.0.1",
66
+ "sinon": "^21.0.3",
67
+ "typescript": "^5.8.3"
85
68
  }
86
69
  }