@message-queue-toolkit/sns 24.7.0 → 25.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/README.md +6 -0
- package/dist/sns/AbstractSnsPublisher.d.ts +2 -1
- package/dist/sns/AbstractSnsPublisher.js +30 -7
- package/dist/sns/AbstractSnsPublisher.js.map +1 -1
- package/dist/sns/AbstractSnsSqsConsumer.d.ts +4 -2
- package/dist/sns/AbstractSnsSqsConsumer.js.map +1 -1
- package/package.json +6 -6
package/README.md
CHANGED
|
@@ -58,6 +58,7 @@ npm install @message-queue-toolkit/sns @message-queue-toolkit/sqs @message-queue
|
|
|
58
58
|
- ✅ **Handler spies** for testing
|
|
59
59
|
- ✅ **Pre-handlers and barriers** for complex message processing
|
|
60
60
|
- ✅ **Cross-account and cross-region publishing**
|
|
61
|
+
- ✅ **Message compression** with zstd via Node.js built-in `zlib` (Node.js >=22.15.0 required)
|
|
61
62
|
|
|
62
63
|
## Core Concepts
|
|
63
64
|
|
|
@@ -683,6 +684,10 @@ await consumer.start()
|
|
|
683
684
|
// Optional - Payload Offloading (same as SQS)
|
|
684
685
|
payloadStoreConfig: { /* ... */ },
|
|
685
686
|
|
|
687
|
+
// Optional - Compression (Node.js >=22.15.0 required)
|
|
688
|
+
codec: MessageCodecEnum.ZSTD, // Compress every outgoing message with zstd
|
|
689
|
+
skipCompressionBelow: 512, // Skip compression for messages smaller than 512 bytes (default: 512)
|
|
690
|
+
|
|
686
691
|
// Optional - Deletion
|
|
687
692
|
deletionConfig: { /* ... */ },
|
|
688
693
|
}
|
|
@@ -1005,6 +1010,7 @@ SNS consumers inherit all advanced features from SQS consumers. See the SQS READ
|
|
|
1005
1010
|
- **[Message Retry Logic](../sqs/README.md#message-retry-logic)** - Exponential backoff and retry limits
|
|
1006
1011
|
- **[Message Deduplication](../sqs/README.md#message-deduplication)** - Publisher and consumer-level deduplication
|
|
1007
1012
|
- **[Payload Offloading](../sqs/README.md#payload-offloading)** - S3 storage for large messages
|
|
1013
|
+
- **[Message Compression](../sqs/README.md#message-compression)** - zstd compression via Node.js built-in `zlib`
|
|
1008
1014
|
- **[Message Handlers](../sqs/README.md#message-handlers)** - Type-safe handler configuration
|
|
1009
1015
|
- **[Pre-handlers and Barriers](../sqs/README.md#pre-handlers-and-barriers)** - Middleware and message dependencies
|
|
1010
1016
|
- **[Handler Spies](../sqs/README.md#handler-spies)** - Testing async message flows
|
|
@@ -52,7 +52,8 @@ export declare abstract class AbstractSnsPublisher<MessagePayloadType extends ob
|
|
|
52
52
|
protected preHandlerBarrier<BarrierOutput>(): Promise<BarrierResult<BarrierOutput>>;
|
|
53
53
|
processMessage(): Promise<Either<'retryLater', 'success'>>;
|
|
54
54
|
protected isDeduplicationEnabledForMessage(message: MessagePayloadType): boolean;
|
|
55
|
-
protected
|
|
55
|
+
protected calculateOutgoingMessageSize(message: MessagePayloadType): number;
|
|
56
|
+
protected sendMessage(payload: MessagePayloadType | OffloadedPayloadPointerPayload, options: SNSMessageOptions, preBuiltBody?: string): Promise<void>;
|
|
56
57
|
/**
|
|
57
58
|
* Resolves FIFO-specific options (MessageGroupId) from the message payload.
|
|
58
59
|
* This must be called BEFORE payload offloading, as the offloaded payload
|
|
@@ -47,14 +47,31 @@ export class AbstractSnsPublisher extends AbstractSnsService {
|
|
|
47
47
|
const messageProcessingStartTimestamp = Date.now();
|
|
48
48
|
const parsedMessage = messageSchemaResult.result.parse(message);
|
|
49
49
|
const topicName = this.locatorConfig?.topicName ?? this.creationConfig?.topic?.Name ?? 'unknown';
|
|
50
|
+
// Fast read-only pre-check: skip compression/offload for messages already known to
|
|
51
|
+
// be duplicates. This does NOT persist a dedup key, so a transient failure in the
|
|
52
|
+
// expensive work below leaves no key behind and the publish stays safely retriable.
|
|
53
|
+
if (await this.isMessageDuplicated(parsedMessage, DeduplicationRequesterEnum.Publisher)) {
|
|
54
|
+
this.handleMessageProcessed({
|
|
55
|
+
message: parsedMessage,
|
|
56
|
+
processingResult: { status: 'published', skippedAsDuplicate: true },
|
|
57
|
+
messageProcessingStartTimestamp,
|
|
58
|
+
queueName: topicName,
|
|
59
|
+
});
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
50
62
|
const updatedMessage = this.updateInternalProperties(message);
|
|
51
63
|
// Resolve FIFO options from original message BEFORE offloading
|
|
52
64
|
// (offloaded payload won't have user fields needed for messageGroupIdField)
|
|
53
65
|
const resolvedOptions = this.resolveFifoOptions(updatedMessage, options);
|
|
54
|
-
const
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
66
|
+
const { payload, preBuiltBody } = await this.prepareOutgoingPayload(updatedMessage);
|
|
67
|
+
// Persist the dedup key only now — immediately before send — so the window in which
|
|
68
|
+
// a stored key plus a failed send could drop the message on retry stays as small as
|
|
69
|
+
// possible and no longer spans compression/offload (a transient failure there leaves
|
|
70
|
+
// no key behind). The pre-check above already skipped the expensive work for the
|
|
71
|
+
// common duplicate case; this check additionally closes the race where a concurrent
|
|
72
|
+
// publish stored the key in the meantime.
|
|
73
|
+
if ((await this.deduplicateMessage(parsedMessage, DeduplicationRequesterEnum.Publisher))
|
|
74
|
+
.isDuplicated) {
|
|
58
75
|
this.handleMessageProcessed({
|
|
59
76
|
message: parsedMessage,
|
|
60
77
|
processingResult: { status: 'published', skippedAsDuplicate: true },
|
|
@@ -63,7 +80,7 @@ export class AbstractSnsPublisher extends AbstractSnsService {
|
|
|
63
80
|
});
|
|
64
81
|
return;
|
|
65
82
|
}
|
|
66
|
-
await this.sendMessage(
|
|
83
|
+
await this.sendMessage(payload, resolvedOptions, preBuiltBody);
|
|
67
84
|
this.handleMessageProcessed({
|
|
68
85
|
message: parsedMessage,
|
|
69
86
|
processingResult: { status: 'published' },
|
|
@@ -108,10 +125,16 @@ export class AbstractSnsPublisher extends AbstractSnsService {
|
|
|
108
125
|
isDeduplicationEnabledForMessage(message) {
|
|
109
126
|
return this.isDeduplicationEnabled && super.isDeduplicationEnabledForMessage(message);
|
|
110
127
|
}
|
|
111
|
-
|
|
128
|
+
calculateOutgoingMessageSize(message) {
|
|
129
|
+
return calculateOutgoingMessageSize(message);
|
|
130
|
+
}
|
|
131
|
+
async sendMessage(payload, options, preBuiltBody) {
|
|
112
132
|
const attributes = resolveOutgoingMessageAttributes(payload);
|
|
133
|
+
// preBuiltBody is set when codec is active and the payload was not offloaded —
|
|
134
|
+
// it contains the already-compressed codec envelope, so we skip re-serialization.
|
|
135
|
+
const body = preBuiltBody ?? JSON.stringify(payload);
|
|
113
136
|
const command = new PublishCommand({
|
|
114
|
-
Message:
|
|
137
|
+
Message: body,
|
|
115
138
|
MessageAttributes: attributes,
|
|
116
139
|
TopicArn: this.topicArn,
|
|
117
140
|
...options,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractSnsPublisher.js","sourceRoot":"","sources":["../../lib/sns/AbstractSnsPublisher.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAGL,0BAA0B,GAO3B,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAAE,gCAAgC,EAAE,MAAM,4BAA4B,CAAA;AAE7E,OAAO,EAAE,4BAA4B,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAO1F,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AA+C5D,MAAM,OAAgB,oBACpB,SAAQ,kBAA0D;IAGjD,sBAAsB,CAA4C;IAClE,sBAAsB,CAAS;IAC/B,WAAW,CAAS;IACpB,mBAAmB,CAAS;IAC5B,qBAAqB,CAAS;IAEvC,WAAW,CAAgB;IAEnC,YAAY,YAA6B,EAAE,OAAgD;QACzF,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;QAE5B,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,sCAAsC,CAAC,OAAO,CAAC,CAAA;QAClF,IAAI,CAAC,sBAAsB,GAAG,CAAC,CAAC,OAAO,CAAC,4BAA4B,CAAA;QACpE,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,SAAS,IAAI,KAAK,CAAA;QAC7C,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAA;QACtD,IAAI,CAAC,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAA;IAC5D,CAAC;IAEQ,KAAK,CAAC,IAAI;QACjB,MAAM,KAAK,CAAC,IAAI,EAAE,CAAA;QAElB,yCAAyC;QACzC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE,SAAS,IAAI,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,IAAI,CAAA;YACnF,IAAI,SAAS,EAAE,CAAC;gBACd,qBAAqB,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;YACpD,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAA2B,EAAE,UAA6B,EAAE;QACxE,MAAM,mBAAmB,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;QACvD,IAAI,mBAAmB,CAAC,KAAK,EAAE,CAAC;YAC9B,MAAM,mBAAmB,CAAC,KAAK,CAAA;QACjC,CAAC;QAED,4CAA4C;QAC5C,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,kCAAkC;YAClC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACtB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;YAChC,CAAC;YACD,MAAM,IAAI,CAAC,WAAW,CAAA;YACtB,IAAI,CAAC,WAAW,GAAG,SAAS,CAAA;QAC9B,CAAC;QAED,IAAI,CAAC;YACH,MAAM,+BAA+B,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YAClD,MAAM,aAAa,GAAG,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YAC/D,MAAM,SAAS,GACb,IAAI,CAAC,aAAa,EAAE,SAAS,IAAI,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,IAAI,IAAI,SAAS,CAAA;YAEhF,MAAM,cAAc,GAAG,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAA;YAE7D,+DAA+D;YAC/D,4EAA4E;YAC5E,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAA;YAExE,MAAM,
|
|
1
|
+
{"version":3,"file":"AbstractSnsPublisher.js","sourceRoot":"","sources":["../../lib/sns/AbstractSnsPublisher.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type { SNSClient } from '@aws-sdk/client-sns';
|
|
2
2
|
import type { STSClient } from '@aws-sdk/client-sts';
|
|
3
|
+
import type { Either } from '@lokalise/node-core';
|
|
4
|
+
import type { MessageInvalidFormatError, MessageValidationError, ResolvedMessage } from '@message-queue-toolkit/core';
|
|
3
5
|
import type { SQSConsumerDependencies, SQSConsumerOptions, SQSCreationConfig, SQSMessage, SQSQueueLocatorType } from '@message-queue-toolkit/sqs';
|
|
4
6
|
import { AbstractSqsConsumer } from '@message-queue-toolkit/sqs';
|
|
5
7
|
import type { SNSSubscriptionOptions } from '../utils/snsSubscriber.ts';
|
|
@@ -41,6 +43,6 @@ export declare abstract class AbstractSnsSqsConsumer<MessagePayloadSchemas exten
|
|
|
41
43
|
* resources become available.
|
|
42
44
|
*/
|
|
43
45
|
start(): Promise<void>;
|
|
44
|
-
protected resolveMessage(message: SQSMessage):
|
|
45
|
-
protected resolveSchema(messagePayload: MessagePayloadSchemas):
|
|
46
|
+
protected resolveMessage(message: SQSMessage): Either<MessageInvalidFormatError | MessageValidationError, ResolvedMessage>;
|
|
47
|
+
protected resolveSchema(messagePayload: MessagePayloadSchemas): Either<Error, import("zod/v4").ZodType<MessagePayloadSchemas, unknown, import("zod/v4/core").$ZodTypeInternals<MessagePayloadSchemas, unknown>>>;
|
|
46
48
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractSnsSqsConsumer.js","sourceRoot":"","sources":["../../lib/sns/AbstractSnsSqsConsumer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AbstractSnsSqsConsumer.js","sourceRoot":"","sources":["../../lib/sns/AbstractSnsSqsConsumer.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAC3E,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAkC7D,MAAM,OAAgB,sBAIpB,SAAQ,mBAOT;IACkB,kBAAkB,CAAyB;IAC3C,SAAS,CAAW;IACpB,SAAS,CAAW;IAErC;;;;OAIG;IACK,cAAc,GAAY,KAAK,CAAA;IAEvC;;;;OAIG;IACK,cAAc,GAAY,KAAK,CAAA;IAEvC,mBAAmB;IACT,QAAQ,CAAQ;IAC1B,mBAAmB;IACT,eAAe,CAAQ;IAEjC,YACE,YAAwC,EACxC,OAAyF,EACzF,gBAAkC;QAElC,KAAK,CACH,YAAY,EACZ;YACE,GAAG,OAAO;SACX,EACD,gBAAgB,CACjB,CAAA;QAED,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAA;QACpD,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,SAAS,CAAA;QACvC,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,SAAS,CAAA;IACzC,CAAC;IAEQ,KAAK,CAAC,IAAI;QACjB,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1E,MAAM,YAAY,CAChB,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,cAAc,CAAC,KAAK,EACzB,IAAI,CAAC,cAAc,CAAC,KAAK,EACzB,IAAI,CAAC,kBAAkB,EACvB,SAAS,EACT,IAAI,CAAC,aAAa,CACnB,CAAA;QACH,CAAC;aAAM,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACtD,MAAM,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;QAC3E,CAAC;QAED,MAAM,gBAAgB,GAAG,MAAM,UAAU,CACvC,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,kBAAkB,EACvB;YACE,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,6EAA6E;YAC7E,0EAA0E;YAC1E,gBAAgB,EAAE,CAAC,MAAM,EAAE,EAAE;gBAC3B,8DAA8D;gBAC9D,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;gBAC/B,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;gBAC/B,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAA;gBAC7C,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAA;gBACjC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAA;gBAE1B,0EAA0E;gBAC1E,uDAAuD;gBACvD,IAAI,CAAC,mBAAmB,EAAE;qBACvB,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;wBAChB,OAAO,EAAE,qEAAqE;wBAC9E,KAAK,EAAE,GAAG;qBACX,CAAC,CAAA;gBACJ,CAAC,CAAC;qBACD,IAAI,CAAC,GAAG,EAAE;oBACT,2EAA2E;oBAC3E,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;wBACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;4BACf,OAAO,EAAE,yCAAyC;4BAClD,SAAS,EAAE,IAAI,CAAC,SAAS;4BACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;yBACxB,CAAC,CAAA;wBACF,OAAO,IAAI,CAAC,cAAc,EAAE,CAAA;oBAC9B,CAAC;gBACH,CAAC,CAAC;qBACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;wBAChB,OAAO,EAAE,wDAAwD;wBACjE,KAAK,EAAE,GAAG;qBACX,CAAC,CAAA;gBACJ,CAAC,CAAC,CAAA;YACN,CAAC;SACF,CACF,CAAA;QAED,8FAA8F;QAC9F,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAA;QACzC,IAAI,CAAC,SAAS,GAAG,gBAAgB,CAAC,SAAS,CAAA;QAC3C,IAAI,CAAC,cAAc,GAAG,gBAAgB,CAAC,cAAc,CAAA;QAErD,mEAAmE;QACnE,4FAA4F;QAC5F,IAAI,gBAAgB,CAAC,cAAc,IAAI,gBAAgB,CAAC,QAAQ,EAAE,CAAC;YACjE,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAA;YACzC,IAAI,CAAC,eAAe,GAAG,gBAAgB,CAAC,eAAe,CAAA;QACzD,CAAC;QAED,uEAAuE;QACvE,IAAI,gBAAgB,CAAC,cAAc,IAAI,gBAAgB,CAAC,QAAQ,EAAE,CAAC;YACjE,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAA;QAClC,CAAC;IACH,CAAC;IAED;;;;OAIG;IACa,KAAK,CAAC,KAAK;QACzB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;QAEjB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,sFAAsF;YACtF,gFAAgF;YAChF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAA;YAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBACf,OAAO,EACL,yFAAyF;gBAC3F,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB,CAAC,CAAA;YACF,OAAM;QACR,CAAC;QAED,mDAAmD;QACnD,MAAM,IAAI,CAAC,cAAc,EAAE,CAAA;IAC7B,CAAC;IAEkB,cAAc,CAC/B,OAAmB;QAEnB,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAA;QAC1D,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,OAAO,MAAM,CAAA;QACf,CAAC;QAED,qDAAqD;QACrD,OAAO,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;IACtC,CAAC;IAEkB,aAAa,CAAC,cAAqC;QACpE,OAAO,IAAI,CAAC,uBAAuB,CAAC,aAAa,CAAC,cAAc,CAAC,CAAA;IACnE,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@message-queue-toolkit/sns",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "25.0.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "SNS adapter for message-queue-toolkit",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"@aws-sdk/client-sns": "^3.632.0",
|
|
28
28
|
"@aws-sdk/client-sqs": "^3.1034.0",
|
|
29
29
|
"@aws-sdk/client-sts": "^3.632.0",
|
|
30
|
-
"@message-queue-toolkit/core": ">=
|
|
30
|
+
"@message-queue-toolkit/core": ">=26.0.0",
|
|
31
31
|
"@message-queue-toolkit/schemas": ">=7.0.0",
|
|
32
32
|
"@message-queue-toolkit/sqs": ">=23.0.0",
|
|
33
33
|
"zod": ">=3.25.76 <5.0.0"
|
|
@@ -39,9 +39,6 @@
|
|
|
39
39
|
"@biomejs/biome": "^2.3.6",
|
|
40
40
|
"@lokalise/biome-config": "^3.1.0",
|
|
41
41
|
"@lokalise/tsconfig": "^3.0.0",
|
|
42
|
-
"@message-queue-toolkit/core": "*",
|
|
43
|
-
"@message-queue-toolkit/redis-message-deduplication-store": "*",
|
|
44
|
-
"@message-queue-toolkit/s3-payload-store": "*",
|
|
45
42
|
"@types/node": "^25.0.2",
|
|
46
43
|
"@vitest/coverage-v8": "^4.0.15",
|
|
47
44
|
"awilix": "^13.0.3",
|
|
@@ -52,7 +49,10 @@
|
|
|
52
49
|
"typescript": "^5.9.3",
|
|
53
50
|
"vitest": "^4.0.15",
|
|
54
51
|
"zod": "^4.1.13",
|
|
55
|
-
"@message-queue-toolkit/
|
|
52
|
+
"@message-queue-toolkit/core": "26.0.0",
|
|
53
|
+
"@message-queue-toolkit/s3-payload-store": "3.1.0",
|
|
54
|
+
"@message-queue-toolkit/sqs": "25.0.0",
|
|
55
|
+
"@message-queue-toolkit/redis-message-deduplication-store": "2.2.0"
|
|
56
56
|
},
|
|
57
57
|
"homepage": "https://github.com/kibertoad/message-queue-toolkit",
|
|
58
58
|
"repository": {
|