@mimik/sumologic-winston-logger 2.1.1 → 2.1.3

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/README.md CHANGED
@@ -5,48 +5,50 @@ The following environment variables are needed to configure logger:
5
5
 
6
6
  | Env variable name | Description | Default | Comments |
7
7
  | ----------------- | ----------- | ------- | -------- |
8
- | SERVER_TYPE | type of the server that is logged | null
9
- | SERVER_ID |id of the servier that is logged | null
10
- | NODE_ENV | environment of the running instance | local | DEFAULT_ENV
11
- | LOG_LEVEL | log level of the running instance | debug | DEFAULT_LEVEL
12
- | CONSOLE_LEVEL | log level for the console of the running instance | debug | DEFAULT_LEVEL
13
- | FILTER_FILE | filename containing filter rules | null | DEFAULT_FILTER_FILE
14
- | EXIT_DELAY | delay when existing gracefully | 2000 | DEFAULT_EXIT_DELAY in ms
15
- | NO_STACK | indicatior to log th stack on all log message | no | DEFAULT_NO_STACK
16
- | LOG_MODE | string with comma separated words defining the logmode for the running instance | sumologic | DEFAULT_SUMOLOGIC (enum: awsS3, awsKinesis, sumologic, all, none)
8
+ | SERVER_TYPE | Type of the server that is logged | null |
9
+ | SERVER_ID |Id of the servier that is logged | null |
10
+ | NODE_ENV | Environment of the running instance | local |
11
+ | LOG_LEVEL | Log level of the running instance | debug |
12
+ | CONSOLE_LEVEL | Log level for the console of the running instance | debug |
13
+ | FILTER_FILE | Filename containing filter rules | null |
14
+ | EXIT_DELAY | Delay when existing gracefully | 2000 | in millisecond
15
+ | NO_STACK | Indicatior to log th stack on all log message | no |
16
+ | LOG_MODE | String with comma separated words defining the logmode for the running instance | sumologic | (enum: awsS3, awsKinesis, sumologic, all, none)
17
17
 
18
18
  If `LOG_MODE` includes `sumologic` the following environment variables are needed:
19
19
 
20
20
  | Env variable name | Description | Default | Comments |
21
21
  | ----------------- | ----------- | ------- | -------- |
22
- | SUMO_LOGIC_ENDPOINT | url of the sumologic collector
23
- | SUMO_LOGIC_COLLECTOR_CODE | code of the sumologic collector
22
+ | SUMO_LOGIC_ENDPOINT | URL of the sumologic collector
23
+ | SUMO_LOGIC_COLLECTOR_CODE | Code of the sumologic collector
24
24
 
25
25
  If `LOG_MODE` includes `awsKinesis` the following environment variables are needed:
26
26
 
27
27
  | Env variable name | Description | Default | Comments |
28
28
  | ----------------- | ----------- | ------- | -------- |
29
- | KINESIS_AWS_STREAM_NAME_INFO | name of the stream for info level logs
30
- | KINESIS_AWS_STREAM_NAME_ERROR | name of the stream for error level logs
31
- | KINESIS_AWS_STREAM_NAME_OTHER | name of the stream for any other level logs
32
- | KINESIS_AWS_REGION | region of the stream
33
- | KINESIS_AWS_TIMEOUT | maximum time before flushing | 1000 | DEFAULT_KINESIS_TIMEOUT in ms
34
- | KINESIS_AWS_MAX_SIZE | maximum size of the accumulated logs before flushing | 5 | DEFAULT_KINESIS_MAX_SIZE in mB
35
- | KINESIS_AWS_MAX_EVENTS | maximum number of accumulated logs before flushing | 1000 | DEFAULT_KINESIS_MAX_EVENTS
36
- | KINESIS_AWS_ACCESS_KEY_ID | access key id of the stream
37
- | KINESIS_AWS_SECRET_ACCESS_KEY | access key secret of the stream
29
+ | KINESIS_AWS_STREAM_NAME_INFO | Name of the stream for info level logs
30
+ | KINESIS_AWS_STREAM_NAME_ERROR | Name of the stream for error level logs
31
+ | KINESIS_AWS_STREAM_NAME_OTHER | Name of the stream for any other level logs
32
+ | KINESIS_AWS_REGION | Region of the stream
33
+ | KINESIS_AWS_TIMEOUT | Maximum time before flushing | 1000 | in millisecond
34
+ | KINESIS_AWS_MAX_SIZE | Maximum size of the accumulated logs before flushing | 5 | in mByte
35
+ | KINESIS_AWS_MAX_EVENTS | Maximum number of accumulated logs before flushing | 1000 |
36
+ | KINESIS_AWS_ACCESS_KEY_ID | Access key id of the stream
37
+ | KINESIS_AWS_SECRET_ACCESS_KEY | Access key secret of the stream
38
+ | KINESIS_AWS_HTTP_OPTIONS_SOCKET_TIMEOUT | Socket timeout for the http handler | 5000 | in millisecond
39
+ | KINESIS_AWS_HTTP_OPTIONS_CONNECTION_TIMEOUT | Connection timeout for the http handler | 5000 | in millisecond
38
40
 
39
41
  If `LOG_MODE` includes `awsS3` the following environment variables are needed:
40
42
 
41
43
  | Env variable name | Description | Default | Comments |
42
44
  | ----------------- | ----------- | ------- | -------- |
43
- | S3_AWS_BUCKET_NAME | name of the bucket for storing the logs
44
- | S3_AWS_REGION | region of the bucket
45
- | S3_AWS_TIMEOUT | maximum time before flushing | 5 | DEFAULT_S3_TIMEOUT in minutes
46
- | S3_AWS_MAX_SIZE | maximum size of the accumulated logs before flushing | 5 | DEFAULT_S3_MAX_SIZE in mB
47
- | S3_AWS_MAX_EVENTS | maximum number of accumulated logs before flushing | 1000 | DEFAULT_S3_MAX_EVENTS
48
- | S3_AWS_ACCESS_KEY_ID | access key id of the bucket
49
- | S3_AWS_SECRET_ACCESS_KEY | access key secret of the bucket
45
+ | S3_AWS_BUCKET_NAME | Name of the bucket for storing the logs
46
+ | S3_AWS_REGION | Region of the bucket
47
+ | S3_AWS_TIMEOUT | Maximum time before flushing | 5 | in minute
48
+ | S3_AWS_MAX_SIZE | Maximum size of the accumulated logs before flushing | 5 | in mByte
49
+ | S3_AWS_MAX_EVENTS | Maximum number of accumulated logs before flushing | 1000 |
50
+ | S3_AWS_ACCESS_KEY_ID | Access key id of the bucket
51
+ | S3_AWS_SECRET_ACCESS_KEY | Access key secret of the bucket
50
52
 
51
53
  When `LOG_MODE` is `none` the logs will only be on `console`.
52
54
  When `LOG_MODE` is `all` LOG_MODE will be set to `sumologic, awsS3`.
@@ -7,6 +7,8 @@ import {
7
7
  DEFAULT_ENV,
8
8
  DEFAULT_EXIT_DELAY,
9
9
  DEFAULT_FILTER_FILE,
10
+ DEFAULT_KINESIS_HTTP_OPTIONS_CONNECTION_TIMEOUT,
11
+ DEFAULT_KINESIS_HTTP_OPTIONS_SOCKET_TIMEOUT,
10
12
  DEFAULT_KINESIS_MAX_EVENTS,
11
13
  DEFAULT_KINESIS_MAX_SIZE,
12
14
  DEFAULT_KINESIS_TIMEOUT,
@@ -42,48 +44,50 @@ const SINGLE_MODE = 1;
42
44
  *
43
45
  * | Env variable name | Description | Default | Comments |
44
46
  * | ----------------- | ----------- | ------- | -------- |
45
- * | SERVER_TYPE | type of the server that is logged | null
46
- * | SERVER_ID |id of the servier that is logged | null
47
- * | NODE_ENV | environment of the running instance | local | DEFAULT_ENV
48
- * | LOG_LEVEL | log level of the running instance | debug | DEFAULT_LEVEL
49
- * | CONSOLE_LEVEL | log level for the console of the running instance | debug | DEFAULT_LEVEL
50
- * | FILTER_FILE | filename containing filter rules | null | DEFAULT_FILTER_FILE
51
- * | EXIT_DELAY | delay when existing gracefully | 2000 | DEFAULT_EXIT_DELAY in ms
52
- * | NO_STACK | indicatior to log th stack on all log message | no | DEFAULT_NO_STACK
53
- * | LOG_MODE | string with comma separated words defining the logmode for the running instance | sumologic | DEFAULT_SUMOLOGIC (enum: awsS3, awsKinesis, sumologic, all, none)
47
+ * | SERVER_TYPE | Type of the server that is logged | null |
48
+ * | SERVER_ID |Id of the servier that is logged | null |
49
+ * | NODE_ENV | Environment of the running instance | local |
50
+ * | LOG_LEVEL | Log level of the running instance | debug |
51
+ * | CONSOLE_LEVEL | Log level for the console of the running instance | debug |
52
+ * | FILTER_FILE | Filename containing filter rules | null |
53
+ * | EXIT_DELAY | Delay when existing gracefully | 2000 | in millisecond
54
+ * | NO_STACK | Indicatior to log th stack on all log message | no |
55
+ * | LOG_MODE | String with comma separated words defining the logmode for the running instance | sumologic | (enum: awsS3, awsKinesis, sumologic, all, none)
54
56
  *
55
57
  * If `LOG_MODE` includes `sumologic` the following environment variables are needed:
56
58
  *
57
59
  * | Env variable name | Description | Default | Comments |
58
60
  * | ----------------- | ----------- | ------- | -------- |
59
- * | SUMO_LOGIC_ENDPOINT | url of the sumologic collector
60
- * | SUMO_LOGIC_COLLECTOR_CODE | code of the sumologic collector
61
+ * | SUMO_LOGIC_ENDPOINT | URL of the sumologic collector
62
+ * | SUMO_LOGIC_COLLECTOR_CODE | Code of the sumologic collector
61
63
  *
62
64
  * If `LOG_MODE` includes `awsKinesis` the following environment variables are needed:
63
65
  *
64
66
  * | Env variable name | Description | Default | Comments |
65
67
  * | ----------------- | ----------- | ------- | -------- |
66
- * | KINESIS_AWS_STREAM_NAME_INFO | name of the stream for info level logs
67
- * | KINESIS_AWS_STREAM_NAME_ERROR | name of the stream for error level logs
68
- * | KINESIS_AWS_STREAM_NAME_OTHER | name of the stream for any other level logs
69
- * | KINESIS_AWS_REGION | region of the stream
70
- * | KINESIS_AWS_TIMEOUT | maximum time before flushing | 1000 | DEFAULT_KINESIS_TIMEOUT in ms
71
- * | KINESIS_AWS_MAX_SIZE | maximum size of the accumulated logs before flushing | 5 | DEFAULT_KINESIS_MAX_SIZE in mB
72
- * | KINESIS_AWS_MAX_EVENTS | maximum number of accumulated logs before flushing | 1000 | DEFAULT_KINESIS_MAX_EVENTS
73
- * | KINESIS_AWS_ACCESS_KEY_ID | access key id of the stream
74
- * | KINESIS_AWS_SECRET_ACCESS_KEY | access key secret of the stream
68
+ * | KINESIS_AWS_STREAM_NAME_INFO | Name of the stream for info level logs
69
+ * | KINESIS_AWS_STREAM_NAME_ERROR | Name of the stream for error level logs
70
+ * | KINESIS_AWS_STREAM_NAME_OTHER | Name of the stream for any other level logs
71
+ * | KINESIS_AWS_REGION | Region of the stream
72
+ * | KINESIS_AWS_TIMEOUT | Maximum time before flushing | 1000 | in millisecond
73
+ * | KINESIS_AWS_MAX_SIZE | Maximum size of the accumulated logs before flushing | 5 | in mByte
74
+ * | KINESIS_AWS_MAX_EVENTS | Maximum number of accumulated logs before flushing | 1000 |
75
+ * | KINESIS_AWS_ACCESS_KEY_ID | Access key id of the stream
76
+ * | KINESIS_AWS_SECRET_ACCESS_KEY | Access key secret of the stream
77
+ * | KINESIS_AWS_HTTP_OPTIONS_SOCKET_TIMEOUT | Socket timeout for the http handler | 5000 | in millisecond
78
+ * | KINESIS_AWS_HTTP_OPTIONS_CONNECTION_TIMEOUT | Connection timeout for the http handler | 5000 | in millisecond
75
79
  *
76
80
  * If `LOG_MODE` includes `awsS3` the following environment variables are needed:
77
81
  *
78
82
  * | Env variable name | Description | Default | Comments |
79
83
  * | ----------------- | ----------- | ------- | -------- |
80
- * | S3_AWS_BUCKET_NAME | name of the bucket for storing the logs
81
- * | S3_AWS_REGION | region of the bucket
82
- * | S3_AWS_TIMEOUT | maximum time before flushing | 5 | DEFAULT_S3_TIMEOUT in minutes
83
- * | S3_AWS_MAX_SIZE | maximum size of the accumulated logs before flushing | 5 | DEFAULT_S3_MAX_SIZE in mB
84
- * | S3_AWS_MAX_EVENTS | maximum number of accumulated logs before flushing | 1000 | DEFAULT_S3_MAX_EVENTS
85
- * | S3_AWS_ACCESS_KEY_ID | access key id of the bucket
86
- * | S3_AWS_SECRET_ACCESS_KEY | access key secret of the bucket
84
+ * | S3_AWS_BUCKET_NAME | Name of the bucket for storing the logs
85
+ * | S3_AWS_REGION | Region of the bucket
86
+ * | S3_AWS_TIMEOUT | Maximum time before flushing | 5 | in minute
87
+ * | S3_AWS_MAX_SIZE | Maximum size of the accumulated logs before flushing | 5 | in mByte
88
+ * | S3_AWS_MAX_EVENTS | Maximum number of accumulated logs before flushing | 1000 |
89
+ * | S3_AWS_ACCESS_KEY_ID | Access key id of the bucket
90
+ * | S3_AWS_SECRET_ACCESS_KEY | Access key secret of the bucket
87
91
  *
88
92
  * When `LOG_MODE` is `none` the logs will only be on `console`.
89
93
  * When `LOG_MODE` is `all` LOG_MODE will be set to `sumologic, awsS3`.
@@ -137,7 +141,7 @@ const configuration = {
137
141
  filter: {
138
142
  file: process.env.FILTER_FILE || DEFAULT_FILTER_FILE,
139
143
  },
140
- exitDelay: parseInt(process.env.EXIT_DELAY, DECIMAL) || DEFAULT_EXIT_DELAY, // in ms
144
+ exitDelay: parseInt(process.env.EXIT_DELAY, DECIMAL) || DEFAULT_EXIT_DELAY, // in millisecond
141
145
  noStack: process.env.NO_STACK || DEFAULT_NO_STACK,
142
146
  };
143
147
  configuration.mode = checkMode(process.env.LOG_MODE) || DEFAULT_MODE;
@@ -154,9 +158,13 @@ if (configuration.mode.includes(AWS_KINESIS)) {
154
158
  streamNameError: process.env.KINESIS_AWS_STREAM_NAME_ERROR,
155
159
  streamNameOther: process.env.KINESIS_AWS_STREAM_NAME_OTHER,
156
160
  region: process.env.KINESIS_AWS_REGION,
157
- timeout: parseInt(process.env.KINESIS_AWS_TIMEOUT, DECIMAL) || DEFAULT_KINESIS_TIMEOUT, // in ms
158
- maxSize: parseInt(process.env.KINESIS_AWS_MAX_SIZE, DECIMAL) || DEFAULT_KINESIS_MAX_SIZE, // in mB
161
+ timeout: parseInt(process.env.KINESIS_AWS_TIMEOUT, DECIMAL) || DEFAULT_KINESIS_TIMEOUT, // in millisecond
162
+ maxSize: parseInt(process.env.KINESIS_AWS_MAX_SIZE, DECIMAL) || DEFAULT_KINESIS_MAX_SIZE, // in mByte
159
163
  maxEvents: parseInt(process.env.KINESIS_AWS_MAX_EVENTS, DECIMAL) || DEFAULT_KINESIS_MAX_EVENTS,
164
+ httpOptions: {
165
+ socketTimeout: parseInt(process.env.KINESIS_AWS_HTTP_OPTIONS_SOCKET_TIMEOUT, DECIMAL) || DEFAULT_KINESIS_HTTP_OPTIONS_SOCKET_TIMEOUT,
166
+ connectionTimeout: parseInt(process.env.KINESIS_AWS_HTTP_OPTIONS_CONNECTION_TIMEOUT, DECIMAL) || DEFAULT_KINESIS_HTTP_OPTIONS_CONNECTION_TIMEOUT,
167
+ },
160
168
  };
161
169
 
162
170
  if (!isNil(process.env.KINESIS_AWS_ACCESS_KEY_ID)) configuration[AWS_KINESIS].accessKeyId = process.env.KINESIS_AWS_ACCESS_KEY_ID;
@@ -166,8 +174,8 @@ if (configuration.mode.includes(AWS_S3)) {
166
174
  configuration[AWS_S3] = {
167
175
  bucketname: process.env.S3_AWS_BUCKET_NAME,
168
176
  region: process.env.S3_AWS_REGION,
169
- timeout: parseInt(process.env.S3_AWS_TIMEOUT, DECIMAL) || DEFAULT_S3_TIMEOUT, // in minutes
170
- maxSize: parseInt(process.env.S3_AWS_MAX_SIZE, DECIMAL) || DEFAULT_S3_MAX_SIZE, // in mB
177
+ timeout: parseInt(process.env.S3_AWS_TIMEOUT, DECIMAL) || DEFAULT_S3_TIMEOUT, // in minute
178
+ maxSize: parseInt(process.env.S3_AWS_MAX_SIZE, DECIMAL) || DEFAULT_S3_MAX_SIZE, // in mByte
171
179
  maxEvents: parseInt(process.env.S3_AWS_MAX_EVENTS, DECIMAL) || DEFAULT_S3_MAX_EVENTS,
172
180
  };
173
181
 
package/index.js CHANGED
@@ -88,6 +88,10 @@ if (config.mode.includes(AWS_KINESIS)) {
88
88
  awsKinesis = new AwsKinesis({
89
89
  accessKeyId: config[AWS_KINESIS].accessKeyId,
90
90
  format: format.combine(format.timestamp(), format.json()),
91
+ httpOptions: {
92
+ socketTimeout: config[AWS_KINESIS].httpOptions.socketTimeout,
93
+ connectionTimeout: config[AWS_KINESIS].httpOptions.connectionTimeout,
94
+ },
91
95
  level: config.level.log,
92
96
  maxEvents: config[AWS_KINESIS].maxEvents,
93
97
  maxSize: config[AWS_KINESIS].maxSize,
@@ -39,9 +39,9 @@ export default class AwsKinesis extends Transport {
39
39
  this.serverType = options.serverType || UNKNOWN_TYPE;
40
40
  this.serverId = `${options.serverId || UNKNOWN_ID}${CLIENTS}`; // adding CLIENTS to conform to oauth tokens
41
41
  this.name = AWS_KINESIS;
42
- this.maxSize = MEGA * options.maxSize; // in mB
42
+ this.maxSize = MEGA * options.maxSize;
43
43
  this.maxEvents = options.maxEvents;
44
- this.timeInterval = options.timeout; // in ms
44
+ this.timeInterval = options.timeout;
45
45
  this.streamNameInfo = options.streamNameInfo;
46
46
  this.streamNameError = options.streamNameError;
47
47
  this.streamNameOther = options.streamNameOther;
@@ -58,8 +58,8 @@ export default class AwsKinesis extends Transport {
58
58
  this.kinesisClientConfig.maxAttempts = 5;
59
59
  this.kinesisClientConfig.requestHandler = new NodeHttpHandler(
60
60
  {
61
- connectionTimeout: 5000,
62
- socketTimeout: 5000,
61
+ connectionTimeout: options.httpOptions.connectionTimeout,
62
+ socketTimeout: options.httpOptions.socketTimeout,
63
63
  },
64
64
  );
65
65
  this.kinesis = new KinesisClient(this.kinesisClientConfig);
package/lib/common.js CHANGED
@@ -13,14 +13,16 @@ const AWS_KINESIS = 'awsKinesis';
13
13
  const DEFAULT_MODE = [NONE_MODE];
14
14
  const ALL_MODES = [AWS_S3, SUMOLOGIC, AWS_KINESIS, ALL_MODE, NONE_MODE];
15
15
 
16
- const DEFAULT_S3_MAX_SIZE = 5; // max size of the data before sending to S3, in mB
16
+ const DEFAULT_S3_MAX_SIZE = 5; // max size of the data before sending to S3, in mByte
17
17
  const DEFAULT_S3_MAX_EVENTS = 1000; // max number of events before sending to S3
18
- const DEFAULT_S3_TIMEOUT = 5; // max time before sending events to S3, in minutes
19
- const DEFAULT_KINESIS_MAX_SIZE = 5; // max size of the data before sending to Kinesis, in mB
18
+ const DEFAULT_S3_TIMEOUT = 5; // max time before sending events to S3, in minute
19
+ const DEFAULT_KINESIS_HTTP_OPTIONS_SOCKET_TIMEOUT = 5000; // socket timeout for the http handler, in millisecond
20
+ const DEFAULT_KINESIS_HTTP_OPTIONS_CONNECTION_TIMEOUT = 5000; // connection timeout for the http handler, in millisecond
21
+ const DEFAULT_KINESIS_MAX_SIZE = 5; // max size of the data before sending to Kinesis, in mByte
20
22
  const DEFAULT_KINESIS_MAX_EVENTS = 1000; // max number of events before sending to Kinesis
21
- const DEFAULT_KINESIS_TIMEOUT = 1000; // max time before sending events to Kinesis, in ms
23
+ const DEFAULT_KINESIS_TIMEOUT = 1000; // max time before sending events to Kinesis, in millisecond
22
24
 
23
- const DEFAULT_EXIT_DELAY = 2000; // delay for flushing the transports and exiting, in ms
25
+ const DEFAULT_EXIT_DELAY = 2000; // delay for flushing the transports and exiting, in millisecond
24
26
  const DEFAULT_NO_STACK = 'yes';
25
27
 
26
28
  const SPLAT = Symbol.for('splat');
@@ -53,6 +55,8 @@ export {
53
55
  DEFAULT_KINESIS_MAX_EVENTS,
54
56
  DEFAULT_KINESIS_MAX_SIZE,
55
57
  DEFAULT_KINESIS_TIMEOUT,
58
+ DEFAULT_KINESIS_HTTP_OPTIONS_SOCKET_TIMEOUT,
59
+ DEFAULT_KINESIS_HTTP_OPTIONS_CONNECTION_TIMEOUT,
56
60
  DEFAULT_LEVEL,
57
61
  DEFAULT_MODE,
58
62
  DEFAULT_NO_STACK,
package/lib/formatLib.js CHANGED
@@ -70,7 +70,7 @@ const filterMeta = format((origInfo, opts) => {
70
70
  if (!isObject(origItem)) return true;
71
71
  let item = origItem;
72
72
 
73
- // In order to avoid having to do it in the rest of the code for mongoose objects*
73
+ // In order to avoid having to do it in the rest of the code for mongoose objects
74
74
  try {
75
75
  item = origItem.toObject();
76
76
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mimik/sumologic-winston-logger",
3
- "version": "2.1.1",
3
+ "version": "2.1.3",
4
4
  "description": "Log wrapper for sumo, s3, kinesis and winston",
5
5
  "main": "./index.js",
6
6
  "type": "module",
@@ -34,8 +34,8 @@
34
34
  },
35
35
  "dependencies": {
36
36
  "@mimik/lib-filters": "^2.0.4",
37
- "@aws-sdk/client-s3": "3.864.0",
38
- "@aws-sdk/client-kinesis": "3.864.0",
37
+ "@aws-sdk/client-s3": "3.878.0",
38
+ "@aws-sdk/client-kinesis": "3.876.0",
39
39
  "@smithy/node-http-handler": "4.1.1",
40
40
  "axios": "1.11.0",
41
41
  "bluebird": "3.7.2",
@@ -51,14 +51,14 @@
51
51
  "winston-transport": "4.9.0"
52
52
  },
53
53
  "devDependencies": {
54
- "@eslint/js": "9.33.0",
54
+ "@eslint/js": "9.34.0",
55
55
  "@mimik/eslint-plugin-document-env": "^2.0.8",
56
56
  "@mimik/request-helper": "^2.0.2",
57
57
  "@stylistic/eslint-plugin": "5.2.3",
58
58
  "body-parser": "2.2.0",
59
59
  "c8": "10.1.3",
60
- "chai": "5.2.1",
61
- "eslint": "9.33.0",
60
+ "chai": "6.0.1",
61
+ "eslint": "9.34.0",
62
62
  "eslint-plugin-import": "2.32.0",
63
63
  "express": "5.1.0",
64
64
  "husky": "9.1.7",