@message-queue-toolkit/sqs 17.1.1 → 17.3.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/lib/sqs/AbstractSqsConsumer.d.ts +7 -3
- package/dist/lib/sqs/AbstractSqsConsumer.js +31 -17
- package/dist/lib/sqs/AbstractSqsConsumer.js.map +1 -1
- package/dist/lib/sqs/AbstractSqsService.d.ts +3 -1
- package/dist/lib/sqs/AbstractSqsService.js.map +1 -1
- package/dist/lib/utils/sqsInitter.d.ts +2 -1
- package/dist/lib/utils/sqsInitter.js +11 -2
- package/dist/lib/utils/sqsInitter.js.map +1 -1
- package/dist/lib/utils/sqsUtils.d.ts +2 -2
- package/dist/lib/utils/sqsUtils.js +6 -5
- package/dist/lib/utils/sqsUtils.js.map +1 -1
- package/package.json +13 -13
|
@@ -10,15 +10,17 @@ type SQSDeadLetterQueueOptions = {
|
|
|
10
10
|
};
|
|
11
11
|
};
|
|
12
12
|
export type SQSConsumerDependencies = SQSDependencies & QueueConsumerDependencies;
|
|
13
|
-
export type SQSConsumerOptions<MessagePayloadSchemas extends object, ExecutionContext, PrehandlerOutput, CreationConfigType extends SQSCreationConfig = SQSCreationConfig, QueueLocatorType extends
|
|
13
|
+
export type SQSConsumerOptions<MessagePayloadSchemas extends object, ExecutionContext, PrehandlerOutput, CreationConfigType extends SQSCreationConfig = SQSCreationConfig, QueueLocatorType extends object = SQSQueueLocatorType> = QueueConsumerOptions<CreationConfigType, QueueLocatorType, SQSDeadLetterQueueOptions, MessagePayloadSchemas, ExecutionContext, PrehandlerOutput, SQSCreationConfig, SQSQueueLocatorType> & {
|
|
14
14
|
/**
|
|
15
15
|
* Omitting properties which will be set internally ins this class
|
|
16
16
|
* `visibilityTimeout` is also omitted to avoid conflicts with queue config
|
|
17
17
|
*/
|
|
18
18
|
consumerOverrides?: Omit<ConsumerOptions, 'sqs' | 'queueUrl' | 'handler' | 'handleMessageBatch' | 'visibilityTimeout'>;
|
|
19
|
+
concurrentConsumersAmount?: number;
|
|
19
20
|
};
|
|
20
|
-
export declare abstract class AbstractSqsConsumer<MessagePayloadType extends object, ExecutionContext, PrehandlerOutput = undefined, CreationConfigType extends SQSCreationConfig = SQSCreationConfig, QueueLocatorType extends
|
|
21
|
-
private
|
|
21
|
+
export declare abstract class AbstractSqsConsumer<MessagePayloadType extends object, ExecutionContext, PrehandlerOutput = undefined, CreationConfigType extends SQSCreationConfig = SQSCreationConfig, QueueLocatorType extends object = SQSQueueLocatorType, ConsumerOptionsType extends SQSConsumerOptions<MessagePayloadType, ExecutionContext, PrehandlerOutput, CreationConfigType, QueueLocatorType> = SQSConsumerOptions<MessagePayloadType, ExecutionContext, PrehandlerOutput, CreationConfigType, QueueLocatorType>> extends AbstractSqsService<MessagePayloadType, QueueLocatorType, CreationConfigType, ConsumerOptionsType, SQSConsumerDependencies, ExecutionContext, PrehandlerOutput> implements QueueConsumer {
|
|
22
|
+
private consumers;
|
|
23
|
+
private readonly concurrentConsumersAmount;
|
|
22
24
|
private readonly transactionObservabilityManager?;
|
|
23
25
|
private readonly consumerOptionsOverride;
|
|
24
26
|
private readonly handlerContainer;
|
|
@@ -33,6 +35,8 @@ export declare abstract class AbstractSqsConsumer<MessagePayloadType extends obj
|
|
|
33
35
|
protected initDeadLetterQueue(): Promise<void>;
|
|
34
36
|
start(): Promise<void>;
|
|
35
37
|
close(abort?: boolean): Promise<void>;
|
|
38
|
+
private createConsumer;
|
|
39
|
+
private stopExistingConsumers;
|
|
36
40
|
private internalProcessMessage;
|
|
37
41
|
protected processMessage(message: MessagePayloadType, messageType: string, preHandlingOutputs: PreHandlingOutputs<PrehandlerOutput, any>): Promise<Either<'retryLater', 'success'>>;
|
|
38
42
|
protected processPrehandlers(message: MessagePayloadType, messageType: string): Promise<PrehandlerOutput>;
|
|
@@ -15,7 +15,8 @@ const ABORT_EARLY_EITHER = {
|
|
|
15
15
|
};
|
|
16
16
|
const DEFAULT_MAX_RETRY_DURATION = 4 * 24 * 60 * 60; // 4 days in seconds
|
|
17
17
|
class AbstractSqsConsumer extends AbstractSqsService_1.AbstractSqsService {
|
|
18
|
-
|
|
18
|
+
consumers;
|
|
19
|
+
concurrentConsumersAmount;
|
|
19
20
|
transactionObservabilityManager;
|
|
20
21
|
consumerOptionsOverride;
|
|
21
22
|
handlerContainer;
|
|
@@ -33,6 +34,8 @@ class AbstractSqsConsumer extends AbstractSqsService_1.AbstractSqsService {
|
|
|
33
34
|
this.deadLetterQueueOptions = options.deadLetterQueue;
|
|
34
35
|
this.maxRetryDuration = options.maxRetryDuration ?? DEFAULT_MAX_RETRY_DURATION;
|
|
35
36
|
this.executionContext = executionContext;
|
|
37
|
+
this.consumers = [];
|
|
38
|
+
this.concurrentConsumersAmount = options.concurrentConsumersAmount ?? 1;
|
|
36
39
|
this._messageSchemaContainer = this.resolveConsumerMessageSchemaContainer(options);
|
|
37
40
|
this.handlerContainer = new core_1.HandlerContainer({
|
|
38
41
|
messageTypeField: this.messageTypeField,
|
|
@@ -64,13 +67,27 @@ class AbstractSqsConsumer extends AbstractSqsService_1.AbstractSqsService {
|
|
|
64
67
|
}
|
|
65
68
|
async start() {
|
|
66
69
|
await this.init();
|
|
67
|
-
|
|
68
|
-
this.consumer.stop();
|
|
70
|
+
this.stopExistingConsumers();
|
|
69
71
|
const visibilityTimeout = await this.getQueueVisibilityTimeout();
|
|
70
|
-
this.
|
|
72
|
+
this.consumers = Array.from({ length: this.concurrentConsumersAmount }).map((_) => this.createConsumer({ visibilityTimeout }));
|
|
73
|
+
for (const consumer of this.consumers) {
|
|
74
|
+
consumer.on('error', (err) => {
|
|
75
|
+
this.handleError(err, {
|
|
76
|
+
queueName: this.queueName,
|
|
77
|
+
});
|
|
78
|
+
});
|
|
79
|
+
consumer.start();
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
async close(abort) {
|
|
83
|
+
await super.close();
|
|
84
|
+
this.stopExistingConsumers(abort ?? false);
|
|
85
|
+
}
|
|
86
|
+
createConsumer(options) {
|
|
87
|
+
return sqs_consumer_1.Consumer.create({
|
|
71
88
|
sqs: this.sqsClient,
|
|
72
89
|
queueUrl: this.queueUrl,
|
|
73
|
-
visibilityTimeout,
|
|
90
|
+
visibilityTimeout: options.visibilityTimeout,
|
|
74
91
|
messageAttributeNames: [`${AbstractSqsPublisher_1.PAYLOAD_OFFLOADING_ATTRIBUTE_PREFIX}*`],
|
|
75
92
|
...this.consumerOptionsOverride,
|
|
76
93
|
handleMessage: async (message) => {
|
|
@@ -128,18 +145,13 @@ class AbstractSqsConsumer extends AbstractSqsService_1.AbstractSqsService {
|
|
|
128
145
|
return Promise.reject(result.error);
|
|
129
146
|
},
|
|
130
147
|
});
|
|
131
|
-
this.consumer.on('error', (err) => {
|
|
132
|
-
this.handleError(err, {
|
|
133
|
-
queueName: this.queueName,
|
|
134
|
-
});
|
|
135
|
-
});
|
|
136
|
-
this.consumer.start();
|
|
137
148
|
}
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
149
|
+
stopExistingConsumers(abort) {
|
|
150
|
+
for (const consumer of this.consumers) {
|
|
151
|
+
consumer.stop({
|
|
152
|
+
abort,
|
|
153
|
+
});
|
|
154
|
+
}
|
|
143
155
|
}
|
|
144
156
|
async internalProcessMessage(message, messageType) {
|
|
145
157
|
const preHandlerOutput = await this.processPrehandlers(message, messageType);
|
|
@@ -261,7 +273,9 @@ class AbstractSqsConsumer extends AbstractSqsService_1.AbstractSqsService {
|
|
|
261
273
|
}
|
|
262
274
|
else {
|
|
263
275
|
// if user is using locatorConfig, we should look into queue config
|
|
264
|
-
const queueAttributes = await (0, sqsUtils_1.getQueueAttributes)(this.sqsClient,
|
|
276
|
+
const queueAttributes = await (0, sqsUtils_1.getQueueAttributes)(this.sqsClient, this.queueUrl, [
|
|
277
|
+
'VisibilityTimeout',
|
|
278
|
+
]);
|
|
265
279
|
visibilityTimeoutString = queueAttributes.result?.attributes?.VisibilityTimeout;
|
|
266
280
|
}
|
|
267
281
|
// parseInt is safe because if the value is not a number process should have failed on init
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractSqsConsumer.js","sourceRoot":"","sources":["../../../lib/sqs/AbstractSqsConsumer.ts"],"names":[],"mappings":";;;AAAA,oDAAmF;AAcnF,sDAA4F;AAC5F,+CAAuC;AAIvC,wDAA2D;AAC3D,oDAAwD;AACxD,gEAA0D;AAC1D,gDAAsD;AAEtD,iEAA4E;AAE5E,6DAAyD;AAEzD,MAAM,kBAAkB,GAA2B;IACjD,KAAK,EAAE,OAAO;CACf,CAAA;AACD,MAAM,0BAA0B,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAA,CAAC,oBAAoB;
|
|
1
|
+
{"version":3,"file":"AbstractSqsConsumer.js","sourceRoot":"","sources":["../../../lib/sqs/AbstractSqsConsumer.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,15 +9,17 @@ export type SQSDependencies = QueueDependencies & {
|
|
|
9
9
|
export type ExtraSQSCreationParams = {
|
|
10
10
|
topicArnsWithPublishPermissionsPrefix?: string;
|
|
11
11
|
updateAttributesIfExists?: boolean;
|
|
12
|
+
forceTagUpdate?: boolean;
|
|
12
13
|
};
|
|
13
14
|
export type SQSCreationConfig = {
|
|
14
15
|
queue: CreateQueueRequest;
|
|
15
16
|
updateAttributesIfExists?: boolean;
|
|
17
|
+
forceTagUpdate?: boolean;
|
|
16
18
|
} & ExtraSQSCreationParams;
|
|
17
19
|
export type SQSQueueLocatorType = {
|
|
18
20
|
queueUrl: string;
|
|
19
21
|
};
|
|
20
|
-
export declare abstract class AbstractSqsService<MessagePayloadType extends object, QueueLocatorType extends
|
|
22
|
+
export declare abstract class AbstractSqsService<MessagePayloadType extends object, QueueLocatorType extends object = SQSQueueLocatorType, CreationConfigType extends SQSCreationConfig = SQSCreationConfig, SQSOptionsType extends QueueOptions<CreationConfigType, QueueLocatorType> = QueueOptions<CreationConfigType, QueueLocatorType>, DependenciesType extends SQSDependencies = SQSDependencies, PrehandlerOutput = unknown, ExecutionContext = unknown> extends AbstractQueueService<MessagePayloadType, SQSMessage, DependenciesType, CreationConfigType, QueueLocatorType, SQSOptionsType, PrehandlerOutput, ExecutionContext> {
|
|
21
23
|
protected readonly sqsClient: SQSClient;
|
|
22
24
|
protected queueName: string;
|
|
23
25
|
protected queueUrl: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractSqsService.js","sourceRoot":"","sources":["../../../lib/sqs/AbstractSqsService.ts"],"names":[],"mappings":";;;AAEA,sDAAkE;AAGlE,oDAAwD;AAExD,kGAAkG;AACrF,QAAA,oBAAoB,GAAG,GAAG,GAAG,IAAI,CAAA,CAAC,QAAQ;
|
|
1
|
+
{"version":3,"file":"AbstractSqsService.js","sourceRoot":"","sources":["../../../lib/sqs/AbstractSqsService.ts"],"names":[],"mappings":";;;AAEA,sDAAkE;AAGlE,oDAAwD;AAExD,kGAAkG;AACrF,QAAA,oBAAoB,GAAG,GAAG,GAAG,IAAI,CAAA,CAAC,QAAQ;AAsBvD,MAAsB,kBAWpB,SAAQ,2BAST;IACoB,SAAS,CAAW;IAEvC,aAAa;IACH,SAAS,CAAQ;IAC3B,aAAa;IACH,QAAQ,CAAQ;IAC1B,aAAa;IACH,QAAQ,CAAQ;IAE1B,YAAY,YAA8B,EAAE,OAAuB;QACjE,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;QAC5B,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,SAAS,CAAA;IACzC,CAAC;IAEM,KAAK,CAAC,IAAI;QACf,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YAC/C,MAAM,IAAA,sBAAS,EAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;QAC3E,CAAC;QACD,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAA,oBAAO,EACrD,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,cAAc,CACpB,CAAA;QACD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;IACvB,CAAC;IAEe,KAAK;QACnB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;QACtB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;IAC1B,CAAC;CACF;AAtDD,gDAsDC"}
|
|
@@ -3,7 +3,8 @@ import type { DeletionConfig } from '@message-queue-toolkit/core';
|
|
|
3
3
|
import type { SQSCreationConfig, SQSQueueLocatorType } from '../sqs/AbstractSqsService';
|
|
4
4
|
export declare function deleteSqs(sqsClient: SQSClient, deletionConfig: DeletionConfig, creationConfig: SQSCreationConfig): Promise<void>;
|
|
5
5
|
export declare function updateQueueAttributes(sqsClient: SQSClient, queueUrl: string, attributes?: Partial<Record<QueueAttributeName, string>>): Promise<void>;
|
|
6
|
-
export declare function
|
|
6
|
+
export declare function updateQueueTags(sqsClient: SQSClient, queueUrl: string, tags?: Record<string, string> | undefined): Promise<void>;
|
|
7
|
+
export declare function initSqs(sqsClient: SQSClient, locatorConfig?: Partial<SQSQueueLocatorType>, creationConfig?: SQSCreationConfig): Promise<{
|
|
7
8
|
queueArn: string;
|
|
8
9
|
queueUrl: string;
|
|
9
10
|
queueName: string;
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.deleteSqs = deleteSqs;
|
|
4
4
|
exports.updateQueueAttributes = updateQueueAttributes;
|
|
5
|
+
exports.updateQueueTags = updateQueueTags;
|
|
5
6
|
exports.initSqs = initSqs;
|
|
6
7
|
const client_sqs_1 = require("@aws-sdk/client-sqs");
|
|
7
8
|
const core_1 = require("@message-queue-toolkit/core");
|
|
@@ -25,10 +26,17 @@ async function updateQueueAttributes(sqsClient, queueUrl, attributes = {}) {
|
|
|
25
26
|
});
|
|
26
27
|
await sqsClient.send(command);
|
|
27
28
|
}
|
|
29
|
+
async function updateQueueTags(sqsClient, queueUrl, tags = {}) {
|
|
30
|
+
const command = new client_sqs_1.TagQueueCommand({
|
|
31
|
+
QueueUrl: queueUrl,
|
|
32
|
+
Tags: tags,
|
|
33
|
+
});
|
|
34
|
+
await sqsClient.send(command);
|
|
35
|
+
}
|
|
28
36
|
async function initSqs(sqsClient, locatorConfig, creationConfig) {
|
|
29
37
|
// reuse existing queue only
|
|
30
|
-
if (locatorConfig) {
|
|
31
|
-
const checkResult = await (0, sqsUtils_1.getQueueAttributes)(sqsClient, locatorConfig, ['QueueArn']);
|
|
38
|
+
if (locatorConfig?.queueUrl) {
|
|
39
|
+
const checkResult = await (0, sqsUtils_1.getQueueAttributes)(sqsClient, locatorConfig.queueUrl, ['QueueArn']);
|
|
32
40
|
if (checkResult.error === 'not_found') {
|
|
33
41
|
throw new Error(`Queue with queueUrl ${locatorConfig.queueUrl} does not exist.`);
|
|
34
42
|
}
|
|
@@ -49,6 +57,7 @@ async function initSqs(sqsClient, locatorConfig, creationConfig) {
|
|
|
49
57
|
const { queueUrl, queueArn } = await (0, sqsUtils_1.assertQueue)(sqsClient, creationConfig.queue, {
|
|
50
58
|
topicArnsWithPublishPermissionsPrefix: creationConfig.topicArnsWithPublishPermissionsPrefix,
|
|
51
59
|
updateAttributesIfExists: creationConfig.updateAttributesIfExists,
|
|
60
|
+
forceTagUpdate: creationConfig.forceTagUpdate,
|
|
52
61
|
});
|
|
53
62
|
const queueName = creationConfig.queue.QueueName;
|
|
54
63
|
return { queueUrl, queueArn, queueName };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqsInitter.js","sourceRoot":"","sources":["../../../lib/utils/sqsInitter.ts"],"names":[],"mappings":";;AASA,8BAwBC;AAED,sDAUC;AAED,
|
|
1
|
+
{"version":3,"file":"sqsInitter.js","sourceRoot":"","sources":["../../../lib/utils/sqsInitter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import type { CreateQueueCommandInput, QueueAttributeName, SQSClient, SendMessageCommandInput } from '@aws-sdk/client-sqs';
|
|
2
2
|
import type { Either } from '@lokalise/node-core';
|
|
3
|
-
import type { ExtraSQSCreationParams
|
|
3
|
+
import type { ExtraSQSCreationParams } from '../sqs/AbstractSqsService';
|
|
4
4
|
type QueueAttributesResult = {
|
|
5
5
|
attributes?: Partial<Record<QueueAttributeName, string>>;
|
|
6
6
|
};
|
|
7
7
|
export declare function getQueueUrl(sqsClient: SQSClient, queueName: string): Promise<Either<'not_found', string>>;
|
|
8
|
-
export declare function getQueueAttributes(sqsClient: SQSClient,
|
|
8
|
+
export declare function getQueueAttributes(sqsClient: SQSClient, queueUrl: string, attributeNames?: QueueAttributeName[]): Promise<Either<'not_found', QueueAttributesResult>>;
|
|
9
9
|
export declare function assertQueue(sqsClient: SQSClient, queueConfig: CreateQueueCommandInput, extraParams?: ExtraSQSCreationParams): Promise<{
|
|
10
10
|
queueUrl: string;
|
|
11
11
|
queueArn: string;
|
|
@@ -36,9 +36,9 @@ async function getQueueUrl(sqsClient, queueName) {
|
|
|
36
36
|
throw err;
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
|
-
async function getQueueAttributes(sqsClient,
|
|
39
|
+
async function getQueueAttributes(sqsClient, queueUrl, attributeNames = ['All']) {
|
|
40
40
|
const command = new client_sqs_1.GetQueueAttributesCommand({
|
|
41
|
-
QueueUrl:
|
|
41
|
+
QueueUrl: queueUrl,
|
|
42
42
|
AttributeNames: attributeNames,
|
|
43
43
|
});
|
|
44
44
|
try {
|
|
@@ -61,9 +61,7 @@ async function getQueueAttributes(sqsClient, queueLocator, attributeNames = ['Al
|
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
63
|
async function updateExistingQueue(sqsClient, queueUrl, queueConfig, extraParams) {
|
|
64
|
-
const existingAttributes = await getQueueAttributes(sqsClient,
|
|
65
|
-
queueUrl,
|
|
66
|
-
});
|
|
64
|
+
const existingAttributes = await getQueueAttributes(sqsClient, queueUrl);
|
|
67
65
|
if (!existingAttributes.result?.attributes) {
|
|
68
66
|
throw new Error('Attributes are not set');
|
|
69
67
|
}
|
|
@@ -84,6 +82,9 @@ async function updateExistingQueue(sqsClient, queueUrl, queueConfig, extraParams
|
|
|
84
82
|
await (0, sqsInitter_1.updateQueueAttributes)(sqsClient, queueUrl, updatedAttributes);
|
|
85
83
|
}
|
|
86
84
|
}
|
|
85
|
+
if (extraParams?.forceTagUpdate) {
|
|
86
|
+
await (0, sqsInitter_1.updateQueueTags)(sqsClient, queueUrl, queueConfig.tags);
|
|
87
|
+
}
|
|
87
88
|
return {
|
|
88
89
|
queueUrl,
|
|
89
90
|
queueArn,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqsUtils.js","sourceRoot":"","sources":["../../../lib/utils/sqsUtils.ts"],"names":[],"mappings":";;AA6BA,kCA6BC;AAED,gDA2BC;
|
|
1
|
+
{"version":3,"file":"sqsUtils.js","sourceRoot":"","sources":["../../../lib/utils/sqsUtils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@message-queue-toolkit/sqs",
|
|
3
|
-
"version": "17.
|
|
3
|
+
"version": "17.3.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "SQS adapter for message-queue-toolkit",
|
|
@@ -25,28 +25,28 @@
|
|
|
25
25
|
"prepublishOnly": "npm run build:release"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@lokalise/node-core": "^
|
|
29
|
-
"sqs-consumer": "^11.0
|
|
28
|
+
"@lokalise/node-core": "^13.0.1",
|
|
29
|
+
"sqs-consumer": "^11.1.0",
|
|
30
30
|
"zod": "^3.23.8"
|
|
31
31
|
},
|
|
32
32
|
"peerDependencies": {
|
|
33
|
-
"@aws-sdk/client-sqs": "^3.
|
|
33
|
+
"@aws-sdk/client-sqs": "^3.632.0",
|
|
34
34
|
"@message-queue-toolkit/core": ">=15.0.0"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
|
-
"@aws-sdk/client-s3": "^3.
|
|
38
|
-
"@aws-sdk/client-sqs": "^3.
|
|
39
|
-
"@biomejs/biome": "1.
|
|
37
|
+
"@aws-sdk/client-s3": "^3.670.0",
|
|
38
|
+
"@aws-sdk/client-sqs": "^3.670.0",
|
|
39
|
+
"@biomejs/biome": "1.9.4",
|
|
40
40
|
"@kibertoad/biome-config": "^1.2.1",
|
|
41
41
|
"@message-queue-toolkit/core": "*",
|
|
42
42
|
"@message-queue-toolkit/s3-payload-store": "*",
|
|
43
|
-
"@types/node": "^22.
|
|
44
|
-
"@vitest/coverage-v8": "^2.
|
|
45
|
-
"awilix": "^
|
|
43
|
+
"@types/node": "^22.7.5",
|
|
44
|
+
"@vitest/coverage-v8": "^2.1.5",
|
|
45
|
+
"awilix": "^12.0.1",
|
|
46
46
|
"awilix-manager": "^5.1.0",
|
|
47
|
-
"del-cli": "^
|
|
48
|
-
"typescript": "^5.
|
|
49
|
-
"vitest": "^2.
|
|
47
|
+
"del-cli": "^6.0.0",
|
|
48
|
+
"typescript": "^5.7.2",
|
|
49
|
+
"vitest": "^2.1.5"
|
|
50
50
|
},
|
|
51
51
|
"homepage": "https://github.com/kibertoad/message-queue-toolkit",
|
|
52
52
|
"repository": {
|